Перейти к основному содержимому

Создание заказа в курьерской службе

Метод предназначен для создания заказа на доставку товаров в информационной системе курьерской службы. Когда заказ готов к отправке на стороне Золотого Яблока, ИС отправляет запрос с информацией об отправителе, получателе, параметрах доставки и содержимом отправления. В качестве будущего трек-номера используется уникальный номер заказа, который также передаётся. Трек-номер обеспечивает возможность отслеживания заказа и получения связанных состояний. Статусная модель представлена в соответствующем справочнике, см. Приложение: Справочник статусов заказа. Эндпоинт должен быть опубликован по защищенному протоколу HTTPS.

Основная информация​

Тип метода запросаPOST
Путь/URL/api/v1/orders
ОписаниеМетод для отправки заказа от ИС Золотого Яблока в ИС курьерской службы
НаправлениеЗапрос выполняется ИС Золотого Яблока. Ответ предоставляется курьерской службой.

Запрос​

Параметры заголовка​

ПараметрТип данныхОбязательностьОписаниеКомментарий
Authorizationstring1Access token, полученный при авторизации. Передаётся в формате Bearer <access_token>Формат передаёт курьерская служба (см. Авторизация в сервисе ВКС)
content-typestring1Тип содержимого запросаЗаполняется "application/json"

Параметры запроса​

№ПараметрТип данныхОбязательностьОписаниеКомментарий
1orderNumberstring1Номер заказа ЗЯВнутренний номер заказа в ИС Золотого Яблока. Трек-номер.
2deliveryServiceCodestring1Код курьерской службыОговаривается при интеграции с системой.
3courierTariffCodestring1Код тарифа ВКСОговаривается при интеграции с системой.
4isOrderFirstSendboolean1Признак первой отправкиПравило заполнения:
  • Если заказ создается в первый раз, заполнять значением "true"
  • Если заказ был скорректирован или выгружен повторно (даже без корректировок), заполнять значением "false"
5isOrderModifiedboolean1Признак изменения состава заказаПравило заполнения:
  • Если isFirstSend = false И состав заказа был изменен, заполнять значением "true"
  • Если isFirstSend = false И состав заказа НЕ был изменен, заполнять значением "false"
  • Если isFirstSend = true, поле не отправлять
6needCustomerNotificationboolean1Флаг отправки уведомлений со стороны ВКС.Правило заполнения:
  • Если флаг включен - тогда передаём уведомления клиенту любым способом доступным ИС ВКС;
  • Если флаг выключен - тогда не передаём никаких, то есть уведомления от ВКС вообще не передаются.
7senderNamestring1Наименование отправителяНапример: ООО "Екатеринбург Яблоко"
8shippingWarehouseobject1
9codestring1Внутренний код склада ЗЯКод склада Золотого Яблока. Например: "225"
10managerstring0Управляющий склада, менеджерФ.И.О. в свободной строковой форме.
11phonestring0Телефон управляющего складомБез спецсимволов, только цифры (код страны и федеральный код)
12locationFromobject1Объект адреса отправителя посылки
13Address object typeobject1Объект, содержащий адресную информацию.Адресный объект (см. Приложение: Адресные типы данных)
14recipientobject1Объект с информацией о получателе
15namestring1Ф.И.О. получателя в свободной строковой формеНапример: Иванов Иван Иванович
16phonestring1Телефон получателяБез спецсимволов, только цифры (код страны и федеральный код)
17emailstring0Email получателяВ формате email согласно обощённому "ISO 27000"
18pickpointIdstring1 - если доставка до ПВЗ
0 - если доставка до двери
Код ПВЗ курьерской службыПередаётся, если доставка осуществляется в пункт выдачи (ПВЗ)
19locationToobject1 - если доставка до двери
0 - если доставка до ПВЗ
Адрес получателя посылкиПередаётся, если доставка осуществляется курьером на адрес клиента
20Address object typeobject1Объект, содержащий адресную информацию.Адресный объект (см. Приложение: Адресные типы данных)
21packagearray of objects1Массив объектов отправления
22barcodestring1Штрихкод посылкиНапример: "M-095359727A"
23weightinteger1Общий вес посылки (в граммах)Например: "1000"
24lengthdecimal1Габариты упаковки. Длина (в см)Например: "20"
25widthdecimal1Габариты упаковки. Ширина (в см)Например: "15"
26heightdecimal1Габариты упаковки. Высота (в см)Например: "18"
27isPartialBuyboolean1Признак частичного выкупа для посылкиЗаполняется истинно, если может быть выкуплена не полностью (частично)
28isTryOnAllowedboolean1Признак примерки для посылкиЗаполняется истинно, если может быть выдана на примерку
29totalAmountdecimal1Цена товаров посылки (доставка не включена)Например: "222.43"
30declaredAmountdecimal1Объявленная ценность посылки (доставка не включена)Например: "252.43"
31paymentAmountdecimal1Сумма к оплате за товары посылки
32courierCommentstring0Комментарий или уточнение по посылкеЧастичная доставка запрещена! Вскрытие запрещено!
33itemsarray of objects1Массив объектов товаров посылки
34namestring1Наименование товараНапример: "DARLING Маска тканевая, увлажняющая, восстанавливающая"
35warekeystring1Артикул товараНапример: "19000181104"
36quantityinteger1Количество единиц одноименного товара (шт)Например: 3
37weightnumber1Вес товара (в граммах)Например: 200
38isPartialBuyboolean1Признак частичного выкупа для товараЗаполняется истинно, если может быть выкуплена только часть партии
39isTryOnAllowedboolean1Признак необходимости примерки для заказаЗаполняется истинно, если товар может быть выдан на примерку
40priceAmountdecimal1Общая стоимость единицы товараЦена одной единицы товара. Например: 562.1
41declaredAmountdecimal1Объявленная стоимость единицы товараОбъявленная стоимость одной единицы товара. Например: 564.5
42paymentAmountdecimal1Сумма к оплате за единицу товара
  • Если заказ предоплачен, значение = 0
  • Если заказ НЕ оплачен, значение > 0
