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

Supplier. Поставщики

Методы для работы со справочником контрагентов (поставщиков, покупателей, банков): получение списка с фильтрами, создание и изменение записей.

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

Методы

Метод Адрес Что делает
Получить поставщиков /api/supplier Возвращает одного или всех поставщиков
Создать или изменить /api/supplier/update Обновляет поставщика или создаёт нового

Удаления поставщиков через API нет.

Где передавать параметры. Ключ apikey и формат format принимаются и в адресной строке, и в теле POST-запроса. Параметры id, external_id и create_if_not_exist в методе update читаются только из адресной строки (GET). Остальные параметры можно передавать и в адресной строке, и в теле POST. Значения с кириллицей и пробелами кодируйте.

Получение поставщиков

GET https://[компания].myvirtualpos.ru/api/supplier?apikey=MySecret&type_id=2

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

id Число. Ид поставщика
external_id Строка. Код поставщика во внешней системе (например, в 1С)
type_id Число. Ид типа: вернутся только поставщики этого типа
format json (по умолчанию) или xml

Условия объединяются по «и». Без параметров возвращаются все поставщики одним ответом; постраничной выдачи нет.

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

success 1 — данные получены
type Тип данных, всегда supplier
count Количество поставщиков в ответе
suppliers Список поставщиков. Каждый обёрнут в объект supplier

Поля поставщика

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

Основное

id Число. Ид поставщика
external_id Строка. Код во внешней системе
name Строка. Название
legal_name Строка. Юридическое название
type_id Число. Ид типа поставщика
type_name Строка. Название типа, например «Внешний поставщик» или «Банк»
status Строка. Статус
code Строка. Код
is_supplier, is_buyer, is_bank, is_individual Число. Признаки роли: 1 — поставщик, покупатель, банк, физическое лицо
created_date, last_update_date Строка. Дата и время создания и последнего изменения
created_by, last_update_by Число. Ид пользователя, создавшего и изменившего запись

Реквизиты и контакты

inn, kpp Строка. ИНН и КПП
OKPO, OKONH Строка. Коды ОКПО и ОКОНХ
address, delivaddress Строка. Юридический адрес и адрес доставки
phone, email, www Строка. Телефон, электронная почта и сайт
chief_first_name, chief_last_name Строка. Имя и фамилия руководителя
corraccount, bankaccount Строка. Корреспондентский и расчётный счета
BIK, bank_name Строка. БИК (9 цифр) и название банка

Настройки

price_coef Строка. Коэффициент поставщика для сводного прайс-листа
pricelist_life_length Число. Срок жизни прайс-листа поставщика в часах
znak_sys_id, znak_branch_id Строка. Идентификаторы в системе маркировки
organisation_id Число. Ид юридического лица, если поставщик — внутренний
customer_id Число. Ид клиента, если поставщик — физическое лицо
attribute1 … attribute15 Строка. Значения гибких полей

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

{
  "success": 1,
  "type": "supplier",
  "count": 1,
  "suppliers": [
    {
      "supplier": {
        "id": 151,
        "name": "Мой поставщик",
        "legal_name": "ООО «Мой поставщик»",
        "inn": "7700000000",
        "kpp": "770001001",
        "address": null,
        "phone": "+7 900 000-00-01",
        "email": "info@example.com",
        "www": null,
        "created_date": "2026-09-26 10:45:53",
        "created_by": null,
        "last_update_date": "2026-09-26 10:45:54",
        "last_update_by": null,
        "type_id": 2,
        "code": null,
        "OKPO": null,
        "OKONH": null,
        "corraccount": null,
        "bankaccount": null,
        "BIK": null,
        "bank_name": null,
        "status": null,
        "delivaddress": null,
        "external_id": "S-151",
        "price_coef": "1.200",
        "pricelist_life_length": 0,
        "znak_sys_id": null,
        "znak_branch_id": null,
        "chief_first_name": "Иван",
        "chief_last_name": null,
        "is_supplier": 1,
        "is_bank": 0,
        "is_buyer": 0,
        "is_individual": 0,
        "organisation_id": null,
        "customer_id": null,
        "type_name": "Внешний поставщик"
      }
    }
  ]
}

