API - Order - Заказы
Статусы заказов
1 - Новый
2 - Собран, готов к выдаче
3 - Получен, выдан
4 - Завершен
5 - Отменен
7 - Принят в работу
9 - Ожидает отмены (отмена инициирована клиентом)
10 - Отменён клиентом
Статус оплаты заказа
0 - не оплачен
1 - оплачен
Обновление заказа:
Пример запроса на обновление данных:
POST /order/update
HTTP/1.1
HOST: api.zelenka.ru
HTTP/1.1
HOST: api.zelenka.ru
{
"id": 123,
"status": 2,
"is_paid": 1,
"guid": "12345",
"items": [
{
"id": "ЦБ-00031525",
"quantity": 2,
"price": 120
},
{
"id": "ЦБ-00031524",
"quantity": 1,
"price": 252
}
],
"fiscal_datetime": "18.01.01 12:00",
"fiscal_number": "123123",
"fiscal_doc": "123123",
"fiscal_attribute": "12341234"
}
"id": 123,
"status": 2,
"is_paid": 1,
"guid": "12345",
"items": [
{
"id": "ЦБ-00031525",
"quantity": 2,
"price": 120
},
{
"id": "ЦБ-00031524",
"quantity": 1,
"price": 252
}
],
"fiscal_datetime": "18.01.01 12:00",
"fiscal_number": "123123",
"fiscal_doc": "123123",
"fiscal_attribute": "12341234"
}
Параметры:
- id (обязателен) - идентификатор заказа;
- status - статуст заказа;
- is_paid - признак того что заказ оплачен;
- guid - номер заказа в системе контрагента
- items - элементы заказа:
- item_id - идентификатор товара;
- quantity - количество товара;
- price - цена продажи;
Дополнительно для заказов статуса 4 –выполнен:
- fiscal_datetime – дата и время чека по ККТ в формате ГГ.ММ.ДД ЧЧ:ММ
- fiscal_number – номер фискального накопителя (16-значное число)
- fiscal_doc – номер фискального документа (10-значное число)
- fiscal_attribute – фискальный признак документа (10-значное число)
Пример ответа с сервера:
{
"id": 123,
"status": 2,
"is_paid": 1
}
"id": 123,
"status": 2,
"is_paid": 1
}
Статусы можно менять в определенном порядке:

При попытке сменить статус на недопустимый будет возвращена ошибка.
Получение информации о последних заказах
Пример запроса:
POST /order/list
HTTP/1.1
HOST: api.zelenka.ru
{
"check_from": "2018-12-01 10:11:12",
“check_by”: “created”,
"warehouse_id": 555
}
HTTP/1.1
HOST: api.zelenka.ru
{
"check_from": "2018-12-01 10:11:12",
“check_by”: “created”,
"warehouse_id": 555
}
Параметры запроса:
- check_from (обязательный) - дата и время последнего успешного получения заказов.
- check_by - определяет чем является check_from датой создания или датой обновления заказа. Принимает два значения: created (по-умолчанию), updated
- warehouse_id - код точки продаж, если не указан, то по всем точкам.
- fields - дополнительная информация по заказу и элементам заказа. В настоящий момент может принимать значение: barcodes
Пример ответа:
{
"check": "2018-12-04 12:41:20",
"check_by": "created",
"orders": [
{
"id": 451,
"user_name": "Тест",
"user_phone": "79219613944",
"warehouse_id": "555",
"created_at": "2018-11-27 15:52:20",
"status": 1,
"is_paid": 0,
"promocode": null,
"items": [
{
"id": 456456,
"quantity": "2.000",
"price": "1062.00",
"amount": "2124.00"
}
]
}
]
}
"check": "2018-12-04 12:41:20",
"check_by": "created",
"orders": [
{
"id": 451,
"user_name": "Тест",
"user_phone": "79219613944",
"warehouse_id": "555",
"created_at": "2018-11-27 15:52:20",
"status": 1,
"is_paid": 0,
"promocode": null,
"items": [
{
"id": 456456,
"quantity": "2.000",
"price": "1062.00",
"amount": "2124.00"
}
]
}
]
}
Ответ содержит:
- check - метка времени, на какой момент произведена выгрузка заказов. Рекомендуется её сохранять и использовать при следующем запросе.
- check_by - с каким значением использовалось поле check. См. описание запроса выше.
- orders - массив заказов
- id - идентификатор заказа
- user_name - ФИО клиента
- user_phone - телефон клиента
- warehouse_id - код точки продаж
- created_at - дата создания заказа
- status - статус заказа (коды статусов указаны в начале)
- is_paid - признак оплаты заказа
- promocode - промокод, если он был применён
- items - элементы заказа
- id - идентификатор товара
- name - название товара, выводится при отсутствии сопоставления
- barcodes - штрихкоды товара, выводятся при отсутствии сопоставления
- manufacturer - производитель, выводится при отсутствии сопоставления
- quantity - количество
- price - цена
- amount - сумма
Ответ содержит максимум 100 заказов.
Обработка отмены заказа пользователем
1. При получении списка заказов отобрать заказы со статусом 9 (отмена инициирована пользователем)
2. Отменить заказ у себя в системе
3. Прислать изменения по статусу заказа (статус 10). Запрос Обновление заказа.