API — различия между версиями
Материал из PODS Wiki
Wikiadmin (обсуждение | вклад) (→API создания/изменения заказа) |
Wikiadmin (обсуждение | вклад) |
||
Строка 56: | Строка 56: | ||
Используется кодировка указанная в панели управления, в разделе [[Настройки]] - [[Интеграция]] | Используется кодировка указанная в панели управления, в разделе [[Настройки]] - [[Интеграция]] | ||
+ | |||
+ | == API отправки заказа в печать == | ||
+ | |||
+ | * https://yourdomain.printondemandsolution.ru/api/send_to_print | ||
+ | |||
+ | Параметры запроса (POST DATA): | ||
+ | * order_id - ID заказа (наш) | ||
+ | * ftp-resend - "0" - отправит в печать, "1" - перезалить | ||
+ | * token - контрольная сумма | ||
+ | |||
+ | Вычисление контрольной суммы: | ||
+ | <pre>MD5 ([order_id][ftp-resend][secret])</pre> | ||
+ | |||
+ | Отправка заказа отличается от перезаливки только одим: в случае перезаливки (ftp-resend=1) не будет вызван API уведомления о выгрузке заказа. |
Версия 19:10, 3 апреля 2015
API создания/изменения заказа
Для изменения заказа необходимо сделать POST-запрос по адресу:
- https://yourdomain.printondemandsolution.ru/api/new - создание заказа
- https://yourdomain.printondemandsolution.ru/api/edit - изменение заказа
- https://yourdomain.printondemandsolution.ru/api/set_status - изменение статуса заказа (сохранено для совместимости с Avantnet)
Параметры запроса (POST DATA):
- albumix_ID (optional) - внутренний идентификатор партнёра в системе Алексея Букреева
- partner_order_ID (required) - ID заказа в системе партнёра
- status_order (optional, required если set_status) - статус заказа:
- 1 - принят (по умолчанию);
- 2 - напечатан и передан в доставку;
- 3 - доставлен
- 4 - выдан
- 9 - отменён
- count (optional) - Количество продукции, если не указано, считается = 1
- project_id (required, если new) - ID проекта в PODS
- paper_id (optioanl) - ID типа бумаги
- total_amount (optional, required если new) - Стоимость заказа
- delivery_point (optional) = 0 (на адрес клиента) 1 (на адреса самовывоза партнера-печатника)
- delivery_address (optional) адрес доставки
- send_to_print (optional) - если "1", заказ после создания отправляется в печать
- stamp (optional) - метка времени в формате Unix timesta
- token - контрольная сумма
Значение token вычисляется по разному в зависимости от типа запроса:
- для new и edit как MD5 от конкатенации секретного ключа, задаваемого в настройках WL (параметр "Секретный ключ API (входящие запросы)") и всех параметров запроса:
md5( albumix_ID + partner_order_ID + status_order + count + project_id + paper_id + total_amount + delivery_point + delivery_address + send_to_print + stamp + sekret)
- для set_status вычисляется как MD5 от конкатенации секретного ключа, задаваемого в настройках WL (параметр "Секретный ключ API (входящие запросы)"), "albumix_ID", "partner_order_ID", "status_order" и "stamp", соединённых через знак тире ("-")
Пример вычисления на PHP:
$key = 'SEKRET_KEY'; $fields = array('albumix_ID', 'partner_order_ID', 'status_order', 'stamp'); $values = array($key); foreach($fields as $field) { $values[] = $_POST[$field]; } $token = md5(implode('-', $values));
Ответ:
- При успешной обработке запроса возвращается строка
id={ID}
{ID} - номер заказа в PODS
- В случае ошибки возвращается
error={Error descriptiom}
- При использовании set_status в случае успеха возвращается строка "OK" (сохранено для совместимости с Avantnet)
Используется кодировка указанная в панели управления, в разделе Настройки - Интеграция
API отправки заказа в печать
Параметры запроса (POST DATA):
- order_id - ID заказа (наш)
- ftp-resend - "0" - отправит в печать, "1" - перезалить
- token - контрольная сумма
Вычисление контрольной суммы:
MD5 ([order_id][ftp-resend][secret])
Отправка заказа отличается от перезаливки только одим: в случае перезаливки (ftp-resend=1) не будет вызван API уведомления о выгрузке заказа.