Расчитать предварительную стоимость - 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);

results matching ""

    No results matching ""