Содержание

1. Команды API без сессии

Команды получения общих данных из стандартных справочников, для выполнения которых Не требуется сессия.


Авторизация, регистрация, восстановление пароля в Личном кабинете

Авторизация. ModernLogin
Авторизация. AuthByAddon
Регистрация. ModernRegistration
Восстановление пароля. ModernRememberPwd

Авторизация, регистрация, восстановление пароля пользователя

Авторизация. Login
Обновление ID сессии. RefreshSession
Просмотр статистики количества выполненных запросов через записывающие команды API. ExecutedApiCount

Справочная информация

Версия API. api_version
Группы клиентов. ContrTree
Прайс-лист. PriceList
Группы прайс-листа. PriceTree
Дополнительные реквизиты. AddonTypes
Комплекты доп. реквизитов. AddonPacks
Склады. ReceptionCenters
Регионы (районы). Regions
Статус заказа. GetStatusOrder

Работа с выездами

Свободное время начала выезда на дату. TripsHr
Свободное время окончания выезда на дату. TripsHrTo
Список выездных машин. Cars

Работа с промо-кодами

Промо-код. PromoCode


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 - промо-код.


AuthByAddon

Команда: AuthByAddon

Авторизация по значению дополнительного реквизита в Личном кабинете для получения клиентской сессии.

Метод отправки: GET

Формат запроса:

AuthByAddon={"id_addon":100245,"login":"00000001","psw":"40bd001563085fc35165329ea1ff5c5ecbdbbeef"}

Строка запроса:

GET .../api/?AuthByAddon=%7B%22id_addon%22%3A100245%2C%22login%22%3A%2200000001%22%2C%22psw%22%3A%2240bd001563085fc35165329ea1ff5c5ecbdbbeef%22%7D

где
id_addon - вн.номер дополнительного реквизита, обязательный параметр;
login - значение дополнительного реквизита, обязательный параметр;
psw – пароль, преобразованный с помощью 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

Регистрация клиента в Личном кабинете химчистке.

Ограничение на выполнение, не больше 3 запросов за 10 секунд с одного IP.
В противном случает будет выдано предупреждение слишком частые запросы, с увеличением времени ожидания

Метод отправки: 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 - адрес клиента, не обязательный параметр;
registered_from - приложение, из которого пришел запрос на регистрацию, не обязательный параметр.

Варианты значений registered_from:
1 - МП ХимчисткаИнфо;
2 - Чистомат;
3 - Агент химчистки;
4 - ЛК;
5 - ПМП;
6 - Коммерческое API;
7 - web форма консьержа/выездов;
8 - брендированное приложение.

Можно передавать пользовательские значения, они должны быть больше 1000 (например, регистрация в мобильном приложении iOS - 1001, регистрация в мобильном приложении Android - 1002).

Ответ json:

// При успешной регистрации
{
  "error": 0, 
  "Msg": "СМС сообщение с кодом отправлено"
}

// При нахождении телефона на другом клиенте
{
  "error": 1, 
  "Msg": "Данный номер телефона уже зарегистрирован. Попробуйте восстановить пароль"
  "contr_id": "1234",
  "exists": "1"
}

где
error - код выполнения, 0 - успешно, 1 - ошибка;
Msg - текст сообщения;

Если текст сообщения "Вы зарегистрированы", значит для Вас не настроен шаблоны СМС для ЛК, обратитесь в клиентский сервис.


contr_id - ID клиента;
exists - признак что телефон уже занят другим клиентом.


ModernRememberPwd

Команда: ModernRememberPwd

Восстановление пароля клиентом, зарегистрированного в Личном кабинете.

Ограничение на выполнение, не больше 3 запросов за 10 секунд с одного IP и .
В противном случает будет выдано предупреждение слишком частые запросы, с увеличением времени ожидания

Метод отправки: 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, которая используется в командах с пользовательской сессией.

Сессия активна в течении 10 мин. После будет возвращен код ошибки error = 3, после чего нужно выполнить команду RefreshSession и повторить команду снова.

Ограничение на выполнение, не больше 10 авторизаций за раз не дождавшись ответа от предыдущих попыток без учета IP.
В противном случает будет выдано предупреждение "429 Too many requests" на 2 минуты.

Метод отправки: 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 пользователя.


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 – количество запросов.


api_version

Команда: api_version

Вернет версию api. Параметры команды отсутствуют.

Метод отправки: GET

Формат запроса:

api_version

Строка запроса:

GET .../api/?api_version

Ответ json:

{"api_version": "1.4"}


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 - комментарий;
multisel - включен множественный выбор значений;
font_color - цвет текста;
font_bold - жирный шрифт;
specify_wp - реквизит для уточнения на рабочем месте;
addon_str_values - Массив для выбора строк у доп. реквизита (при value_type = 1, 7, 8, 9):
id - ID строки;
для типа value_type = 1, 7 и 8:
value_str - строковое описание;
value_flt - числовое значение;
для типа value_type = 9:
value_str - описание типа фигуры;
value_flt - ID типа фигуры (1 - Квадрат, 2 - Прямоугольник, 3 - Круг, 4 - Овал).


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 – адрес промо-кода.