Boxberry API API

Отрасль: Логистика и доставка. Актуально на 2026-10-24.

API службы доставки Boxberry для интернет-магазинов и партнёров: города и пункты выдачи, расчёт стоимости и сроков доставки, проверка курьерской доставки по индексу, создание и изменение заказов, курьерский забор, отслеживание статусов, штрихкоды и акты. Все методы вызываются через один адрес с параметром method. Есть также SOAP-интерфейс.

Сценарии

Рассчитать стоимость доставки до пункта выдачи или курьером

Показать покупателю цену доставки Boxberry при оформлении заказа.

  1. Возьми токен в личном кабинете: «Интеграция» → «Методы API». Все методы вызываются по одному адресу https://api.boxberry.ru/json.php с параметрами token и method.
  2. Получи города доставки: ListCities с CountryCode = 643 (Россия). Список обновляй раз в день. Код нужного пункта выдачи берётся из справочника пунктов Boxberry.
  3. Посчитай стоимость: DeliveryCosts с weight (граммы), target — кодом пункта выдачи, ordersum (объявленная стоимость) и paysum (сумма к оплате с получателя). Для курьерской доставки передай zip — индекс получателя, тогда target игнорируется.
  4. Итог — price в ответе (price_base + price_service). Метод не проверяет данные: при несуществующем пункте или индексе стоимость будет неточной без ошибки, поэтому проверяй коды заранее.
curl -G https://api.boxberry.ru/json.php \
  -d token=<токен> -d method=DeliveryCosts \
  -d weight=1500 -d target=010 -d ordersum=1500 -d paysum=0 \
  -d height=10 -d width=15 -d depth=20

Создать заказ и получить трек-номер с этикеткой

Передать заказ интернет-магазина в Boxberry.

  1. Отправь заказ: POST на https://api.boxberry.ru/json.php с method = ParselCreate и sdata: order_id (номер у тебя), vid (1 — до ПВЗ, 2 — курьером), price, payment_sum (0 для предоплаченного), delivery_sum, shop.name (код пункта выдачи) и shop.name1 (код пункта приёма), customer (fio и phone — 10 цифр) и weights.weight в граммах.
  2. Для курьерской доставки заполни kurdost: citi и addressp. Индекс лучше оставить пустым — Boxberry определит сам.
  3. В ответе track — трек-номер посылки и label — ссылка на этикетку со штрихкодом. Сохрани оба.
  4. Чтобы изменить заказ, отправь ParselCreate ещё раз с sdata.updateByTrack = трек-номер.
  5. Для многоместного заказа веса мест передаются как weight, weight2 … weight24.
curl -X POST https://api.boxberry.ru/json.php \
  -H 'Content-Type: application/json' \
  -d '{
        "token": "<токен>",
        "method": "ParselCreate",
        "sdata": {
          "order_id": "1042",
          "vid": 1,
          "price": 1500,
          "payment_sum": 0,
          "delivery_sum": 0,
          "shop": {"name": "<код ПВЗ получателя>", "name1": "<код пункта приёма>"},
          "customer": {"fio": "Иванов Иван Иванович", "phone": "9990001122"},
          "weights": {"weight": 1500}
        }
      }'
# → {"track": "AAP127020243", "label": "http://api.boxberry.ru/parcel-files/barcodes?..."}

Узнать статус посылки

Показать покупателю, где посылка, или обновить статусы заказов у себя.

  1. Запроси историю: ListStatuses с ImId — трек-номером или номером заказа в магазине.
  2. В ответе — список статусов с Date (по Москве) и Name, последний элемент — текущий статус.
  3. Для массового обновления статусов по многим посылкам документация рекомендует GetLastStatusData, а не опрос по одной.
  4. Следи за заголовками X-RateLimit-Remaining и X-Rate-Limit-Reset: при превышении лимита придёт 429.
curl -G https://api.boxberry.ru/json.php \
  -d token=<токен> -d method=ListStatuses -d ImId=AAP127020243

Базовые URL

Авторизация

Тип: API-ключ

API-токен берут в личном кабинете Boxberry (account.boxberry.ru): «Интеграция» → вкладка «Методы API». Токен передаётся в параметре token в каждом запросе, не меняется при смене пароля. Запросы — только по HTTPS (TLS 1.2 или 1.3).

curl 'https://api.boxberry.ru/json.php?method=ListStatuses&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&ImId=AAP298792807'

Методы

ListCities — Список городов доставки

