К содержимому
Инвойсбокс
get/v3/billing/api/order/shipment

Создание отгрузки

Что делает отгрузка

Отгрузка фиксирует факт поставки товара или оказания услуги. По ней формируются отчётные документы и фискальный чек, а у заказов с холдированием — списываются заблокированные на карте средства.

  • Отгрузок по заказу может быть несколько: например, поставка партиями. На каждую оформляются свои документы.
  • Сумма всех отгрузок не превышает сумму заказа.
  • Когда в отгрузках закрыты все позиции заказа, деньги списываются целиком. Если часть заказа не состоялась, последнюю отгрузку отправляют с final = true: заказ считается выполненным, а остаток резерва разблокируется — подробнее в холдировании.

Отгрузка создаётся одним запросом:

Пример запроса
POST /v3/billing/api/order/shipment
Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e
Content-Type: application/json
User-Agent: MyApp 1.0
Accept: application/json
{
    "orderId": "0187c6db-1637-c1ca-bef7-f6706799c41e",
    "basketItems": [
        {
            "sku": "01GZ3DP5HADMSBAXRKVCES5FJX",
            "name": "iPhone 5s",
            "measure": "шт",
            "measureCode": "796",
            "originCountry": "Россия",
            "originCountryCode": "643",
            "grossWeight": 1010.55,
            "netWeight": 1000.66,
            "quantity": 1,
            "amount": 122.00,
            "amountWoVat": 100.00,
            "totalAmount": 122.00,
            "totalVatAmount": 22.00,
            "vatCode": "RUS_VAT22",
            "type": "commodity",
            "paymentType": "full_prepayment"
        }
    ]
}

Ответ (по схеме):

{
  "data": {
    "id": 1,
    "orderId": "01771534-1a57-f184-dee3-ebeb91dded75",
    "merchantId": "01771534-1a57-f184-dee3-ebeb91dded75",
    "basketItems": [
      {
        "sku": "string",
        "name": "string",
        "groupName": "string",
        "measure": "string",
        "measureCode": "string",
        "originCountry": "string",
        "originCountryCode": "string",
        "grossWeight": 100.5,
        "netWeight": 100.5,
        "quantity": 100.5,
        "amount": 100.5,
        "amountWoVat": 100.5,
        "totalAmount": 100.5,
        "totalVatAmount": 100.5,
        "vatCode": "RUS_VAT22",
        "type": "string",
        "gtdNumber": "string",
        "paymentType": "string",
        "excise": 100.5,
        "metaData": {},
        "tnved": "string",
        "rnpt": "string",
        "gtin": "string",
        "category": "string",
        "categoryType": "string",
        "serviceDate": "2026-08-03T12:00:00+03:00"
      }
    ],
    "createdAt": "2026-08-03T12:00:00+03:00",
    "type": "string",
    "status": "draft",
    "amount": 100.5,
    "vatAmount": 100.5,
    "final": false,
    "documentNumber": "string",
    "description": "string",
    "documentDate": "2026-08-03T12:00:00+03:00"
  },
  "metaData": {
    "totalCount": 1,
    "pageSize": 1,
    "page": 1
  },
  "extendedData": [
    {
      "type": "string",
      "data": {}
    }
  ]
}

Список отгрузок

По одному заказу отгрузок бывает несколько, и перед оформлением новой полезно посмотреть, что уже отгружено: сумма всех отгрузок не превышает сумму заказа, а состав повторно не отгружается.

  • метод: GET
  • ресурс: /v3/billing/api/order/shipment
  • тело ответа — конверт с массивом объектов ShipmentResponse в data и счётчиками в metaData
  • _extend[]=merchant добавляет в ответ данные магазина
  • Возможные ошибки
Пример запроса
GET /v3/billing/api/order/shipment?_extend[]=merchant
Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e
Accept: application/json
Пример ответа
{
  "data": [
    {
      "id": 2,
      "orderId": "01771534-1a57-f184-dee3-ebeb91dded75",
      "merchantId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
      "basketItems": [
        {
          "sku": "01GZ3DP5HADMSBAXRKVCES5FJX",
          "name": "iPhone 5s",
          "measure": "шт",
          "measureCode": "796",
          "quantity": 1,
          "amount": 122.00,
          "amountWoVat": 100.00,
          "totalAmount": 122.00,
          "totalVatAmount": 22.00,
          "vatCode": "RUS_VAT22"
        }
      ],
      "createdAt": "2026-08-03T12:00:00+03:00",
      "type": "shipment",
      "status": "completed",
      "amount": 122.00,
      "vatAmount": 22.00,
      "final": true,
      "documentNumber": "123",
      "documentDate": "2026-08-03T12:00:00+03:00"
    }
  ],
  "metaData": {
    "totalCount": 1,
    "pageSize": 20,
    "page": 1
  },
  "extendedData": []
}

