Расчитать предварительную стоимость - EstimateAction
Расчет предварительной стоимости доставки без создания заказа.
{
controller: 'delivery_v1',
action: 'estimate',
sig: string, // API-ключ
route_points: JSON<Array<DeliveryRoutePoint>>, // Точки маршрута
requirements?: Array<DeliveryRequirement>,
items: JSON<Array<{
weight: number, // Вес груза в килограммах
quantity: number, // Количество в штуках
size: { // Габариты груза
width: number, // Ширина в метрах
length: number, // Длинна в метрах
height: number, // Высота в метрах
}
}>>
}
Ответ сервера:
{
estimate?: {
price: string, // Цена в рублях
time: number, // Время выполнения заказа в минутах
provider: DeliveryProvider, // Провайдер
},
code: <ResponseCodes>
}
Типы: ResponseCodes, DeliveryRoutePoint, DeliveryProvider, DeliveryRequirement,
Пример использования:
var route_points = [
{
address: 'Москва, Красная площадь 1',
latitude: 55.755241,
longitude: 37.617779,
contact_phone: 79998887766,
contact_name: "Иван Иванович Иванов",
skip_confirmation: true
},
{
address: 'Москва, Красная площадь 10',
latitude: 55.755591,
longitude: 37.617534,
contact_phone: 79996667788,
contact_name: "Петров Петр Петрович",
},
];
var items = [
{
"quantity": 1,
"weight": 10.00,
"size": {
"width": 3.0,
"length": 2.0,
"height": 0.5
}
},
{
"quantity": 5,
"weight": 0.1,
"size": {
"width": 0.1,
"length": 0.1,
"height": 0.1
}
},
];
var xhr = new XMLHttpRequest();
var formData = new FormData();
xhr.open('POST', 'https://admin-api.calltovisit.com', true);
formData.append('controller', 'delivery_v1');
formData.append('action', 'estimate');
formData.append('sig', 'oSIytsZFfXwTe6kbxKdMtgAeMck8BoDg');
formData.append('route_points', JSON.stringify(route_points));
formData.append('items', JSON.stringify(items));
xhr.send(formData);