API — различия между версиями
Материал из PODS Wiki
Wikiadmin (обсуждение | вклад) (Новая страница: «== API создания/изменения заказа == Для изменения заказа необходимо сделать POST-запрос по ад…») |
Wikiadmin (обсуждение | вклад) (→API создания/изменения заказа) |
||
Строка 55: | Строка 55: | ||
* При использовании set_status в случае успеха возвращается строка "OK" (сохранено для совместимости с Avantnet) | * При использовании set_status в случае успеха возвращается строка "OK" (сохранено для совместимости с Avantnet) | ||
− | Используется кодировка | + | Используется кодировка указанная в панели управления, в разделе [[Настройка]] - [[Интеграция]] |
Версия 19:06, 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)
Используется кодировка указанная в панели управления, в разделе Настройка - Интеграция