Skip to content

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

Эндпоинт создания заказа имеет немалое количество необходимых параметров состоящих из объекта отправителя, объекта дополнительных услуг при отправке и массива объектов получателей (у которых тоже имеются объекты дополнительных услуг при получении).

Метод запроса: POST

bash
https://gateway.spark-dev.team/cabinet/api/client/order

Описание параметров запроса:

Наименование параметраТипОбязательный параметрОписание
senderОбъект SenderДаОтправитель
additional_serviceОбъект AdditionalServiceДаДоп. услуги
receiversМассив ReceiverДаПолучатель
callback_urlStringНетСсылка для обновления статуса (Должен быть действительный URL-адрес который принимает POST запрос)

Обратите внимание

По переданному url в поле callback_url будут приходить данные по 2 типам: order и status.

Объект Sender

Описание параметров объекта - Отправителя:

Наименование параметраТипОбязательный параметрОписание
titleStringДаЗаголовок
city_idNumberДаID города
phoneStringДаНомер телефона
self_deliveryNumberНетСамопривоз
0 - Нет, 1 - Да
streetStringДа, если self-delivery пустойУлица
houseStringДа, если self-delivery пустойДом
latitudeStringНетШирота
longitudeStringНетДолгота
officeStringНетКвартира / Офис
full_nameStringДаФ.И.О
full_addressStringДа, если self-delivery пустойПолный адрес
indexStringНетИндекс
commentStringНетКомментарий
Пример объекта:
json
{
    "title": "Новый отправитель",
    "city_id": 1,
    "phone": "+77083039131",
    "self-delivery": 1,
    "street": "Толе би",
    "house": "101",
    "office": "5",
    "full_name": "Иванов Иван Иванович",
    "full_address": "Казахстан, г. Алматы, ул. Толе би, 101",
    "index": "111",
    "comment": "Отправки раз в месяц"
}

Объект AdditionalService

Описание параметров объекта - Дополнительных услуг:

Наименование параметраТипОбязательный параметрОписание
hasSoftPackageBooleanНетМягкая упаковка
hasManipulatorBooleanНетМанипулятор
hasCraneBooleanНетКран
hasHydraulicTrolleyBooleanНетРохля
hasGridBooleanНетОбрешетка
hasLoaderBooleanНетГрузчики
Пример объекта:
json
{
    "hasSoftPackage": true,
    "hasManipulator": false,
    "hasCrane": false,
    "hasHydraulicTrolley": false,
    "hasGrid": true,
    "hasLoader": false
}

Объект Receiver

Описание параметров объекта - Получателя:

Наименование параметраТипОбязательный параметрОписание
titleStringДаЗаголовок
city_idNumberДаID города
phoneStringДаНомер телефона
self-deliveryNumberНетСамовывоз
0 - Нет, 1 - Да
streetStringДа, если self-delivery пустойУлица
houseStringДа, если self-delivery пустойДом
latitudeStringНетШирота
longitudeStringНетДолгота
officeStringНетКвартира / Офис
full_nameStringДаФ.И.О
full_addressStringДа, если self-delivery пустойПолный адрес
indexStringНетИндекс
commentStringНетКомментарий
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_numberStringНет№ Накладной заказчика
invoice_numberStringНет№ Накладной
product_nameStringНетНаименование товара
product_categoryStringНетКатегория товара
track_numberStringНетТрек номер
placesNumberДаКоличество мест
volumeNumberНетОбъём, метр куб (м3)
weightNumberНетВес, килограмм (кг)
widthNumberДаШирина, сантиметр (см)
depthNumberДаГлубина, сантиметр (см)
heightNumberДаВысота, сантиметр (см)
annotationStringНетПримечание
payment_typeNumberДаКто оплачивает
1 - Отправитель
2 - Получатель
payment_methodNumberДаСпособ оплаты
2 - Наличными
3 - Перечислением
4 - Kaspi Pay
shipment_typeNumberДаТранспорт доставки
1 - Авто
2 - Авиа
cod_paymentNumberНетНаложенный платёж
declared_priceNumberНетОбъявленная стоимость (Обязательный когда указан cargo_name)
cargo_nameStringНетНаименование груза (Обязательный когда указан declared_price)
take_dateStringДаДата забора
Если self_delivery = 1, то можно указать сегодняшнюю дату до 18:00
Если self_delivery = 0 или вовсе не указан, то до 14:00
period_idNumberДаПериод забора
1 - До обеда (8:00 - 12:00)
2 - После обеда (12:00 - 18:00)
3 - Полный день (9:00 - 18:00)
should_return_documentNumberДаВозвратные документы
1 - Да
2 - Нет
verifyNumberНетВерификация
Пример объекта:
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"
        }
    }
}