Мобильный помощник. API

Назначение документа

Данный документ описывает API между клиентом мобильного помощника и сервером.

URL вызова методов: https://host/m-shop/api/<method_name>

method_name – имя метода.

Обмен осуществляется в JSON-формате.  База данных, с которой работает мобильный помощник, определяется идентификатором учётной записи account , который передаётся в каждом запросе на сервер.

После регистрации пользователя, клиент в каждом запросе передаёт на сервер набор стандартных параметров. В описании параметров запросов в данной документации описаны только те параметры, которые нужны для каждого конкретного запроса. При этом всегда доступны следующие параметры:

dept_id – UID структурного подразделения, на котором  зарегистрирован ТСД. Он используется в качестве фильтра на набор возвращаемых с сервера данных.

dept_code – Код структурного подразделения, на котором  зарегистрирован ТСД. Это значение указывается при регистрации устройства.

user_id – UID пользователя Домино

staffer_id – UID  сотрудника, который привязан к пользователю.

account – ID учётной записи. Указывается при регистрации устройства

device_uuid – Уникальный идентификатор мобильного устройства

version – Версия клиента

Аутентификация пользователя

Аутентификация пользователя по pin-коду. Возвращает статус аутентификации и дополнительные общие параметры.

Метод:  check_user

Входные параметры запроса

Параметр

Описание

pin

Уникальный пароль для идентификации

dept_code

Код структурного подразделения, на котором зарегистрирован ТСД

dept_id

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

account

ID учетнойзаписи

Возвращаемые данные

Параметр

Описание

dept_id

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

dept_name

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

staffer_id

UID сотрудника, привязанного к пользователю

name

Имя пользователя

prc_ctrl

Контроль цен. True – включен контроль цен, False – выключен контроль цен.

prc_ctrl_mode

Режим контроля цен ‘hard’ – жесткий режим, ‘soft’ – мягкий режим

max_percent

Максимальный допустимый процент отклонения цен, при включенном режиме контроля цен

prefix_wbc

Префикс штрихкода весового товара

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Информация о продукте

Возвращает информацию о товаре по штрихкоду

Метод:  get_product_info.response

Входные параметры запроса

Параметр

Описание

account

ID учетной записи

dept_code

Код структурного подразделения, на котором зарегистрирован ТСД

dept_id

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

barcode

Штрихкод товара

basket

UID корзины. Необязательный параметр. Если передан, то возвращается количество товара в корзине

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

barcode

Штрихкод из входных параметров запроса

name

Наименование  товара

code

Внутренний код товара

product_id

UID товара

ei

Единица измерения товара

pack_qty

Количество товара в упаковке. Необязательный параметр

pack_name

Наименование упаковки

stock

Остаток товара на структурном подразделении

price

Розничная цена товара

basket_qty

Количество товара в корзине

Корзины

Корзины

Получить список корзин

Методget_baskets_list.response

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

staffer_id

UID сотрудника

account

ID учетной записи

dept_id

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

dept_code

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

Входные параметры запроса

Параметр

Описание

code

Код Домино корзины

key

UID корзины

bname

Наименование корзины

staffer_name

Имя сотрудника, к которому привязана корзина

btype

Тип корзины (1=‘Личная’,2= ‘Общая’, 3=‘Коллективная’)

prod_cnt

Количество товаров в корзине (количество строк)

Корзины

Добавить товар в корзину

Добавляет просканированное количество товара в корзину

Методadd_to_basket

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

product

UID товара

basket

UID корзины

qty

Количество товара для добавления

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

basket_qty

Количество товара в корзине

 

Корзины

Изменить количество товара в корзине

Изменяет количество товара в корзине на переданное

Методchange_basket_qty

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

product

UID товара

basket

UID корзины

qty

Количество товара для добавления

account

ID учетнойзаписи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

basket_qty

Количество товара в корзине

Приёмка товара

Приёмка товара

Получить список накладных для приёмки

Возвращает список накладных для приемки. Используется для отображения списка документов в интерфейсе.

Метод:  get_invoice_list

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

staffer_id

UID сотрудника

