API - автоматизированное размещение заказов.

Запросы могут отправляться по протоколу HTTP методом GET или POST.

Формат запроса:

https://api.p5s.ru/ds_order.php?ApiKey=****&TestMode=*...&order=11111111-1-2...

Обязательные параметры запроса:
  • ApiKey - все запросы должны содержать ApiKey. Этот параметр идентифицирует Вас у нас в системе и по нему мы понимаем от кого пришел запрос. Узнать Ваш ApiKey Вы можете в Вашем личном кабинете - API и выгрузки.
  • TestMode - не обязательный параметр. Может принимать значения 0 или 1.
    Если параметр имеет значение 1, то тестовый режим включен, т.е. запросы принимаются, данные проверяются и выдается ответ о валидности данных, но сам заказ не размещается.
    По умолчанию этот параметр равен 0.
  • order - обязательный параметр, он содержит группы из трех параметров вида: <aID>-<qty>-<ds_price>. Каждая группа отделяется друг от друга запятой.
    aID - это идентификатор товарного предложения. Более подробно - что такое aID?
    qty - количество товара, которое нужно добавить в заказ.
    ds_price - розничная цена этой позиции для конечного покупателя.
  • ExtOrderID - внутренний номер заказа в Вашем интернет-магазине. Должно быть уникальным значением в рамках Вашего интернет-магазина!
  • ExtOrderPaid - статус оплаты заказа. Может иметь два значения:
    1 - «заказ оплачен Мерчанту»;
    0 - «оплата заказа при получении».
  • ExtDeliveryCost - число. Стоимость доставки для конечного получателя. Если Вы хотите, чтобы доставка для конечно получателя была бесплатной, нужно поставить значение - 0;
  • dsDelivery - способ доставки. Целое число. Варианты значений:
    1 - Наш курьер по Москве;
    2 - Почта РФ;
    4 - Самовывоз Москва, м. Автозаводская;
    10 - Курьер по России (СДЭК до двери);
    11 - ПВЗ СДЭК по Москве и России;
    15 - Почтоматы Почты России. Для этого способа доставки значение ExtOrderPaid всегда должно быть = 1 «заказ оплачен Мерчанту». Пример тестового запроса https://api.p5s.ru/ds_order.php?ApiKey=....&amp;TestMode=1&amp;order=226163-1-50&...
    16 - курьер Далли (до двери);
    17 - Почтоматы и ПВЗ "Халва".
  • dsFio - ФИО покупателя.
  • dsMobPhone - телефон покупателя.
  • dsEmail - email покупателя.
  • dsCity - название населенного пункта. Обязательное поле, если способ доставки Почта РФ.
  • dsPickUpId - идентификатор постомата или ПВЗ СДЭК, почтоматов "Халва". Обязательное, если выбрана доставка СДЭК-ПВЗ, почтоматы "Халва".
Не обязательные параметры запроса:
  • ExtDateOfAdded - Дата размещения заказа в Вашем интернет-магазине. Формат: «YYYY-MM-DD HH:MM:SS». Если значение не задано, то присваивается текущая дата.
  • dsPostcode - почтовый индекс.
  • dsCountry - страна.
  • dsArea - область.
  • dsStreet - улица.
  • dsHouse - номер дома, строение, корпус.
  • dsFlat - номер квартиры.
  • dsDeliveryDate - пожелания покупателя по дате/времени доставки заказа.
  • packType - тип упаковки. Если параметр не указан, используется значение указанное в параметрах клиента на странице Настройки заказа. Возможные значения (целое число): "1" - обычная, "2" - в коробку.
    Упаковка в коробку доступна только для следующих способов доставки:
    10 - курьер по России (СДЭК до двери);
    11 - ПВЗ СДЭК;
    15 - Почтоматы Почты России.
    Если для выбранного способа доставки нельзя применить указанный в запросе тип упаковки, то ставится тип упаковки "обычная", а в ответе в узле messages выводится соответствующая запись.
  • userComment - ваш комментарий к заказу. Тут можно указать разнообразные дополнительные сведения. Этот комментарий для нас, мы не печатаем его на бланке заказа и не передаём его в службы доставки. Если указать в значении этого поля слово "тест" (userComment=тест), то заказ будет размещен в нашей системе в статусе "Принят", но не пойдет в дальнейшую обработку. Главное отличие от TestMode=1 в том, что заказ реально размещается.

