API для интеграции

Программное создание заказов и получение статусов из вашей CRM, 1С или сайта. Все запросы и ответы — в формате JSON (UTF-8). Персональный ключ и ваши индивидуальные тарифы доступны в личном кабинете заказчика в разделе «API для интеграции».

Авторизация

Каждый запрос должен содержать заголовок X-Api-Key с вашим ключом. Базовый URL: https://logix-delivery.ru. Ключ выдаёт менеджер в карточке вашей компании.

Ошибки

При ошибке возвращается HTTP-код и тело { "ok": false, "error": "..." }:

КодЗначение
400Ошибка валидации данных заказа или некорректный JSON
401Неверный или отсутствующий X-Api-Key
402Недостаточно средств / превышен лимит овердрафта
404Зона или заказ не найдены
{ "ok": false, "error": "Недостаточно средств на балансе (режим «Аванс»)..." }

1. Список тарифных зон

GET/api/v1/zones

Возвращает активные зоны с ценами. Значение zoneId используется при создании заказа. В личном кабинете цены отображаются с учётом ваших индивидуальных тарифов.

{ "ok": true, "zones": [ { "zoneId": 1, "name": "Внутри МКАД", "firstPointPrice": 700, "extraPointPrice": 500 }, { "zoneId": 2, "name": "За МКАД до 10 км", "firstPointPrice": 1200, "extraPointPrice": 800 } ] }

2. Создание заказа

POST/api/v1/orders/create

Тело запроса дублирует поля ручной формы. Тип DIRECT — ровно одна точка; MULTI — до 7 точек.

{ "type": "MULTI", // DIRECT (1 точка) или MULTI (до 7 точек) "title": "Линзы по филиалам", "weightKg": 2.5, // кг, максимум 15 "declaredValue": 10000, // объявленная ценность, РУБЛИ (сбор за объявл. ценность 1,5%) "pickupAddress": "Москва, склад №1", "pickupComment": "Со стороны двора", "pickupContactName": "Сидоров П.П.", "pickupContactPhone": "+79001112233", "pickupTimeFrom": "2026-06-25T10:00:00+03:00", "pickupTimeTo": "2026-06-25T12:00:00+03:00", "points": [ { "zoneId": 1, // см. GET /api/v1/zones "address": "Москва, ул. Тверская, 1", "contactName": "Иванов И.И.", "contactPhone": "+79000000000", "timeFrom": "2026-06-25T13:00:00+03:00", "timeTo": "2026-06-25T14:00:00+03:00", "settlementType": "PHOTO", // PHOTO (нужен фотоотчёт) или NO_PHOTO "comment": "Позвонить за час" } ] }

Поля

ПолеТипОписание
typestringDIRECT или MULTI
titlestringНазвание отправления (обяз.)
weightKgnumberВес, кг (макс. 15)
declaredValuenumberОбъявленная ценность в рублях (0 — без сбора); сбор за объявл. ценность 1,5%
pickupAddressstringАдрес забора, Точка А (обяз.)
pickupContactName / pickupContactPhonestringКонтакт на Точке А (обяз.)
pickupTimeFrom / pickupTimeTostringИнтервал забора, ISO 8601 (необяз.)
points[]arrayТочки доставки, 1–7 шт.
points[].zoneIdnumberID тарифной зоны (см. GET /api/v1/zones)
points[].addressstringАдрес получателя (обяз.)
points[].contactName / contactPhonestringКонтакт получателя (обяз.)
points[].timeFrom / timeTostringИнтервал доставки, ISO 8601 (обяз.)
points[].settlementTypestringPHOTO или NO_PHOTO
points[].commentstringКомментарий (необяз.)

Ответ

{ "ok": true, "orderId": 42, "contractRef": "7-0007", "clientTotal": 1700, // итог для клиента, рубли "status": "NEW" }

Пример (curl)

curl -X POST https://logix-delivery.ru/api/v1/orders/create \ -H "X-Api-Key: ВАШ_API_КЛЮЧ" \ -H "Content-Type: application/json" \ -d '{ "type": "DIRECT", "title": "Документы", "weightKg": 0.5, "declaredValue": 0, "pickupAddress": "Москва, склад №1", "pickupContactName": "Сидоров П.П.", "pickupContactPhone": "+79001112233", "points": [{ "zoneId": 1, "address": "Москва, ул. Тверская, 1", "contactName": "Иванов И.И.", "contactPhone": "+79000000000", "timeFrom": "2026-06-25T13:00:00+03:00", "timeTo": "2026-06-25T14:00:00+03:00", "settlementType": "NO_PHOTO" }] }'

3. Статус заказа

GET/api/v1/orders/status?orderId=42

Передайте orderId (из ответа создания) или contractRef (номер договора-заявки). Возвращаются статусы по каждой точке и ссылки на фотоотчёты (доступны 30 дней после завершения).

curl "https://logix-delivery.ru/api/v1/orders/status?contractRef=7-0007" \ -H "X-Api-Key: ВАШ_API_КЛЮЧ"

Ответ

{ "ok": true, "order": { "orderId": 42, "contractRef": "7-0007", "status": "IN_PROGRESS", // NEW | IN_PROGRESS | COMPLETED | CANCELED "title": "Линзы по филиалам", "clientTotal": 1700, "courier": { "name": "Петров А.И.", "phone": "+79005556677" }, "createdAt": "2026-06-25T09:01:00.000Z", "completedAt": null, "points": [ { "idx": 1, "address": "Москва, ул. Тверская, 1", "zone": "Внутри МКАД", "status": "DONE", // PENDING | ARRIVED | DONE | REFUSED "isReturn": false, "settlementType": "PHOTO", "completedAt": "2026-06-25T13:25:00.000Z", "photos": ["https://logix-delivery.ru/api/files/1718000000000-abcd.jpg"] } ] } }

Все суммы в ответах — в рублях. Время в ответах сервера — ISO 8601 (UTC). В запросах указывайте интервалы с часовым поясом, например +03:00 (МСК).