мета-данные страницы
1. Команды API без сессии
Команды получения общих данных из стандартных справочников, для выполнения которых Не требуется сессия.
Авторизация, регистрация, восстановление пароля в Личном кабинете
Версия API. api_version
Авторизация. ModernLogin
Регистрация. ModernRegistration
Восстановление пароля. ModernRememberPwd
Авторизация, регистрация, восстановление пароля пользователя
Авторизация. Login
Обновление ID сессии. RefreshSession
Просмотр статистики количества выполненных запросов через записывающие команды API. ExecutedApiCount
Справочная информация
Группы клиентов. ContrTree
Прайс-лист. PriceList
Группы прайс-листа. PriceTree
Дополнительные реквизиты. AddonTypes
Комплекты доп. реквизитов. AddonPacks
Склады. ReceptionCenters
Регионы (районы). Regions
Статус заказа. GetStatusOrder
Работа с выездами
Свободное время начала выезда на дату. TripsHr
Свободное время окончания выезда на дату. TripsHrTo
Список выездных машин. Cars
Работа с промо-кодами
api_version
Команда: api_version
Вернет версию api. Параметры команды отсутствуют.
Метод отправки: GET
Формат запроса:
api_version
Строка запроса:
GET .../api/?api_version
Ответ json:
{"api_version": "1.4"}
ModernLogin
Команда: ModernLogin
Авторизация по номеру телефона в Личном кабинете для получения клиентской сессии. Используется вместе с командой регистрации ModernRegistration.
Метод отправки: GET
Формат запроса:
ModernLogin={"phone": "+79123456789", "pwd": "7110eda4d09e062aa5e4a390b0a572ac0d2c0220"}
Строка запроса:
GET .../api/?ModernLogin=%7B%22phone%22%3A%20%22%2B79123456789%22%2C%20%22pwd%22%3A%20%227110eda4d09e062aa5e4a390b0a572ac0d2c0220%22%7D
где
phone - номер телефона клиента, обязательный параметр;
pwd – пароль, преобразованный с помощью SHA1, обязательный параметр.
Ответ json:
{ "error":0, "Session_id":"F3967266-DDAE-4524-A8AB-7BCDF79A97F1", "contr_id":"10013", "promo_code_friend":"" }
где
error - код выполнения, 0 - успешно, 1 - ошибка;
Msg - текст сообщения в случае ошибки.
Session_id - ID сессии авторизованного клиента;
contr_id - ID клиента;
promo_code_friend - промо-код.
ModernRegistration
Команда: ModernRegistration
Регистрация клиента в Личном кабинете химчистке.
Метод отправки: GET
Формат запроса:
ModernRegistration={"fio": "Тест Тестовый", "phone": "+79123456789", "email": "test@test.com"}
Строка запроса:
GET .../api/?ModernRegistration=%7B%22phone%22%3A%22%2B79123456789%22%2C%22fio%22%3A%22%D0%A2%D0%B5%D1%81%D1%82%20%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%22%7D
где
phone - телефон клиента (логин), обязательный параметр;
fio - ФИО клиента, обязательный параметр;
email - Email клиента, не обязательный параметр;
gender - пол клиента (0 - мужской - по умолчанию, 1 - женский), не обязательный параметр;
birthday - дата рождения, не обязательный параметр;
address - адрес клиента, не обязательный параметр.
Ответ json:
// При успешной регистрации { "error": 0, "Msg": "СМС сообщение с кодом отправлено" } // При нахождении телефона на другом клиенте { "error": 1, "Msg": "Данный номер телефона уже зарегистрирован. Попробуйте восстановить пароль" "contr_id": "1234", "exists": "1" }
где
error - код выполнения, 0 - успешно, 1 - ошибка;
Msg - текст сообщения;
Если текст сообщения «Вы зарегистрированы», значит для Вас не настроен шаблоны СМС для ЛК, обратитесь в клиентский сервис.
contr_id - ID клиента;
exists - признак что телефон уже занят другим клиентом.
ModernRememberPwd
Команда: ModernRememberPwd
Восстановление пароля клиентом, зарегистрированного в Личном кабинете.
Метод отправки: GET
Формат запроса:
ModernRememberPwd={"phone":"+79123456789"}
Строка запроса:
GET .../api/?ModernRememberPwd=%7B%22phone%22%3A%20%22%2B79123456789%22%7D
где
phone - телефон клиента, обязательный параметр.
Ответ json:
{ "error": 0, "Msg": "СМС сообщение с кодом отправлено" }
где
error - код выполнения, 0 - успешно, 1 - ошибка;
Msg - текст сообщения.
Если текст сообщения «Вы зарегистрированы», значит для Вас не настроен шаблоны СМС для ЛК, обратитесь в клиентский сервис.
Login
Команда: Login
Команда авторизации под пользователем.
Команда возвращает сессию Session_id, которая используется в командах с пользовательской сессией.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
Login={"User": "Пользователь", "Pwd": "40bd001563085fc35165329ea1ff5c5ecbdbbeef", "AsUser": "1"}
Строка запроса:
GET .../api/?Login=%7B%22User%22%3A+%22%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%22%2C+%22Pwd%22%3A+%2240bd001563085fc35165329ea1ff5c5ecbdbbeef%22%2C+%22AsUser%22%3A+%221%22%7D
где
User – имя пользователя, обязательный параметр;
Pwd – пароль пользователя (преобразованный через SHA-1) , обязательный параметр;
В качестве User / Pwd используются данные (логин/пароль) пользователя Агбис.Химчистка (в программе Агбис.Химчистка, меню «Справочники»-«Пользователи»).
Рекомендуется создать отдельного пользователя для работы с API.
AsUser – признак пользователя коммерческого api (равен 1), обязательный параметр.
Ответ json:
{ "error": 0, "Session_id": "0BE170AB-86AF-441F-8523-8C960EA3EC4E", "Refresh_id": "D1FE260A-1EE3-4DE8-B854-6B68AA44E4A4", "User_ID": "123" }
где
Session_id – ID сессии. Время жизни сессии 10 минут;
Refresh_id – ключ обновления сессии без авторизации;
User_ID – ID пользователя.
Сессия активна в течении 10 мин. После будет возвращен код ошибки error = 3, после чего нужно выполнить команду RefreshSession и повторить команду снова.
RefreshSession
Команда: RefreshSession
Обновление ID сессии пользователя.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
RefreshSession={"Refresh_ID": "D1FE260A-1EE3-4DE8-B854-6B68AA44E4A4"}
Строка запроса:
GET .../api/?RefreshSession=%7B%22Refresh_ID%22%3A+%22D1FE260A-1EE3-4DE8-B854-6B68AA44E4A4%22%7D
где
Refresh_ID – берется из команды Login, обязательный параметр.
Ответ json:
{ "error": 0, "Session_id": "0BE170AB-86AF-441F-8523-8C960EA3EC4E", "Refresh_id": "D1FE260A-1EE3-4DE8-B854-6B68AA44E4A4" }
где
Session_id – новый ID сессии;
Refresh_id – новый ключ обновления сессии без авторизации.
ExecutedApiCount
Команда: ExecutedApiCount
Общая команда просмотра статистики количества выполненных коммерческих команд API.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
ExecutedApiCount
Строка запроса:
GET .../api/?ExecutedApiCount
Ответ json:
{ "error": 0, "date_list": [ { "date": "02.12.2017", "count": "15" }, { "date": "03.12.2017", "count": "35" }, { "date": "04.12.2017", "count": "5" } ] }где
date – дата;
count – количество запросов.
ContrTree
Команда: ContrTree
Получение списка групп клиентов.
Используется, например, если необходимо воспроизвести группы клиентов из Агбис.Химчистка
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
ContrTree
Строка запроса:
GET .../api/?ContrTree
Ответ json:
{ "error": 0, "list": [ { "folder_id": "21", "parent_id": "", "name": "%D0%9A%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D1%8B" }, { "folder_id": "24", "parent_id": "21", "name": "%D0%A7%D0%B0%D1%81%D1%82%D0%BD%D1%8B%D0%B5%20%D0%BB%D0%B8%D1%86%D0%B0" }, { "folder_id": "25", "parent_id": "21", "name": "%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8" } ] }
где
folder_id – ID группы;
parent_id – ID родителя группы;
name – наименование группы.
PriceList
Команда: PriceList
Получение прайс-листа.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
PriceList={"price_id":"12"}
Строка запроса:
GET .../api/?PriceList=%7B%22price_id%22:%2212%22%7D
где
price_id – ID прайс-листа, необязательный параметр. Если не указан, то по умолчанию выдается розничный прайс-лист;
tovar_type - тип отображаемой позиции, необязательный параметр (0 - все товары и услуги, 1 - только товары, 2 - только услуги).
Ответ json:
{ "error": 0, "price_list":[ { "id": "1", "folder_id": "10026", "tovar_type": "2", "code": "0", "name": "%D0%91%D0%BB%D1%83%D0%B7%D0%BA%D0%B0", "unit": "1%20%D1%88%D1%82", "price": "132,69", "group_p": "%D0%A0%D1%83%D0%B1%D0%B0%D1%88%D0%BA%D0%B8", "group_c": "%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D1%8B", "top_parent": "%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%B8%D0%BB%D1%8C", "order_addon_pack_id": "5", "sort_index": "", "is_price_editable": "1", "is_not_for_discount": "0", "is_repair": "0", "is_percent_price": "0", "additional_text": "", "short_name": "", "index": "", "image_id": "0", "price_id": "0" } ] }
где
price_list - содержит строки прайс-листа:
id – ID услуги/товара в прайс листе;
folder_id – ID группы услуги/товара;
tovar_type - тип позиции (1 - товары, 2 - услуги);
code – артикул;
name – наименование услуги;
unit – единица измерения;
price – цена;
group_p – родительская группа, группы услуги;
group_c – группа, где лежит услуга;
top_parent – верхняя группа;
order_addon_pack_id – номер комплекта доп. реквизитов;
sort_index - индекс сортировки;
is_price_editable - признак цена редактируемая в заказе;
is_not_for_discount - признак не распространять скидки;
is_repair - признак ремонт;
is_percent_price - рассчитывать цену как процент от другой услуги;
additional_text - дополнительная информация;
short_name - краткое наименование;
index - индекс;
image_id - ID картинки услуги;
price_id - ID прайс-листа.
PriceTree
Команда: PriceTree
Группы прайс-листа.
Метод отправки: GET.
Заголовок запроса (Header): не требуется.
Формат запроса:
PriceTree={"id":"12"}
Строка запроса:
GET .../api/?PriceTree=%7B%22id%22:%2212%22%7D
где
id – ID прайс-листа, обязательный параметр.
Ответ json:
{ "error": 0, "price":[ { "folder_id":"10025", "parent":"10024", "name":"1.+%D0%9A%D0%BE%D0%B6%D0%B0+(%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%81%D0%BA%D0%B0)", "comm":"", "sort_index":"" } ] }
Где
price - содержит строки группы прайс листа:
folder_id – ID группы;
parent – ID родительской группы;
name – название группы;
comm – комментарий;
sort_index - индекс сортировки.
AddonTypes
Команда: AddonTypes
Получение дополнительных реквизитов.
Метод отправки: GET
Формат запроса:
AddonTypes
Строка запроса:
GET .../api/?AddonTypes
Ответ json:
{ "error":0, "addon_types":[ { "id":"90", "group_id":"1", "table_name":"DOC_ORDER_SERVICES", "descr":"%D0%A1%D0%BB%D0%BE%D0%B6%D0%BD%D0%B0%D1%8F%20(%D1%80%D1%83%D1%87%D0%BD%D0%B0%D1%8F)%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0", "value_type":"2", "default_int":"", "default_str":"", "default_bool":"0", "default_date":"", "default_flt":"", "is_default_need":"1", "if_null_message":"", "print_if_empty":"0", "change_price":"2", "num":"1,5", "is_combo":"0", "fullcol":"0", "multisel":"0", "font_color":"", "font_bold":"", "multipl":"", "hide_item_groups":"", "auto_item_groups":"", "auto_maximize":"", "not_manual_editing":"", "change_pr_serv":"", "dont_disc_value":"", "chang_value":"", "affect_user":"", "show_display":"", "show_difaddon":"", "specify_wp":"", "comments":"", "only_manager":"", "addon_str_values":[ ] } ] }где
addon_types - Массив объектов доп. реквизитов:
id - ID доп. реквизита;
group_id- ID группы доп. реквизита (1 - Описание изделия, 2 - Дефекты изделия, 3 - Дефекты сырья, 4 - Предупреждения, 5 - Иные дефекты);
descr - наименование доп. реквизита;
value_type - тип доп. реквизита (0 - целое, 1 - строка, 2 - логическое, 3 - дата, 5 - вещественное, 6 - метка, 7 - строковые с ценой и количеством, 8 - Строковые с коэффициентом, 9 - Фигура);
default_int - числовое значение по умолчанию (при value_type = 0);
default_str - сроковое значение по умолчанию (при value_type = 1);
default_bool - логическое значение по умолчанию (при value_type = 2);
default_date - дата по умолчанию (при value_type = 3);
default_flt - вещественное значение по умолчанию (при value_type = 5);
comments - комментарий;
font_color - цвет текста;
font_bold - жирный шрифт;
specify_wp - реквизит для уточнения на рабочем месте;
addon_str_values - Массив для выбора строк у доп. реквизита:
id - ID строки;
value_str - строковое описание;
value_flt - числовое значение.
AddonPacks
Команда: AddonPacks
Получение комплектов дополнительных реквизитов.
Метод отправки: GET
Формат запроса:
AddonPacks
Строка запроса:
GET .../api/?AddonPacks
Ответ json:
{ "error":0, "addon_packs":[ { "id":"60", "name":"16.%20%D0%9C%D0%B5%D0%BB%D0%BA%D0%B8%D0%B9%20%D1%80%D0%B5%D0%BC%D0%BE%D0%BD%D1%82%20%D1%88%D0%B2%D0%B5%D0%B9%D0%BD%D1%8B%D1%85%20%D0%B8%D0%B7%D0%B4%D0%B5%D0%BB%D0%B8%D0%B9", "addon_types":[ 2, 109, 181, 225, 226, 227, 228 ] }, ... ], ... }где
addon_packs - массив объектов комплектов:
id - ID комплекта;
name - наименование комплекта;
addon_types - Массив ID доп. реквизитов, входящих в комплект, из команды AddonTypes.
ReceptionCenters
Команда: ReceptionCenters
Получение списка складов (приёмные пункты).
Метод отправки: GET
Формат запроса:
ReceptionCenters={"with_photo":"1","folders":"1,2,3","lang_id":"0"}
Строка запроса:
GET .../api/?ReceptionCenters=%7B%22with_photo%22%3A%221%22%2C%22folders%22%3A%221%2C2%2C3%22%2C%22lang_id%22%3A%220%22%7D
где
with_photo - признак получать список приемных пунктов с фото (не обязательный);
folders - список групп приёмных пунктов (не обязательный);
lang_id - язык перевода (не обязательный);
Ответ json:
{ "error":0, "list":[ { "id":"1", "name":"%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9", "address":"%D0%BF%D1%80-%D1%82%20%D0%9C%D0%B5%D1%82%D0%B0%D0%BB%D0%BB%D1%83%D1%80%D0%B3%D0%BE%D0%B2%2043-23", "working_hours":"", "phone":"999-999-999-999", "group":"%D0%92%D0%BD%D0%B5%20%D0%B3%D1%80%D1%83%D0%BF%D0%BF", "location":"53.764419,87.117967", "cabinet": "0", "folder_id":"1" "name_for_clients": "%D0%A5%D0%B8%D0%BC%201", "use_himinfo": "1", "city": "%D0%9D%D0%BE%D0%B2%D0%BE%D0%BA%D1%83%D0%B7%D0%BD%D0%B5%D1%86%D0%BA", "comment": "", "metro": "", "district_id":"1002", "working_days": "1%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C2%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C3%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C4%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C5%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C6%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-%7C%7C%7C7%7C%7C1%7C%7C-%7C%7C-%7C%7C-%7C%7C-", "is_work_shop": "0", "sclad_is_mobil": "0", "sclad_not_automated": "0", "photo": "" } ] }
где
list - массив объектов складов:
id - ID склада;
name - наименование склада;
address - адрес склада;
working_hours - время работы;
phone - телефон склада;
group - группа склада;
location - геолокация, если вкл. определение геолокации;
cabinet - признак склад Чистомат;
folder_id - ID группы склада;
name_for_clients - название склада для ХимИнфо;
use_himinfo - признак отображения склада на Химинфо, значение 0 или 1;
city - город склада;
comment - комментарий по складу;
metro - ближайшее метро до склада;
district_id - номер района;
working_days - рабочие дни склада;
is_work_shop - признак склад является цехом;
sclad_is_mobil - признак мобильный приемный пункт;
sclad_not_automated - признак неавтоматизированный приемный пункт;
photo - фото склада в строке base64.
Regions
Команда: Regions
Получение списка регионов (районы).
Метод отправки: GET.
Заголовок запроса (Header): не требуется.
Формат запроса:
Regions
Строка запроса:
GET .../api/?Regions
Ответ json:
{ "error":0, "regions":[ { "id":"1002", "name":"test" } ] }
где
regions - массив объектов регионов:
id – ID региона;
name – наименование региона.
GetStatusOrder
Команда: GetStatusOrder
Поиск статуса заказа по номеру заказа.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
GetStatusOrder={"doc_num":"12345"}
Строка запроса:
GET .../api/?GetStatusOrder=%7B%22doc_num%22%3A%2212345%22%7D
где
doc_num – номер заказа, обязательный параметр.
Ответ json:
{ "error": 0, "Msg": "%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9", "sclad_to": "123", "status_id": "4" }
где
Msg – статус;
sclad_to – склад приема;
status_id – ID статуса.
TripsHr
Команда: TripsHr
Свободное время начала выезда на дату. Для задания корректного времени параметра hr для команды TripOrder.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
TripsHr={"date": "01.01.2020", "car_id": "2", "id": "123"}
Строка запроса:
GET .../api/?TripsHr=%7B%22date%22%3A%2201.01.2020%22%2C%22car_id%22%3A%222%22%2C%22id%22%3A%22123%22%7D
где
date – дата, на которую создается резерв (формат 21.12.2020), обязательный параметр;
id – ID выезда (команда Trips), необязательный параметр. Указывается при редактировании выезда;
region_id – ID региона, необязательный параметр. С учетом по региону;
car_id – мобильный склад, необязательный параметр. С учетом по мобильному складу.
Ответ json:
{ "error": 0, "hr": [ "00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "12:00", "13:00", "14:00", "15:00", "16:00", "18:00", "19:00", "22:00", "23:00" ] }
где
hr - массив строк не занятым временем выезда.
TripsHrTo
Команда: TripsHrTo
Свободное время окончания выезда на дату. Для задания корректного времени параметра hr_to для команды TripOrder.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
TripsHrTo={"date": "01.01.2020", "hr_to": "12:00", "car_id": "2", "id": "123"}
Строка запроса:
GET .../api/?TripsHrTo=%7B%22date%22%3A%2201.01.2020%22%2C%22hr_to%22%3A%2212%3A00%22%2C%22car_id%22%3A%222%22%2C%22id%22%3A%22123%22%7D
где
date – дата, на которую создается резерв (формат 21.12.2020), обязательный параметр;
hr_to – предполагаемое время окончания (Формат – «10:00», «07:00»), обязательный параметр;
id – ID выезда (команда Trips), необязательный параметр. Указывается при редактировании выезда;
region_id – ID региона, необязательный параметр. С учетом по региону;
car_id – мобильный склад, необязательный параметр. С учетом по мобильному складу.
Ответ json:
{ "error": 0, "hr_to": [ "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00", "23:59" ] }
где
hr_to - массив строк не занятым временем окончания выезда.
Cars
Команда: Cars
Список выездных машин (выездные ПП)
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
Cars
Строка запроса:
GET .../api/?Cars
Ответ json:
{ "error": 0, "cars": [ { "id": "10010", "name": "%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%BA%D0%BB%D0%B0%D0%B4", "address": "", "phone": "", "price_list_id": "" } ] }
где
cars - массив складов/пп:
id – ID склада/пп;
name – название склада/пп;
address - адрес склада/пп;
phone - телефон склада/пп;
price_list_id - ID прайс листа склада/пп.
PromoCode
Команда: PromoCode
Проверка промо-кода. Вернет список рабочих адресов для существующего промо-кода, если они указаны.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
PromoCode={"promo":"123"}
где
promo - проверяемый промо-код.
Строка запроса:
GET .../api/?PromoCode=%7B%22promo%22%3A%22123%22%7D
Ответ json:
{ "error": 0, "promo_code_id": "10021", "working_address": [ { "id": 1004, "promo_code_id": 10021, "address": "%D0%90%D0%B4%D1%80%D0%B5%D1%81%201" }, { "id": 1005, "promo_code_id": 10021, "address": "%D0%90%D0%B4%D1%80%D0%B5%D1%81%202" } ] }
где
id – ID адреса промо-кода;
promo_code_id – ID промо-кода;
address – адрес промо-кода.