Результаты работы.

По результатам работы система выдает структурированный ответ в формате XML.

Поле ResultStatus - говорит о результате выполнения запроса. Может принимать следующие значения:

  • 1 - "Ok", Запрос выполнен успешно. Заказ размещен.
  • 2 - "Bad key", Проверьте корректность Вашего ApiKey.
  • 3 - "Bad order request", Не корректные данные в поле order.
  • 4 - "Order do not placed. Some items not at stock OR some problem in aID.", Заказ не размещен, Либо каких-то товаров недостаточное количество на нашем складе, либо какие-то aID не найдены в нашей системе.
  • 5 - "TestMode. Data was checked. Order have NOT placed.". Включен тестовый режим. Данные проверены, но заказ не размещается.
  • 6 - Попытка размещения Drop Shipping заказа из под оптового аккаунта не имеющего статус Drop Shipping. Уточните у нашего менеджера - подписан ли Ваш «Договор Прямой Поставки» и зачислен ли депозит на Ваш аккаунт.
  • 7 - Внутренний номер DS-заказа (ExtOrderID) не уникален.
  • 8 - Не задан внутренний номер заказа (ExtOrderID).
  • 9 - Не корректный формат даты размещения заказа ExtDateOfAdded. Корректный формат - YYYY-MM-DD HH:MM:SS.
  • 10 - Не указан статус оплаты заказа (ExtOrderPaid).
  • 11 - Не корректно указана стоимость доставки ExtDeliveryCost. Значение может быть только числом.
  • 12 - Стоимость доставки ExtDeliveryCost не указанa.
  • 13 - Не выбран способ доставки заказа dsDelivery.
  • 14 - ФИО покупателя (dsFio) - обязательны для заполнения!
  • 15 - Телефон покупателя (dsMobPhone) - обязателен для заполнения!
  • 16 - Email покупателя (dsEmail) - обязателен для заполнения!
  • 17 - Не известный метод доставки. Вероятно вы указали в поле dsDelivery, значение не соответствующее ни одному из обрабатываемых нами.
  • 18 - В случае доставки Почтой России, название населенного пункта (dsCity) обязательно для заполнения!

В случае возникновения ошибок в составе заказа, в параметре ErrorItems приводится подробная диагностика по каждой проблемной проблемной группе <aID>-<qty>-<ds_price>.

Если заказ размещен, в ответе будет приведен номер размещенного заказа и его состав.

Заказы размещаются с учетом Вашей клиентской скидки.

Параметры ответа:
  • ResultStatus - статус результата выполнения запроса.
  • ResultStatusMsg - текстовое описание статуса результата выполнения запроса.
  • timestamp - дата/время выполнения запроса в формате "Y-m-d H:i:s".
  • orderID - номер заказа у нас в системе.
  • totalSum - полная оптовая стоимость товаров заказа (рубли).
  • ExtTotalSum - полная розничная стоимость товаров заказа для конечного покупателя (рубли).
  • ExtDeliveryCost - стоимость доставки для конечного получателя (рубли).
  • OrderItems - массив, содержащий детальную информацию о составе заказа.
  • pickupDate - плановая дата отгрузки заказа с нашего склада.
  • ErrorItems - массив, содержащий детальную информацию об ошибках в составе заказа. Параметр передаётся только в случае ошибок в составе заказа.
  • messages - дополнительная информация.

Параметры orderID, totalSum, ExtTotalSum, OrderItems, pickupDate передаются только в случае успешного выполнения запроса.

Если у Вашего программиста будут вопросы/предложения пусть он свяжется c нами, мы обязательно Вам поможем.