делаю на php через json
Нигде не нашел информации о том как добавить контакт, корзину с товарами, метод оплаты и доставки в заказ созданный через rest api.
Заказ создается только если я "жестко" укажу user id.
Товар точно также.
когда создается заказ ответ получаю id (заказа), для добавления в заказ корзины требуется указать orderId - откуда его взять если в ответе его нет.
Кто нибудь делал это? поделитесь как.
ни на форуме, ни в описании api нет информации об этом.
поддержка еле живая, ответ от нее не получил.
тут был такой вопрос, прошло 2года, ответа нет
https://dev.1c-bitrix.ru/support/forum/forum48/topic125190/
Добавляю заказ
$queryUrl = '/sale.order.add.json';
$queryData = http_build_query(array(
'fields' => array(
'lid'=> 's1',
'statusxmlId' => $id_order_status,
'userDescription' => $order_message,
'personTypeId' => 1,
'statusId' => $orderstatusid,
'externalOrder' => 'Y',
'price' => $total,
'responsibleId' => null,
'orderTopic' => $name,
'currency' => $my_currency_iso_code,
'userId' => 100, //ВОТ ЭТО ОТКУДА ВЗЯТЬ????
'UF_CRM_111111111111111' => 'bitrix huinya', // ЭТА СТРОКА ПРОСТО ИГНОР, НЕ ДОБАВЛЯЕТСЯ
),
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
$orderID = $result['result'];
добавляю корзину к заказу
$queryUrl = '/sale.basketitem.add.json';
$queryData = http_build_query(array(
'fields' => array(
'orderId' => $orderID // ДОЛЖНО БРАТЬСЯ ИЗ РЕЗУЛЬТАТА ПРОШЛОГО ЗАПРОСА НО ТАМ НЕТ ТАКОГО
'productId' => $productid,
'quantity' => $productquantity,
'name' => $productname,
'price' => $productprice,
'currency' => $iso_code,
)
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
Нигде не нашел информации о том как добавить контакт, корзину с товарами, метод оплаты и доставки в заказ созданный через rest api.
Заказ создается только если я "жестко" укажу user id.
Товар точно также.
когда создается заказ ответ получаю id (заказа), для добавления в заказ корзины требуется указать orderId - откуда его взять если в ответе его нет.
Кто нибудь делал это? поделитесь как.
ни на форуме, ни в описании api нет информации об этом.
поддержка еле живая, ответ от нее не получил.
тут был такой вопрос, прошло 2года, ответа нет
Добавляю заказ
$queryUrl = '/sale.order.add.json';
$queryData = http_build_query(array(
'fields' => array(
'lid'=> 's1',
'statusxmlId' => $id_order_status,
'userDescription' => $order_message,
'personTypeId' => 1,
'statusId' => $orderstatusid,
'externalOrder' => 'Y',
'price' => $total,
'responsibleId' => null,
'orderTopic' => $name,
'currency' => $my_currency_iso_code,
'userId' => 100, //ВОТ ЭТО ОТКУДА ВЗЯТЬ????
'UF_CRM_111111111111111' => 'bitrix huinya', // ЭТА СТРОКА ПРОСТО ИГНОР, НЕ ДОБАВЛЯЕТСЯ
),
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
$orderID = $result['result'];
добавляю корзину к заказу
$queryUrl = '/sale.basketitem.add.json';
$queryData = http_build_query(array(
'fields' => array(
'orderId' => $orderID // ДОЛЖНО БРАТЬСЯ ИЗ РЕЗУЛЬТАТА ПРОШЛОГО ЗАПРОСА НО ТАМ НЕТ ТАКОГО
'productId' => $productid,
'quantity' => $productquantity,
'name' => $productname,
'price' => $productprice,
'currency' => $iso_code,
)
));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);