Создать - CreateAction
Создание заказа на доставку.
Поле route_points содержит описание всех точек маршрута
в порядке их посещения курьером. Первый элемент массива — точка отправления.
Поле items содержит описание всех отправляемых грузов. Для каждого
груза необходимо указать индекс точки назначения (индексы считаются с нуля).
{
controller: 'delivery_v1',
action: 'create',
sig: string, // API-ключ
note?: string, // Текстовая заметка к заказу,
performer_note?: string, // Дополнительная информация для водителя
deferred_trip?: number, // Timestamp начала поиска курьера
route_points: JSON<Array<DeliveryRoutePoint>>, // Точки маршрута
return_point?: JSON<DeliveryRoutePoint>, // Точка возврата товара
items: JSON<Array<DeliveryItem>>, // Отправляемые грузы
requirements: JSON<Array<DeliveryRequirement>>
project_id?: number, // ID проекта
}
Ответ сервера:
{
order_id: number,
code: <ResponseCodes>
}
Типы: ResponseCodes, DeliveryRoutePoint, DeliveryItem, DeliveryRequirement,
Пример использования:
var route_points = [
{
address: 'Москва, Красная площадь 1',
latitude: 55.755241,
longitude: 37.617779,
contact_phone: 79998887766,
contact_name: "Иван Иванович Иванов",
comment: "Позвоните 3 раза в звонок и назовите кодовое слово ДОСТАВКА",
porch: "1",
door_code: "Пройдите незаметно через охрану",
floor: "1",
flat: "3a"
},
{
address: 'Москва, Красная площадь 10',
latitude: 55.755591,
longitude: 37.617534,
contact_phone: 79996667788,
contact_name: "Петров Петр Петрович",
porch: "10",
door_code: "10В8391",
comment: "Отдайте груз охраннику"
},
];
var return_point = {
address: 'Москва, Красная площадь 3Б',
latitude: 55.755591,
longitude: 37.617534,
contact_phone: 79996667788,
contact_name: "Николаев Николай Николаевич",
comment: "Отдайте груз Николаю"
}
var items = [
{
"external_id": "2887456",
"title": "Розовый пакет",
"dropoff_point_index": 1,
"quantity": 1,
"weight": 0.1,
"cost": "123.32",
"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', 'create');
formData.append('sig', 'oSIytsZFfXwTe6kbxKdMtgAeMck8BoDg');
formData.append('route_points', JSON.stringify(route_points));
formData.append('items', JSON.stringify(items));
formData.append('return_point', JSON.stringify(return_point));
xhr.send(formData);