мета-данные страницы

Коммерческое API

Административное API версии 1.0


Оглавление

Описание API
Формат команд
Коды ошибок API
Получение изменившихся заказов и клиентов
Просмотр статистики количества выполненных запросов через записывающие команды API. ExecutedApiCount
Авторизация. Login
Проверка валидности сессии. ValidSessionID
Обновление ID сессии. RefreshSession
Выход. Logout
Информация по заказу. OrderInfoForAll
Сохранение заказа. SaveOrderForAll
Изменение заказа. UpdateOrderForAll
Получение фотографий услуг. GetOrderImagesForAll
Сохранение фотографии в услуге. SetOrderImagesForAll
Пополнение бонусного счета клиента. AddBonusForAll
Списки ВДС и ДС. GetListsVdsDsForAll
Изменение статуса заказа. ChangeStatusOrdersForAll
Оплата заказа. PayForAll
Возврат средств. ReturnPayForAll
Создание, изменение клиента. ContragForAll
Информация по клиенту. ContrInfoForAll
Группы клиентов. ContrTree
Списки срочности, виды детской одежды и наценки. GetListsOrderTNDForAll
Получения списка заказов, измененных в указанный промежуток времени. OrderByDateTimeForAll
Получения списка клиентов измененные в указанный промежуток времени. ClientsByDateTimeForAll
Квитанция. Receipt
Квитанция. ReceiptOnline
Список заказов за период. OrdersBetweenForAll
Список бонусов клиента за период. BonusesBetweenForAll
Прайс-лист. PriceList
Группы прайс-листа. PriceTree
Накладные в пути. DocsInWayBetweenForAll
Информации по клиенту. ContragInfoForAll
Дополнительные реквизиты. AddonTypes
Комплекты доп. реквизитов. AddonPacks
Склады. ReceptionCenters
Регионы (районы). Regions
Список изменившихся ID заказов. LastChangeOrder
Создание выезда. TripOrder


Описание API

API позволяет реализовать создание и редактирование заказов, добавление оплаты в заказ, создание и изменение клиентов, получение изменившихся заказов и клиентов и др.


Формат команд

Все команды выполняются методом GET. Ответ на запрос приходит в json формате.

Все значения параметров команд должны быть преобразованы, через js encodeURIComponent или подобные функции.

Пример:

//www.himinfo.ru/cl/{Path}/api/?command={"key":"value"}&SessionID=...&callback=...

где:

  • {Path} - имя для Химчистки. Полный путь предоставляется отдельно, после настройки API;
  • command - название выполняемой команды;
  • {«key»: «value»} - параметры команды (значение=ключ). Представляет собой текстовую аналогию записи объекта на JS;
  • SessionID - в зависимости от команды обязательный параметр. Указывает ID сессии для выполнения команды. Выдается при выполнении команды авторизации;
  • callback - необязательный параметр. Указывает на имя процедуры для jsonP, которое вернется в ответе с json строкой.

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


Коды ошибок API

Код ошибкиТекст ошибки Описание
100 Ошибка подключения к БД1
101 Ошибка выполнения запроса1
102 Слишком частые запросы
103 Отсутствуют команды на выполнение. Не правильно была сформирована API команда или такой не существует.
104 Отсутствуют параметры команды Не правильно указаны параметры в команде API.
105 Некорректные данные Не правильный формат данных в параметрах команды API.
106 Недействительный SessionID

1 - обратиться к разработчикам Агбис.


Получение изменившихся заказов и клиентов

Для получения списка изменившихся заказов, правильнее воспользоваться командами - OrderByDateTimeForAll, LastChangeOrder.
Для получения списка изменившихся клиентов, использовать команду ClientsByDateTimeForAll.


Просмотр статистики количества выполненных запросов через записывающие команды API. ExecutedApiCount

Команда: ExecutedApiCount

Общая команда просмотра статистики количества выполненных запросов через записывающие команды API.

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

Заголовок запроса (Header): не требуется.

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

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

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


Авторизация. Login

Команда: Login

Общая команда авторизации пользователем Агбис химчистки (в программе Агбис химчистка, меню «Справочники»-«Пользователи»). Только для Коммерческого API

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

Заголовок запроса (Header): не требуется.

Формат запроса: Login={"User": "Пользователь", "Pwd": "40bd001563085fc35165329ea1ff5c5ecbdbbeef", "AsUser": "1"}

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

.../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) , обязательный параметр;
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 и повторить команду снова.


Проверка валидности сессии. ValidSessionID

Команда: ValidSessionID

Проверка валидности SessionID.

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

Формат запроса: ValidSessionID&SessionID=

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

.../api/?ValidSessionID&SessionID=...

где
SessionID – GUID проверяемой сессии.

Ответ json:

{
  "error": 0, 
  "user_id": "123"
}

где
user_id – ID пользователя, которому принадлежит сессия.


Обновление ID сессии. RefreshSession

Команда: RefreshSession

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

Заголовок запроса (Header): не требуется.

Формат запроса: RefreshSession={"Refresh_ID": "D1FE260A-1EE3-4DE8-B854-6B68AA44E4A4"}

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

.../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 – новый ключ обновления сессии без авторизации.


Выход. Logout

Команда: Logout

Выход, завершение работы сессии

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

Формат запроса: Logout&SessionID=

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

.../api/?Logout&SessionID=...

где
SessionID - ID сессии, обязательный параметр. Возвращает команда авторизации Login.

Ответ json:

{"error": 0}

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


Информация по заказу. OrderInfoForAll

Команда: OrderInfoForAll

Команда просмотр информации о конкретном заказе по dor_id

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

Заголовок запроса (Header): не требуется.

Формат запроса: OrderInfoForAll={"dor_id":"12345"}&SessionID=BBAB6C13-A9BE-4159-8A0C-332F813A7B49

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

.../api/? OrderInfoForAll=%7B%22dor_id%22%3A%2210013%22%7D&SessionID=BBAB6C13-A9BE-4159-8A0C-332F813A7B49

где
dor_id – ID заказа, обязательный параметр.

Ответ json:

{
  "error": 0, 
  "order": {
    "dor_id": "100182", 
    "doc_num": "000233", 
    "kredit": "4000", 
    "debet": "0", 
    "doc_date": "29.11.2017", 
    "date_out": "", 
    "status_id": "3", 
    "photo_exist": "1", 
    "discount": "0",     
    "fast_execute": "0",
    "sclad_id": "12455", 
    "sclad_to": "12455", 
    "current_sclad_id": "1003", 
    "kind_id": "3", 
    "vds_id": "1001",
    "contr_id": "10013",
    "waiting_confirm": "0",
    "is_not_confirmed": "0",
    "sclad_name": "", 
    "sclad_adr": "", 
    "sclad_hours": "",
    "Srvices": [
      {
        "dos_id": "100229858", 
        "parent_id": "100229857", 
        "tov_id": "10018", 
        "service": "%D0%91%D0%B5%D1%80%D0%BC%D1%83%D0%B4%D1%8B", 
        "code": "01.18", 
        "status_id": "3", 
        "status_name": "%D0%92+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8", 
        "serv_num": "1", 
        "barcode": "272102000000071001", 
        "barcode_read": "%5B2%5D%207%20(1)",
        "price": "1000", 
        "qty": "1", 
        "kfx": "1", 
        "discount": "0", 
        "nursery_id": "0", 
        "nurseries_name": "%D0%9D%D0%B5+%D0%B4%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F",
        "nurseries_discount": "0", 
        "serv_weight": "1", 
        "dirty_id": "0", 
        "dirty_name": "%D0%9E%D0%B1%D1%89%D0%B5%D0%B5", 
        "dirty_kfx": "1", 
        "kredit": "1000", 
        "ext_info": "", 
        "shop_description": "", 
        "group_tov": "1.+%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D1%82%D1%80%D0%B8%D0%BA%D0%BE%D1%82%D0%B0%D0%B6%D0%BD%D0%B0%D1%8F+%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0", 
        "contr_provider_id": "10072",
        "contr_provider_name": "%D0%9F%D0%BE%D0%B4%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F",
        "contr_provider_inn": "1234-1234-1234-1234",
        "nds_name": "%D0%91%D0%B5%D0%B7%20%D0%9D%D0%94%D0%A1",
        "addons": []
      },
      {
        "dos_id": "100229859", 
        "tov_id": "10027", 
        "service": "%D0%92%D0%BE%D0%B4%D0%BE%D0%BB%D0%B0%D0%B7%D0%BA%D0%B0", 
        "code": "01.27", 
        "status_id": "3", 
        "status_name": "%D0%92+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B8", 
        "barcode": "271700000002331002", 
        "price": "1500", 
        "qty": "2", 
        "kfx": "1", 
        "discount": "0",
        "fast_execute": "0",  
        "nursery_id": "0", 
        "nurseries_name": "%D0%9D%D0%B5+%D0%B4%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F", 
        "nurseries_discount": "0", 
        "serv_weight": "1", 
        "dirty_id": "0", 
        "dirty_name": "%D0%9E%D0%B1%D1%89%D0%B5%D0%B5", 
        "dirty_kfx": "1", 
        "kredit": "3000", 
        "ext_info": "", 
        "shop_description": "", 
        "group_tov": "1.+%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D1%82%D1%80%D0%B8%D0%BA%D0%BE%D1%82%D0%B0%D0%B6%D0%BD%D0%B0%D1%8F+%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B0", 
        "contr_provider_id": "",
        "contr_provider_name": "",
        "contr_provider_inn": "",
        "nds_name": "",
        "addons": [
          {
            "addon_id": "111", 
            "descr": "%D0%A6%D0%B2%D0%B5%D1%82", 
            "value_type": "1", 
            "aos_id": "1001787", 
            "aos_value": "%D0%91%D0%B5%D0%B6%D0%B5%D0%B2%D1%8B%D0%B9,+%D0%96%D1%91%D0%BB%D1%82%D1%8B%D0%B9,+%D0%9A%D0%B0%D1%88%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9"
          },
          {
            "addon_id": "239", 
            "descr": "%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2+%D1%82%D0%BA%D0%B0%D0%BD%D0%B8", 
            "value_type": "1", 
            "aos_id": "1001788", 
            "aos_value": "EL+-+%D1%8D%D0%BB%D0%B0%D1%81%D1%82%D0%B0%D0%BD,+SE+-+%D1%88%D0%B5%D0%BB%D0%BA"
          },
          {
            "addon_id": "82", 
            "descr": "%D0%91%D0%B5%D0%BB%D0%B5%D1%81%D0%BE%D1%81%D1%82%D1%8C", 
            "value_type": "2", 
            "aos_id": "1001789", 
            "aos_value": "1"
          },
          {
            "addon_id": "181", 
            "descr": "%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F", 
            "value_type": "1", 
            "aos_id": "1001790", 
            "aos_value": "%D1%82%D0%B5%D1%81%D1%82+1"
          }
        ]
      }
    ],
    "Tovars":[
      {
        "dol_id":"10043",
        "tov_id":"100300",
        "tovar_name":"%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%20%D1%81%D0%BE%D0%BF%D1%83%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B8%D0%B9",
        "code":"0",
        "group_tov":"%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D1%8B",
        "barcode":"",
        "price":"5",
        "qty":"1",
        "kfx":"1",
        "discount":"5",
        "kredit":"4,75",
        "ext_info":"sdddd%20sdg%20sgs",
        "tovar_descr":"fsdf%20sfs%20cfsd%20g%20wge%20w%D1%8B%20sg%20swgwg%20%D0%B4%D0%BE%D0%BB%D1%82%20kkkk%20k",
        "monger_id":"1",
        "monger_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81"
      }
    ]
  }
}

