Различия

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

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

Следующая версия
Предыдущая версия
doc:dev:api:cashflow [09.09.2016 16:51]
rlysov создано
doc:dev:api:cashflow [02.06.2018 10:42] (текущий)
Строка 1: Строка 1:
-====== API :: CashFlow. ​Получение данных движении денежных средств на кассе ======+====== API :: CashFlow. ​Движение денежных средств на кассе ======
  
-В системе реализован программный интерфейс для получения и обновления данных ​о розничных ​ценах на товары. Данные выгружаются по http протоколу. Формат на выбор - xml или json.+В системе реализован программный интерфейс для получения данных ​движении денежных ​средств ​на кассовом рабочем месте. Данные выгружаются по http протоколу. Формат на выбор - xml или json.
  
 +Пользовательский интерфейс для просмотра движения денег на кассе доступен в административной панели,​ меню **Кассовые места** -> **Рабочее кассовое место** -> **Движение денежных средств**
  
-===== Получение ​данных о ценах ​=====+===== Типы денежных ​операций ===== 
 +Доступны данные о следующих типах операций:​ 
 +  * **sale** - поступление ​наличных ​денег ​от продажа товара 
 +  * **return** - выплата за возврат товара на кассе 
 +  * **collection** - инкассация 
 +  * **outcome** - выплата наличных денег из кассы 
 +  * **income** - внесение наличных денег в кассу 
 +  * **to_strongbox** - перемещение в главную кассу 
 +  * **from_strongbox** - перемещение из главной кассы
  
-Получение розничных цен из определенного прайслиста 
  
- http://mycompany.virtpos.ru/api/pricelist?​apikey=MySecret&​format=xml&​external_id=ex1+===== Параметры запроса на получение данных ===== 
 +Параметры запроса данных (все параметры передаются как get-параметры):​  
 +  * int **terminalid** - ID кассы. Если не указан,​ то будут отданы данные по всем кассам 
 +  * int  **warehouseid** - ID точки продаж (магазина),​ данные о которой надо получить. Будут отданы данные обо всех кассах этого магазина. Параметр игнорируется,​ если указан terminalid 
 +  * string **warehouseextid** - ID точки продаж во внешней системе (например,​ в 1С). Параметр игнорируется,​ если указан terminalid или warehouseid 
 +  * string **type** - типы операций,​ которые надо вернуть. Полный перечень типов указан выше. Если необходимо вернуть данные о нескольких типах сразу, то можно указать их  через запятую. Пример: //income,​outcome,​collection// 
 +  * int **lastid** - если указан,​ то возвращаются все денежные транзакции,​ которые были после указанного lastId. Используется для получения только новых данных с момента последнего обращения 
 +  * int **limit** - возвращает не более указанного количества записей. По умолчанию установлен лимит 100 записей 
 +  * int **days** - возвращает данные за последние количество дней. ​
  
-Параметры: ​ 
-  * int  **id** - внутренний ID прайслиста 
-  * string **external_id** - ID прайслиста во внешней системе (например,​ 1С) 
-  * int **item_id** -внутренний ID товара. Если не указан,​ то будут возвращены все товары 
-  * string **item_ext_id** - ID товара во внешней системе (например,​ 1С) 
  
 +===== Пример запроса на получение данных =====
  
-===== Создание/обновление ​прайслиста ===== +Пример ​запроса на получение ​данных о движении денежных средств на всех кассах за последние два дня:
- http://​mycompany.virtpos.ru/​api/​pricelist/​update?​apikey=MySecret&​format=xml+
  
-Создает или обновляет шапку прайслиста.+ ​http://​mycompany.virtpos.ru/​api/​cashFlow?​apikey=MySecret&​days=2&​type=income,​outcome
  
-Параметры:​ 
-  * id - ID прайслиста 
-  * external_id - ID прайслиста во внешней системе (например,​ 1С) 
-  * create_if_not_exist - если "​1",​ то запись будет создана при неуспешном поиске 
-  * name - название прайслиста 
-  * description - описание прайслиста 
  
