В системе реализован программный интерфейс для получения, добавления, изменения и удаления данных о документах «Поступление». Данные выгружаются по HTTP протоколу. Формат на выбор - XML или JSON.
Глубина запроса по умолчанию - последние 30 дней. Для изменения глубины необходимо использовать параметр days.
Пример запроса на получение данных о документах «Поступление»:
http://mycompany.virtpos.ru/api/inflow?apikey=MySecret&format=xml
Все параметры кроме format могут быть переданы как get- или post-параметры. Поле format передается только как get.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info
Ниже приведен пример ответа сервера в формате XML
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <type>inflow</type> <days_limit>30</days_limit> <count>1</count> <inflows> <inlow> <id>12</id> <warehouse_id>1</warehouse_id> <docdate>2016-10-25 00:00:00</docdate> <waybill>118</waybill> <supplier_id>1</supplier_id> <supplier_external_id>212</supplier_external_id> <supplier_name>Мой поставщик</supplier_name> <supplier_inn>1234567890123</supplier_inn> <supplier_kpp>111</supplier_kpp> <supplier_type>1</supplier_type> <warehouse_external_id>111</warehouse_external_id> <amount>4545.00</amount> <status>accept</status> <comment/> <created_date>2016-11-18 15:37:55</created_date> <created_by>4</created_by> <last_update_date>2016-11-18 15:39:16</last_update_date> <last_update_by>4</last_update_by> <external_id>321</external_id> <accept_date/> <factura_invoice_num/> <factura_invoice_date/> <UPD_num/> <UPD_date/> <correction_num/> <guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid> <items> <item> <line_id>100</line_id> <item_id>431</item_id> <item_ext_id/> <item_name>Открытка с шоколадом</item_name> <quantity>68.000</quantity> <quantity_expected>68.000</quantity_expected> <barcode/> <price>65.0000</price> <amount>4420.00</amount> <manuf_date/> <lot_number/> <guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid> </item> <item> <line_id>101</line_id> <item_id>668</item_id> <item_ext_id/> <item_name>Шоколад "Большой набор"</item_name> <quantity>1.000</quantity> <quantity_expected>1.000</quantity_expected> <barcode/> <price>125.0000</price> <amount>125.00</amount> <manuf_date/> <lot_number/> <guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid> </item> </items> </inlow> </inflows> <adjustment> <id>5</id> <title>Корректировка поступления к товарной накладной №1</title> <created_date>2017-07-03 16:18:55</created_date> <items> <line_id>11</line_id> <item_id>5</item_id> <item_ext_id>eacf7608-892c-11e4-ab28-005056a7771f</item_ext_id> <item_name>Аджика по-абхазски SUNFEEL 250 г.</item_name> <quantity>5.000</quantity> <quantity_expected>1.000</quantity_expected> <line_id>12</line_id> <item_id>9</item_id> <item_ext_id>7c3cbdc3-8d0f-11e4-ab28-005056a7771f</item_ext_id> <item_name>Адреналин Раш, 0.5 л. ж/б</item_name> <quantity>2.000</quantity> <quantity_expected>1.000</quantity_expected> </items> </adjustment> </root>
Шапка документа
Содержание документа (зависит от настройки загружаемых полей и гибких полей на товарный остаток)
Пример запроса на обновление данных о поступлении:
http://mycompany.virtpos.ru/api/inflow/update/?apikey=MySecret&format=xml&id=1&comment=NewComment
Если параметр не помечен как «get only», то он может быть передан как get- или как post-параметр.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи, которая была обновлена или добавлена.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> <isnew>0</isnew> </root>
Возможно через http://virtualpos.ru/api/inflow/batchUpdate/?apikey=MySecret&format=xml&id=1&batch=batch
Пример batch:
<?xml version="1.0" encoding="UTF-8"?> <root> <inflows> <inlow> <id>12</id> <warehouse_id>1</warehouse_id> <docdate>2016-10-25 00:00:00</docdate> <waybill>118</waybill> <supplier_id>1</supplier_id> <supplier_external_id>212</supplier_external_id> <supplier_name>Мой поставщик</supplier_name> <supplier_inn>1234567890123</supplier_inn> <supplier_kpp>111</supplier_kpp> <supplier_type>1</supplier_type> <warehouse_external_id>111</warehouse_external_id> <amount>4545.00</amount> <status>accept</status> <comment/> <created_date>2016-11-18 15:37:55</created_date> <created_by>4</created_by> <last_update_date>2016-11-18 15:39:16</last_update_date> <last_update_by>4</last_update_by> <external_id>321</external_id> <accept_date/> <factura_invoice_num/> <factura_invoice_date/> <UPD_num/> <UPD_date/> <correction_num/> <items> <item> <line_id>100</line_id> <item_id>431</item_id> <item_ext_id/> <item_name>Открытка с шоколадом</item_name> <quantity>68.000</quantity> <quantity_expected>68.000</quantity_expected> <barcode/> <price>65.0000</price> <amount>4420.00</amount> <manuf_date/> <lot_number/> </item> <item> <line_id>101</line_id> <item_id>668</item_id> <item_ext_id/> <item_name>Шоколад "Большой набор"</item_name> <quantity>1.000</quantity> <quantity_expected>1.000</quantity_expected> <barcode/> <price>125.0000</price> <amount>125.00</amount> <manuf_date/> <lot_number/> </item> </items> </inlow> </inflows> </root>
Пример запроса на удаление поступления:
http://mycompany.virtpos.ru/api/inflow/delete/?apikey=MySecret&format=xml&id=1
параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи, которая была удалена.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> </root>
Пример запроса на принятие накладной на поступление:
http://mycompany.virtpos.ru/api/inflow/accepting/?apikey=MySecret&format=xml&id=1
параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> </root>
Пример запроса на откат принятия накладной на поступление (накладная откатывается в состояние «Черновик»):
http://mycompany.virtpos.ru/api/inflow/rollback/?apikey=MySecret&format=xml&id=1
параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> </root>
Пример запроса на обновление данных о товарной позиции в поступлении:
http://mycompany.virtpos.ru/api/inflow/updateItems/?apikey=MySecret&format=xml&id=1&quantity=2
параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи, которая была обновлена или добавлена.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> <isnew>0</isnew> </root>
Пример запроса на удаление товарной строки из документа поступления:
http://mycompany.virtpos.ru/api/inflow/deleteItems/?apikey=MySecret&format=xml&id=1
параметры, которые не отмечены как get only, могут быть переданы как get- или как post-параметры.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается id записи, которая была удалена.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <id>1</id> </root>
Пример запроса для загрузки поступления:
Если параметр не помечен как get only, то он может быть передан как get- или как post-параметр.
В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info.
Также возвращается имя временного файла, в который было сохранено загруженное поступление. В дальнейшем из него будет создано поступление в системе.
<?xml version="1.0" encoding="UTF-8"?> <root> <success>1</success> <files> <0>74e474f98c55579e5f0bc72123da2b68.csv</0> </files> </root>