API :: Supplier. Получение/изменение данных о поставщиках

В системе реализован программный интерфейс для получения, добавления и изменения данных о поставщиках. Данные выгружаются по HTTP протоколу. Формат на выбор - XML или JSON.

Пример запроса на получение данных

Пример запроса на получение данных о поставщиках:

http://mycompany.virtpos.ru/api/supplier?apikey=MySecret&format=xml

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

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id - идентификатор поставщика, для которого надо вернуть данные. Если не указан, то возвращаются данные обо всех поставщиках.
  • external_id - код поставщика во внешней системе учета (например, в 1С). Если не указан, то возвращаются данные обо всех поставщиках.
  • type_id - идентификатор типа поставщика. Необязательное поле. Если указан, возвращаются поставщики только этого типа.

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info

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

Ниже приведен пример ответа сервера в формате XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<success>1</success>
	<type>supplier</type>
	<count>2</count>
	<suppliers>
		<supplier>
			<id>1</id>
			<name>Мой поставщик</name>
			<legal_name>Юридическое название</legal_name>
			<inn>1234567890123</inn>
			<kpp>111</kpp>
			<address>Адрес</address>
			<phone>3252355236443</phone>
			<email>test@test.com</email>
			<www>http://test.com</www>
			<created_date>2015-01-27 14:36:36</created_date>
			<created_by>1</created_by>
			<last_update_date>2017-05-25 20:26:22</last_update_date>
			<last_update_by>2</last_update_by>
			<attribute1/>
			<attribute2/>
			<attribute3/>
			<attribute4/>
			<attribute5/>
			<attribute6/>
			<attribute7/>
			<attribute8/>
			<attribute9/>
			<attribute10/>
			<attribute11/>
			<attribute12/>
			<attribute13/>
			<attribute14/>
			<attribute15/>
			<type_id>1</type_id>
			<code>Код контрагента</code>
			<OKPO>123456</OKPO>
			<OKONH>1234567890</OKONH>
			<corraccount>123456</corraccount>
			<bankaccount>123456</bankaccount>
			<BIK>123456789</BIK>
			<status>Статус</status>
			<delivaddress>Факт. адрес</delivaddress>
			<external_id>212</external_id>
			<type_name>Внешний поставщик</type_name>
		</supplier>
		<supplier>
			<id>2</id>
			<name>Поставщик алкоголя</name>
			<legal_name/>
			<inn/>
			<kpp/>
			<address/>
			<phone/>
			<email/>
			<www/>
			<created_date>2016-09-14 17:12:19</created_date>
			<created_by>2</created_by>
			<last_update_date>2016-09-14 17:12:19</last_update_date>
			<last_update_by>2</last_update_by>
			<attribute1/>
			<attribute2/>
			<attribute3/>
			<attribute4/>
			<attribute5/>
			<attribute6/>
			<attribute7/>
			<attribute8/>
			<attribute9/>
			<attribute10/>
			<attribute11/>
			<attribute12/>
			<attribute13/>
			<attribute14/>
			<attribute15/>
			<type_id>1</type_id>
			<code/>
			<OKPO/>
			<OKONH/>
			<corraccount/>
			<bankaccount/>
			<BIK/>
			<status/>
			<delivaddress/>
			<external_id/>
			<type_name>Внешний поставщик</type_name>
		</supplier>
	</suppliers>
</root>

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

  • id – ID поставщика - int NOT NULL, первичный ключ
  • name - Название - varchar(255) NOT NULL, обязательно
  • legal_name - Юридическое название - varchar(255) DEFAULT NULL
  • inn - ИНН - varchar(255) DEFAULT NULL
  • kpp - КПП - varchar(255) DEFAULT NULL
  • address - Адрес - varchar(255) DEFAULT NULL
  • phone - Телефон - varchar(255) DEFAULT NULL
  • email - Адрес электронной почты - varchar(255) DEFAULT NULL, валидный e-mail адрес
  • www - WWW - varchar(255) DEFAULT NULL, валидный URL
  • type_id - Тип контрагента (1 - Внешний поставщик, 2 - Внутренний поставщик, 3 - Банк) - int NOT NULL DEFAULT '1'
  • type_name - наименование типа контрагента - varchar(255) DEFAULT NULL
  • code - Код контрагента - varchar(255) DEFAULT NULL
  • OKPO - ОКПО - varchar(30) DEFAULT NULL
  • OKONH - ОКОНХ - varchar(255) DEFAULT NULL
  • bank_name - Наименование банка, обслуживающего организацию - varchar(255) DEFAULT NULL
  • corraccount - Номер счета банка, обслуживающего организацию - varchar(255) DEFAULT NULL
  • bankaccount - Номер счета организации в банке, обслуживающем организацию - varchar(255) DEFAULT NULL
  • BIK - БИК - char(9) DEFAULT NULL, 9 символов ровно
  • status - Статус - varchar(255) DEFAULT NULL
  • delivaddress - Факт. адрес - varchar(255) DEFAULT NULL
  • external_id - Идентификатор во внешней системе - varchar(255) DEFAULT NULL
  • created_date - Дата создания - datetime DEFAULT NULL
  • created_by - Кем создано - int DEFAULT NULL
  • last_update_date - Дата изменения - datetime DEFAULT NULL
  • last_update_by - Кем изменено - int DEFAULT NULL

Пример запроса на добавление/изменение данных

Пример запроса на получение данных о поставщике:

http://mycompany.virtpos.ru/api/supplier/update?apikey=MySecret&create_if_not_exist=0&external_id=777

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

Параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • id (get only) - идентификатор поставщика, данные которого надо обновить
  • external_id (get only) - код поставщика во внешней системе учета (например, в 1С)
  • create_if_not_exist (get only) - Если истина, то при неудачном поиске поставщик будет добавлен в систему.
  • Также в качестве параметров могут быть переданы все поля для поставщика (name, address, phone и т.д.)

Ответ сервера

В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.

Также возвращается id записи, которая была обновлена или добавлена. Флаг isnew равен «1», если запись была создана, и «0» если обновлена.

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

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<success>1</success>
	<id>11</id>
	<isnew>1</isnew>
</root>