где
orders – массив объектов заказов:
dor_id – ID заказа;
doc_num – номер заказа
kredit – сумма заказа,
debet – оплачено;
doc_date – дата заказа;
date_out – дата выдачи заказа
status_id – статус заказа (1 – новый, 3 – в исполнении, 4 – исполненный, 5 - выданный). поле status - устаревшее;
status_name – наименование статуса;
photo_exist – признак присутствия в заказе фотографий;
discount – скидка;
fast_execute – ID срочности (берется из команды GetListsOrderTNDForAll, массив строк order_times);
sclad_id – ID склада приема;
sclad_to – ID склада выдачи;
current_sclad_id – ID текущего склада;
kind_id – тип заказа (0 – заказ химчистки, 1- прачечный заказ, 2 – продажа товаров, 4 – выездной заказ);
vds_id – ID внешней дисконтной схемы;
waiting_confirm – признак подтверждения заказа от клиента, не обязательный параметр. Принимает значения 0 - не требует подтверждения, по умолчанию; 1- требует подтверждения от клиента; 2 – клиент согласился, подтвержден; 3 - клиент НЕ согласился, отменен;
is_not_confirmed - признак подтверждения сотрудником химчистки, не обязательный параметр. Принимает значения 0 - если сотрудник химчистки уже подтвердил заказ или мы не ждем подтверждения от него, по умолчанию; 1 - если сотрудник химчистки еще не подтвердил заказа, но мы ждем это;

Srvices – массив объектов услуг:
dos_id – ID услуги в заказе;
parent_id – ID родительской услуги;
tov_id – ID услуги;
service – наименование;
status_id – статус услуги (1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный);
serv_num – порядковый номер услуги;
barcode – ШК услуги;
barcode_read - ШК для чтения;
price – цена услуги из прайс листа;
qty – кол-во;
kfx – коэффициент;
discount – скидка по услуге;
nursery_id – ID детской скидки (берется из команды GetListsOrderTNDForAll, массив строк order_nurseries);
nurseries_name – наименование детской скидки;
nurseries_discount – значение детской скидки;
dirty_id – ID наценки параметр (берется из команды GetListsOrderTNDForAll, массив строк order_dirties);
dirty_name – наименование наценки;
dirty_kfx – коэффициент наценки;
kredit – сумма услуги в заказе;
ext_info – описание;
shop_description – описание цеха;
group_tov – наименование группы услуги;
contr_provider_id - ID агента;
contr_provider_name - название агента;
contr_provider_inn - ИНН агента;
nds_name - применяемая НДС;

addons - массив объектов доп. реквизитов услуг:
addon_id – ID доп. реквизита;
descry – наименование доп. реквизита;
value_type – тип доп. реквизита;
aos_id – ID реквизита в заказе;
aos_value – значение доп. реквизита.

Tovars – массив объектов товаров:
dol_id – ID товара в заказе;
tov_id - ID товара из прайс-листа;
tovar_name – наименование товара;
group_tov – наименование группы товара;
barcode – ШК товара;
price – цена товара из прайс листа;
qty – кол-во;
kfx – коэффициент;
discount – скидка по товару;
kredit – сумма товара в заказе;
ext_info – описание;
tovar_descr – описание товара;
monger_id – ID продавца (пользователя);
monger_name – Имя продавца (пользователя).


Сохранение заказа. SaveOrderForAll

Команда: SaveOrderForAll

Сохранение заказа.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?SaveOrderForAll

Тело запроса тип json:

{
  "SaveOrderForAll":{
    "Order":{
      "contr_id": "10013",
      "doc_num": "233",
      "bso": "2233344555",
      "doc_date": "29.10.2017",
      "fast_exec": "0",
      "sclad_id": "1003",
      "sclad_out_id": "1005",
      "price_id": "2",
      "date_out": "30.10.2017 15:25:00",
      "vds_id": "1001",
      "status_id": "1",
      "is_not_confirmed": "0",
      "waiting_confirm": "1",
      "get_confirm_link": "1"
    },
    "Services":[
      {
        "tovar_id": "10018",
        "count": "1",
        "barcode_serv": "1270000000001",
        "kfx": "1",
        "discount": "10",
        "ext_info": "%D1%82%D0%B5%D1%81%D1%82",
        "nursery_id": "3",
        "dirty_id": "1",
        "status_id": "1",
        "addons": []
      },
      {
        "tovar_id": "10027",
        "count": "2",
        "addons": [
          {
            "addon_id": "111",
            "values": "%D0%91%D0%B5%D0%B6%D0%B5%D0%B2%D1%8B%D0%B9%2C%20%D0%96%D1%91%D0%BB%D1%82%D1%8B%D0%B9%2C%20%D0%9A%D0%B0%D1%88%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9"
          },
          {
            "addon_id": "239",
            "values": "EL%20-%20%D1%8D%D0%BB%D0%B0%D1%81%D1%82%D0%B0%D0%BD%2C%20SE%20-%20%D1%88%D0%B5%D0%BB%D0%BA"
          },
          {
            "addon_id": "82",
            "values": "1"
          },
          {
            "addon_id": "181",
            "values": "%D1%82%D0%B5%D1%81%D1%82%201"
          }
        ]
      },

      {
        "dos_id":"1",
        "tovar_id":"10018",
        "count":"1",
        "is_recalc_disc":"1",
        "addons":[]
      },
      {
        "parent_id":"1",
        "tovar_id":"10016",
        "count":"1",
        "addons":[]
      },			
      {
        "dos_id":"2",
        "tovar_id":"10018",
        "count":"1",
        "addons":[]
      },
      {
        "parent_id":"2",
        "tovar_id":"10016",
        "count":"1",
        "addons":[]
      },
      {
        "parent_id":"2",
        "tovar_id":"100305",
        "count":"1",
        "addons":[]
      }
    ],
    "Comments": [
      "%D1%82%D0%B5%D1%81%D1%82%201",
      "%D1%82%D0%B5%D1%81%D1%82%202"
    ]
  },
  "SessionID": "AFF2413A-CCD9-4392-A0EA-D35DEAD3C84D"
}

где
Order – объект переменных заказа:
contr_id – ID клиента, обязательный параметр;
doc_num – номер заказа, не обязательный параметр. Номер должен быть вида: XXXX-YY, где XXXX - порядковый номер заказа, YY – номер подразделения; на основе номера заказа формируется автоматически номер бирки услуг; без особой необходимости, данный параметр не нужно заполнять;

При использовании этого параметра, контроль правильности и последовательности формирования номера заказа ложится на разработчика;

bso – номер для налоговой, не обязательный параметр;
doc_date – дата принятия заказа (формат dd.mm.yyyy), не обязательный параметр;
fast_exec – ID срочности, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_times;
sclad_id – ID склада принятия, обязательный параметр;
sclad_out_id – ID склада выдачи, обязательный параметр;
price_id – ID прайс-листа, не обязательный параметр. По умолчанию 0 - «Розничный прайс лист»;
date_out – дата выдачи (формат dd.mm.yyyy HH:MM:SS), не обязательный параметр;
vds_id – ID внешней дисконтной схемы, не обязательный параметр. Берется из команды GetListsVdsDsForAll, массив строк vds;
status_id – ID статус заказа, не обязательный параметр. Принимает значения 1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный;
waiting_confirm – признак подтверждения заказа от клиента, не обязательный параметр. Принимает значения 0 - не требует подтверждения, по умолчанию; 1- требует подтверждения от клиента; 2 – клиент согласился, подтвержден; 3 - клиент НЕ согласился, отменен;
is_not_confirmed - признак подтверждения сотрудником химчистки, не обязательный параметр. Принимает значения 0 - если сотрудник химчистки уже подтвердил заказ или мы не ждем подтверждения от него, по умолчанию; 1 - если сотрудник химчистки еще не подтвердил заказа, но мы ждем это;
get_confirm_link - признак получения ссылки на подтверждение заказа вида https://agb.is/.... Для генерации ссылки должны быть указаны параметры waiting_confirm равным 1 и is_not_confirmed равным 0;
only_with_main_calc_price - разрешает работу опции «Рассчитывать цену как процент от другой услуги» из карточки номенклатуры в услуге, не обязательный параметр;

Services – массив объектов услуг (обязательный параметр, без услуг создать заказ нельзя):
dos_id - порядковый номер услуги, не обязательный параметр. Служит [b]только[/b] для определения привязки основной услуги к дочерней по параметру parent_id;
parent_id - порядковый номер родительской услуги, не обязательный параметр. Служит [b]только[/b] для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру dos_id;
tovar_id – ID услуги из прайс-листа (узнать можно из прайс-листа командой PriceList, см. ниже), обязательный параметр;
count – кол-во, обязательный параметр;
barcode_serv – ШК услуги, не обязательный параметр; без особой необходимости, данный параметр не нужно заполнять;