Города с пунктами выдачи Boxberry. Обновляйте раз в день. GET-запрос: https://api.boxberry.ru/json.php?token=...&method=ListCities.

В ответе для каждого города: Name, Code, CountryCode, Prefix, Region, Kladr, CourierDelivery (0/1), Reception (0/1) и др.

Параметр Где Тип Обяз. Описание
token query string да Токен
method query string да ListCities
CountryCode query string нет Код страны: 643 — Россия, 398 — Казахстан, 112 — Беларусь и др.

DeliveryCosts — Калькулятор стоимости доставки

Стоимость доставки до ПВЗ или курьером с учётом постоянных услуг по договору. Метод только считает и не проверяет данные: при неверном пункте или индексе стоимость будет неточной. GET-запрос.

Пример запроса (склад–склад):

В ответе: price (итог = price_base + price_service), price_base и др.

Параметр Где Тип Обяз. Описание
token query string да Токен
method query string да DeliveryCosts
weight query integer да Вес посылки, граммы
targetstart query string нет Код пункта приёма; по умолчанию из настроек кабинета
target query string нет Код пункта выдачи
zip query string нет Индекс для курьерской доставки; если передан, target игнорируется
ordersum query number нет Объявленная (страховая) стоимость
deliverysum query number нет Заявленная стоимость доставки
paysum query number нет Сумма к оплате с получателя
height query string нет Высота коробки, см
width query string нет Ширина, см
depth query string нет Глубина, см
sucrh query string нет 1 — расчёт с индивидуальными настройками кабинета

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

https://api.boxberry.ru/json.php?token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&method=DeliveryCosts&weight=500&targetstart=010&target=010&ordersum=0&deliverysum=0&height=120&width=80&depth=50&paysum=100

ParselCreate — Создать или обновить заказ

POST на https://api.boxberry.ru/json.php, тело — JSON. Услуги из раздела «Услуги» кабинета подставляются автоматически. Если заполнен updateByTrack, обновляется ранее созданная посылка.

Параметр Где Тип Обяз. Описание
token body string да Токен
method body string да ParselCreate
sdata.order_id body string да Номер заказа в магазине
sdata.vid body string да 1 — до ПВЗ, 2 — курьерская доставка
sdata.price body string нет Объявленная стоимость (РФ: 5–500 000)
sdata.payment_sum body string нет Сумма к оплате с получателя; для предоплаченного — 0
sdata.delivery_sum body string нет Стоимость доставки для получателя
sdata.updateByTrack body string нет Трек-номер для обновления посылки
sdata.barcode body string нет Собственный штрихкод посылки
sdata.shop.name body string нет Код пункта выдачи (обязателен для ПВЗ)
sdata.shop.name1 body string да Код пункта приёма
sdata.customer.fio body string да ФИО получателя
sdata.customer.phone body string да Телефон, 10 цифр
sdata.kurdost.citi body string нет Населённый пункт (обязателен для КД по РФ)
sdata.kurdost.addressp body string нет Адрес: улица, дом, квартира (обязателен для КД по РФ)
sdata.kurdost.index body string нет Индекс; лучше оставить пустым для автоопределения
sdata.weights.weight body string да Вес первого места, граммы (5–31 000)

Пример ответа:

{
  "track": "AAP127020243",
  "label": "http://api.boxberry.ru/parcel-files/barcodes?parcel_id=127020243&token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}

ListStatuses — Статусы посылки

GET или POST. Для массового обновления рекомендуется GetLastStatusData.

Пример ответа (сокращён):

Параметр Где Тип Обяз. Описание
token query string да Токен
method query string да ListStatuses
ImId query string да Трек-номер или номер заказа

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

[
  {
    "Date": "2024-02-07 13:38:13",
    "Name": "Загружен реестр ИМ"
  },
  {
    "Date": "2024-02-07 13:54:31",
    "Name": "Выдано"
  }
]

Нюансы

Ошибки

Код Описание
429 Превышен лимит запросов; тело {"err": "Слишком много запросов"}

Ограничения

Текущие лимиты возвращаются в заголовках каждого ответа: X-RateLimit-Limit (максимум запросов в интервале), X-RateLimit-Remaining (остаток), X-Rate-Limit-Reset (сколько секунд ждать). При систематическом превышении доступ к API может быть ограничен.

Источники


Если этого недостаточно — официальная документация: https://yandex.ru/support/delivery-boxberry/ru/pages/web-service-addresses JSON: https://mcp-everything.ru/api/integrations/boxberry. MCP: https://mcp-everything.ru/mcp