Обновить заказ
Обновление заказа на доставку возможно при статусе заказа Новый. Обновить возможно следующие данные:
- Номер заказа
number - Дату предполагаемой доставки
dateDelivery - Данные по клиенту
notification - Данные по кол-ву загружаемых посылок
parcels - Данные по товарам
items
При обновлении
parcelsплатформа осуществит поиск по идентификатору товарной позицииbarcode, если идентификатор найден, то будут обновлены все значения внутри объекта. Еслиbarcodeне найден, то платформа создаст новую посылку.
При добавлении
itemsпозиции / изменении количества внешняя система должна передать обновленное полеtotalSumпо позиции, полеprePaymentSumдолжно быть равным сумме всехtotalSum.
PUT /order/update
Инициатор запроса внешняя система
Header parameters
| desc | type | ||
|---|---|---|---|
SST-ECOM-KEY | Ключ авторизации | string | required |
Content-Type | Со значением application/json | string | required |
Request body
| desc | type | ||
|---|---|---|---|
externalId | Идентификатор заказа во внешней системе | string | required |
number | Номер заказа (может быть использован при отображении клиенту/курьеру) | string | no required |
postamatId | Идентификатор постамата, куда осуществляется доставка | int32 | no required |
dateDelivery | Дата предполагаемой доставки | date | no required |
parcels | Данные по кол-ву загружаемых посылок | array of objects | required |
clientInvoice | Данные по составу заказа | object | no required |
notification | Данные по клиенту (используются для идентификации клиента в поддержке) | object | no required |
parcels array
| desc | type | ||
|---|---|---|---|
barcode | Штрих-код посылки | string | required |
additionalBarcodes | Дополнительные штрих-коды, по которым возможно идентифицировать заказ (используется при закладке курьера на постамате) | array of strings | no required |
dimension | Информация о размере посылки | object | no required |
dimension object
| desc | type | ||
|---|---|---|---|
height | Высота коробки, мм ( >=1 ) | int32 | no required |
length | Длина коробки, мм ( >=1 ) | int32 | no required |
width | Ширина коробки, мм ( >=1 ) | int32 | no required |
clientInvoice object
| desc | type | ||
|---|---|---|---|
cart | Данные по составу заказа (используется для претензионной работы) | object | required |
cart object
| desc | type | ||
|---|---|---|---|
items | Данные по товарам | array of object | required |
prePaymentSum | Оплаченная стоимость всего заказа в копейках | int64 | required |
items array
| desc | type | ||
|---|---|---|---|
count | Количество товаров | int32 | required |
name | Наименование товара | string | required |
subjectType | Тип товара согласно 54 ФЗ документ | int32 | required |
price | Стоимость одного товара в копейках | int64 | required |
totalSum | Полная стоимость за все товары в копейках | int64 | required |
taxId | Код ставки НДС согласно 54 ФЗ документ | int32 | required |
taxSystemId | Система налогообложения | int32 | required |
notification object
| desc | type | ||
|---|---|---|---|
emails | Email клиента | array of strings | required |
phones | Телефон клиента. Телефон передается в формате +79996543421 | array of strings | required |
Пример запроса
shell
curl -X 'PUT' \
'https://apim.selftech.ru/test/v4/order/update' \
-H 'accept: */*' \
-H 'SST-ECOM-KEY: KEY' \
-H 'Content-Type: application/json' \
-d '{
"clientInvoice": {
"cart": {
"items": [
{
"count": 1,
"name": "Товар 1",
"price": 67700,
"subjectType": 1,
"taxId": 1,
"taxSystemId": 16,
"totalSum": 67700
}
],
"prePaymentSum": 67700
}
},
"externalId": "21fb04ee-e5a6-4ffc-ae2a-0776f97fd734",
"notification": {
"emails": [
"noemail@example.ru"
],
"phones": [
"+79990001122"
]
},
"parcels": [
{
"barcode": "6de5c5b0af274e48b75a813fee2ea580",
"additionalBarcodes": [
"15768506026",
"15768506026",
"*6vgTqqR"
]
}
],
"dateDelivery": "2024-03-19"
}'Коды ответов
200 - ОК
400 - Bad request
Response schema
| desc | type | |
|---|---|---|
message | Сообщение ошибки | string |
resultCode | Ответ сервера: 205 - Post operation not found; 206 - Post operation wrong state; | int32 |
json
{
"message": "Post operation not found",
"resultCode": 205
}json
{
"message": "Post operation wrong state",
"resultCode": 206
}401 - Unauthorized
500 - Internal server error