Расчёт стоимости и сроков доставки
/delivery/calculation
Если вы используете первую версию нашего сервиса, ознакомьтесь с основными изменениями.
| Параметр | Описание |
|---|---|
| key | Ключ доступа |
| to |
Населённый пункт, куда необходимо доставить. Может быть представлен как:
|
| weight | Вес груза, кг. |
| service | Код службы доставки. Доступны значения: sdek, dpd, iml, kit, zde, ozon, pecom, baikal, delline, vozovoz, boxberry, energija, fivepost, pickpoint, sberlogistics, grastin, halva, magnit, custom-*** (своя служба, если настроена в личнам кабинете). |
| count | Количество единиц груза. По умолчанию = 1. |
| price | Стоимость груза. Необходимо для расчёта услучи страхования, а также для срабатывания модификаторов (если настроены в Личном кабинете). |
| dimensions | Габариты груза в формате Д*Ш*В, сантиметры. |
| payment |
Вариант оплаты. Необходим для фильтрации ПВЗ (например: не все ПВЗ могут принимать наличные), а также для срабатывания модификаторов (если настроены в Личном кабинете). Доступно: |
| offers |
Состав груза - JSON-массив товаров. Для передачи состава заказа можно и нужно использовать именно этот параметр, при этом параметры weight, dimensions, num, price игнорируются. Пример:
|
| address | Полный адрес доставки в формате: «Москва, Адмирала Макарова, 2с11». Необходимо указывать для ТК экспресс-доставки, в частности для Dostavista. |
| cache |
Флаг использования кэша: принимает целое значение 1/0 или булево: true/false. По умолчанию = true. Не используйте без необходимости. Все результаты запросов кэшируются для того, чтобы посторные отдавать сразу, без запроса серверов ТК. Вы можете отключить использование кэша в ряде случаев, например в ходе тестирования. |
| all_comments |
Полный список комментариев. Значение = 1 вернёт комментарии в виде массива, = 2 - в виде html. Вне зависимости от других указанных параметров в ответ будет добавлен массив |
Параметры, отмеченные , - обязательны.
Специальные параметры
| Параметр | Описание | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| from |
Переопределяет город-отправитель. Вы можете изменить дефолтный город-отправитель, указав в данном параметре ФИАС-код нужного населённого пункта. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| from_terminal |
Определяет конкретный ПВЗ отправления Используйте, если на вашем ПВЗ, куда сдаётся груз, есть доплата за приём груза (например, в ПЭК). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| to_terminal |
Определяет конкретный ПВЗ доставки Используйте, если нужно рассчитать доставку строго до ПВЗ, где есть доплата за выдачу груза (например, такие ПВЗ есть в ПЭК). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| all_tariffs |
Принимает целое значение 1/0 или булево: true/false; по умолчанию = false. Параметр доступен только для Почта России, СДЭК, DPD при включённой опции «Разрешить выбор тарифа» в настройках соответствующей службы доставки в личном кабинете. Добавляет в ответ массив с расчётом по всем доступным (в рамках данного запроса и настроек в личном кабинете) тарифам. Внимание! Время расчёта может значительно увеличиться. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| additionally |
Переопределяет базовые настройки службы доставки. Например, если требуется учитывать какой-то параметр не всегда, а в зависимости от какой-то логики на сайте. Представляет собой JSON-массив, пример:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| package |
Переопределяет базовые настройки упаковки службы доставки. Например, если требуется учитывать определённый тип упаковки не всегда, а в зависимости от какой-то логики на сайте. Внимание! Представляет собой строку с кодами услуг через запятую, пример:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| params |
Массив, задающий пользовательские параметры, которые можно использовать в правилах коррекции результата расчёта. Например, можно задать значение
В настоящее время поддерживается настройка правила только для одного параметра.
В будущем планируется расширение, поэтому значение params - массив, в котором пока используется только первый элемент.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| terminas |
Флаг показа списка ПВЗ: принимает целое значение 1/0 или булево: true/false; по умолчанию = true. Используйте данный параметр, если не нужен список ПВЗ в ответе. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| debug |
Флаг режима отладки ПВЗ: принимает целое значение 1/0 или булево: true/false; по умолчанию = false. Добавляет в ответ оргомный массив данных, которые могут пригодиться при отладке/тестировании. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
curl --request POST 'https://api.esplc.ru/delivery/calculation' \
--header 'Content-Type: application/json' \
--data-raw '{ "key": "a2275ee6a7f268684fb553db39ff16b6", "to": "82239", "service": "sdek", "weight": "1" }'
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.esplc.ru/delivery/calculation',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => ['key' => 'a2275ee6a73268684fb753db39ff16b6', 'to' => 'Москва', 'service' => 'sdek', 'weight' => 1],
]);
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response,1));
При успешном запросе значение http_status равно 200; в противном случае код ответа будет 4XX (например - 422).
Обязательно присутствуют в ответе данные: price и time, для соответствующих типов доставки.
В зависимости от выбранной службы доставки, может добавляться информация о применённом тарифе (tariff).
В зависимости от выбранной службы доставки, может добавляться детализация цены (price->detail).
Возможные значения детализации цены:
insurance - страхование
package - упаковка
notify - уведомление
filling - пломбирование
pick_up - забор груза
documents - перевозка/возврат документов
cod - услуга наложенного платежа
other - другое.
Если в Личном кабинете настроены комментарии, они также будут добавлены в ответ (comments для общих комментариев и comment для каждого типа доставки).
В случае срабатывания модификатора цены, в значение price->base будет помещено базовое значение цены, рассчитаное службой доставки. price->value будет содержать цену с учётом модификатора.
Пример ответа:
{
"http_status": 200,
"http_status_message": "",
"data": {
"terminal": {
"tariff": {
"code": 136,
"name": "Посылка склад-склад, до 30 кг"
},
"comment": "Самовывоз",
"price": {
"value": 598,
"unit": "рублей",
"base": 581,
"detail": {
"insurance": 365
}
},
"time": {
"value": 1,
"unit": "день",
"text": "завтра"
}
},
"door": {
"tariff": {
"code": 137,
"name": "Посылка склад-дверь, до 30 кг"
},
"comment": "Курьер",
"price": {
"value": 790,
"unit": "рублей",
"base": 767,
"detail": {
"insurance": 365
}
},
"time": {
"value": 3,
"unit": "день",
"text": "6 сентября"
}
},
"comments": {
"common": "Общий комментарий"
},
"terminals": [
{
"service": "sdek",
"image": "https://eshoplogistic.ru/images/api/small/sdek.svg",
"code": "MSK223",
"name": "Бескудниковский бульвар",
"address": "Москва, Бескудниковский б-р, 6 корп.4",
"phones": "+79295131674,+79295131674",
"workTime": "Пн-Пт 10:00-20:00, Сб-Вс 10:00-18:00",
"note": "От метро Верхние Лихоборы по Бескудниковскому бульвару, после д.6, корп.3 направо, далее д.6, корп.4 вход между 1 и 2 подъезд.",
"lon": "37.56414",
"lat": "55.85931",
"surcharge": false,
"is_postamat": false,
"type": null
},
// ....
]
}
}