Appearance
Создание заказа
Эндпоинт создания заказа имеет немалое количество необходимых параметров состоящих из объекта отправителя, объекта дополнительных услуг при отправке и массива объектов получателей (у которых тоже имеются объекты дополнительных услуг при получении).
Метод запроса: POST
bash
https://gateway.spark-dev.team/cabinet/api/client/order
Описание параметров запроса:
Наименование параметра | Тип | Обязательный параметр | Описание |
---|---|---|---|
sender | Объект Sender | Да | Отправитель |
additional_service | Объект AdditionalService | Да | Доп. услуги |
receivers | Массив Receiver | Да | Получатель |
callback_url | String | Нет | Ссылка для обновления статуса (Должен быть действительный URL-адрес который принимает POST запрос) |
Обратите внимание
По переданному url в поле callback_url
будут приходить данные по 2 типам: order и status.
Объект Sender
Описание параметров объекта - Отправителя:
Наименование параметра | Тип | Обязательный параметр | Описание |
---|---|---|---|
title | String | Да | Заголовок |
city_id | Number | Да | ID города |
phone | String | Да | Номер телефона |
self_delivery | Number | Нет | Самопривоз 0 - Нет , 1 - Да |
street | String | Да, если self-delivery пустой | Улица |
house | String | Да, если self-delivery пустой | Дом |
latitude | String | Нет | Широта |
longitude | String | Нет | Долгота |
office | String | Нет | Квартира / Офис |
full_name | String | Да | Ф.И.О |
full_address | String | Да, если self-delivery пустой | Полный адрес |
index | String | Нет | Индекс |
comment | String | Нет | Комментарий |
Пример объекта:
json
{
"title": "Новый отправитель",
"city_id": 1,
"phone": "+77083039131",
"self-delivery": 1,
"street": "Толе би",
"house": "101",
"office": "5",
"full_name": "Иванов Иван Иванович",
"full_address": "Казахстан, г. Алматы, ул. Толе би, 101",
"index": "111",
"comment": "Отправки раз в месяц"
}
Объект AdditionalService
Описание параметров объекта - Дополнительных услуг:
Наименование параметра | Тип | Обязательный параметр | Описание |
---|---|---|---|
hasSoftPackage | Boolean | Нет | Мягкая упаковка |
hasManipulator | Boolean | Нет | Манипулятор |
hasCrane | Boolean | Нет | Кран |
hasHydraulicTrolley | Boolean | Нет | Рохля |
hasGrid | Boolean | Нет | Обрешетка |
hasLoader | Boolean | Нет | Грузчики |
Пример объекта:
json
{
"hasSoftPackage": true,
"hasManipulator": false,
"hasCrane": false,
"hasHydraulicTrolley": false,
"hasGrid": true,
"hasLoader": false
}
Объект Receiver
Описание параметров объекта - Получателя:
Наименование параметра | Тип | Обязательный параметр | Описание |
---|---|---|---|
title | String | Да | Заголовок |
city_id | Number | Да | ID города |
phone | String | Да | Номер телефона |
self-delivery | Number | Нет | Самовывоз 0 - Нет , 1 - Да |
street | String | Да, если self-delivery пустой | Улица |
house | String | Да, если self-delivery пустой | Дом |
latitude | String | Нет | Широта |
longitude | String | Нет | Долгота |
office | String | Нет | Квартира / Офис |
full_name | String | Да | Ф.И.О |
full_address | String | Да, если self-delivery пустой | Полный адрес |
index | String | Нет | Индекс |
comment | String | Нет | Комментарий |
order_logistics_info | Объект OrderLogisticsInfo | Да | Логистические данные |
additional_service | Объект AdditionalService | Да | Доп. услуги |
Пример объекта:
json
{
"title": "Новый получатель",
"city_id": 2,
"phone": "+77083039131",
"self-delivery": 1,
"street": "Толе би",
"house": "101",
"office": "5",
"full_name": "Иванов Иван Иванович",
"full_address": "Казахстан, г. Алматы, ул. Толе би, 101",
"index": "111",
"comment": "Отправки раз в месяц",
"order_logistics_info": <OrderLogisticsInfo>,
"additional_service": <AdditionalService>
}
Объект OrderLogisticsInfo
Описание параметров объекта - Подробной информации:
Наименование параметра | Тип | Обязательный параметр | Описание |
---|---|---|---|
dop_invoice_number | String | Нет | № Накладной заказчика |
invoice_number | String | Нет | № Накладной |
product_name | String | Нет | Наименование товара |
product_category | String | Нет | Категория товара |
track_number | String | Нет | Трек номер |
places | Number | Да | Количество мест |
volume | Number | Нет | Объём, метр куб (м3) |
weight | Number | Нет | Вес, килограмм (кг) |
width | Number | Да | Ширина, сантиметр (см) |
depth | Number | Да | Глубина, сантиметр (см) |
height | Number | Да | Высота, сантиметр (см) |
annotation | String | Нет | Примечание |
payment_type | Number | Да | Кто оплачивает1 - Отправитель 2 - Получатель |
payment_method | Number | Да | Способ оплаты2 - Наличными 3 - Перечислением 4 - Kaspi Pay |
shipment_type | Number | Да | Транспорт доставки1 - Авто 2 - Авиа |
cod_payment | Number | Нет | Наложенный платёж |
declared_price | Number | Нет | Объявленная стоимость (Обязательный когда указан cargo_name) |
cargo_name | String | Нет | Наименование груза (Обязательный когда указан declared_price) |
take_date | String | Да | Дата забораЕсли self_delivery = 1, то можно указать сегодняшнюю дату до 18:00 Если self_delivery = 0 или вовсе не указан, то до 14:00 |
period_id | Number | Да | Период забора1 - До обеда (8:00 - 12:00) 2 - После обеда (12:00 - 18:00) 3 - Полный день (9:00 - 18:00) |
should_return_document | Number | Да | Возвратные документы1 - Да 2 - Нет |
verify | Number | Нет | Верификация |
Пример объекта:
json
{
"invoice_number": "SP000001",
"product_name": "product_name",
"places": 1,
"volume": 1,
"should_return_document": 1,
"height": 1,
"width": 1,
"depth": 1,
"weight": 1,
"annotation": "1",
"payment_type": 1,
"payment_method": 2,
"shipment_type": 1,
"cod_payment": 1,
"declared_price": 1,
"cargo_name": "Автозапчасти",
"take_date": "2022-05-12",
"period_id": 1,
"verify": 1,
"track_number": ""
}
Пример тела запроса
json
{
"sender": {
"title": "Новый отправитель",
"city_id": 1,
"phone": "+77083039131",
"self-delivery": 1,
"street": "Толе би",
"house": "101",
"office": "5",
"full_name": "Иванов Иван Иванович",
"full_address": "Казахстан, г. Алматы, ул. Толе би, 101",
"index": "111",
"comment": "Отправки раз в месяц"
},
"additional_service": {
"hasSoftPackage": true,
"hasManipulator": false,
"hasCrane": false,
"hasHydraulicTrolley": false,
"hasGrid": true,
"hasLoader": false
},
"receivers": [
{
"title": "Новый получатель",
"city_id": 2,
"phone": "+77083039131",
"self-delivery": 1,
"street": "Толе би",
"house": "101",
"office": "5",
"full_name": "Иванов Иван Иванович",
"full_address": "Казахстан, г. Алматы, ул. Толе би, 101",
"index": "111",
"comment": "Отправки раз в месяц",
"order_logistics_info": {
"invoice_number": "SP000001",
"product_name": "product_name",
"places": 1,
"volume": 1,
"should_return_document": 1,
"height": 1,
"width": 1,
"depth": 1,
"weight": 1,
"annotation": "1",
"payment_type": 1,
"payment_method": 2,
"shipment_type": 1,
"cod_payment": 1,
"declared_price": 1,
"cargo_name": "Автозапчасти",
"take_date": "2022-05-12",
"period_id": 1,
"verify": 1,
"track_number": ""
},
"additional_service": {
"hasSoftPackage": true,
"hasManipulator": false,
"hasCrane": false,
"hasHydraulicTrolley": false,
"hasGrid": true,
"hasLoader": false
}
}
]
}
Пример ответа
json
{
"data": {
"order_id": 624332,
"transaction_id": null,
"invoices": [
{
"id": 710301,
"title": "test отправитель",
"invoice_number": "SP00078478",
"track_number": null,
"latitude": "47.1105353",
"longitude": "51.9646138",
"full_address": "Казахстан, Атырау, улица Куттыгай батыр (Элеваторная), 8"
},
{
"id": 710302,
"title": "test отправитель",
"invoice_number": "SP00078479",
"track_number": null,
"latitude": "47.1105353",
"longitude": "51.9646138",
"full_address": "Казахстан, Атырау, улица Куттыгай батыр (Элеваторная), 8"
}
]
},
"code": 0,
"success": true,
"message": "Заказ создан!",
"errors": []
}
Тип Order (callback)
Отправляется при создании заказа
json
{
"type": "order",
"data": {
"order_id": 27,
"transaction_id": null,
"invoices": [
{
"id": 81,
"title": "Yaroslav Tarasenko",
"invoice_number": "SP00000061",
"track_number": null,
"latitude": "52.285577",
"longitude": "76.940722",
"full_address": "Майры street 43 151"
},
{
"id": 82,
"title": "Yaroslav Tarasenko",
"invoice_number": "SP00000062",
"track_number": null,
"latitude": "52.285577",
"longitude": "76.940722",
"full_address": "Mayra street 43 151"
},
{
"id": 83,
"title": "Yaroslav Tarasenko",
"invoice_number": "SP00000063",
"track_number": null,
"latitude": "52.285577",
"longitude": "76.940722",
"full_address": "Mayra street 43 151"
},
{
"id": 84,
"title": "Yaroslav Tarasenko",
"invoice_number": "DOP0000021",
"track_number": null,
"latitude": "52.285577",
"longitude": "76.940722",
"full_address": "Mayra street 43 151"
}
]
}
}
Тип Status (callback)
Отправляется при смене статуса
json
{
"type": "status",
"data": {
"invoice_number": "SP00078478",
"status": {
"status_name": "Заказ создан",
"status_code": 201,
"date": "25.04.2022"
}
}
}