$order = [
'key' => '4b52edca60a33c8sdfsdfbe6c9dac85', // ваш апи-ключ
'inner_n' => 'test_order1112', // внутренний номер заказа (должен быть уникальным
'delivery_date' => '2019-05-21', // дата доставки
'delivery_time' => '4', // интервал доставки
'target_name' => 'Анастасия Боровкова',
'target_contacts' => '7-916-543-3211',
'os' => '6500', // оценочная стоимость заказа
'np' => 1, // нужно взять наложенный платеж с покупателя за заказ
'price_client' => 6500, // сумма наложенного платежа - 6500. Обратите внимание что сумма наложенного должна совпадать с суммой цен товаров + стоимость доставки для покупателя
'price_client_delivery' => 0, // стоимость доставки для покупателя
'places_count' => 3, // количество мест в заказе
'order_weight' => 4, // вес заказа в кг
'dimension_side1' => 50, // ширина в см
'dimension_side2' => 30, // длина в см
'dimension_side3' => 4, // Высота в см
'post_code' => '119019', // почтовый индекс
'addr' => 'Москва, ул. Новый Арбат, д.1', // адрес, без квартиры и домофона
'target_notes' => 'предварительно позвонить, кв. 25, домофон 55', // в комментарий добавляется квартира и домофон
// опции доставки
'sms' => 1, // отправлять СМС
'open_option' => 1, //вскрытие разрешено
'call_option' => 0, // предварительный звонок клиенту - не нужен
'docs_option' => 1, // нужно вернуть накладную по заказу
'partial_option' => 1, // частичный отказ возможен
'dress_fitting_option' => 1, // примерка/проверка электроники разрешена
'lifting_option' => 0, // подъем на этаж крупногабаритного заказа осуществляет покупатель
// информация о товарах
'goods[0][articul]' => 'RB-366', // артикул первого товара в заказе
'goods[0][artname]' => 'Rollerblade Spitfire SL, 28-32', // название первого товара
'goods[0][count]' => 1, // количество единиц товара
'goods[0][weight]' => 1.9, // вес товара в кг
'goods[0][price]' => 5600, // цена товара
'goods[0][nds]' => 1, // ндс на товар
'goods[1][articul]' => 'RBZ-001', // артикул второго товара в заказе
'goods[1][artname]' => 'Защита детская для роликовых коньков, размер XS', // название второго товара
'goods[1][count]' => 1,
'goods[1][weight]' => 0.4,
'goods[1][price]' => 900,
'goods[1][nds]' => 1,
// массив barcodes передается, если вы используете собственные штрихкоды для мест
'barcodes[0][place_num]' => '1', // номер места
'barcodes[0][place_kod]' => '1*PBExA63C5ADB', // ваш штрихкод места 1
'barcodes[0][goods][0][articul]' => 'snow', // артикул первого товара в месте 1(не обяз)
'barcodes[0][goods][1][articul]' => 'krep', // артикул второго товара в месте 1(не обяз)
'barcodes[1][place_num]' => '2', // номер места
'barcodes[1][place_kod]' => '1*PBExBE106E46', // ваш штрихкод места 2
'barcodes[1][goods][0][articul]' => 'bot' // артикул первого товара в месте 2 (не обяз)
];
try {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://api.logsis.ru/apiv2/createorder',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => http_build_query($order),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
$answer = json_decode($response, 1);
if ($answer['status'] == 200) { // заказ успешно добавлен
$trackingNumber = $answer['response']['order_id'];
echo 'Заказ добавлен, номер для трекинга: '.$trackingNumber;
} else { // произошла ошибка добавления
echo $answer['response']['Error'];
}
} catch (\Exception $e) {
throw $e;
}