-===== Назначение прайслиста в магазин ​===== +===== Пример ответа ===== 
- http://mycompany.virtpos.ru/api/pricelist/assign?​apikey=MySecret&​format=xml+<file xml> 
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
 +<​root>​ 
 + <​success>​1</​success>​ 
 + <​type>​cashflow</​type>​ 
 + <​count>​3</​count>​ 
 + <​transactions>​ 
 + <​transaction>​ 
 + <​id>​375</​id>​ 
 + <​user_id>​3</​user_id>​ 
 + <​user_login>​ivanov</​user_login>​ 
 + <​user_corp_code>​CBX-0000</​user_corp_code>​ 
 + <​created_date>​2016-09-07 19:42:42</created_date>​ 
 + <​last_update_date>​2016-09-07 19:​42:​42<​/last_update_date>​ 
 + <​src_terminal_id>​13</​src_terminal_id>​ 
 + <​dst_terminal_id/>​ 
 + <​src_machine_number>​0515309</​src_machine_number>​ 
 + <​dst_machine_number/>​ 
 + <​src_warehouse_id>​6</​src_warehouse_id>​ 
 + <​dst_warehouse_id/>​ 
 + <​src_warehouse_ext_id/>​ 
 + <​dst_warehouse_ext_id/>​ 
 + <​type>​sale</​type>​ 
 + <​subtype/>​ 
 + <​cash_before>​437.00</​cash_before>​ 
 + <​cash_after>​759.50</cash_after>​ 
 + <​cash_change>​322.50<​/cash_change>​ 
 + <​comment/
 + <​receipt_id>​363</​receipt_id>​ 
 + <​guid>​803ad8b6-688c-11e7-849d-74d435ee6043</​guid>​ 
 + <​src_terminal_open_datetime/>​ 
 + <​dst_terminal_open_datetime>​2017-07-19 13:​56:​52</​dst_terminal_open_datetime>​ 
 + <​src_terminal_session/>​ 
 + <​dst_terminal_session>​0</​dst_terminal_session>​ 
 + </​transaction>​ 
 +</​root>​ 
 +</​file>​
  
-  * int **id** - внутренний ID прайслиста +===== Формат ответа ​=====
-  * string **external_id** - ID прайслиста во внешней системе +
-  * int **warehouse_id** - внутренний ID магазина  +
-  * string **warehouse_ext_id** - ID магазина во внешней системе +
-  * boolean **main** - признак "​Основной прайслист"​ (не используется)+
  
-===== Обновление розничной ​цены на товар в прайслисте ​===== +  * **id** - уникальный ​номер операции 
- http://​mycompany.virtpos.ru/​api/​pricelist/​updateItem?​apikey=MySecret&​format=xml +  * **user_id** - ID пользователя, совершившего операцию 
- +  * **user_login** - Логин пользователя,​ совершившего операцию 
-Обновляет ​цену товара ​в прайслисте +  * **user_corp_code** - Корпоративный код пользователя,​ совершившего операцию 
- +  * **created_date** - Дата создания операции 
-Параметры: +  * **last_update_date** - Дата обновления этой записи. Должна совпадать с created_date 
-  * int **id** - ID прайслиста +  * **src_terminal_id** - Уникальный идентификатор кассового рабочего места, откуда осуществлялось изъятие денег 
-  * string ​**external_id** - внешний ​ID прайслиста +  * **dst_terminal_id** - Уникальный идентификатор кассового рабочего места, в которую осуществлено ​поступление денег 
-  * int **item_id** - ID товара +  * **src_machine_number** - Регистрационный номер кассы, откуда осуществлялось изъятие денег 
-  * string ​**item_ext_id** - внешний ID товара +  * **dst_machine_number** - Регистрационный номер кассы, в которую осуществлено поступление денег 
-  * float **price** - новая цена товара+  * **src_warehouse_id** - Уникальный идентификатор точки продаж,​ откуда осуществлялось изъятие денег  
 +  * **dst_warehouse_id** - Уникальный идентификатор точки продаж,​ в которую осуществлено поступление денег 
 +  * **src_warehouse_ext_id** - аналог src_warehouse_id,​ но хранит код точки продаж ​во внешней системе  
 +  * **dst_warehouse_ext_id** - аналог dst_warehouse_id,​ но хранит код точки ​продаж во внешней системе  
 +  * **type** - тип операции 
 +  * **subtype** - подтип операции. Возможные значения зависят от настроек системы 
 +  * **cash_before** - сумма наличных денег в кассе до операции 
 +  * **cash_after** - сумма наличных денег в кассе после операции 
 +  * **cash_change** - сальдо операции 
 +  * **comment** - комментарий, который оставил продавец при осуществлении операции 
 +  * **receipt_id** - ID чека. Заполняется для типов операций "продажа" и "​возврат"​ 
 +  * **guid** - GUID операции 
 +  * **src_terminal_open_datetime** - дата открытия смены на кассе, откуда осуществлялось изъятие денег 
 +  * **dst_terminal_open_datetime** - дата открытия смены на кассе, в которую осуществлено поступление денег 
 +  * **src_terminal_session** - номер смены на кассе, откуда ​осуществлялось изъятие денег 
 +  * **dst_terminal_session** - номер смены на кассе, в которую осуществлено поступление денег