2449.67
43vatRateinteger1Ставка НДС, включенная в стоимость товараСтавка указывается за 1 единицу товара. Например: 20
44vatSumdecimal1Сумма НДС при постоплате заказа (за штуку)112.4
45shipmentDatedate1Дата отгрузкиСогласно стандарту "ISO 8601". Формат: YYYY-MM-DDTHH:mm:ssZ
46shipmentTimeIntervalFromdate0Начало интервала отгрузкиСогласно стандарту "ISO 8601". Формат: HH:mm
47shipmentTimeIntervalTodate0Конец интервала отгрузкиСогласно стандарту "ISO 8601". Формат: HH:mm
48deliveryDatedate1Дата доставкиСогласно стандарту "ISO 8601". Формат: YYYY-MM-DDTHH:mm:ssZ
49deliveryTimeIntervalFromdate1Начало интервала доставкиСогласно стандарту "ISO 8601". Формат: HH:mm
50deliveryTimeIntervalTodate1Конец интервала доставкиСогласно стандарту "ISO 8601". Формат: HH:mm
51deliveryPaymentAmountobject1Объект стоимости услуги доставки
52declaredAmountdecimal1Объявленная ценность доставкиОбъявленная ценность доставки передаваемая от ИС ЗЯ
53paymentAmountdecimal1Сумма к оплате за услуги доставки
54vatRateinteger0Ставка НДС за услугу доставки
55vatSumdecimal1Сумма НДС за услугу доставки
56displayedAmountdecimal1Стоимость доставки для клиентаСтоимость доставки для конечного пользователя, транслируемая на чекауте
57orderPaymentAmountobject1Объект стоимости заказа
58declaredAmountdecimal1Объявленная ценность заказаУказывается сумма ОЦ за весь заказ. Например: 1200
59totalAmountdecimal1Общая стоимость заказаУказывается стоимость всего заказа. Например: 1000
60amountToCollectdecimal1Сумма оплаты с клиентаНапример: 500, если оплата не взимается, то 0. Для определения точной суммы постоплаты необходимо использовать значение данного поля
61currencystring1ВалютаСогласно стандарту "ISO 4217"
62returnWarehouseobject0Объект адреса возвратного склада
63codestring0Внутренний код склада ЗЯКод склада Золотого Яблока. Например: "225"
64Address object typeobject0Объект, содержащий адресную информацию.Адресный объект (см. Приложение: Адресные типы данных)

Пример запроса​

