AVSTORG

Заказы через API: статусы и создание

22 июля 2026 г. 7 просм.

Чтение статусов заказов и создание заказов из вашей системы. С примерами запросов и ответов.

Документация для разработчика

Полная техническая документация с примерами запросов и ответов — на странице Документация API. Передайте ссылку вашему разработчику.

Каждый заказ в API — это свой номер, склад, статусы оплаты и доставки, состав и трек. Суммы — в рублях.

Чтение заказов

заказ по номеру
curl "https://avstorg.ru/api/ext/v1/shipments/%D0%90%D0%A2.26-07-21.0001.%D0%92%D0%A0%D0%9D.%D0%AE.1-%D0%9E%D0%97" \
  -H "Authorization: Bearer ВАШ_ТОКЕН"

Ответ:

ответ
{
  "number": "АТ.26-07-21.0001.ВРН.Ю.1-ОЗ",
  "order_number": "АТ.26-07-21.0001.Ю",
  "source": { "code": "api", "name": "API" },
  "warehouse": { "code": "voronezh", "name": "Воронеж" },
  "payment_status":  { "code": "paid",    "name": "Оплачен" },
  "delivery_status": { "code": "shipped", "name": "Отгружен" },
  "tracking_number": null,
  "subtotal": 2736.00, "delivery": 0,
  "order_total": 2591.00, "order_discount": 145.00, "order_delivery": 0,
  "customer_order_ref": "456",
  "items": [
    { "sku": "A40854S", "code": "480021", "qty_ordered": 24, "qty_shipped": 24,
      "price": 114.00, "discount": 6.00,
      "line_subtotal": 2736.00, "line_discount": 144.00, "line_total": 2592.00 }
  ]
}

Источник и номер вашей заявки

source — источник заказа (сайт, 1С, API). customer_order_ref — номер вашей заявки, если вы указали его при создании. Номера с русскими буквами в адресе кодируйте (URL-encoding).

  • GET /shipments?page=1&per_page=50 — список заказов
  • GET /shipments/{номер} — детально
  • GET /shipments/{номер}/status-history — история статусов
  • GET /dictionaries/statuses — справочник кодов статусов

Создание заказа

Отправьте артикулы и количество — цены и скидки посчитает наш движок. Адрес и доставка не передаются: используются ваши настройки, детали согласует менеджер.

создание заказа
curl -X POST "https://avstorg.ru/api/ext/v1/shipments" \
  -H "Authorization: Bearer ВАШ_ТОКЕН" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7f3a9c12-4b8e-4d01-9a55-e2c6b0f81d34" \
  -d '{
    "items": [ { "sku": "A40854S", "qty": 24 } ],
    "comment": "Заявка из 1С № 456",
    "customer_order_ref": "456"
  }'

Ответ (201) — заказ создан:

ответ 201
{
  "order_number": "АТ.26-07-21.0001.Ю",
  "customer_order_ref": "456",
  "source": { "code": "api", "name": "API" },
  "total": 2591.00, "delivery": 0, "discount": 145.00,
  "shipments": [
    { "number": "АТ.26-07-21.0001.ВРН.Ю.1-ОЗ",
      "warehouse": { "code": "voronezh", "name": "Воронеж" },
      "subtotal": 2736.00,
      "items": [ { "sku": "A40854S", "code": "480021", "qty_ordered": 24, "price": 114.00,
                   "line_subtotal": 2736.00, "line_discount": 144.00, "line_total": 2592.00 } ] }
  ]
}
  • Idempotency-Key — уникальный ключ (например UUID): повтор вернёт тот же результат, дубля не будет
  • customer_order_ref — номер вашей заявки, вернётся во всех ответах
  • Бонусы через API не списываются
  • При ошибке — 422 с построчными кодами в details.problems

Дальше — как обычно

Созданный заказ сразу виден вашему менеджеру и обрабатывается штатно: счёт, комплектация, отгрузка.

Идемпотентность

Заголовок Idempotency-Key обязателен при создании заказа. Повтор с тем же ключом в течение суток вернёт тот же заказ, а не создаст дубль — безопасно повторять запрос при обрыве связи. Если заявка ещё обрабатывается, придёт 409: если она зависла, повторите с новым ключом или обратитесь в клиентскую службу.

Коды проблем позиций (422)

  • unknown_sku — артикул не найден
  • insufficient_stock — не хватает остатка (в ответе — available)
  • no_price — для вашего типа цен цена не задана
  • invalid_step — количество не кратно шагу заказа (qty_step)
  • below_min_qty / above_max_qty — меньше минимума / больше максимума

Итоговые суммы

price и discount позиции — за штуку. line_subtotal/line_discount/line_total — итоги по позиции по заказанному количеству (qty_ordered). order_total/order_discount/order_delivery — точные итоги всего заказа (к оплате = order_total + order_delivery); НЕ суммируйте order_* по отгрузкам одного заказа — в каждой отгрузке это итог всего заказа. Расхождение с суммой позиций возможно из-за округления скидки на штуку и списанных бонусов.

Статья была полезна?

Похожие статьи

Мы используем куки

Для корректной работы сайта и улучшения сервиса. Подробнее