Перейти к содержаниюСправка

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
doc:dev:api:writeoff [28.06.2017 12:10] – doc:dev:api:writeoff [26.09.2026 14:03] (текущий) – внешнее изменение
Строка 1: Строка 1:
-====== API :: Writeoff. Получение/изменение документов Списания ======+====== Writeoff. Списания ======
  
-В системе реализован программный интерфейс для получения, добавления, изменения и удаления данных о документах "Списание". Данные выгружаются по HTTP протоколу. Формат на выбор - XML или JSON.+Статья перенесена: [[hc:api:writeoff]]
  
-===== Пример запроса на получение данных ===== 
- 
-Глубина запроса по умолчанию - последние 30 дней. Для изменения глубины необходимо использовать параметр **days**. 
- 
-Пример запроса на получение данных о документах "Списание": 
- 
- http://mycompany.virtpos.ru/api/writeoff?apikey=MySecret&format=xml 
- 
-==== Параметры запроса на получение данных ==== 
- 
-  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. 
- 
-  * **format** - формат, в котором сервер отдаст данные. Может принимать значения "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 
- 
-<file 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> 
- <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> 
- <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/> 
- </item> 
- </items> 
- </writeoff> 
- </writeoffs> 
-</root> 
-</file> 
- 
- 
-==== Структура ответа сервера ==== 
- 
-**Шапка документа** 
- 
-  * **id** - ID документа списания 
- 
-  * **warehouse_id** - ID магазина, на который оформлено списание 
- 
-  * **docdate** - дата документа поступления 
- 
-  * **docnum** - номер документа списания 
- 
-  * **warehouse_external_id** - код Магазина во внешней системе учета (например, в 1С) 
- 
-  * **type** - тип списания (G - списание товаров, M - списание материальных ценностей) 
- 
-  * **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** - характеристика (серия, партия и пр) позиции в накладной поступления 
- 
- 
- 
-===== Пример запроса на добавление/изменение данных Списания ===== 
- 
-Пример запроса на обновление данных о списании: 
- 
- http://mycompany.virtpos.ru/api/writeoff/update/?apikey=MySecret&format=xml&id=1&comment=NewComment 
- 
-==== Параметры запроса ==== 
- 
-  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. 
- 
-  * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. 
- 
-  * **id** - идентификатор списания, данные которого нужно обновить 
- 
-  * **external_id** - код списания во внешней системе учета (например, в 1С) 
- 
-  * **create_if_not_exist** - Если истина, то при неудачном поиске cписание будет добавлено в систему. 
- 
-  * **warehouse_external_id** - код Магазина во внешней системе. Необязательный параметр; если указан, то будет осуществлен поиск Магазина по указанному коду и добавление ссылки на него в документ Списания. 
- 
- 
-  * Также в качестве параметров могут быть переданы все поля для поступления 
- 
- 
-==== Ответ сервера ==== 
- 
-В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. 
- 
-Также возвращается id записи, которая была обновлена или добавлена.  
- 
-  * Флаг **isnew** равен "1", если запись была создана, и "0" если обновлена. 
- 
- 
- 
-==== Пример ответа сервера ==== 
-<file xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<root> 
- <success>1</success> 
- <id>1</id> 
- <isnew>0</isnew> 
-</root> 
-</file> 
- 
-===== Пример запроса на удаление данных Списания ===== 
- 
-Пример запроса на удаление списания: 
- 
- http://mycompany.virtpos.ru/api/writeoff/delete/?apikey=MySecret&format=xml&id=1 
- 
-==== Параметры запроса ==== 
- 
-  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. 
- 
-  * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. 
- 
-  * **id** - идентификатор списания, которое будет удалено 
- 
-  * **external_id** - код списания во внешней системе учета (например, в 1С) 
- 
- 
-==== Ответ сервера ==== 
- 
-В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. 
- 
-Также возвращается id записи, которая была удалена.  
- 
- 
- 
-==== Пример ответа сервера ==== 
-<file xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<root> 
-   <success>1</success> 
-   <id>1</id> 
-</root> 
-</file> 
- 
- 
- 
-===== Пример запроса на добавление/изменение данных строки товарной позиции Списания ===== 
- 
-Пример запроса на обновление данных о товарной позиции в списании: 
- 
- http://mycompany.virtpos.ru/api/writeoff/updateItems/?apikey=MySecret&format=xml&id=1&quantity=2 
- 
-==== Параметры запроса ==== 
- 
-  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. 
- 
-  * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. 
- 
-  * **id** - идентификатор товарной строки в поступлении, данные которой нужно обновить 
- 
-  * **create_if_not_exist** - Если истина, то при неудачном поиске товарная строка будет добавлена в систему. 
- 
-  * Также в качестве параметров могут быть переданы все поля для строки товарной позиции в списании 
- 
- 
-==== Ответ сервера ==== 
- 
-В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. 
- 
-Также возвращается id записи, которая была обновлена или добавлена.  
- 
-  * Флаг **isnew** равен "1", если запись была создана, и "0" если обновлена. 
- 
- 
- 
-==== Пример ответа сервера ==== 
-<file xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<root> 
- <success>1</success> 
- <id>1</id> 
- <isnew>0</isnew> 
-</root> 
-</file> 
- 
-===== Пример запроса на удаление данных строки товарной позиции в Списании ===== 
- 
-Пример запроса на удаление товарной строки из документа списания: 
- 
- http://mycompany.virtpos.ru/api/writeoff/deleteItems/?apikey=MySecret&format=xml&id=1 
- 
-==== Параметры запроса ==== 
- 
-  * **apikey** - Секретный ключ для доступа к данным. Обязательный параметр. 
- 
-  * **format** - формат, в котором сервер отдаст данные. Может принимать значения "xml" или "json". Необязательный параметр. 
- 
-  * **id** - идентификатор строки товарной позиции Списания, которая будет удалена 
- 
- 
-==== Ответ сервера ==== 
- 
-В ответ получаем XML или JSON. В ответе обязательно присутствует поле success. Если success=1, то операция выполнена успешно. Если success=0, то произошла ошибка. Дополнительная информация об ошибке содержится в поле info. 
- 
-Также возвращается id записи, которая была удалена.  
- 
- 
- 
-==== Пример ответа сервера ==== 
-<file xml> 
-<?xml version="1.0" encoding="UTF-8"?> 
-<root> 
-   <success>1</success> 
-   <id>1</id> 
-</root> 
-</file>