При использовании этого параметра, контроль правильности и последовательности формирования номера ШК услуги ложится на разработчика;

kfx – коэффициент, не обязательный параметр;
discount – скидка услуги, не обязательный параметр. Применяется как ручная скидка;
is_recalc_disc - счет скидки услуги в зависимости от скидки клиента, ДС, распродаж, не обязательный параметр. Расчет скидки происходит на стороне сервера, без учета параметра discount;
ext_info – описание, не обязательный параметр;
nursery_id – ID детской скидки, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_nurseries;
dirty_id – ID наценки, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_dirties;
status_id – ID статус услуги, не обязательный параметр. Принимает значения 1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный;

addons – массив объектов доп. реквизитов (обязательный параметр, если не реквизитов для заполнения, указывается пустым []):
addon_id – ID доп. реквизита, обязательный параметр. Узнать можно из команды AddonTypes, см. ниже;
values – значение реквизита (значения перечисляются через запятую), обязательный параметр;

Comments – массив строк комментариев по заказу (не обязательный параметр, если комментариев нет, то оставляем пустым []), перечисляются через запятую.

Для всех значений ключей json строки делается URI кодирование (например, можно использовать метод javascript encodeURIComponent).

Команда работает через авторизацию пользователем.

Ответ json:

{
  "error": 0,
  "dor_id": "12345",
  "confirm_link": "https:\/\/agb.is\/..."
}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
dor_id – ID созданного заказа в Агбис;
confirm_link - ссылка на подтверждение заказа;
Msg – описание ошибки (при error = 1).


Изменение заказа. UpdateOrderForAll

Команда: UpdateOrderForAll

Изменение существующего заказа.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?UpdateOrderForAll

Тело запроса тип json:

{
  "UpdateOrderForAll":{
    "Order":{
      "dor_id": "55454441",
      "doc_num": "233",
      "bso": "2233344555",
      "doc_date": "29.10.2017",
      "fast_exec": "0",
      "sclad_id": "1003",
      "sclad_out_id": "1005",
      "price_id": "2",
      "date_out": "30.10.2017 15:25:00",
      "vds_id": "1001",
      "status_id": "3"
    },
    "Services":[
      {
        "tovar_id": "10018",
        "count": "1",
        "barcode_serv": "1270000000001",
        "kfx": "1",
        "discount": "10",
        "ext_info": "%D1%82%D0%B5%D1%81%D1%82",
        "nursery_id": "3",
        "dirty_id": "1",
        "status_id": "1",
        "addons": []
      },
      {
        "tovar_id": "10027",
        "count": "2",
        "addons": [
          {
            "addon_id": "111",
            "values": "%D0%91%D0%B5%D0%B6%D0%B5%D0%B2%D1%8B%D0%B9%2C%20%D0%96%D1%91%D0%BB%D1%82%D1%8B%D0%B9%2C%20%D0%9A%D0%B0%D1%88%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9"
          },
          {
            "addon_id": "239",
            "values": "EL%20-%20%D1%8D%D0%BB%D0%B0%D1%81%D1%82%D0%B0%D0%BD%2C%20SE%20-%20%D1%88%D0%B5%D0%BB%D0%BA"
          },
          {
            "addon_id": "82",
            "values": "1"
          },
          {
            "addon_id": "181",
            "values": "%D1%82%D0%B5%D1%81%D1%82%201"
          }
        ]
      },
      {
        "tovar_id": "10018",
        "count": "1",
        "barcode_serv": "1270000000001",
        "kfx": "1",
        "discount": "10",
        "ext_info": "%D1%82%D0%B5%D1%81%D1%82",
        "nursery_id": "3",
        "dirty_id": "1",
        "addons": []
      },
      {
        "dos_id": "12344422",
        "count": "2",
        "addons": []
      },
      
      {
        "dos_id":"1",
        "tovar_id":"10018",
        "count":"1",
        "addons":[]
      },
      {
        "parent_id":"1",
        "tovar_id":"10016",
        "count":"1",
        "addons":[]
      },      
      {
        "dos_id":"2",
        "tovar_id":"10018",
        "count":"1",
        "addons":[]
      },
      {
        "parent_id":"2",
        "tovar_id":"10016",
        "count":"1",
        "addons":[]
      },
      {
        "parent_id":"2",
        "tovar_id":"100305",
        "count":"1",
        "addons":[]
      },
      
      {
        "parent_id":"100231208",
        "tovar_id":"10016",
        "count":"1",
        "addons":[]
      }
    ],
    "Comments": [
      "%D1%82%D0%B5%D1%81%D1%82%201", 
      "%D1%82%D0%B5%D1%81%D1%82%202"
    ]
  },
  "SessionID": "AFF2413A-CCD9-4392-A0EA-D35DEAD3C84D"
}

где
Order – объект переменных заказа:
dor_id – ID заказа, обязательный параметр;
doc_num – номер заказа, не обязательный параметр. Номер должен быть вида: XXXX-YY, где XXXX - порядковый номер заказа, YY – номер подразделения; на основе номера заказа формируется автоматически номер бирки услуг; без особой необходимости, данный параметр не нужно заполнять;

При использовании этого параметра, контроль правильности и последовательности формирования номера заказа ложится на разработчика;

bso – номер для налоговой, не обязательный параметр;
doc_date – дата принятия заказа (формат dd.mm.yyyy), не обязательный параметр;
fast_exec – ID срочности, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_times;
sclad_id – ID склада принятия, не обязательный параметр;
sclad_out_id – ID склада выдачи, не обязательный параметр;
price_id – ID прайс-листа, не обязательный параметр;
date_out – дата выдачи (формат dd.mm.yyyy HH:MM:SS), не обязательный параметр;
vds_id – ID внешней дисконтной схемы, не обязательный параметр. Берется из команды GetListsVdsDsForAll, массив строк vds;
status_id – статус заказа, не обязательный параметр. Принимает значения 1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный;
waiting_confirm – признак подтверждения заказа от клиента, не обязательный параметр. Принимает значения 0 - не требует подтверждения, по умолчанию; 1- требует подтверждения от клиента; 2 – клиент согласился, подтвержден; 3 - клиент НЕ согласился, отменен;
is_not_confirmed - признак подтверждения сотрудником химчистки, не обязательный параметр. Принимает значения 0 - если сотрудник химчистки уже подтвердил заказ или мы не ждем подтверждения от него, по умолчанию; 1 - если сотрудник химчистки еще не подтвердил заказа, но мы ждем это;
get_confirm_link - признак получения ссылки на подтверждение заказа вида https://agb.is/.... Для генерации ссылки должны быть указаны параметры waiting_confirm равным 1 и is_not_confirmed равным 0;
only_with_main_calc_price - разрешает работу опции «Рассчитывать цену как процент от другой услуги» из карточки номенклатуры услуге, не обязательный параметр;

Services – массив объектов услуг (обязательный параметр, если нет услуг на изменение оставляется пустым []):
dos_id - ID услуги заказа, не обязательный параметр. Если не указан параметр, услуга будет добавлена в существующий заказ как новая. Если параметр указан как порядковый номер, то служит [b]только[/b] для определения привязки основной услуги к дочерней по параметру parent_id и услуга будет добавлена в существующий заказ как новая;
parent_id - порядковый номер или для привязки к существующему ID в заказе родительской услуги, не обязательный параметр. Служит только для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру dos_id;
tovar_id – ID услуги из прайс-листа, если указан dos_id, то поле игнорируется, не обязательный параметр.
count – кол-во, обязательный параметр;
barcode_serv – ШК услуги, не обязательный параметр; без особой необходимости, данный параметр не нужно заполнять;

При использовании этого параметра, контроль правильности и последовательности формирования номера ШК услуги ложится на разработчика;

kfx – коэффициент, не обязательный параметр;
discount – скидка услуги, не обязательный параметр;
is_recalc_disc - счет скидки услуги в зависимости от скидки клиента, ДС, распродаж, не обязательный параметр. Расчет скидки происходит на стороне сервера, без учета параметра discount;
ext_info – описание, не обязательный параметр;
nursery_id – ID детской скидки, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_nurseries;
dirty_id – ID наценки, не обязательный параметр параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_dirties;
status_id – ID статус услуги, не обязательный параметр. Принимает значение 1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный;

addons – массив объектов доп. реквизитов (обязательный параметр, если нет услуг на изменение оставляется пустым []):
aos_id – ID строки доп реквизита в заказе, не обязательный параметр. Если не указан, то реквизит будет добавлен как новый;
addon_id – ID доп. реквизита, если указан aos_id, то поле игнорируется, не обязательный параметр. Узнать можно из команды AddonTypes, см. ниже;
values – значение реквизита (значения перечисляются через запятую), обязательный параметр;

Comments – массив строк комментариев по заказу (не обязательный параметр, если комментариев нет, то оставляем пустым []), перечисляются через запятую.

Для всех значений ключей json строки делается URI кодирование (например, можно использовать метод javascript encodeURIComponent);

Команда работает через авторизацию пользователем.

Ответ json:

{
  "error": 0,
  "dor_id": "12345",  
  "confirm_link": "https:\/\/agb.is\/..."
}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
dor_id – ID созданного заказа в Агбис;
confirm_link - ссылка на подтверждение заказа;
Msg – описание ошибки (при error = 1).


Получение фотографий услуг. GetOrderImagesForAll

Команда: GetOrderImagesForAll

Команда просмотра фотографий заказа.

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

Заголовок запроса (Header): не требуется.

Формат запроса: GetOrderImagesForAll={"dor_id": "11223334"}&SessionID=

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

.../api/?GetOrderImagesForAll=%7B%22dor_id%22%3A%20%2211223334%22%7D&SessionID=…

где
dos_id – ID услуги заказа, обязательно поле.

Ответ json:

{
  "error":0, 
  "photos":[
    {
      "dos_id": "100229859", 
      "photo_id": "1004", 
      "img": "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"
    }
  ]
}

