Взаимодействие с API происходит только по защищенному HTTPS соединению.
Для работы с API требуется сгенерировать токен (auth_token) в разделе "Настройки", в подразделе "API".
Для всех типов запросов (GET, POST, PATCH, DELETE) необходимо передавать параметрами client_id
и auth_token
.
Все ошибки API возвращаются с соответствующим HTTP статусом и описанием ошибки в виде JSON вида {"errors": ...}
. Например при неправильных данных аутентификации будет возвращен статус 401 с ответом {"errors": "wrong credentials"}
.
Все запросы содержащие body должны передавать данные в виде JSON объекта как application/json
Минимальный набор необходимых заголовков:
Key | Value |
---|---|
Accept | application/json |
Content-Type | application/json |
POST https://cabinet-api.exline.kz/api/client/v1/waybills?client_id=xxx&auth_token=xxx
BODY SCHEMA
{
"sender_contact_person": {String} required,
"sender_phone": {String} required,
"sender_iin_bin": {String} required, format: [0-9]{12},
"sender_address": {
"region_id": {Int} required, // API населенных пунктов, https://exline.kz/docs/regions
"street": {String} required,
"home": {String} required,
"apartment": {String}, optional,
"floor": {String}, optional
},
"recipient": {String}, required,
"recipient_company": {String}, optional,
"recipient_phone": {String} required,
"recipient_address": {
"region_id": {Int} required, // API населенных пунктов, https://exline.kz/docs/regions
"street": {String} required,
"home": {String} required,
"apartment": {String}, optional,
"floor": {String}, optional
},
"quantity": {Int} required, min: 1, max: 100,
"service": {String} required, format: express_mail|express_parcels|standard_parcel,
"payment_method": {String} required, format: electronic|bank,
"declared_value": {Int} required, min: 15000, max: 1500000,
"note": {String}, optional
}
BODY EXAMPLE
{
"sender_contact_person": "Jane Doe",
"sender_phone": "+1234567891",
"sender_iin_bin": "123456789012",
"sender_address": {
"region_id": 1,
"street": "Main St",
"home": "123",
"apartment": "45A",
"floor": "3"
},
"recipient": "John Doe",
"recipient_company": "",
"recipient_phone": "+1234567890",
"recipient_address": {
"region_id": 2,
"street": "Second Ave",
"home": "456",
"apartment": "12B",
"floor": "2"
},
"quantity": 1,
"service": "express_mail",
"payment_method": "electronic",
"declared_value": 20000,
"note": "Handle with care"
}
RESPONSE 200
{
"id": 1226,
"name": "9313214756",
"customer": {
"id": 876321,
"name": "ТОО ТЕСТ"
},
"sender": {
"id": 876321,
"name": "ТОО ТЕСТ"
},
"sender_contact_person": "Jane Doe",
"sender_phone": "+1234567891",
"sender_address": {
"id": 1323,
"street": "Main St",
"home": "123",
"apartment": "45A",
"floor": "3",
"address": null
},
"recipient": "John Doe",
"recipient_company": "",
"recipient_phone": "1234567890",
"recipient_address": {
"id": 1324,
"street": "Second Ave",
"home": "456",
"apartment": "12B",
"floor": "2",
"address": null
},
"quantity": 1,
"service": {
"id": 2,
"name": "Экспресс-пакеты"
},
"payment_method": {
"id": 3,
"name": "Электронный платеж"
},
"declared_value": 20000,
"note": "Handle with care",
"deleted_at": null
}
Пример в случае предоставления невалидных данных
RESPONSE 422
{
"message": "не может быть пустым (and 2 more errors)",
"errors": {
"customer_iin_bin": [
"не может быть пустым"
],
"sender_iin_bin": [
"неверной длины (может быть длиной ровно 12 символов)"
],
"quantity": [
"не является числом"
]
}
}
GET https://cabinet-api.exline.kz/api/client/v1/waybills/{id}?client_id=xxx&auth_token=xxx
RESPONSE 200
{
"id": 1227,
"name": "9313226503",
"customer": {
"id": 321886,
"name": "KULAN OIL"
},
"sender": {
"id": 321886,
"name": "KULAN OIL"
},
"sender_contact_person": "Jane Doe",
"sender_phone": "+1234567891",
"sender_address": {
"id": 1323,
"street": "Main St",
"home": "123",
"apartment": "45A",
"floor": "3",
"address": null
},
"recipient": "John Doe",
"recipient_company": "",
"recipient_phone": "1234567890",
"recipient_address": {
"id": 1324,
"street": "Second Ave",
"home": "456",
"apartment": "12B",
"floor": "2",
"address": null
},
"quantity": 1,
"service": {
"id": 2,
"name": "Экспресс-пакеты"
},
"payment_method": {
"id": 3,
"name": "Электронный платеж"
},
"declared_value": "20000.00",
"note": "Handle with care",
"deleted_at": null
}
Печать накладной производится по ее id. Можно запросить накладную в формате PDF.
GET https://cabinet-api.exline.kz/api/client/v1/waybills/{id}/print?client_id=xxx&auth_token=xxx
При создании накладной, ее номер генерируется автоматически name
. Данный номер НЕ является id
накладной.
В случае если накладная с грузом не попала в Exline в течение 72 часов после создания, она удаляется.
При удалении накладной, она фактически остается в БД и так-же доступна при запросе из API, но у такой накладной будет указано время удаления deleted_at
.
Плательщиком является контрагент, от которого отправляется запрос.
ExLine — линия надежной доставки!