====== 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
1
supplier
2
1
Мой поставщик
Юридическое название
1234567890123
111
Адрес
3252355236443
test@test.com
http://test.com
2015-01-27 14:36:36
1
2017-05-25 20:26:22
2
1
Код контрагента
123456
1234567890
123456
123456
123456789
Статус
Факт. адрес
212
Внешний поставщик
2
Поставщик алкоголя
2016-09-14 17:12:19
2
2016-09-14 17:12:19
2
1
Внешний поставщик
==== Структура ответа сервера ====
* **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" если обновлена.
==== Пример ответа сервера ====
1
11
1