Заказы

API - Order - Заказы

Статусы заказов

1 - Новый
2 - Собран, готов к выдаче
3 - Получен, выдан
4 - Завершен
5 - Отменен
7 - Принят в работу
9 - Ожидает отмены (отмена инициирована клиентом)
10 - Отменён клиентом

Статус оплаты заказа

0 - не оплачен
1 - оплачен

Обновление заказа:

Пример запроса на обновление данных:

POST /order/update
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 (обязателен) - идентификатор заказа;
  • 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
}
 
Статусы можно менять в определенном порядке:

 При попытке сменить статус на недопустимый будет возвращена ошибка.

 
Получение информации о последних заказах
Пример запроса:
POST /order/list
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 - метка времени, на какой момент произведена выгрузка заказов. Рекомендуется её сохранять и использовать при следующем запросе.
  • 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). Запрос Обновление заказа.