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

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

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

Глубина запроса по умолчанию - последние 30 дней. Для изменения глубины необходимо использовать параметр days.

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

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

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

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

  • apikey - Секретный ключ для доступа к данным. Обязательный параметр.
  • format (get only) - формат, в котором сервер отдаст данные. Может принимать значения «xml» или «json». Необязательный параметр.
  • date - получение списаний на определенную дату. Формат: ГГГГММДД. Необязательный параметр.
  • datefrom - получение списаний начиная с определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • dateto - получение списаний начиная до определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • cdatefrom - получение списаний, созданных начиная с определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • cdateto - получение списаний, созданных до определенной даты. Формат: ГГГГММДД. Необязательный параметр.
  • warehouse_id - код магазина. для которого надо вернуть списания. Если не указан, то возвращаются списания для всех магазинов. Необязательный параметр.
  • ext_warehouse_id - код магазина во внешней системе (например, в 1С). Параметр игнорируется, если передан warehouse_id. Необязательный параметр.
  • id - ID документа Списания. Необязательный параметр. Если не указан, возвращаются все документы.
  • external_id - код списания во внешней системе (например, в 1С). Если указан, возвращается только документ с указанным кодом.
  • last_id - Необязательный параметр. Используется для получения новых документов с момента последнего обмена. Если параметр указан, то передаются все более новые списания (с бОльшим ID)
  • days - задает глубину поиска. Определяет, за какое количество дней от текущей даты надо вернуть документы списаний. Необязательный параметр.
  • withitems - принимает значение «1» или «0». Если «1», то возвращает строки списания, иначе только «шапки» списаний.

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

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<success>1</success>
	<type>writeoff</type>
	<days_limit>30</days_limit>
	<count>2</count>
	<writeoffs>
		<writeoff>
			<id>3</id>
			<external_id/>
			<warehouse_id>1</warehouse_id>
			<docnum>111</docnum>
			<docdate>2017-06-15 00:00:00</docdate>
			<amount/>
			<status>draft</status>
			<status_name>Черновик</status_name>
			<comment/>
			<warehouse_external_id/>
			<type>G</type>
			<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
			<created_date>2017-06-15 04:45:58</created_date>
			<created_by/>
			<last_update_date>2017-06-15 04:45:58</last_update_date>
			<last_update_by/>
			<items/>
		</writeoff>
		<writeoff>
			<id>1</id>
			<external_id/>
			<warehouse_id>1</warehouse_id>
			<docnum>777</docnum>
			<docdate>2017-06-15 00:00:00</docdate>
			<amount/>
			<status>draft</status>
			<type>G</type>
			<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
			<status_name>Черновик</status_name>
			<comment/>
			<warehouse_external_id/>
			<created_date>2017-06-15 03:55:16</created_date>
			<created_by/>
			<last_update_date>2017-06-15 03:55:16</last_update_date>
			<last_update_by/>
			<items>
				<item>
					<line_id>1</line_id>
					<item_id>1</item_id>
					<item_ext_id/>
					<item_name>Оливки черные Acorsa без косточки 350 г жест. банка</item_name>
					<quantity>10</quantity>
					<barcode>234234241</barcode>
					<price/>
					<amount/>
					<manuf_date/>
					<expir_date/>
					<lot_number/>
					<guid>803ad8b6-688c-11e7-849d-74d435ee6043</guid>
				</item>
			</items>
		</writeoff>
	</writeoffs>
</root>

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

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

  • id - ID документа списания
  • warehouse_id - ID магазина, на который оформлено списание
  • docdate - дата документа поступления
  • docnum - номер документа списания
  • warehouse_external_id - код Магазина во внешней системе учета (например, в 1С)
  • type - тип списания (G - списание товаров, M - списание материальных ценностей)
  • guid - GUID списания
  • amount - сумма списания
  • status - статус документа списания (accept – принят, drаft – черновик)
  • created_date - дата создания документа списания (может не совпадать с датой документа Списания)
  • created_by - ID пользователя, создавшего списание
  • last_update_date - дата и время последнего изменения в списании
  • last_update_by - ID пользователя, сделавшего последние изменения
  • external_id - код Списания во внешней системе (например, в 1С). Значение параметра уникально.

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

  • line_id - сквозной ID строки в транзакциях списаний
  • item_id - ID товарной позиции по номенклатурному справочнику
  • item_ext_id - идентификатор товара во внешней системе
  • item_name - наименование позиции
  • quantity - количество
  • quantity_expected - ожидаемое количество
  • barcode - штрих-код по накладной поступления
  • price - цена поступления
  • amount - сумма по строке
  • manuf_date - дата изготовления
  • expir_date - годен до
  • lot_number - характеристика (серия, партия и пр) позиции в накладной поступления
  • guid - GUID строки

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

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

http://mycompany.virtpos.ru/api/writeoff/update/?apikey=MySecret&format=xml&id=1&comment=NewComment

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

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

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

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

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

Также возвращается id записи, которая была обновлена или добавлена.

  • Флаг isnew равен «1», если запись была создана, и «0» если обновлена.

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

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

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

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

http://mycompany.virtpos.ru/api/writeoff/delete/?apikey=MySecret&format=xml&id=1

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

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

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

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

В ответ получаем 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/writeoff/updateItems/?apikey=MySecret&format=xml&id=1&quantity=2

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

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

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

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

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

Также возвращается id записи, которая была обновлена или добавлена.

  • Флаг isnew равен «1», если запись была создана, и «0» если обновлена.

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

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

Пример запроса на удаление данных строки товарной позиции в Списании

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

http://mycompany.virtpos.ru/api/writeoff/deleteItems/?apikey=MySecret&format=xml&id=1

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

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

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

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

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

Также возвращается id записи, которая была удалена.

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

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