где
photos – массив фотографий;
dos_id – ID услуги заказа;
photo_id – ID фотографии;
img – фотография в строке base64.


Сохранение фотографии в услуге. SetOrderImagesForAll

Команда: SetOrderImagesForAll

Сохранение фотографий в услуге.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?SetOrderImagesForAll

Тело запроса тип json:

{
  "SetOrderImagesForAll":{
    "dos_id": "100229859", 
    "img": "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"
  }, 
  "SessionID": "AFF2413A-CCD9-4392-A0EA-D35DEAD3C84D"
}

где
dos_id – ID услуги, обязательный параметр;
img – Jpeg картинка в строке base64, обязательный параметр.

Ответ json:

{"error": 0}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).


Пополнение бонусного счета клиента. AddBonusForAll

Команда: AddBonusForAll

Начисляет на клиента бонусы по ID клиента или по номеру карты.

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

Заголовок запроса (Header): не требуется.

Формат запроса: AddBonusForAll={"contr_id":"12345","amount":"125.85","active_before":"25.05.2022","max_percent_in_zakaz":"12.4","comment":"Тест"}&SessionID=

где
contr_id – ID клиента(если не указан, то поиск идет по barcode), обязательный параметр если не указан barcode;
barcode – номер карты клиента (если не указан, то поиск идет по contr_id), обязательно поле если не указан contr_id;
amount – сумма бонусов, обязательный параметр;
active_before - бонус действует до этой даты, не обязательный параметр;
max_percent_in_zakaz - максимальный процент оплаты заказа, не обязательный параметр;
comment - комментарий, не обязательный параметр.

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

.../api/?AddBonusForAll=%7B%22contr_id%22%3A%2212345%22%2C%22amount%22%3A%22125.85%22%2C%22active_before%22%3A%2225.05.2022%22%2C%22max_percent_in_zakaz%22%3A%2212.4%22%2C%22comment%22%3A%22%D0%A2%D0%B5%D1%81%D1%82%22%7D&SessionID=

Ответ json:

{"error":0}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).


Списки ВДС и ДС. GetListsVdsDsForAll

Команда: GetListsVdsDsForAll

Получение всех списков ВДС и ДС.

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

Заголовок запроса (Header): не требуется.

Формат запроса: GetListsVdsDsForAll&SessionID=

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

.../api/?GetListsVdsDsForAll&SessionID=

Ответ json:

{
  "error": 0, 
  "vds": [
    {
      "id": "100100100183", 
      "title": "100100100183"
    },
    {
      "id": "1005", 
      "title": "%D0%91%D0%BE%D0%BD%D1%83%D1%81%20%D0%BF%D1%80%D0%B8%20%D0%B2%D1%8B%D0%B4%D0%B0%D1%87%D0%B5"
    }
  ], 
  "ds": [
    {
      "id": "4", 
      "title": "3%25%20%D0%9D%D0%B0%D0%BA%D0%BE%D0%BF%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%203-15%25"
    }
  ]
}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
vds – массив строк внешних дисконтных схем;
ds – массив строк дисконтных схем;
Msg – описание ошибки (при error = 1).


Изменение статуса заказа. ChangeStatusOrdersForAll

Команда: ChangeStatusOrdersForAll

Изменение статуса заказа.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?ChangeStatusOrdersForAll

Тело запроса тип json:

{
  "ChangeStatusOrdersForAll":{
    "Orders": [
      {
        "dor_id": "100182", 
        "status_id": "3"
      }
    ]
  }, 
  "SessionID": "BBAB6C13-A9BE-4159-8A0C-332F813A7B49"
}

где
Orders – массив заказов (обязательный параметр):
dor_id – ID существующего заказа, обязательный параметр;
status_id – ID нового статуса заказа, обязательный параметр. Принимает значения 1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный.

Ответ json:

{"error":0}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).


Оплата заказа. PayForAll

Команда: PayForAll

Оплата заказа.

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

Заголовок запроса (Header): не требуется.

Формат запроса: PayForAll={"dor_id": "1123444", "amount": "123.25", "type_doc": "1"}&SessionID=

где
dor_id – ID заказа, обязательный параметр;
amount – сумма оплаты, обязательный параметр;
type_doc – тип документа возврата (1 – Оплата по карте, по умолчанию; 2- оплата по кассе, 3 – оплата по банку, 4 – оплата бонусом, 5 – оплата депозитом) , обязательный параметр;
is_fiscal - признак, что оплату по карте или по кассе нужно фискализировать (0 - без фискализации; 1 - требуется фискализировать), не обязательный параметр.
Для работы этого параметра требуется настроенная онлайн касса https://doc.agb.is/internal/agent_kassa_online в новом режиме и выставить настройку «Фискализировать оплаты коммерческого API PayForAll и ReturnPayForAll» (Будут фискализироваться оплаты совершенные через коммерческое API).

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

.../api/?PayForAll=%7B%22dor_id%22%3A%20%221123444%22%2C%20%22amount%22%3A%20%22123.25%22%2C%20%22type_doc%22%3A%20%221%22%7D&SessionID=

Ответ json:

{"error":0}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).


Возврат средств. ReturnPayForAll

Команда: ReturnPayForAll

Возврат средств в заказе.

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

Заголовок запроса (Header): не требуется.

Формат запроса: ReturnPayForAll={"dor_id": "1123444", "amount": "123.25", "type_doc": "1"}&SessionID=

где
dor_id – ID заказа, обязательный параметр;
amount – сумма возврата, обязательный параметр;
type_doc – тип документа возврата (1 – Возврат по карте, по умолчанию; 2- возврат по кассе, 3- возврат по банку), обязательный параметр;
is_fiscal - признак, что оплату по карте или по кассе нужно фискализировать (0 - без фискализации; 1 - требуется фискализировать), необязательный параметр.
Для работы этого параметра требуется настроенная онлайн касса https://doc.agb.is/internal/agent_kassa_online в новом режиме и выставить настройку «Фискализировать оплаты коммерческого API PayForAll и ReturnPayForAll» (Будут фискализироваться оплаты совершенные через коммерческое API).

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

.../api/?ReturnPayForAll=%7B%22dor_id%22%3A%20%221123444%22%2C%20%22amount%22%3A%20%22123.25%22%2C%20%22type_doc%22%3A%20%221%22%7D&SessionID=

Ответ json:

{"error":0}
где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).


Создание, изменение клиента. ContragForAll

Команда: ContragForAll

Создание, изменение клиента.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?ContragForAll

Тело запроса тип json:

