Получение заказа на доставку


Получение заказа на доставку

/delivery/order

Метод получает данные о ранее созданном заказе на доставку по его идентификатору.

Параметр Тип Описание
key string Ключ доступа
service string Код службы доставки.

Доступны значения: sdek, dpd, iml, kit, zde, ozon, pecom, postrf, baikal, delline, vozovoz, boxberry, energija, fivepost, pickpoint, sberlogistics.

action string Значение: get
order_id string Идентификатор заказа в системе транспортной компании

Параметры, отмеченные , - обязательны.

curl --request POST 'https://api.esplc.ru/delivery/order' \
--header 'Content-Type: application/json' \
--data-raw '{ "key": "a2275ee6a7f268682fb553db39ff16d6", "service":"sdek", "order_id":"xxxxxxxx", "action": "get" }'

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.esplc.ru/delivery/order',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => ['key' => 'a22752e6a73238684fb753db39ff16b6', 'service' => 'sdek', 'order_id' => 'xxxxxxxx', 'action' => 'get'],
]);

$response = curl_exec($curl);

curl_close($curl);

print_r(json_decode($response,1));

При успешном запросе значение http_status будет равно 200.

В ответе будут массивы с данными заказа order и его состояния state.
Именно на значение state.status нужно ориентироваться как на статус заказа. Используется список статусов, принятый у нас в качестве базового (списко указан ниже).
Если заказ создан без ошибок, то массив state будет содержать:

  • state.number - номер заказа
  • state.cost - стоимость доставки
  • state.tracking - ссылка на отслеживание (если возможно для выбранной ТК)
  • state.print - ссылка на этикетки (если возможно для выбранной ТК)

Также в ответе присутствует state.service_status - это статус заказа, присвоенный непосредственно внутри транспортной компании. Его можно использовать для уточнения данных о движении груза или вместо базового статуса.

Базовые статусы заказа объединяют в небольшой список все возможные варианты всех транспортных компаний.

Возможные базовые статусы заказа:

  • accepted - загружен в ЛК перевозчика
  • need_check - загружен в ЛК перевозчика, но требуется уточнение данных
  • created - загружен в ЛК перевозчика и проверен
  • received - принят на склад перевозчика
  • delivered - в доставке у перевозчика
  • awaiting - ожидает самовывоза из ПВЗ/постамата
  • courier - передан курьеру
  • taken - доставлен
  • canceled - отменен
  • return - возвращается отправителю
  • returned - возвращен отправителю
  • n/a - не определён


В случае неудачи, код ответа будет 4XX (например - 422); в ответе будет массив errors, содержащий описание ошибок.

{
    "http_status": 200,
    "http_status_message": "",
    "data": {
        "order": {
            "uuid": "72753031-a860-4044-95c7-81f9735e2678",
            "type": 1,
            "number": "12345",
            "tariff_code": 2,
            "comment": "Комментарий",
            // ...
        },
        "state": {
            "status": {
                "code": "created",
                "description": "Загружен в ЛК перевозчика"
            },
            "service_status": {
                "code": "CREATED",
                "description": "Заказ создан в информационной системе СДЭК и прошел необходимые валидации"
            },
            "number": "1378315065",
            "cost": 8409.80,
            "tracking": "https://..."
        }
    }
}