Мобильный помощник. 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’ |