dept_code

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

dept_id

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

account

ID учетной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

invoices[]

Массив приходных накладных. Для каждой накладной передается информация описанная ниже

state

Одно из следующих значений:

-          ‘Новый’

-          ‘В работе’

-          ‘Обработан’

id

UID накладной

code

Внутренний код накладной. Код Домино

date

Дата накладной в системе

partner

Наименование поставщика

partner_date

Дата накладной поставщика

partner_code

Номер накладной поставщика

Приёмка товара

Получить реквизиты накладной

Возвращает детальную информацию из шапки накладной. Используется для отображения ‘шапки’ накладной в интерфейсе.

Метод: search_invoice

Входные параметры запроса

Параметр

Описание

invoice_id

UID накладной

account

ID учетной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

id

UID накладной

code

Внутренний код накладной. Код Домино

date

Дата накладной в системе

partner

Наименование поставщика

partner_date

Дата накладной поставщика

partner_code

Номер накладной поставщика

sum_doc

Сумма документальная (контрольная) по накладной

vat_doc

Сумма НДС по накладной  

dep

Наименование внутреннего подразделения, где создана накладная

contract

Номер и дата договора. Необязательно.

manager

Ответственный менеджер. Необязательно

 

Приёмка товара

Получить список строк накладной

Возвращает список строк накладной, список штрихкодов связанных с товарами данной накладной и список акцизных марок (если накладная содержит алкогольный товар и включён режим приёма по акцизным маркам).

Метод:  get_invoice_lines.response

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

staffer_id

UID сотрудника

dept_code

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

dept_id

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

account

ID учетной записи

invoice_id

UID накладной

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Секция данных содержащая массив строк накладной. Массив items[]

line_id

UID строки.

p_name

Наименование товара

p_article

Артикул товара

ei

Единица измерения товара

qty_doc

Количество товара документальное.

qty_fact

Количество товара принятое

line_number

Номер строки в накладной поставщика

price

Цена по накладной поставщика

sum_doc

Сумма документальная по накладной

sum_doc_sup

Сумма документальная фактическая, по данным бумажной накладной предоставленной поставщиком

qty_doc_sup

Количество документальное фактическое, по данным бумажной накладной предоставленной поставщиком

alco

True/False – товар является алкогольной продукцией

expiration

True/False – По данному товару требуется обязательный ввод сроков годности

exp_date

Срок годности товара (дата, до которой товар годен)

warning

True/False – признак пометки строки. Требует внимания.

vat_rate

Ставка НДС поставщика.

Секция данных, содержащая данные о штрихкодах товаров из накладной. Словарь barcodes{}. Ключами в словаре являются штрихкоды

line_id

UID строки накладной

bc_qty

Количество в упаковке

bc_name

Наименование упаковки

Секция данных, содержащая данные об акцизных марках. Массив pdf417[]

id

UID строки с акцизной маркой

pfd417_code

Код акцизной марки

id_line_pack

Ссылка на UID строки с данными упаковки

id_line_egais_doc

Ссылка на строку документа прихода ЕГАИС

id_product

UID продукта

 

Приёмка товара

Установить признак начала приёмки по накладной

Устанавливает на накладную состояние ‘В работе’, фиксирует дату и время начала приёмки, записывает в шапку накладной кладовщика начавшего приёмку.

Метод:  start_receipt

Входные параметры запроса

Параметр

Описание

invoice_id

UID накладной

user_id

UID пользователя

staffer_id

UID сотрудника

account

ID учетной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Приёмка товара

Установить признак окончания приёмки по накладной

Устанавливает на накладную состояние ‘Завершён’, фиксирует дату и время завершения приёмки.

Метод:  finish_receipt

Входные параметры запроса

Параметр

Описание

invoice_id

UID накладной

user_id

UID пользователя

staffer_id

UID сотрудника

account

ID учетной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Приёмка товара

Установить/снять со строки признак “Требует внимания”

Метод:  warning_line

Входные параметры запроса

Параметр

Описание

id

UID строки

user_id

UID пользователя

account

ID учетной записи

state