{
"orderNumber": "IAQ-126543",
"deliveryServiceCode": "EXAMPLE_CS",
"courierTariffCode": "123",
"isOrderFirstSend": true,
"isOrderModified": false,
"needCustomerNotification": false,
"senderName": "Общество с ограниченной ответственностью Екатеринбург Яблоко",
"shippingWarehouse": {
"code": "225",
"manager": "Иванов Иван Иванович",
"phone": "79123456780"
},
"locationFrom": {
"addressType": "gar",
"fullAddress": "214014, г Смоленск, ул. Мира, д 7",
"regionFias": "ed36085a-b2f5-454f-b9a9-1c9a678ee618",
"cityFias": "2763c110-cb8b-416a-9dac-ad28a55b4402",
"houseFias": "395bc31a-9fda-4804-a01b-13d79c15e3cb",
"flat": "54",
"latitude": 58.0167,
"longitude": 56.235,
"addressComment": "Распределительный центр, отгрузка"
},
"recipient": {
"name": "Пётр Петров",
"phone": "79999999999",
"email": "petr.petrov@gmail.com"
},
"pickpointId": null,
"locationTo": {
"addressType": "coord",
"fullAddress": "614054, г. Пермь, ул. Еловская 1-я, д. 5.",
"cityFias": "2763c110-cb8b-416a-9dac-ad28a55b4402",
"latitude": 58.0167,
"longitude": 56.235,
"flat": "5",
"addressComment": "Домофон не работает"
},
"package": [
{
"barcode": "M-095359727A",
"weight": 438,
"length": 20,
"width": 15,
"height": 18,
"isPartialBuy": true,
"isTryOnAllowed": false,
"totalAmount": 540.0,
"declaredAmount": 600.0,
"courierComment": "Частичная доставка запрещена! Вскрытие запрещено!",
"items": [
{
"name": "DARLING",
"warekey": "19000314269",
"quantity": 3,
"weight": 200,
"isPartialBuy": false,
"isTryOnAllowed": true,
"priceAmount": 180.0,
"declaredAmount": 200.0,
"vatRate": 20,
"vatSum": 10.0
}
]
}
],
"shipmentDate": "2025-04-06T00:00:00Z",
"shipmentTimeIntervalFrom": "08:00",
"shipmentTimeIntervalTo": "10:00",
"deliveryDate": "2025-04-07T00:00:00Z",
"deliveryTimeIntervalFrom": "10:00",
"deliveryTimeIntervalTo": "18:00",
"deliveryPaymentAmount": {
"declaredAmount": 45.0,
"displayedAmount": 39.9
},
"orderPaymentAmount": {
"declaredAmount": 645.00,
"totalAmount": 579.90,
"amountToCollect": 0.00,
"vatSum": 100.00,
"currency": "RUB"
},
"returnWarehouse": {
"code": "333",
"addressType": "coord",
"fullAddress": "191014, г Санкт-Петербург, ул. Мира, д 7",
"cityFias": "2763c110-cb8b-416a-9dac-ad28a55b4402",
"latitude": 59.791517,
"longitude": 30.120332,
"flat": null,
"addressComment": "Разгрузка со стороны главных ворот территории"
}
}

Ответ​

Коды ответов и сообщений​

КодСтатусСообщениеПричина
200ОКOrder has been createdВсе прошло успешно. Заказ создан в ИС курьерской службы
400Bad RequestMissing or inappropriate required parametersНе переданы или некорректно заполнены обязательные поля. В теле ответа должны быть указаны наименования полей, не прошедших валидацию, в произвольном формате строкой.
401UnauthorizedToken is invalidОшибка аутентификации в КС
403ForbiddenHas no permissionЗапрещено в текущем контексте
500Internal Server ErrorServer unavailableСервер недоступен

Параметры успешного ответа​

ПараметрТип данныхОбязательностьОписаниеКомментарий
ecsOrderNumberstring1Идентификатор заказа в КСНомер заказа на доставку, назначенный в ИС курьерской службы.
orderNumberstring1Номер заказа ЗЯ, отправленный в запросеВнутренний номер заказа в ИС Золотого Яблока. Трек-номер
createdAtdate1Дата и время регистрации заказаСогласно стандарту "ISO 8601", UTC0 (YYYY-MM-DDThh:mm:ssZ)

Пример успешного ответа​

{
"ecsOrderNumber": "f91ae5a4-3b1c-4e7a-8c29-72b1db2025a1",
"orderNumber": "IAQ-126543",
"createdAt": "2025-05-10T10:41:22Z"
}

Параметры неуспешного ответа​

ПараметрТип данныхОбязательностьОписание
errorMessagestring1Человекочитаемое сообщение об ошибке
errorCodestring0см. Приложение: Справочник кодов ошибок

Пример неуспешного ответа​

{
"errorMessage": "Missing or inappropriate required parameters",
"errorCode": "Addr_01"
}