Присоединяйтесь к нам в социальных сетях

API накладных

Взаимодействие с 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

Минимальный набор необходимых заголовков:

KeyValue
Acceptapplication/json
Content-Typeapplication/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=xxxRESPONSE 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.

Плательщиком является контрагент, от которого отправляется запрос.