{
  "ContragForAll":{
    "name": "%D0%A2%D0%B5%D1%81%D1%82%20%D0%90%D0%9C%D0%9E",
    "fullname": "%D0%A2%D0%B5%D1%81%D1%82%20%D0%90%D0%9C%D0%9E%20%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D1%81%D1%82",
    "teleph_cell": "%2B79990009915",
    "barcode": "778855522211",
    "gender": "1",
    "address": "%D1%82%D0%B5%D1%81%D1%82%201",
    "email": "example%40example.com",
    "discount": "23,4",
    "birthday": "15.02.1980",
    "scheme_id": "1001"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
contr_id – ID клиента, если указано поле, то будет поиск этого клиента для изменения, не обязательный параметр.
name – короткое имя (например: Иванов И.И.), обязательный параметр;
fullname – полное имя (например: Иванов Иван Иванович), обязательный параметр;
contrag_type – тип клиента (1 – организации; 2 – частные лица; 3 – Организации по договорам; по умолчанию 1), не обязательный параметр;
teleph_cell – сотовый телефон (обязательно в начале должен присутствовать символ +, кодируется символами - %2B), не обязательный параметр;
telephone – городской телефон, не обязательный параметр;
barcode – номер карты, не обязательный параметр;
gender – пол клиента (0-мужской, 1-женский), не обязательный параметр;
address – адрес, не обязательный параметр;
email – элек. почта, не обязательный параметр;
discount - скидка(разделитель запятая), не обязательный параметр;
birthday – день рождения (формат dd.mm.yyyy), не обязательный параметр;
agree_to_receive_sms – согласие на отправку сервисных смс, не обязательный параметр;
agree_to_receive_adv_sms – согласие на отправку рекламных смс, не обязательный параметр;
agree_to_receive_adv_email - согласие на отправку рекламных email, не обязательный параметр;
scheme_id – ID ДС, (берется из команды GetListsVdsDsForAll, массив строк ds), не обязательный параметр;
SessionID – ID сессии.

Для всех значений ключей json строки делается URI кодирование (например, можно использовать метод javascript encodeURIComponent).

Ответ json:

{
  "error": 0,
  "contr_id": "12345",
  "WasNew": "1"
}

где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
contr_id – ID созданного клиента в Агбис;
WasNew – признак добавления клиента (1 – добавлен как новый, 0 – обновленсуществующий).
Msg – описание ошибки (при error = 1).


Информация по клиенту. ContrInfoForAll

Команда: ContrInfoForAll

Получение информации по клиенту.

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

Заголовок запроса (Header): не требуется.

Формат запроса: ContrInfoForAll={"contr_id":"12345"}&SessionID=BBAB6C13-A9BE-4159-8A0C-332F813A7B49

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

.../api/?ContrInfoForAll=%7B%22contr_id%22:%2212345%22%7D&SessionID=BBAB6C13-A9BE-4159-8A0C-332F813A7B49

где
contr_id – ID клиента, обязательный параметр.

Ответ json:

{
  "error": 0, 
  "png": "EB831E9B-472E-4D30-9AAF-20296E6D0017",
  "dor_id": "12345",
  "contr_id":"10013",
  "name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81+%D0%A2%D0%B5%D1%81%D1%82+%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B8%D1%87","short_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
  "fone":"",
  "fone_cell":"%2B79990009900",
  "email":"test@test.com",
  "agree_to_receive_sms":"1",
  "agree_to_receive_adv_sms":"1",
  "address":"%D0%9D%D0%BE%D0%B2%D0%BE%D0%BA%D1%83%D0%B7%D0%BD%D0%B5%D1%86%D0%BA,+123-+4",
  "barcode":"1600000100138",
  "discount":"0",
  "scheme_id": "",
  "discount_scheme_name": "",
  "is_family": "0",
  "gender":"0",
  "sp":"2",
  "source":"",
  "last_discount":"15",
  "region_id":"",
  "full_orders_cost":"693942,49",
  "order_not_pay":"72",
  "order_count":"114",
  "deposit":"0",
  "bonus":"1237,75",
  "dolg":"520504,4",
  "promo_code":"P2HZ3",
  "lng":"RU",
  "need_confirm_contract":"0",
  "version_contract":"0",
  "birth_day":"01.10.1974",
  "addresses":[],
  "date_last_ds": "28.06.2022 13:52:08"
}

Где
error - успешность выполнения команды;
contr_id – ID клиента;
name - имя клиента;
fone - обычный телефон;
fone_cell - сотовый телефон;
email - электронная почта;
address - адрес клиента;
agree_to_receive_sms - согласен получать СМС о готовности заказов;
agree_to_receive_adv_sms - согласен получать рекламные и поздравительные СМС;
barcode - номер карточки клиента;
discount - процент скидки клиента;
scheme_id - ID дисконтной схемы;
discount_scheme_name - Наименование дисконтной схемы;
is_family - признак семейная скидка;
source - любой текст;
agree_save_card_pay – согласие клиента на сохранение карты оплаты;
birth_day – дата рождения;
bonus – остаток бонуса клиента;
deposit – остаток депозита клиента;
dolg – сумма долга клиента;
gender – пол клиента (0-мужской, 1-женский);
order_count – количество заказов;
order_not_pay – количество не оплаченных заказов;
promo_code – используемый промо-код;
region_id – район;
sp – тип клиента (1- организация, 2- физическое лицо);
date_last_ds - дата присвоения последней ДС.


Группы клиентов. ContrTree

Команда: ContrTree

Получение списка групп клиентов.

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

Заголовок запроса (Header): не требуется.

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

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

.../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 – наименование группы.


Списки срочности, виды детской одежды и наценки. GetListsOrderTNDForAll

Команда: GetListsOrderTNDForAll

Получение всех списков срочности, видов детской одежды и наценки.

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

Заголовок запроса (Header): не требуется.

Формат запроса: GetListsOrderTNDForAll&SessionID=

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

.../api/?GetListsOrderTNDForAll&SessionID=...

где
SessionID - Сессия, обязательный параметр.

Ответ json:

{
  "error": 0, 
  "order_dirties": [
    {
      "id": "1001", 
      "name": " %D0%9E%D1%87%D0%B5%D0%BD%D1%8C%20%D1%81%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%8F%D0%B7%D0%BD%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C"
    },
    {
      "id": "1005", 
      "name": "%D0%A1%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%B3%D1%80%D1%8F%D0%B7%D0%BD%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C"
    }
  ], 
  "order_nurseries": [
    {
      "id": "1001", 
      "name": "%D0%94%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F"
    },
    {
      "id": "1002", 
      "name": "%D0%9D%D0%B5%20%D0%B4%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F"
    }
  ]
  "order_times": [
    {
      "id": "1002", 
      "name": "%D0%9D%D0%B5%20%D1%81%D1%80%D0%BE%D1%87%D0%BD%D1%8B%D0%B9"
    },
    {
      "id": "1004", 
      "name": "%D0%A1%D1%80%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%2024%20%D1%87%D0%B0%D1%81%D0%B0"
    }
  ]
}
где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
order_dirties – массив строк наценки услуг;
order_nurseries – массив строк видов детской одежды для услуг;
order_times – массив строк типов срочности заказа;
Msg – описание ошибки (при error = 1).


Получения списка заказов, измененных в указанный промежуток времени. OrderByDateTimeForAll

Команда: OrderByDateTimeForAll

Получения списка информации по заказам, измененных в указанный промежуток времени.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?OrderByDateTimeForAll

Тело запроса тип json:

{
  "OrderByDateTimeForAll":{
    "StartDate": "01.03.2018 10:00",
    "StopDate": "01.03.2018 12:00"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр.

Ответ json:

{
  "error": 0,
  "order": [
    {
      "update":"16.03.2018+17:53:58",
      "dor_id":"100228",
      "doc_num":"000034",
      "contr_id":"10088",
      "kredit":"11",
      "debet":"11",
      "dolg":"0",
      "doc_date":"23.01.2018",
      "date_out":"24.01.2018+17:00:00",
      "status":"1",
      "status_name":"%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9",
      "photo_exist":"0",
      "discount":"0",
      "sclad_id":"1",
      "sclad_to":"1",
      "current_sclad_id":"1",
      "fast_execute":"0",
      "kind_id":"0",
      "vds_id":"",
      "user_id": "1",
      "user_name": "%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
      "firm_id": "10023",
      "firm_name": "%D0%9E%D0%9E%D0%9E%20%22%D0%9A%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%90%D0%B3%D0%B1%D0%B8%D1%81%22",
      "price_list_id": "10023",
      "price_list_name": "%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%20%E2%84%96000008%20%D0%BE%D1%82%2002.09.2019",      
      "waiting_confirm": "0",
      "is_not_confirmed": "0",
      "Srvices": [
        {
          "dos_id":"100229911",
          "parent_id":"100229910",
          "tov_id":"100295",
          "service":"%D0%91%D1%80%D1%8E%D0%BA%D0%B8+%D0%BA%D0%BE%D0%B6%D0%B0%D0%BD%D1%8B%D0%B5+(%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%81%D0%BA%D0%B0)",
          "code":"01.11",
          "status_id":"1",
          "status_name":"%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9",
          "serv_num":"1",
          "barcode":"271800000000341001",
          "price":"6",
          "qty":"1",
          "kfx":"1",
          "discount":"0",
          "nursery_id":"0",
          "nurseries_name":"%D0%9D%D0%B5+%D0%B4%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F",
          "nurseries_discount":"0",
          "serv_weight":"1",
          "dirty_id":"0",
          "dirty_name":"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5",
          "dirty_kfx":"1",
          "kredit":"6",
          "ext_info":"",
          "shop_description":"",
          "group_tov":"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)",
          "current_sclad_id": "1003",
          "contr_provider_id": "10072",
          "contr_provider_name": "%D0%9F%D0%BE%D0%B4%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F",
          "contr_provider_inn": "1234-1234-1234-1234",
          "nds_name": "%D0%91%D0%B5%D0%B7%20%D0%9D%D0%94%D0%A1",
          "addons":[
            {
               "addon_id":"110",
               "descr":"%D0%9F%D0%BE%D0%BB",
               "value_type":"1",
               "aos_id":"1003462",
               "aos_value":""
             },
          ]
        }
      ] ,
      "Tovars":[
        {
          "dol_id":"10043",
          "tov_id":"100300",
          "tovar_name":"%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%20%D1%81%D0%BE%D0%BF%D1%83%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B8%D0%B9",
          "code":"0",
          "group_tov":"%D0%A2%D0%BE%D0%B2%D0%B0%D1%80%D1%8B",
          "barcode":"",
          "price":"5",
          "qty":"1",
          "kfx":"1",
          "discount":"5",
          "kredit":"4,75",
          "ext_info":"sdddd%20sdg%20sgs",
          "tovar_descr":"fsdf%20sfs%20cfsd%20g%20wge%20w%D1%8B%20sg%20swgwg%20%D0%B4%D0%BE%D0%BB%D1%82%20kkkk%20k",
          "monger_id":"1",
          "monger_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81"
        }
      ],
      "payments":[
        {
          "date_pay":"18.12.2017+16:02:55",
          "document":"%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D0%B1%D0%B0%D0%BD%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B9+%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D0%B9",
          "debet":"150",
          "kredit":"0",
          "kassa_name":"%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F"
        }
      ] 
    }
  ]
}

где
Orders – массив объектов заказов;
update – дата изменения;
dor_id – ID заказа;
doc_num – номер заказа;
contr_id – ID клиента;
kredit – сумма заказа;
debet – сумма оплаты заказа;
dolg – долг по заказу;
doc_date – дата принятия заказа;
date_out – дата выдачи заказа;
status – ID статуса (1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный);
status_name – наименование статуса;
photo_exist – признак присутствия в заказе фотографий;
discount – скидка;
sclad_id - склад принятия;
sclad_to – склад выдачи;
current_sclad_id – текущий склад;
fast_execute – ID срочности;
kind_id – тип заказа (0 – заказ химчистки, 1- прачечный заказ, 2 – продажа товаров, 4 – выездной заказ);
vds_id – ID ВДС;
user_id - ID пользователя;
user_name - Имя пользователя;
waiting_confirm – признак подтверждения заказа от клиента, не обязательный параметр. Принимает значения 0 - не требует подтверждения, по умолчанию; 1- требует подтверждения от клиента; 2 – клиент согласился, подтвержден; 3 - клиент НЕ согласился, отменен;
is_not_confirmed - признак подтверждения сотрудником химчистки, не обязательный параметр. Принимает значения 0 - если сотрудник химчистки уже подтвердил заказ или мы не ждем подтверждения от него, по умолчанию; 1 - если сотрудник химчистки еще не подтвердил заказа, но мы ждем это;

Srvices – массив объектов услуг;
dos_id – ID услуги;
parent_id – ID родительской услуги;
tov_id – ID услуги в прайс-листе;
service – наименование услуги;
code – артикул услуги;
status_id – ID статуса (1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный);
status_name – наименование статуса;
serv_num – порядковый номер услуги;
barcode – штрихкод услуги;
price - цена услуги из прайс листа;
qty – количество;
kfx – коэффициент;
discount - скидка услуги;
nursery_id – ID детской скидки;
nurseries_name – наименование услуги;
nurseries_discount - значение детской скидки;
serv_weight – вес услуги;
dirty_id – ID наценки;
dirty_name – наименование наценки;
dirty_kfx – коэффициент наценки;
kredit – сумма услуги;
ext_info – описание;
shop_description – описание цеха;
group_tov – наименование группы услуги;
current_sclad_id – ID текущего склада услуги;
contr_provider_id - ID агента;
contr_provider_name - название агента;
contr_provider_inn - ИНН агента;
nds_name - применяемая НДС;

addons – массив объектов доп. Реквизитов;
addon_id – ID доп. реквизита;
descr – наименование доп. Реквизита;
value_type - тип доп. реквизита;
aos_id - ID реквизита в заказе;
aos_value - значение доп. Реквизита;

Tovars – массив объектов товаров:
dol_id – ID товара в заказе;
tov_id - ID товара в прайс-листе;
tovar_name – наименование товара;
group_tov – наименование группы товара;
barcode – ШК товара;
price – цена товара из прайс-листа;
qty – кол-во;
kfx – коэффициент;
discount – скидка по товару;
kredit – сумма товара в заказе;
ext_info – описание;
tovar_descr – описание товара;
monger_id – ID продавца (пользователя);
monger_name – Имя продавца (пользователя);

payments – массив объектов оплат;
date_pay – дата оплаты;
document –документ оплаты;
debet – Сумма прихода;
kredit – сумма расхода;
kassa_name – наименование кассы.


Получения списка клиентов измененные в указанный промежуток времени. ClientsByDateTimeForAll

Команда: ClientsByDateTimeForAll

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

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?ClientsByDateTimeForAll

Тело запроса тип json:

{
  " ClientsByDateTimeForAll":{
    "StartDate": "01.03.2018 10:00",
    "StopDate": "30.03.2018 20:00"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}
где
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр.

Ответ json:

{
  "error":0,
  "clients":[
    {           
      "update": "16.11.2021%2015:30:36",
      "contr_id": "10013",
      "fullname": "%D0%90%D0%B3%D0%B1%D0%B8%D1%81%20%D0%A2%D0%B5%D1%81%D1%82%20%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B8%D1%87",
      "name": "%D0%90%D0%B3%D0%B1%D0%B8%D1%81%20%D0%A2.%20%D0%A2.",
      "telephone": "",
      "teleph_cell": "%2B79990009900",
      "email": "test@test.ru",
      "address": "%D1%82%D0%B5%D1%81%D1%82",
      "barcode": "1600000100138",
      "discount": "12",
      "gender": "0",
      "is_active": "1",
      "is_deleted": "0",
      "source": "",
      "agree_to_receive_sms": "1",
      "agree_to_receive_adv_sms": "0",
      "sp": "2",
      "region_id": "",
      "date_create": "30.03.2017%2010:57:41",
      "first_order_date": "22.06.2017",
      "save_token_pay": "0",
      "last_order_date": "13.07.2022",
      "previous_order_date": "08.06.2022",
      "scheme_id": "",
      "schem_name": "",
      "is_family": "0",
      "dics_block_reason": "",
      "contr_block_reason": "",
      "address_post": "",
      "okpo": "",
      "inn": "",
      "kpp": "",
      "ogrn": "",
      "account": "",
      "bank_name": "",
      "birth_day": "",
      "order_not_pay": "380",
      "order_count": "599",
      "dolg": "1399165,42",
      "bonus": "5459,6",
      "deposit": "36",
      "enter_count": "208",
      "pay_rest": "-1310113,31",
      "date_avg": "2",
      "pay_summ": "1780109,24",
      "disc_rest": "%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BE%D1%82%D1%81%D1%83%D1%82%D1%81%D1%82%D0%B2%D1%83%D0%B5%D1%82",
      "promo_code": "P2HZ3",
      "date_last_ds": "28.06.2022 13:52:08"
    }
  ]
}

где
clients – массив объектов клиентов;
update – дата изменения клиента;
contr_id – ID клиента;
fullname – полное ФИО;
name – краткое ФИО;
telephone – обычный телефон;
teleph_cell – сотовый телефон;
email – электронная почта;
address – адрес клиента;
barcode – штрихкод клиента;
discount – скидки клиента;
gender – пол клиента (0-мужской, 1-женский);
is_active – признак активности;
is_deleted – признак удаления;
source – произвольный текст;
agree_to_receive_sms – согласие получать СМС о готовности заказов;
agree_to_receive_adv_sms – согласие получать рекламные и поздравительные СМС;
sp – тип клиента (1- организация, 2- физическое лицо);
region_id – регион;
date_create – дата создания;
first_order_date – дата первого заказа;
last_order_date – дата последнего заказа;
previous_order_date – дата предпоследнего заказа;
scheme_id - ID дисконтной схемы;
schem_name - наименование ДС;
is_family - признак семейная скидка;
agree_save_card_pay – признак согласия сохранять карту оплаты;
birth_day – дата рождения;
order_not_pay – количество не отплаченных заказов;
order_count – количество заказов;
deposit – остаток депозита клиента;
bonus – остаток бонусов клиента;
dolg – сумма долга;
enter_count – количество посещений;
pay_rest – нерастраченные авансовые платежи;
date_avg – среднее кол-во дней между заказами;
pay_summ –  сумма заказов за весь период;
disc_rest – остаток по дисконтной схеме;
promo_code – промо-код;
date_last_ds - дата присвоения последней ДС.


Список оплат за период. OrderPaysBetweenForAll

Команда: OrderPaysBetweenForAll

Получения списка оплат заказов за указанный период.

Данная команда с большими периодами может долго выполнятся, из за большого количества возвращаемых данных и вылетать по timeout! Рекомендуется в таких случаях уменьшать период.

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

Заголовок запроса (Header): Content-type: application/json

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

.../api/?OrderPaysBetweenForAll

Тело запроса тип json:

{
  "OrderPaysBetweenForAll":{
    "StartDate": "01.03.2018",
    "StopDate": "30.03.2018"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр.

Ответ json

{
  "error": 0,
  "order_pays": [
    {
      "dor_id": "102221",
      "doc_num": "00019-2",
      "contr_id": "10013",
      "contr_name": "%D0%90%D0%B3%D0%B1%D0%B8%D1%81%20%D0%A2%D0%B5%D1%81%D1%82%20%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%B8%D1%87",
      "teleph_cell": "%2B79990009900",
      "doc_date": "03.12.2021",
      "date_out": "03.12.2021",
      "status_id": "1",
      "kredit": "4501",
      "debet": "270",
      "pay_date": "20.01.2022",
      "pay_kassa_id": "54",
      "doc_type": "3",
      "pay_debet": "123",
      "pay_kredit": "0"
    }
  ]
}

где
order_pays – массив оплат:
dor_id – ID заказа;
doc_num – номер заказа;
contr_id – ID клиента;
contr_name – ФИО клиента;
teleph_cell – номер телефона;
doc_date – дата приема заказа;
date_out - дата выдачи заказа;
status_id – ID статуса заказа (1 – новый, 3 – в исполнении, 4 – исполненный, 5 – выданный, 7 - отмененный);
kredit – сумма заказа;
debet – полная сумма оплаты заказа;
pay_date – дата платежа;
pay_kassa_id – ID кассы платежа;
doc_type – тип платежа (3 - Кассовый документ, 4 - Банковский документ, 9 - Оплата банковской картой, 31 - Кассовый чек (оплата покупателем), 32 - Кассовый чек (возврат денег покупателю), 91 – Бонус, 92 - Оплата депозитом);
pay_debet – сумма прихода платежа;
pay_kredit – сумма возврата платежа.


Квитанция. Receipt

Команда: Receipt

Получение квитанции по заказу. Устаревший вариант

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

Заголовок запроса (Header): не требуется.

Формат запроса: Receipt={"dor_id":"12345", "typeExport": "png"}

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

.../api/?Receipt=%7B%22dor_id%22:%2212345%22%7D&SessionID=

где
dor_id – ID заказа, обязательный параметр;
typeExport – тип формата файла, pdf (по умолчанию), png, svg, не обязательный параметр.

Ответ json:

{
  "error": 0, 
  "png": "EB831E9B-472E-4D30-9AAF-20296E6D0017",
  "dor_id": "12345" 
}

Где
png – имя документа png.

Стандартный путь открытия квитанции:
https://www.himinfo.ru/upload_files/EB831E9B-472E-4D30-9AAF-20296E6D0017.pdf


Квитанция. ReceiptOnline

Команда: ReceiptOnline

Получение квитанции по заказу.

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

Заголовок запроса (Header): не требуется.

Формат запроса: ReceiptOnline={"dor_id":"12345", "typeExport": "png"}

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

.../api/?ReceiptOnline=%7B%22dor_id%22:%2212345%22%7D&SessionID=

где
dor_id – ID заказа, обязательный параметр;
typeExport – тип формата файла, pdf (по умолчанию), png, svg, не обязательный параметр;
В зависимости от typeExport будет содержать определенный документ с соответствующим Content-Type.
Для typeExport=pdf, Content-Type=application/pdf;
typeExport=png, Content-Type=image/png;
typeExport=svg, Content-Type=image/svg+xml.
sign – если указан, то при наличии квитанции с подписью, вернется квитанция в формате svg (работает только в паре с параметром typeExport=svg).

В ответ возвращаются двоичные данные


Список заказов за период. OrdersBetweenForAll

Команда: OrdersBetweenForAll

Получения списка заказов за указанный период.

Данная команда с большими периодами может долго выполнятся, из за большого количества возвращаемых данных и вылетать по timeout! Рекомендуется в таких случаях уменьшать период.

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

Заголовок запроса (Header):
Content-type: application/json; charset=UTF-8 - обязательный параметр
Accept-Encoding: deflate - сжатие возвращаемого ответа, не обязательный параметр.

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

.../api/?OrdersBetweenForAll

Тело запроса тип json:

{
  "OrdersBetweenForAll":{
    "StartDate": "01.03.2018",
    "StopDate": "30.03.2018",
    "callback_address":"https://test.com/test.php"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр;
callback_address – адрес на который нужно вернуть ответ, не обязательный параметр. Если команда будет возвращать ответ дольше чем 29сек, то на этот адрес будет отправлен сформированный ответ.

Ответ json:

{
  "error": 0,
  "order": [
    {
      "dor_id":"100228",
      "doc_num":"000034",
      "contr_id":"10088",
      "kredit":"11",
      "debet":"11",
      "dolg":"0",
      "doc_date":"23.01.2018",
      "doc_time":"11:10:00",
      "date_out":"24.01.2018+17:00:00",
      "status":"1",
      "status_name":"%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9",
      "photo_exist":"0",
      "discount":"0",
      "sclad_id":"1",
      "sclad_to":"1",
      "current_sclad_id":"1",
      "fast_execute":"0",
      "kind_id":"0",
      "vds_id":"",
      "waiting_confirm": "0",
      "is_not_confirmed": "0",
      "Srvices": [,
        {
          "dos_id":"100229911",
          "parent_id":"100229910",
          "tov_id":"100295",
          "service":"%D0%91%D1%80%D1%8E%D0%BA%D0%B8+%D0%BA%D0%BE%D0%B6%D0%B0%D0%BD%D1%8B%D0%B5+(%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%81%D0%BA%D0%B0)",
          "code":"01.11",
          "status_id":"1",
          "status_name":"%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9",
          "serv_num":"1",
          "barcode":"271800000000341001",
          "price":"6",
          "qty":"1",
          "kfx":"1",
          "discount":"0",
          "nursery_id":"0",
          "nurseries_name":"%D0%9D%D0%B5+%D0%B4%D0%B5%D1%82%D1%81%D0%BA%D0%B0%D1%8F",
          "nurseries_discount":"0",
          "serv_weight":"1",
          "dirty_id":"0",
          "dirty_name":"%D0%9E%D0%B1%D1%89%D0%B5%D0%B5",
          "dirty_kfx":"1",
          "kredit":"6",
          "ext_info":"",
          "shop_description":"",
          "group_tov":"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)",
          "contr_provider_id": "10072",
          "contr_provider_name": "%D0%9F%D0%BE%D0%B4%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F",
          "contr_provider_inn": "1234-1234-1234-1234",
          "nds_name": "%D0%91%D0%B5%D0%B7%20%D0%9D%D0%94%D0%A1",
          "addons":[
            {
              "addon_id":"110",
              "descr":"%D0%9F%D0%BE%D0%BB",
              "value_type":"1",
              "aos_id":"1003462",
              "aos_value":""
            },
          ]
        }
      ],
      "payments":[
        {
          "date_pay":"18.12.2017+16:02:55",
          "document":"%D0%9E%D0%BF%D0%BB%D0%B0%D1%82%D0%B0+%D0%B1%D0%B0%D0%BD%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B9+%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D0%B9",
          "debet":"150",
          "kredit":"0",
          "kassa_name":"%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F"
        }
      ] 
    }
  ]
}

где
Orders – массив объектов заказов;
dor_id – ID заказа;
doc_num – номер заказа;
contr_id – ID клиента;
kredit – сумма заказа;
debet – сумма оплаты заказа;
dolg – долг по заказу;
doc_date – дата принятия заказа;
doc_time – время принятия заказа;
date_out – дата выдачи заказа;
status – ID статуса;
status_name – наименование статуса;
photo_exist – признак присутствия в заказе фотографий;
discount – скидка;
sclad_id - склад принятия;
sclad_to – склад выдачи;
current_sclad_id – текущий склад;
fast_execute – ID срочности;
kind_id – тип заказа (0 – заказ химчистки, 1- прачечный заказ, 2 – продажа товаров, 4 – выездной заказ);
vds_id – ID ВДС;
waiting_confirm – признак подтверждения заказа от клиента. Принимает значения 0 - не требует подтверждения, по умолчанию; 1- требует подтверждения от клиента; 2 – клиент согласился, подтвержден; 3 - клиент НЕ согласился, отменен;
is_not_confirmed - признак подтверждения сотрудником химчистки. Принимает значения 0 - если сотрудник химчистки уже подтвердил заказ или мы не ждем подтверждения от него, по умолчанию; 1 - если сотрудник химчистки еще не подтвердил заказа, но мы ждем это;

Srvices – массив объектов услуг;
dos_id – ID услуги в заказе;
parent_id – ID родительской услуги;
tov_id – ID услуги в прайс-листе;
service – наименование услуги;
code – артикул услуги;
status_id – ID статуса;
status_name – наименование статуса;
serv_num – порядковый номер услуги;
barcode – штрихкод услуги;
price - цена услуги из прайс-листа;
qty – количество;
kfx – коэффициент;
discount - скидка услуги;
nursery_id – ID детской скидки
nurseries_name – наименование услуги;
nurseries_discount - значение детской скидки;
serv_weight – вес услуги;
dirty_id – ID наценки;
dirty_name – наименование наценки;
dirty_kfx – коэффициент наценки;
kredit – сумма услуги;
ext_info – описание;
shop_description – описание цеха;
group_tov – наименование группы услуги;
contr_provider_id - ID агента;
contr_provider_name - название агента;
contr_provider_inn - ИНН агента;
nds_name - применяемая НДС;

addons – массив объектов доп. реквизитов;
addon_id – ID доп. реквизита;
descr – наименование доп. реквизита;
value_type - тип доп. реквизита;
aos_id - ID реквизита в заказе;
aos_value - значение доп. реквизита;

payments – массив объектов оплат;
date_pay – дата оплаты;
document –документ оплаты;
debet – сумма прихода;
kredit – сумма расхода;
kassa_name – наименование кассы.


Список бонусов клиента за период. BonusesBetweenForAll

Команда: BonusesBetweenForAll

Получение списка бонусов клиента в указанный промежуток времени.

Данная команда с большими периодами может долго выполнятся, из за большого количества возвращаемых данных и вылетать по timeout! Рекомендуется в таких случаях уменьшать период.

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

Заголовок запроса (Header):
Content-type: application/json; charset=UTF-8 - обязательный параметр
Accept-Encoding: deflate - сжатие возвращаемого ответа, не обязательный параметр.

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

.../api/?BonusesBetweenForAll

Тело запроса тип json:

{
  "BonusesBetweenForAll":{
    "contr_id": "10013",
    "StartDate": "01.03.2021",
    "StopDate": "30.03.2021"
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
contr_id - ID клиента;
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр.

Ответ json:

{
  "error": 0,
  "bonuses": [
    {
      "bonus_id": "100624",
      "parent_bonus_id": "",
      "doc_date": "03.03.2021",
      "doc_time": "11:47:36",
      "kredit": "150",
      "already_payed": "10",
      "bonus_rest": "140",
      "active_before": "",
      "max_percent_in_zakaz": "",
      "one_time": "0",
      "comment": ""
    }
  ],
  "bonus_payments": [
    {
      "id": "100604",
      "bonus_id": "100624",
      "doc_date": "23.03.2021",
      "doc_time": "11:10:21",
      "debet": "10",
      "dor_id": "1001490",
      "doc_num": "000124"
    }
  ]
}

где
bonuses – массив объектов начислений бонусов;
bonus_id - ID бонуса;
parent_bonus_id - ID родительского бонуса, в связке c bonus_id;
doc_date - Дата начисления бонусов;
doc_time - Время начисления бонусов;
kredit - Сумма начисления бонуса;
already_payed - Потрачено бонуса;
bonus_rest - Остаток бонуса;
active_before - Дата до которой действуют бонусы;
max_percent_in_zakaz - Максимальный процент оплаты бонусами;
one_time - Признак только разовое использование;
comment - Комментарий;

bonus_payments – массив объектов оплат бонусами;
id - ID оплаты бонусом;
bonus_id - ID бонуса, которым оплачивали;
doc_date - Дата оплаты бонусом;
doc_time - Время оплаты бонусом;
debet - Сумма оплаты бонусом;
dor_id - ID заказа;
doc_num - номер заказа.


Прайс-лист. PriceList

Команда: PriceList

Получение прайс-листа.

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

Заголовок запроса (Header): не требуется.

Формат запроса: PriceList={"price_id":"12"}

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

.../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",
      "price_id": "0",
      "top_parent":"%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%B8%D0%BB%D1%8C",
      "order_addon_pack_id": "5",
    }
  ]
}

Где
price_list - содержит строки прайс-листа:
id – ID услуги в прайс листе;
folder_id – ID группы услуги;
tovar_type - тип позиции (1 - товары, 2 - услуги); code – артикул;
name – наименование услуги;
unit – единица измерения;
price – цена;
group_c – группа, где лежит услуга;
group_p – родительская группа, группы услуги;
top_parent – верхняя группа;
order_addon_pack_id – номер комплекта доп. реквизитов.


Группы прайс-листа. PriceTree

Команда: PriceTree

Группы прайс-листа.

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

Заголовок запроса (Header): не требуется.

Формат запроса: PriceTree={"id":"12"}

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

.../api/?PriceTree=%7B%22id%22:%2212%22%7D

где
id – ID прайс-листа, обязательный параметр.

Ответ json:

{
  "error": 0,
  "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 – комментарий.


Накладные в пути. DocsInWayBetweenForAll

Команда: DocsInWayBetweenForAll

Получения списка накладных в пути, в указанный промежуток времени.

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

Заголовок запроса (Header): Content-type: application/json; charset=UTF-8

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

.../api/?DocsInWayBetweenForAll

Тело запроса тип json:

{
  "DocsInWayBetweenForAll":{
    "StartDate": "01.03.2018",
    "StopDate": "30.03.2018",
  },
  "SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}

где
StartDate – дата начала, обязательный параметр;
StopDate – дата окончания, обязательный параметр.

Ответ json:

{
  "error": 0,
  "docs_in_way": [
    {
      "id":"100625",
      "doc_date":"27.12.2017",
      "doc_num":"000030",
      "diw_status_id":"3",
      "diw_status_name":"%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D0%B0",
      "from_sclad_id":"1",
      "to_sclad_id":"1007",
      "by_way_of_sclad_id":"10010",
      "from_sclad_name":"%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9",
      "to_sclad_name":"%D0%9F%D0%9F%20%D0%9E%D1%80%D1%8B%D0%BD%D0%B1%D0%BE%D1%80.%20%D0%A8%D0%BA%D0%B0%D1%84",
      "by_way_of_sclad_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",
      "from_user_id":"1",
      "accomp_id":"1",
      "to_user_id":"1",
      "from_user_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
      "accomp_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
      "to_user_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
      "qty_places":"",
      "barcode":"250000000000100625",
      "sclad_group_id":"",
      "sclad_group_name":"",
      "comments":"",
      "docs_in_way_serv":[
        {
          "id":"100121",
          "dos_id":"100229872",
          "doc_in_way_id":"100625",
          "barcode":"271700000001711003",
          "barcode_read":"%5B0%5D%20171%20(3)",
          "doc_num":"000171",
          "doc_date":"25.12.2017",
          "dor_id":"100186",
          "date_out":"25.12.2017%2017:00:00",
          "tovar_id":"100288",
          "tovar_name":"%D0%94%D1%83%D0%B1%D0%BB%D0%B5%D0%BD%D0%BA%D0%B0%202%2F4%20(%D0%BF%D0%BE%D0%BA%D1%80%D0%B0%D1%81%D0%BA%D0%B0)",
          "qty_kredit":"1",
          "status_id":"4",
          "status_name":"%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9",
          "date_in":"27.07.2018",
          "time_in":"15:07:20",
          "user_id_in":"1",
          "user_in_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
          "ext_info":"",
          "sclad_to":"1007",
          "sclad_to_name":"%D0%9F%D0%9F%20%D0%9E%D1%80%D1%8B%D0%BD%D0%B1%D0%BE%D1%80.%20%D0%A8%D0%BA%D0%B0%D1%84",
          "contr_id":"10013",
          "contr_name":"%D0%90%D0%B3%D0%B1%D0%B8%D1%81",
          "sclad_id_in":"1",
          "sclad_id_in_name":""
        }
      ]
    }
  ]
}

где
docs_in_way – массив объектов накладных в пути;
id – ID накладной в пути;
doc_date – дата накладной;
doc_num – номер накладной;
diw_status_id – ID статус накладной (1 - Готова к отгрузке, 2 - В пути, 3 - Принята, 4 - Принята не полностью);
diw_status_name – наименования статуса;
from_sclad_id – ID склада, «с какого клада накладная»;
to_sclad_id – ID склада, «на какой склад накладная»;
by_way_of_sclad_id – ID мобильного склада, «через мобильный склад»;
from_sclad_name – наименование, «с какого клада накладная»;
to_sclad_name – наименование, «на какой склад накладная»;
by_way_of_sclad_name – наименование, «через мобильный склад»;
from_user_id – ID пользователя, «отгрузил»;
accomp_id – ID пользователя, «экспедитор»;
to_user_id – ID пользователя, «принял»;
from_user_name – наименование, «отгрузил»;
accomp_name – наименование, «экспедитор»;
to_user_name – наименование, «принял»;
qty_places – кол-во мест;
barcode – штрихкод;
sclad_group_id – ID группы складов, «на группу складов»;
sclad_group_name – наименование, «на группу складов»;
comments – комментарий;

docs_in_way_serv – массив объектов услуг в накладной;
id – ID строки услуги в накладной;
dos_id – ID услуги в заказе;
doc_in_way_id – ID накладной;
barcode – штрихкод услуги;
barcode_read – штрихкод услуги, для чтения;
doc_num – номер заказа;
doc_date – дата заказа;
dor_id – ID заказа;
date_out – дата выдачи заказа;
tovar_id – ID услуге в прайс-листе;
tovar_name – наименование услуги;
qty_kredit – количество услуги;
status_id – статус услуги;
status_name – наименование статуса услуги;
date_in – дата принятия;
time_in – время принятия;
user_id_in – ID пользователя;
user_in_name – наименование пользователя;
ext_info – описание услуги;
sclad_to – ID склад выдачи заказа;
sclad_to_name – наименование склад выдачи заказа;
contr_id – ID клиента;
contr_name – ФИО клиента;
sclad_id_in – ID cклада принятия услуги в накладной;
sclad_id_in_name – наименование склада принятия услуги в накладной.


Информации по клиенту. ContragInfoForAll

Команда: ContragInfoForAll

Получение информации о клиенте по телефону.

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

Заголовок запроса (Header): не требуется.

Формат запроса: ContragInfoForAll={"teleph_cell":"+79990009900"}&SessionID=

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

.../api/?ContragInfoForAll=%7B%22teleph_cell%22%3A%22%2B79990009900%22%7D&SessionID=...

где
teleph_cell - номер телефона, обязательный параметр.

Ответ json:

{
  "error": 0,
  "contr_id": "10057",
  "fullname": "%D0%A2%D0%B5%D1%81%D1%82+%D0%90%D0%9C%D0%9E+%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D1%81%D1%82",
  "name": "%D0%A2%D0%B5%D1%81%D1%82+%D0%90%D0%9C%D0%9E",
  "teleph_cell": "%2B79990009917",
  "email": "example@example.com",
  "address": "%D1%82%D0%B5%D1%81%D1%82+1",
  "barcode": "778855522212",
  "discount": "23,4",
  "gender": "1",
  "birthday": "15.02.1980"
}

где
contr_id – ID клиента;
name – короткое имя;
fullname – полное имя;
teleph_cell – сотовый телефон (обязательно в начале должен присутствовать символ +, кодируется символами - %2B);
barcode – номер дисконтной карты;
gender – пол клиента (0-мужской, 1-женский);
address – адрес;
email – электронная почта;
discount - скидка(разделитель запятая);
birthday – день рождения (формат dd.mm.yyyy);
SessionID – ID сессии.


Дополнительные реквизиты. AddonTypes

Команда: AddonTypes

Получение доп. реквизитов.

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

Формат запроса: .../api/?AddonTypes

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

.../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

Формат запроса: .../api/?AddonPacks

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

.../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

Формат запроса: .../api/?ReceptionCenters

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

.../api/?ReceptionCenters

Ответ 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",
      "folder_id":"1"
    },
    ...
  ],
  ...
}
где
list - массив объектов складов:
id - ID склада;
name - наименование склада;
address - адрес склада;
working_hours - время работы;
phone - телефон склада;
location - геолокация, если вкл. определение геолокации;
group - группа склада;
folder_id - ID группы склада.


Регионы (районы). Regions

Команда: Regions

Получение списка регионов.

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

Заголовок запроса (Header): не требуется.

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

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

.../api/?Regions

Ответ json:

{
  "error":0,
  "regions":[
    {
      "id":"1002",
      "name":"test"
    },
    ...
  ]
}

где
regions - массив объектов регионов:
id – ID региона;
name – наименование региона.


Список изменившихся ID заказов. LastChangeOrder

Команда: LastChangeOrder

Получение списка изменившихся ID заказов.

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

Заголовок запроса (Header): не требуется.

Формат запроса: LastChangeOrder=&SessionID=

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

.../api/?LastChangeOrder&SessionID=...

Ответ json:

{
  "error": 0, 
  "last_orders": 
    [
      {
        "cur_id": "123",
        "dttm": "15.01.2019 12:23",
        "dor_id": "123456", 
        "status_id": "1", 
        "contr_id": "123456789"
        "cur_sclad_id": "12334",
        "sclad_to": "12333",
        "sclad_kredit_id": "12345"
      },
      {
        "cur_id": "124",
        "dttm": "15.01.2019 12:24",
        "dor_id": "258963",
        "status_id": "3",
        "contr_id": "1234567",
        "cur_sclad_id": "12334",
        "sclad_to": "12333",
        "sclad_kredit_id": "12345"
      },
      ...
    ]
}

где
last_orders – массив изменившихся заказов:
cur_id - порядковый номер изменения;
dttm - дата и время изменения;
dor_id – ID заказа;
contr_id – ID клиента;
status_id – статус заказа (1 – новый, 3 – в исполнении, 4 – исполненный, 5 - выданный);
cur_sclad_id – текущий ID склад заказа на момент изменения в заказе;
sclad_to - ID склада выдачи;
sclad_kredit_id - ID склада приема;


Создание выезда. TripOrder

Команда: TripOrder

Создание выезда в назначенное время.

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

Заголовок запроса (Header): не требуется.

Формат запроса: TripOrder={"tp": "1", "date": "07.07.2020", "hr": "11:00", "hr_to": "12:00", "address": "тест", "region_id": "1", "car_id": "2", "comment": "тест", "fio": "Тест", "tel": "+79876543210", "mp_status": "1"}&SessionID=

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

.../api/?TripOrder=%7B%22tp%22%3A%20%221%22%2C%20%22date%22%3A%20%2207.07.2020%22%2C%20%22hr%22%3A%20%2211%3A00%22%2C%20%22hr_to%22%3A%20%2212%3A00%22%2C%20%22address%22%3A%20%22%D1%82%D0%B5%D1%81%D1%82%22%2C%20%22region_id%22%3A%20%221%22%2C%20%22car_id%22%3A%20%222%22%2C%20%22comment%22%3A%20%22%D1%82%D0%B5%D1%81%D1%82%22%2C%20%22fio%22%3A%20%22%D0%A2%D0%B5%D1%81%D1%82%22%2C%20%22tel%22%3A%20%22%2B79876543210%22%2C%20%22mp_status%22%3A%20%221%22%7D&SessionID=...

где
id - ID выезда, не обязательный параметр. Задается для редактирования выезда (команда Trips);
tp - тип выезда (1 - забрать, 2 - доставить по умолчанию), не обязательный параметр;
contr_id - ID клиента, не обязательный параметр;
date – дата, на которую создается резерв (формат 21.12.2020), обязательный параметр;
hr – время, на которое создается резерв (формат «11:30»), обязательный параметр;
hr_to – время окончания выезда (формат «11:30»), обязательный параметр;
address – адрес выезда, если выезд по клиенту, обязательный параметр;
region_id – ID региона (из команды Regions), не обязательный параметр;
car_id - ID мобильного склада, обязательный параметр;
comment – комментарий, не обязательный параметр;
tel - телефон клиента, обязательный параметр;
fio - фио клиента, не обязательный параметр;
mp_status - статус выезда (0 - новый, 1 – совершен, 2 – завершен), обязательный параметр;
SessionID - ID сессии, обязательный параметр.

Ответ json:

{
  "error":0, 
  "Msg": "%D0%97%D0%B0%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BE"
}