Расчёт стоимости и сроков доставки
/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 |
Переопределяет город-отправитель. Вы можете изменить дефолтный город-отправитель, указав в данном параметре ФИАС-код нужного населённого пункта. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
all_tariffs |
Принимает целое значение 1/0 или булево: true/false; по умолчанию = false. Параметр доступен только для Почта России, СДЭК, DPD при включённой опции «Разрешить выбор тарифа» в настройках соответствующей службы доставки в личном кабинете. Добавляет в ответ массив с расчётом по всем доступным (в рамках данного запроса и настроек в личном кабинете) тарифам. Внимание! Время расчёта может значительно увеличиться. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
additionally |
Переопределяет базовые настройки службы доставки. Например, если требуется учитывать какой-то параметр не всегда, а в зависимости от какой-то логики на сайте. Представляет собой JSON-массив, пример:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
package |
Переопределяет базовые настройки упаковки службы доставки. Например, если требуется учитывать определённый тип упаковки не всегда, а в зависимости от какой-то логики на сайте. Внимание! Представляет собой строку с кодами услуг через запятую, пример:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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
},
// ....
]
}
}