Перейти к содержаниюСправка

Movegood. Перемещения

Метод возвращает документы «Перемещение» — передачу товара между точками продаж — вместе со строками. Документы можно только читать: создание и изменение через API не поддерживаются.

Как получить ключ, как формируются запросы и какие бывают ответы и ошибки — в статье Общие сведения. Здесь описаны только особенности метода movegood.

Запрос

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

GET https://[компания].myvirtualpos.ru/api/movegood?apikey=MySecret&days=60&warehouse_id=2&withitems=1

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

id Число. Ид документа. Если указан, ищется только этот документ
last_id Число. Вернуть документы с ид больше указанного: для получения новых документов с прошлого обмена. Действует, если не указан id
warehouse_id Число. Ид точки продаж. Возвращаются документы, где она отправитель или получатель. Если не указан, возвращаются документы всех точек
ext_warehouse_id Строка. Код точки продаж во внешней системе. Действует, если не указан warehouse_id. Если точки с таким кодом нет, возвращается пустой список
cdate Дата ГГГГММДД. Документы, созданные в этот день
cdatefrom, cdateto Дата ГГГГММДД. Документы, созданные с указанной даты и по указанную включительно
last_update_date Дата ГГГГММДД. Документы, изменённые начиная с этой даты. Если указан, ограничение days не применяется
days Число. Глубина поиска в днях от текущей даты по дате создания. По умолчанию 30
withitems 1 — добавить строки документов. По умолчанию возвращаются только шапки
withattributes 1 — добавить значения гибких полей документа (attribute1…attribute15)
format json (по умолчанию) или xml

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

Ограничение days действует почти всегда. Если не указан last_update_date, отбираются только документы, созданные за последние 30 дней (или за days). Это относится и к запросам с id, last_id и датами cdate, cdatefrom, cdateto: чтобы получить старые документы, добавьте days с достаточным значением. Значение в ответе days_limit показывает выбранную глубину, даже если при заданном last_update_date она не применялась.

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

Статусы документа

Значение Название Что означает
draft Черновик Документ наполняется
send В пути Товар отправлен и списан с точки-отправителя
accept Принят Товар принят на точке-получателе

Кроме этих, в данных могут встречаться значения cansel, deny и return (отмена и возврат перемещения). В поле status_name приходит название статуса на русском.

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

success 1 — данные получены
type Тип данных, всегда movegood
days_limit Число дней глубины поиска: 30 по умолчанию или значение days
count Количество документов в ответе
movegoods Список документов. Каждый обёрнут в объект movegood

Поля документа

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

id Число. Ид документа
status Строка. Код статуса, см. раздел «Статусы документа»
status_name Строка. Название статуса
comment Строка. Комментарий
amount Число. Сумма перемещения по строкам
src_warehouse_id Число. Ид точки-отправителя
src_warehouse_ext_id Строка. Код отправителя во внешней системе
dst_warehouse_id Число. Ид точки-получателя
dst_warehouse_ext_id Строка. Код получателя во внешней системе
created_date, last_update_date Строка. Дата и время создания и последнего изменения, формат гггг-мм-дд чч:мм:сс
created_by, last_update_by Число. Ид пользователя, создавшего и изменившего документ
attribute1 … attribute15 Строка. Значения гибких полей документа (только при withattributes=1)
items Список строк; при withitems=0 пустой. Каждая строка обёрнута в объект item

Поля строки

line_id Число. Ид строки
item_id Число. Ид товара
item_ext_id Строка. Код товара во внешней системе
item_name Строка. Название товара
quantity Строка. Количество
barcode Строка. Штрихкод по накладной
price Строка. Себестоимость единицы
amount Число. Сумма по строке (себестоимость на количество, округлена до копеек)
lot_number Строка. Серия (партия)
manuf_date, expir_date Строка. Дата изготовления и срок годности

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

{
  "success": 1,
  "type": "movegood",
  "days_limit": 30,
  "count": 1,
  "movegoods": [
    {
      "movegood": {
        "id": 91755,
        "src_warehouse_id": 10,
        "src_warehouse_ext_id": "WH-10",
        "dst_warehouse_id": 2,
        "dst_warehouse_ext_id": "WH-2",
        "amount": 1250.5,
        "status": "send",
        "status_name": "В пути",
        "comment": "Пополнение запаса",
        "created_date": "2026-09-02 08:00:22",
        "created_by": 151,
        "last_update_date": "2026-09-02 09:11:03",
        "last_update_by": 151,
        "items": [
          {
            "item": {
              "line_id": 1301,
              "item_id": 431,
              "item_ext_id": "ITEM-431",
              "item_name": "Открытка с шоколадом",
              "quantity": "10.000",
              "barcode": null,
              "price": "125.0500",
              "amount": 1250.5,
              "manuf_date": null,
              "expir_date": null,
              "lot_number": null
            }
          }
        ]
      }
    }
  ]
}

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

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <success>1</success>
  <type>movegood</type>
  <days_limit>30</days_limit>
  <count>1</count>
  <movegoods>
    <movegood>
      <id>91755</id>
      <src_warehouse_id>10</src_warehouse_id>
      <status>send</status>
      <!-- остальные поля шапки -->
      <items>
        <item>
          <line_id>1301</line_id>
          <item_id>431</item_id>
          <quantity>10.000</quantity>
          <!-- остальные поля строки -->
        </item>
      </items>
    </movegood>
  </movegoods>
</root>

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

Задача Запрос
Перемещения за последние 30 дней (шапки) /api/movegood?apikey=MySecret
Перемещения точки за квартал со строками /api/movegood?apikey=MySecret&days=90&warehouse_id=2&withitems=1
Один документ по ид /api/movegood?apikey=MySecret&id=91755&days=3650&withitems=1
Новые документы после последнего полученного /api/movegood?apikey=MySecret&last_id=91750&days=90
Перемещения за конкретный день /api/movegood?apikey=MySecret&cdate=20260902&days=90
Документы, изменённые с указанной даты /api/movegood?apikey=MySecret&last_update_date=20260901
Перемещения точки по её коду в 1С /api/movegood?apikey=MySecret&ext_warehouse_id=WH-2&days=90

Ошибки

Ошибка авторизации и общие ошибки описаны в статье Общие сведения.

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

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

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