Статусы отгрузки

СтатусЧто означает
draftчерновик: состав можно изменить
pendingотгрузка в обработке
completedотгрузка завершена, по ней сформированы документы
canceledотгрузка отменена

Документы формируются по завершённой отгрузке — какие именно, зависит от схемы документооборота. О движении документов в ЭДО магазин узнаёт из событий ЭДО.

CreateShipmentRequest

СвойствоТипОписаниеПример значения
orderId *string(36)Id заказа01771534-1a57-f184-dee3-ebeb91dded75
documentNumberstring(36)Номер документа (накладная, счёт-фактура и пр.)123
documentDatedateДата документа2026-08-12
basketItems *array of BasketItemКорзина заказа
typestring, enumТип отгрузки, по умолчанию shipmentshipment, cancel
finalboolЗавершающая ли отгрузка по заказу, по умолчанию falsetrue, false

ShipmentResponse

Повторяет свойства объекта CreateShipmentRequest с дополнительными свойствами:

СвойствоТипОписаниеПример значения
id *intИдентификатор отгрузки в системе Инвойсбокс2
merchantId *string(36)Идентификатор магазина01771534-1a57-f184-dee3-ebeb91dded76

BasketItem

Корзина заказа. Пожалуйста, внимательно ознакомьтесь с требованиями по заполнению наименования номенклатуры.

СвойствоТипОписание
sku *string(500)Артикул, например: 5fe0adcfa7fb4
name *string(500)Наименование, например Бронирование номера
groupNamestring(500)Наименование группы позиций заказа, используется для формирования отчетных документов
measure *string(10)Единица измерения (для России - по ОКЕИ), например шт.
measureCode *string(4)Код единицы измерения (для России - по ОКЕИ), например 796
originCountrystring(20)Страна происхождения товара, например, Россия
originCountryCodestring(4)Код страны происхождения, например, Россия 643
grossWeightfloatВес брутто, например 125.45
netWeightfloatВес нетто, например 125.45
quantity *floatКоличество, например 3
amount *floatСтоимость единицы, например 100.55
amountWoVat *floatСтоимость единицы без учёта НДС
totalAmount *floatСтоимость всех единиц с НДС, например123.55
totalVatAmount *floatИтого сумма НДС, например 23
excisefloatСумма акциза, например, 10.00
vatCode *string(20) enumКод процента НДС, допустимые значения: VATNONE - не облагается,VATNONE - не облагается, RUS_VAT0 - 0%, RUS_VAT10 - 10/110, RUS_VAT10_ADDED - 10%, RUS_VAT20 - 20/120, RUS_VAT20_ADDED - 20% RUS_VAT22 - 22/122, RUS_VAT22_ADDED - 22%
type *string(10) или intТип позиции, в соответствии со справочником или service - сервис, commodity - товар
paymentType *string(20) enumТип оплаты, допустимые значения: full_prepayment, prepayment, advance, full_payment
metaDataobjectДополнительные данные элемента корзины

Параметры запроса — POST

11 обязательных из 35
ПолеТипОписание
orderId *#string
type#string
status#BillingProviderDomainOrderEnumShipmentStatusApiCreatedraftcompletedpendingcanceled
basketItems *#BillingProviderDomainOrderEntityBasketItemApiCreateCollection
amount#number | nullот 0
vatAmount#number | nullот 0
final#boolean | null
documentNumber#string
documentDate#stringdate-time
description#string
Страница помогла?
getПолучение списка отгрузок магазинаДемо
curl -X GET 'https://api.invoicebox.ru/v3/billing/api/order/shipment' \
  -H 'Authorization: Bearer <ВАШ_ТОКЕН>' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: MyApp 1.0'
postСоздание отгрузки по заказуДемо
curl -X POST 'https://api.invoicebox.ru/v3/billing/api/order/shipment' \
  -H 'Authorization: Bearer <ВАШ_ТОКЕН>' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: MyApp 1.0' \
  -d '{
  "orderId": "string",
  "basketItems": [
    {
      "sku": "sku-1",
      "name": "Бронирование номера",
      "quantity": 1,
      "amount": 12200,
      "amountWoVat": 100,
      "totalAmount": 100,
      "totalVatAmount": 100,
      "vatCode": "RUS_VAT22",
      "type": "service"
    }
  ],
  "amount": 12200,
  "vatAmount": 2200,
  "description": "Оплата бронирования"
}'
Отгрузка привязана к оплаченному заказу — выполните запрос своим токеном по примеру рядом.