Содержание

API :: Inflow. Получение/изменение документов Поступления

В системе реализован программный интерфейс для получения, добавления, изменения и удаления данных о документах «Поступление». Данные выгружаются по 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>    

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

Шапка документа

Содержание документа (зависит от настройки загружаемых полей и гибких полей на товарный остаток)

Данные о корректировке поступления (adjustment):

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

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

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>

Пример запроса для загрузки файла Поступления

Пример запроса для загрузки поступления:

http://mycompany.myvirtualpos.ru/api/inflow/upload?apikey=MySecret&format=xml&encoding=utf8&waybill=123123123&warehouse_id=6&supplier_id=8&unique=false

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

Если параметр не помечен как 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>