Документация

Создание заказа

Запрос позволяет создать заказ. POST запрос по адресу http(s)://api.iml.ru/json/CreateOrder

Параметры запроса:

  • Test – тестовый режим, 'True' для тестового режима, иначе не указывайте
  • Job – услуга доставки, Code из справочника услуг
  • CustomerOrder – номер заказа
  • DeliveryDate – дата доставки в строковом представлении, формат dd.MM.yyyy
  • Volume – количество мест
  • Weight – вес
  • BarCode – штрих код заказа в формате EAN-13
  • DeliveryPoint – пункта самовывоза, RequestCode из таблицы пунктов самовывоза
  • Phone – телефон
  • Email - электронный адрес получателя заказа
  • Contact – контактное лицо
  • IndexFrom – индекс региона отправления, альтернатива RegionCodeFrom
  • IndexTo – индекс региона получения, альтернатива RegionCodeTo
  • RegionCodeFrom – код региона отправления, Code из таблицы регионов
  • RegionCodeTo – код региона получения, Code из таблицы регионов
  • Address – адрес доставки
  • TimeFrom – начало временного периода доставки
  • TimeTo – конец временного периода доставки
  • Amount – сумма заказа
  • ValuatedAmount – оценочная стоимость заказа
  • Comment – комментарий
  • City – город доставки, для отправки почтой России
  • PostCode – индекс, для отправки почтой России
  • PostRegion – регион, для отправки почтой России
  • PostArea – район, для отправки почтой России
  • PostContentType – тип вложения (0 - Печатная, 1 - Разное, 2 - 1 Класс), для отправки почтой России
  • Draft – фраг обработки заказа. 0 - означает что заказ грузится в список "просмотр" ЛК, 1 - означает что заказ грузится в список "импорт" ЛК. Если параметр отсутствует, то считается, что draft = 0.
  • GoodItems – позиции заказа, если указывались при создании заказа, тип значения – массив элементов с параметрами:
    • productNo – номер товара (артикул)
    • productName – наименование товара
    • productVariant – вариант товара (размер, цвет и т.д)
    • productBarCode – штрих код продукта
    • couponCode – номер купона
    • discount – скидка
    • weightLine – вес товара
    • amountLine – стоимость товара
    • statisticalValueLine – оценочная стоимость
    • itemQuantity – количество товара
    • deliveryService – запрет отказа от позиции при частичной выдаче заказа, если нужно чтобы Получатель не мог отказаться от этой позиции при частичной выдаче, то заполнить значением 1
    • itemType – тип подробности заказа (Товар, Услуга, Сопроводительные документы, Дополнительные условия выдачи заказа), используйте http://list.iml.ru/Status c типом 39, чтобы понять какие значения может принимать это поле
    • itemNote – примечание к подробности заказа, комментарий который вы хотели бы донести до сотрудника IML
    • allowed – используется для разрешения или запрета дополнительных условий выдачи заказа (запретить или разрешить частичную выдачу заказа, запретить примерку, запретить вскрытие упаковки заказа и пр.). Используется для itemType = 10. Чтобы понять какие опции может принимать доп. условия выдачи заказа используйте справочник http://list.iml.ru/Status c типом 40
    • VATRate – размер НДС в процентах.
    • VATAmount  - размер НДС в рублях.