В примере опущены пустые гибкие поля attribute1…attribute15. Тот же ответ при format=xml (сокращённо):

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <success>1</success>
  <type>supplier</type>
  <count>1</count>
  <suppliers>
    <supplier>
      <id>151</id>
      <name>Мой поставщик</name>
      <inn>7700000000</inn>
      <!-- остальные поля поставщика -->
      <type_name>Внешний поставщик</type_name>
    </supplier>
  </suppliers>
</root>

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

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

POST https://[компания].myvirtualpos.ru/api/supplier/update?apikey=MySecret&external_id=S-151&create_if_not_exist=1
name=Мой поставщик&inn=7700000000&kpp=770001001&is_supplier=1

Поставщик ищется по id, а если он не указан — по external_id. Если поставщик не найден, а передан create_if_not_exist=1, создаётся новый. Изменяются только переданные параметры.

Параметры

id Число. Ид изменяемого поставщика. Только GET
external_id Строка. Код поставщика во внешней системе. Если id не указан, по нему ищется поставщик; одновременно это поле поставщика: при создании код сохраняется. Только GET
create_if_not_exist 1 — создать поставщика, если он не найден. Только GET
name Строка. Название. Обязательно при создании
legal_name, inn, kpp, address, delivaddress Строка. Юридическое название, ИНН, КПП, адреса
phone, email, www Строка. Контакты; email должен быть корректным адресом
type_id Число. Ид типа поставщика; тип должен существовать. По умолчанию для нового поставщика — 2 (внешний поставщик)
code, OKPO, OKONH, status Строка. Код, ОКПО, ОКОНХ, статус
corraccount, bankaccount, bank_name Строка. Счета и название банка
BIK Строка, 9 цифр. БИК
chief_first_name, chief_last_name Строка. Имя и фамилия руководителя
is_supplier, is_buyer, is_bank, is_individual 1 или 0. Признаки роли
price_coef Число. Коэффициент поставщика
pricelist_life_length Число. Срок жизни прайс-листа в часах
organisation_id, customer_id Число. Ид юридического лица и клиента, с которыми связан поставщик
attribute1 … attribute15 Значения гибких полей

Ответ

{"success":1,"id":"151","isnew":"1"}
success 1 — поставщик сохранён
id Ид поставщика. При создании приходит строкой, при изменении — числом
isnew «1» — создан, «0» — изменён существующий

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

Задача Запрос
Все поставщики /api/supplier?apikey=MySecret
Поставщик по коду из 1С /api/supplier?apikey=MySecret&external_id=S-151
Только банки /api/supplier?apikey=MySecret&type_id=3
Создать поставщика /api/supplier/update?apikey=MySecret&create_if_not_exist=1&external_id=S-151&name=Supplier&is_supplier=1
Изменить телефон /api/supplier/update?apikey=MySecret&id=151&phone=%2B79000000001

Ошибки

Ошибка авторизации и общие ошибки описаны в статье Общие сведения. Ошибки приходят с кодом HTTP 200 и success равным 0:

Сообщение Причина Что делать
You have to specify [id] or [external_id] to update record Нет id, external_id и create_if_not_exist Передайте идентификатор или create_if_not_exist=1
Record not found Поставщик не найден, а create_if_not_exist не указан Проверьте идентификатор или передайте create_if_not_exist=1
Data validation failed. … Не заполнено название, некорректные email или BIK, нецелые значения там, где нужны целые Исправьте поля, перечисленные в сообщении
Cannot save data. … Ошибка сохранения; например, type_id указывает на несуществующий тип Проверьте ссылки на другие записи

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