Skip to content

Обновить заказ

Обновление заказа на доставку возможно при статусе заказа Новый. Обновить возможно следующие данные:

  • Номер заказа number
  • Дату предполагаемой доставки dateDelivery
  • Данные по клиенту notification
  • Данные по кол-ву загружаемых посылок parcels
  • Данные по товарам items

При обновлении parcels платформа осуществит поиск по идентификатору товарной позиции barcode, если идентификатор найден, то будут обновлены все значения внутри объекта. Если barcode не найден, то платформа создаст новую посылку.

При добавлении items позиции / изменении количества внешняя система должна передать обновленное поле totalSum по позиции, поле prePaymentSum должно быть равным сумме всех totalSum.

PUT /order/update

Инициатор запроса внешняя система

Header parameters

desctype
SST-ECOM-KEYКлюч авторизацииstringrequired
Content-TypeСо значением application/jsonstringrequired

Request body

desctype
externalIdИдентификатор заказа во внешней системеstringrequired
numberНомер заказа (может быть использован при отображении клиенту/курьеру)stringno required
postamatIdИдентификатор постамата, куда осуществляется доставкаint32no required
dateDeliveryДата предполагаемой доставкиdateno required
parcelsДанные по кол-ву загружаемых посылокarray of objectsrequired
clientInvoiceДанные по составу заказаobjectno required
notificationДанные по клиенту (используются для идентификации клиента в поддержке)objectno required

parcels array

desctype
barcodeШтрих-код посылкиstringrequired
additionalBarcodesДополнительные штрих-коды, по которым возможно идентифицировать заказ (используется при закладке курьера на постамате)array of stringsno required
dimensionИнформация о размере посылкиobjectno required

dimension object

desctype
heightВысота коробки, мм ( >=1 )int32no required
lengthДлина коробки, мм ( >=1 )int32no required
widthШирина коробки, мм ( >=1 )int32no required

clientInvoice object

desctype
cartДанные по составу заказа (используется для претензионной работы)objectrequired

cart object

desctype
itemsДанные по товарамarray of objectrequired
prePaymentSumОплаченная стоимость всего заказа в копейкахint64required

items array

desctype
countКоличество товаровint32required
nameНаименование товараstringrequired
subjectTypeТип товара согласно 54 ФЗ документint32required
priceСтоимость одного товара в копейкахint64required
totalSumПолная стоимость за все товары в копейкахint64required
taxIdКод ставки НДС согласно 54 ФЗ документint32required
taxSystemIdСистема налогообложенияint32required

notification object

desctype
emailsEmail клиентаarray of stringsrequired
phonesТелефон клиента. Телефон передается в формате +79996543421array of stringsrequired

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

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

desctype
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