Дропшиппинг:
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=....&TestMode=1&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 нами, мы обязательно Вам поможем.