Расчёт доставки по маршруту
/delivery/distance
Расчёт стоимости доставки по вашим тарифам в зависимости от расстояния или времени.
Подразумевает использование специального виджета с построением маршрута на карте (Яндекс).
Полученные от Яндекса значения расстояния и времени маршрута передаются данным методом для получения стоимости по вашим тарифам.
Возможно использование данного метода и без виджета - просто передавайте значения расстояния или времени для получения тарифа.
Инструкцию по настройке в личном кабинете смотрите здесь.
Параметр | Описание |
---|---|
key | Ключ доступа |
zone | Код зоны доставки |
distance | Расстояние, км |
duration |
Время, часы Необходимо, если ваши тарифы строятся от времени доставки, а не отрасстояния. |
offers |
Состав груза - JSON-массив товаров. Пример:
|
weight |
Вес груза, кг. Для упрощения можно передать вместо offers, если ваши тарифы учитывают только вес груза. |
Параметры, отмеченные , - обязательны.
Параметры, отмеченные , - обязательны в зависимости от других параметров.
curl --request POST 'https://api.esplc.ru/delivery/distance' \
--header 'Content-Type: application/json' \
--data-raw '{
"key":"7229k9e07gfa23cd208300f30cafb",
"zone":"66z257375c8e2",
"distance": 1.5,
"duration": 2.1,
"offers": [{ "count": 2, "dimensions": "50*45*35", "price": 2068, "weight": 1.2 } ]
}'
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.esplc.ru/delivery/distance',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"key":"7229k9e07gfa23cd208300f30cafb",
"zone":"66z257375c8e2",
"distance": 1.5,
"duration": 2.1,
"offers": [{ "count": 2, "dimensions": "50*45*35", "price": 2068, "weight": 1.2 } ]
}',
CURLOPT_HTTPHEADER => ['Content-Type: application/json']
]);
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response,1));
Обратите внимание: data.time
присутствует в ответе только если передан параметр duration
.
Значение data.time
в случае получения стоимости доставки через API избыточно, требуется для работы наших виджетов.
{
"http_status": 200,
"http_status_message": "",
"data": {
"price": {
"value": 225,
"unit": "рублей"
},
"time": {
"value": 2,
"unit": "часа"
}
}