Тема
API Reference
Хосты: https://api.inlog.ai (продакшн), https://api.test.inlog.ai (тест). Пути указаны от хоста.
Авторизация: x-api-token — API-ключ компании; JWT — Authorization: Bearer <accessToken> пользователя; — — без авторизации.
Общие правила:
- Query-параметры приводятся к типам; массивы передаются повторением параметра (
statuses=SENT&statuses=RECEIVED). - Неизвестные поля и параметры отбрасываются без ошибки.
- Ошибки валидации —
400сcode: FST_ERR_VALIDATION; формат ошибок — Ошибки.
Эндпоинты, которые не описаны подробно, перечислены в Прочих эндпоинтах; их параметры — в Swagger UI группы.
Авторизация и API-ключи
| Метод | Путь | Авторизация | Тело / параметры | Ответ |
|---|---|---|---|---|
POST | /api/v1/auth/login | — | email (string, email, обязательный), password (string, ≥ 8, обязательный) | { accessToken, refreshToken } |
POST | /api/v1/auth/refresh | — | refreshToken (string, обязательный) | { accessToken, refreshToken } |
POST | /api/v1/logistic-company/api-key/create | JWT, администратор | title (string, не пустая, обязательный) | Объект ключа: id, title, key, companyId, createdAt, updatedAt |
GET | /api/v1/logistic-company/api-key/list | JWT, администратор | page (≥ 1, по умолчанию 1), pageSize (≥ 1, по умолчанию 1) | { total, data } |
DELETE | /api/v1/logistic-company/api-key/{id} | JWT, администратор | id (path, integer ≥ 1) | { message: "api key deleted" } |
Подробнее — Авторизация.
Клиенты
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/integrations/client/{id} | x-api-token | id (path, integer ≥ 1) | Клиент или null |
GET | /api/v1/integrations/client/search-by-code | x-api-token | search (string, обязательный), cargoTypes (enum[]: CARGO, CAR, PACKAGE, FREIGHT) | Массив клиентов (до 20) |
Подробнее — Клиенты.
Курьерские компании
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/integrations/courier-company/{id} | x-api-token | id (path, integer) | Компания или null |
Постоматы через платформу
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/integrations/postomat/list | x-api-token | page (integer ≥ 1, обязательный), pageSize (integer 1–500, обязательный), ids (string[]), cityId, districtId (string), withCity, withDistrict (boolean), latitude, longitude (number) | { total, data } |
GET | /api/v1/integrations/postomat/{id} | x-api-token | id (path, string); withCity, withCells, withBoards (boolean) | Постомат |
POST | /api/v1/integrations/postomat/order/create | x-api-token | Тело: toUserPhone (string ≥ 5), postomatId (string), weight (number ≥ 0.001), days (integer ≥ 1) — обязательные; customData (string), pay (boolean). Заголовок Idempotency-Key — необязательный | 201 заявка. Сейчас недоступно (502) |
GET | /api/v1/integrations/postomat/order/list | x-api-token | page (≥ 1, обязательный), pageSize (1–500, обязательный), status (CREATED, DELIVERED, COMPLETED, SUBTRACTED), флаги with* | { total, data } |
GET | /api/v1/integrations/postomat/order/{id} | x-api-token | id (path, string), флаги with* | Заявка |
GET | /api/v1/integrations/postomat/order/{id}/down-code | x-api-token | id (path) | Код закладки |
GET | /api/v1/integrations/postomat/order/{id}/up-code | x-api-token | id (path) | Код получения |
GET | /api/v1/integrations/postomat/order/{id}/subtract-code | x-api-token | id (path) | Код изъятия |
GET | /api/v1/integrations/postomat/city | x-api-token | page (≥ 1, обязательный), pageSize (1–500, обязательный), withCountry (boolean) | { total, data } |
GET | /api/v1/integrations/postomat/city/{id} | x-api-token | id (path, string), withCountry (boolean) | Город |
Флаги with* заявок: withToUser, withCell, withPostomat, withCurrentStatus, withStatuses, withRent, withPasswords. Ошибки сервиса постоматов — 502. Подробнее — Постоматы через платформу.
Логистические компании
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/integrations/logistic-company/list | x-api-token | isIntercity, isInternational, isCleaning (boolean) | Массив компаний |
GET | /api/v1/integrations/logistic-company/{id} | x-api-token | id (path, integer ≥ 1) | Компания или null |
GET | /api/v1/integrations/logistic-company/countries | x-api-token | — | { total, data } страны с городами |
GET | /api/v1/integrations/logistic-company/supplier/by-phone | x-api-token | phone (string, обязательный) | Поставщик или null |
GET | /api/v1/integrations/logistic-company/supplier/{id}/parcels | x-api-token | id (path, integer); page, pageSize (number); search (string); statuses (enum[]); isPayed (boolean) | { total, data } |
GET | /api/v1/integrations/logistic-company/parcel/list | x-api-token | page (≥ 1, по умолчанию 1), pageSize (≥ 1, по умолчанию 10), code (integer ≥ 1), codes (integer[]), search (string), statuses (enum[]), isPayed, arrivedAtFinal, strictArrived (boolean) | { total, data } |
GET | /api/v1/integrations/logistic-company/cargo/list | x-api-token | page (≥ 1, по умолчанию 1), pageSize (≥ 1, по умолчанию 10), code, codes, search, statuses (enum[] статусов груза), cargoTypes (enum[]), isPayed, arrivedAtFinal (boolean) | { total, data } |
Значения statuses и правила фильтров — Логистика и маркетплейс.
Маркетплейс
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/integrations/market-company/opp/list | x-api-token | page (≥ 1, обязательный), pageSize (1–500, обязательный), ids (integer[]), cityId, countryId (integer), withCity, withCountry (boolean), latitude, longitude (number) | { data, total } |
GET | /api/v1/integrations/market-company/opp/{id} | x-api-token | id (path, number); withCity, withCountry (boolean) | Пункт выдачи |
GET | /api/v1/integrations/market-company/opp/city | x-api-token | page (≥ 1, обязательный), pageSize (1–500, обязательный), withCountry (boolean) | { total, data } |
GET | /api/v1/integrations/market-company/opp/city/{id} | x-api-token | id (path, number), withCountry (boolean) | Город |
GET | /api/v1/integrations/market-company/order/list | x-api-token | page (≥ 1, обязательный), pageSize (1–500, обязательный), status, флаги with* | { total, data } |
GET | /api/v1/integrations/market-company/order/{id} | x-api-token | id (path, string — ID заявки в постомат), флаги with* | Посылка с postomatOrder |
POST | /api/v1/integrations/market-company/parcel/create | x-api-token | Заголовок Idempotency-Key (обязательный). Тело — см. Создание посылки | Посылка или { parcel, postomatOrder, downCode } |
GET | /api/v1/integrations/market-company/parcel/track-code/{trackCode} | x-api-token | trackCode (path, string) | Как у создания |
GET | /api/v1/integrations/market-company/parcel/track-code/{trackCode}/status | x-api-token | trackCode (path, string) | { trackCode, status } |
PUT | /api/v1/integrations/market-company/parcel/track-code/{trackCode}/redirect | x-api-token | trackCode (path); тело: ровно одно из toWarehouseId (integer ≥ 1), toPostomatId (string) | { message, parcel } |
Тело POST /api/v1/integrations/market-company/parcel/create
| Поле | Тип | Обязательное | Ограничения / по умолчанию |
|---|---|---|---|
deliveryMethod | enum | да | POSTOMAT или PICKUP |
postomatId | string | для POSTOMAT | — |
warehouseId | integer | для PICKUP | ≥ 1 |
createPostomatOrder | boolean | нет | по умолчанию false |
trackCode | string | нет | генерируется, если не передан |
weight | number | да | ≥ 0.01 |
price | number | нет | ≥ 0, по умолчанию 0 |
currency | string | да | ровно 3 символа (ISO 4217) |
receiver.name, receiver.phone, receiver.address | string | да | — |
receiver.country, receiver.city | integer | да | ID страны и города |
sender.name, sender.phone, sender.address | string | да | — |
sender.country, sender.city | integer | да | ID страны и города |
Публичные справочники
| Метод | Путь | Авторизация | Параметры | Ответ |
|---|---|---|---|---|
GET | /api/v1/public/cargo-types | — | types (enum[]: CARGO, CAR, PACKAGE, FREIGHT) | Массив типов грузов с deliveryTypes |
Вебхуки
| Метод | Путь | Авторизация | Тело / параметры | Ответ |
|---|---|---|---|---|
POST | /api/v1/logistic-company/webhook/create | JWT, администратор логистической компании | type (enum, обязательный), subtype (enum | null), url (URL, обязательный), payloadTemplate (string), apiKey (string | null) | Объект вебхука |
PATCH | /api/v1/logistic-company/webhook/{id} | JWT, администратор логистической компании | id (path, number); тело — те же поля, все необязательные | Объект вебхука |
GET | /api/v1/logistic-company/webhook/list | JWT, администратор логистической компании | page (≥ 1, по умолчанию 1), pageSize (≥ 1, по умолчанию 1) | { total, data } |
DELETE | /api/v1/logistic-company/webhook/{id} | JWT, администратор логистической компании | id (path, integer ≥ 1) | { message } |
Значения type: PARCEL, CARGO, CAR, NOTIFICATION, ADVERTISEMENT. Значения subtype: DELIVERED_TO_POSTOMAT, TRANSFERRED_TO_CLIENT, ITEM_CREATED, ARRIVED_AT_DELIVERY. Подробнее — Вебхуки.