# Requisition. Заявки на закупку

> Источник: https://wiki.virtualpos.ru/hc/api/requisition  
> Обновлено: 2026-09-26

Метод возвращает заявки на пополнение запасов точек продаж: статус, сводные показатели и, при необходимости, состав заявки. Заявки можно только читать: создаются они в панели управления.

> **Примечание:**
> Как получить ключ, как формируются запросы и какие бывают ответы и ошибки — в статье [Общие сведения](https://wiki.virtualpos.ru/hc/api/overview). Здесь описаны только особенности метода `requisition`. Как работать с заявками в панели управления — в статье [Заявки на пополнение запасов](https://wiki.virtualpos.ru/hc/purchase/requisition).

## Запрос

Все параметры, кроме ключа `apikey` и формата `format`, принимаются и в адресной строке, и в теле POST.

```
GET https://[компания].myvirtualpos.ru/api/requisition?apikey=MySecret&warehouse_id=4&status=NEW&with_items=1
```

## Параметры запроса

- **id** — Число. Ид заявки. Если указан, возвращается только она, включая дочерние заявки
- **warehouse_id** — Число. Ид точки продаж, для которой оформлены заявки
- **ext_warehouse_id** — Строка. Код точки продаж во внешней системе. Заменяет `warehouse_id`. Если точки с таким кодом нет, возвращается пустой список
- **status** — Строка. Статус заявки, см. раздел «Статусы заявки»
- **datefrom** — Дата `ГГГГММДД`. Заявки, созданные с этой даты
- **dateto** — Дата `ГГГГММДД`. Заявки, созданные не позднее этой даты
- **with_items** — `1` — добавить состав заявки. По умолчанию не добавляется
- **format** — `json` (по умолчанию) или `xml`

Условия объединяются по «и». Заявки возвращаются по возрастанию ид. Без `id` метод возвращает только основные заявки: дочерние (сформированные из сводных) не выдаются. Даты передаются строго в формате `ГГГГММДД`, иначе метод вернёт ошибку `Incorrect date format`.

> **Важно:**
> **Ограничения по дате нет**: без `datefrom` и `dateto` метод вернёт все заявки за всё время. Если у вас много заявок, ограничивайте выборку датами или точкой продаж.

## Статусы заявки

Статус хранится в поле `status`.

| Значение | Название |
| --- | --- |
| `NEW` | Новая: заявка создаётся и формируется |
| `APPROVE` | На утверждении: утверждается количество к заказу |
| `SUPPL_SELECTION` | Подбор поставщиков |
| `COMPLETED` | Закрыта |

В старых данных может встречаться также значение `DRAFT` (черновик).

## Структура ответа

- **success** — `1` — данные получены
- **type** — Тип данных, всегда `requisition`
- **flexfields** — Гибкие поля заявки: соответствие `attributeN` и названия поля. Пустой список, если гибких полей нет
- **count** — Количество заявок в ответе
- **requisitions** — Список заявок. Каждая обёрнута в объект `requisition`

### Поля заявки

Пустые значения в JSON приходят как `null`, в XML — как пустой элемент.

- **id** — Число. Ид заявки
- **status** — Строка. Статус заявки
- **warehouse_id** — Число. Ид точки продаж
- **ext_warehouse_id** — Строка. Код точки продаж во внешней системе
- **created_date** — Строка. Дата и время создания, формат `гггг-мм-дд чч:мм:сс`
- **type** — Всегда пусто
- **summary** — Сводные показатели заявки, см. ниже
- **attribute1** … **attribute15** — Строка. Значения гибких полей заявки; приходят только настроенные (см. `flexfields`)
- **items** — Состав заявки (только при `with_items=1`)

**Сводные показатели (`summary`)**

- **item_count** — Строка. Количество товарных позиций
- **item_quantity** — Строка. Общее количество товара
- **amount_cogs** — Строка. Сумма по закупочным ценам. Формат с разделителем тысяч, например `1,878.75`
- **amount_inflow** — Строка. Сумма по уже оформленным поступлениям

**Состав заявки (`items`, каждая строка в объекте `item`)**

- **item_id** — Число. Ид товара
- **ext_item_id** — Строка. Код товара во внешней системе
- **item_name** — Строка. Название товара
- **quantity_ordered** — Строка. Заказанное количество

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

```json
{
  "success": 1,
  "type": "requisition",
  "flexfields": { "attribute1": "Дата поставки" },
  "count": 1,
  "requisitions": [
    {
      "requisition": {
        "id": 9,
        "status": "NEW",
        "warehouse_id": 4,
        "ext_warehouse_id": "WH-4",
        "created_date": "2026-07-04 11:49:04",
        "type": null,
        "summary": {
          "item_count": "2",
          "item_quantity": "2.000",
          "amount_cogs": "232.32",
          "amount_inflow": "0.00"
        },
        "attribute1": "2026-07-10",
        "items": [
          {
            "item": {
              "item_name": "Шампунь для волос 250 мл",
              "ext_item_id": "SKU-178",
              "item_id": 178,
              "quantity_ordered": "1.000"
            }
          }
        ]
      }
    }
  ]
}
```

Тот же ответ при `format=xml` (сокращённо):

```xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <success>1</success>
  <type>requisition</type>
  <flexfields><attribute1>Дата поставки</attribute1></flexfields>
  <count>1</count>
  <requisitions>
    <requisition>
      <id>9</id>
      <status>NEW</status>
      <warehouse_id>4</warehouse_id>
      <summary>
        <item_count>2</item_count>
        <item_quantity>2.000</item_quantity>
        <!-- остальные сводные показатели -->
      </summary>
      <items>
        <item><item_id>178</item_id><quantity_ordered>1.000</quantity_ordered></item>
      </items>
    </requisition>
  </requisitions>
</root>
```

## Примеры запросов

| Задача | Запрос |
| --- | --- |
| Все основные заявки | `/api/requisition?apikey=MySecret` |
| Заявка с составом | `/api/requisition?apikey=MySecret&id=9&with_items=1` |
| Новые заявки точки продаж | `/api/requisition?apikey=MySecret&warehouse_id=4&status=NEW` |
| Заявки точки по её коду в 1С за период | `/api/requisition?apikey=MySecret&ext_warehouse_id=WH-4&datefrom=20260701&dateto=20260731` |

## Ошибки

Ошибка авторизации и общие ошибки описаны в статье [Общие сведения](https://wiki.virtualpos.ru/hc/api/overview).

| Сообщение | Причина | Что делать |
| --- | --- | --- |
| Incorrect date format '…'. Valid format is: YYYYMMDD | Дата не в формате `ГГГГММДД` | Передайте дату как `20260701` |

Если по условиям ничего не найдено (в том числе при неизвестном статусе), метод возвращает успешный ответ с `count` равным `0` и пустым списком `requisitions`.

## Связанные разделы

- [Общие сведения](https://wiki.virtualpos.ru/hc/api/overview) — Ключ доступа, вызов методов, форматы ответов и ошибки
- [Заявки на пополнение запасов](https://wiki.virtualpos.ru/hc/purchase/requisition) — Работа с заявками в панели управления
- [Warehouse. Точки продаж](https://wiki.virtualpos.ru/hc/api/warehouse) — Справочник точек продаж