1 – установить признак; 0 – снять признак

reason

Строка со списком причин установки признаки “Требует внимания”

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Приёмка товара

Изменить фактическое количество в строке прихода

Метод:  change_receipt_qty_fact

Входные параметры запроса

Параметр

Описание

line_id

UID строки

user_id

UID пользователя

account

ID учетной записи

append_flag

1 – добавить переданное количество к строке; 0 – изменить количество в строке на переданное

qty

Количество

Возвращаемые данные

Параметр

Описание

new_qty

Количество в строке, после добавления / изменения

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

 

Приёмка товара

Записать в накладную документальные данные по строке

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

Метод:  receipt_sup_doc_info

Входные параметры запроса

Параметр

Описание

user_id

UID пользователя

account

ID учетной записи

qty_doc_sup

Количество по строке по бумажной накладной поставщика

sum_doc_sup

Сумма по строке по бумажной накладной поставщика

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

 

 

Пересчёты (инвентаризация)

Пересчёты (инвентаризация)

Получить список описей пересчёта

Метод:  get_invent_list

Входные параметры запроса

Параметр

Описание

dept_id

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

dept_code

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

account

ID учетной записи

staffer_id

UID сотрудника

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Секция списка описей. Массив invents[]

invent_id

UID описи пересчета

code

Код описи пересчета

date

Дата описи пересчета

dept_name

Наименование внутреннего подразделения

sub_invent_count

Количество подописей пересчета, привязанных к данной описи

product_count

Количество продуктов в описи

comment

Комментарий к описи

Пересчёты (инвентаризация)

Получить список подописей пересчёта для выбранной описи

Метод:  get_subinvent_list

Входные параметры запроса

Параметр

Описание

invent_id

UID описи пересчёта

dept_id

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

dept_code

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

account

ID учётной записи

staffer_id

UID сотрудника

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Секция списка подописей. Массив sub_invents[]

invent_id

UID подописи пересчёта

code

Код описи пересчёта

staffer_id

UID счётного работника (сотрудника)

product_count

Количество продуктов в подописи

comment

Комментарий к подописи

Пересчёты (инвентаризация)

Получить список строк описи или подописи пересчёта

Метод:  get_invent_lines

Входные параметры запроса

Параметр

Описание

invent_id

UID описи или подописи

account

ID учётной записи

 Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Секция списка строк описи или подописи. Массив invent_lines[]

line_id

UID строки

code

Код товара

name

Наименование товара

ei

Единица измерения товара

Секция данных содержащая данные о штрихкодах товаров из описи или подописи. Словарь barcodes{}. Ключами в словаре являются штрихкоды

line_id

UID строки описи/подописи

bc_qty

Количество в упаковке

bc_name

Наименование упаковки

 

Пересчёты (инвентаризация)

Изменить количество товара в строке описи/подописи

Метод:  change_invent_qty_fact

Входные параметры запроса

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

line_id

UID строки

user_id

UID пользователя

account

ID учётной записи

append_flag

1 – добавить переданное количество к строке; 0 – изменить количество в строке на переданное

qty

Количество

Возвращаемые данные

Параметр

Описание

new_qty

Количество в строке, после добавления / изменения

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

Пересчёты (инвентаризация)

Установить признак начала пересчёта по подописи

Устанавливает на подопись состояние  ‘В работе’, фиксирует дату и время начала пересчёта.

Метод:  start_invent

Входные параметры запроса

Параметр

Описание

invent_id

UID подописи пересчёта

user_id

UID пользователя

staffer_id

UID сотрудника

account

ID учётной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’

 

Пересчёты (инвентаризация)

Установить признак окончания пересчёта по подописи

Устанавливает на подопись состояние ‘Завершён’, фиксирует дату и время завершения пересчёта.

Метод:  finish_invent

Входные параметры запроса

Параметр

Описание

invent_id

UID подописи

user_id

UID пользователя

staffer_id

UID сотрудника

account

ID учетной записи

Возвращаемые данные

Параметр

Описание

status

‘ok’ или ‘error’

message

Информационное сообщение, если статус = ‘error’