Пример запроса на PHP:

  1. // url запроса
  2. $url = "http://api.iml.ru/Json/CreateOrder";
  3. //логин и пароль, подходят от личного кабинета
  4. $login = '';
  5. $pass = '';
  6. // ниже пример как заполнить заказ по позиционно, в примере 2 позиции, одна из них услуга доставки
  7. //-----------------------------------------------------------
  8. //  $GoodItem1 = array(
  9. //      'productNo'=> 'pr1',
  10. //      'productName' => 'name1',
  11. //      'productVariant' => 'red',
  12. //      'productBarCode' => '10000001',
  13. //      'couponCode' => '10000002',
  14. //      'discount' => '0',
  15. //      'weightLine' => '12.5',
  16. //      'amountLine' => '120.0',
  17. //      'statisticalValueLine' => '120.0',
  18. //      'deliveryService' => FALSE
  19. //      );
  20. //   $GoodItem2 = array(
  21. //       'productNo'=> 'service',
  22. //       'productName' => 'Доставка',
  23. //       'productVariant' => '',
  24. //       'productBarCode' => '', 
  25. //       'couponCode' => '', 
  26. //       'discount' => '', 
  27. //       'weightLine' => '', 
  28. //       'amountLine' => '', 
  29. //       'statisticalValueLine' => '', 
  30. //       'deliveryService' => TRUE
  31. //       );
  32. //   $lstGoodItem =  array( $GoodItem1,  $GoodItem2);
  33. //-----------------------------------------------------------
  34. // параметры запроса, не нужные можно не добавлять в массив или заполнить пустым текстовым полем
  35. $content =array(
  36. 'Test' => 'True', // для тестового режима, иначе не указывайте
  37. 'CustomerOrder' => 'test11123',
  38. 'DeliveryDate' => '01.06.2015', // не обязательно, при отсутствии создаст ближайшую 
  39. 'Job' => '24КО', // из справочника услуг
  40. 'BarCode' => '', // не обязательно, будет сгенерирован
  41. 'Contact' => 'Вася',
  42. 'RegionCodeTo' => 'МОСКВА', // из справочника регионов
  43. 'RegionCodeFrom' => 'МОСКВА', // из справочника регионов
  44. 'Address' => 'Мира 1',
  45. 'DeliveryPoint'=> '1', // из справочника пунктов самовывоза
  46. 'Phone'=> '0202020202',
  47. 'TimeFrom' => '9:00', // не обязательно, при отсутствии создаст значение по умолчанию
  48. 'TimeTo' => '21', // не обязательно, при отсутствии создаст значение по умолчанию
  49. 'Amount' => '13.05', // разделитель '.' (точка)
  50. 'ValuatedAmount' => '14.2', // разделитель '.' (точка)
  51. 'Volume' => '1', // не обязательно, по умолчанию 1
  52. 'Weight' => '11.4', // разделитель '.' (точка)
  53. 'Comment' => 'Домофон не работает'
  54. //'GoodItems' => $lstGoodItem      //не обязательно, если есть позиции заказа
  55. );
  56. $curl = curl_init($url);
  57. curl_setopt($curl, CURLOPT_HEADER, false);
  58. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  59. //curl_setopt($curl, CURLOPT_HTTPHEADER, array("Accept:application/xml; charset=utf-8"));  //для получения ответа в формате XML
  60. curl_setopt($curl, CURLOPT_POST, true);
  61. curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($content));
  62. curl_setopt($curl, CURLOPT_USERPWD, $login.":".$pass);
  63. curl_setopt($curl, CURLOPT_SSLVERSION, 3);
  64. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  65. $response = curl_exec($curl);
  66. $result = json_decode($response, true); // результат запроса  

Пример ответа:

При успешном создании:

{
"Result":"OK",
"Order":
{
"Job":"24КО",
"CustomerOrder":"test11123",
"DeliveryDate":"01.06.2015 00:00:00",
"Volume":1,
"Weight":11.4,
"BarCode":"7500000059419",
"DeliveryPoint":"1",
"Phone":"0202020202",
"Contact":"Вася",
"RegionCodeTo":"МОСКВА",
"RegionCodeFrom":"МОСКВА",
"Address":"Мира 1; Домофон не работает",
"TimeTo":"21:00:00",
"TimeFrom":"09:00:00",
"ValuatedAmount":14.2,
"Amount":13.05,
"State":999,
"OrderStatus":0,
"Comment":null,
"GoodItems":[]
}
}

С ошибками:

{
"Result":"Error",
"Errors":[
{
"Message":"Номер заказа не уникален!"
}
}