Команды сохранения/редактирования клиентов, заказов, оплаты и т.п., для выполнения которых Требуется пользовательская сессия.
Создание, изменение клиента. ContragForAll
Пополнение бонусного счета клиента. AddBonusForAll
Сохранение заказа. SaveOrderForAll
Изменение заказа. UpdateOrderForAll
Изменение статуса заказа. ChangeStatusOrdersForAll
Создание выезда. TripOrder
Сохранение фотографии в услуге. SetOrderImagesForAll
Оплата заказа. PayForAll
Возврат средств. ReturnPayForAll
Команда: ContragForAll
Создание, изменение клиента.
Метод отправки: POST
Заголовок запроса (Header): Content-type: application/json; charset=UTF-8
Строка запроса:
POST .../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",
"price_list_id": "0",
"folder_id": "0"
},
"SessionID": "0BE170AB-86AF-441F-8523-8C960EA3EC4E"
}
где
contr_id – ID клиента, если указано поле, то будет поиск этого клиента для изменения, не обязательный параметр.
name – короткое имя (например: Иванов И.И.), обязательный параметр;
fullname – полное имя (например: Иванов Иван Иванович), обязательный параметр;
contrag_type – тип клиента (1 – организации; 2 – частные лица; 3 – Организации по договорам; по умолчанию 2), не обязательный параметр;
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), не обязательный параметр;
price_list_id - ID прайс-листа по умолчанию, с версии 24.4;
folder_id - ID группы создания клиента
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).
Команда: AddBonusForAll
Пополнение бонусного счета клиента.
Начисляет на клиента бонусы по ID клиента или по номеру карты.
Может использоваться, например, вознаграждение за первый заказ или регистрацию на сайте
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
AddBonusForAll={"contr_id":"12345","amount":"125.85","active_before":"25.05.2022","max_percent_in_zakaz":"12.4","bonus_type_id":"1001","comment":"Тест"}&SessionID=
Строка запроса:
GET.../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=...
где
contr_id – ID клиента(если не указан, то поиск идет по barcode), обязательный параметр если не указан barcode;
barcode – номер карты клиента (если не указан, то поиск идет по contr_id), обязательно поле если не указан contr_id;
amount – сумма бонусов, обязательный параметр;
active_before - бонус действует до этой даты, не обязательный параметр;
max_percent_in_zakaz - максимальный процент оплаты заказа, не обязательный параметр;
bonus_type_id - ID типа бонусного начисления, не обязательный параметр;
comment - комментарий, не обязательный параметр.
Ответ json:
{"error":0}
где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).
Команда: SaveOrderForAll
Сохранение заказа.
Метод отправки: POST
Заголовок запроса (Header): Content-type: application/json; charset=UTF-8
Строка запроса:
POST .../api/?SaveOrderForAll
Тело запроса тип json:
{
"SaveOrderForAll":{
"Order":{
"contr_id": "10013",
"doc_num": "233",
"bso": "2233344555",
"doc_date": "29.10.2017",
"fast_exec": "0",
"creater_id": "1234",
"sclad_id": "1003",
"sclad_out_id": "1005",
"current_sclad_id": "1234",
"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",
"current_sclad_id": "1234",
"addons": [
{
"addon_id":"100243",
"values": "20,3.3,2"
},
{
"addon_id":"100245",
"values": "2|1.3|3|"
}
]
},
{
"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":[]
}
],
"Products": [
{
"tovar_id": 12345,
"count": 1,
"discount": 0,
"tovar_descript": "",
"ext_info": ""
}
],
"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 – номер подразделения; на основе номера заказа формируется автоматически номер бирки услуг; без особой необходимости, данный параметр не нужно заполнять;
При использовании этого параметра, контроль правильности и последовательности формирования номера заказа ложится на разработчика;
{.is-info}
doc_date – дата принятия заказа (формат dd.mm.yyyy), не обязательный параметр;
fast_exec – ID срочности, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_times;
creater_id - ID приемщика заказа, не обязательный параметр. По умолчанию используется ID авторизованного пользователя;
sclad_id – ID склада принятия, обязательный параметр;
sclad_out_id – ID склада выдачи, обязательный параметр;
current_sclad_id - ID текущего склада заказа, не обязательный параметр. По умолчанию используется ID склада принятия заказа;
price_id – ID прайс-листа, не обязательный параметр. По умолчанию 0 - "Розничный прайс лист" берется из PriceLists;
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 – массив объектов услуг (обязательный параметр, если услуг нет указывается пустым, но в этом случае в заказ должен быть добавлен товар (Products), пустые заказы создавать нельзя):
dos_id - порядковый номер основной услуги (1, 2, и т.д.), не обязательный параметр. Служит только для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру parent_id;
parent_id - порядковый номер родительской услуги (1, 2, и т.д.), не обязательный параметр. Служит только для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру dos_id;
Примеры заполнения dos_id и parent_id при сохранении нового заказа:
{
"dos_id": "1",
"tovar_id": "10018",
"count": "1",
...
}, {
"dos_id": "2",
"parent_id": "1",
"tovar_id": "10018",
"count": "1",
...
}, ...
tovar_id – ID услуги из прайс-листа (только с типом tovar_type 2 - услуги, узнать можно из прайс-листа командой PriceList), обязательный параметр;
count – кол-во, обязательный параметр;
barcode_serv – ШК услуги, не обязательный параметр; без особой необходимости, данный параметр не нужно заполнять;
При использовании этого параметра, контроль правильности и последовательности формирования номера ШК услуги ложится на разработчика;
{.is-info}
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 - отмененный; current_sclad_id - ID текущего склада услуги, не обязательный параметр. По умолчанию используется ID склада принятия заказа;
addons – массив объектов доп. реквизитов (обязательный параметр, если не реквизитов для заполнения, указывается пустым []):
addon_id – ID доп. реквизита, обязательный параметр. Узнать можно из команды AddonTypes, см. ниже;
values – значение реквизита (значения перечисляются через разделитель. Для сброса значения реквизита задается пустое значение), обязательный параметр;
Команда поддерживает передачу значений дополнительных реквизитов по-умолчанию. Значения можно задать как в карточке дополнительного реквизита, так и в карточке услуги. Примеры заполнения addons для:
{
"addon_id": "123",
"values": "12"
}
{
"addon_id": "124",
"values": "%D0%BF%D1%8F%D1%82%D0%BD%D0%B0"
}
{
"addon_id": "125",
"values": "1"
}
{
"addon_id": "126",
"values": "12.03.2022"
}
{
"addon_id": "127",
"values": "12,3"
}
{
"addon_id": "128",
"values": "20,3.3,2" // Перечисление значений по порядку, через запятую
}
{
"addon_id": "129",
"values": "%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%BE%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC%D1%8B%D0%B5%20%D0%BF%D1%8F%D1%82%D0%BD%D0%B0"
}
{
"addon_id": "130",
"values": "2|1.3|3|" // где -> тип|длина|ширина|
}
Products – массив объектов товаров (не обязательный параметр):
tovar_id - ID товара (только с типом tovar_type = 1 - товары из PriceList), обязательный параметр;
count - количество, обязательный параметр;
discount - скидка, не обязательный параметр;
tovar_descript - описание товара, не обязательный параметр;
ext_info – дополнительная информация, не обязательный параметр;
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 - ссылка на подтверждение заказа, при указанном параметре get_confirm_link = 1;
Msg – описание ошибки (при error = 1).
Команда: UpdateOrderForAll
Изменение существующего заказа.
Метод отправки: POST
Заголовок запроса (Header): Content-type: application/json; charset=UTF-8
Строка запроса:
POST .../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",
"current_sclad_id": "1234",
"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",
"current_sclad_id": "1234",
"addons": [
{
"aos_id":"10030547",
"values": ""
},
{
"aos_id":"10030548",
"values": "4|2,3|4,5|"
},
{
"aos_id":"10030549",
"values": "20,3.3,2"
}
]
},
{
"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":[]
}
],
"Products": [
{
"dol_id": 12345678,
"tovar_id": 12345,
"count": 1,
"discount": 0,
"tovar_descript": "",
"ext_info": ""
}
{
"tovar_id": 12345,
"count": 1,
"discount": 0,
"tovar_descript": "",
"ext_info": ""
}
],
"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 – номер подразделения; на основе номера заказа формируется автоматически номер бирки услуг; без особой необходимости, данный параметр не нужно заполнять;
При использовании этого параметра, контроль правильности и последовательности формирования номера заказа ложится на разработчика;
{.is-info}
doc_date – дата принятия заказа (формат dd.mm.yyyy), не обязательный параметр;
fast_exec – ID срочности, не обязательный параметр. Берется из команды GetListsOrderTNDForAll, массив строк order_times;
sclad_id – ID склада принятия, не обязательный параметр;
sclad_out_id – ID склада выдачи, не обязательный параметр;
current_sclad_id - ID текущего склада заказа, не обязательный параметр. По умолчанию используется ID склада принятия заказа;
price_id – ID прайс-листа, не обязательный параметр. Берется из PriceLists;
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 услуги в заказе (11234 или 1, 2, и т.д.), не обязательный параметр. Если параметр не указан, услуга будет добавлена в существующий заказ как новая. Если параметр указан как порядковый номер, то служит только для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру parent_id и услуга будет добавлена в существующий заказ как новая;
parent_id - порядковый номер или для привязки к существующему ID в заказе родительской услуги (11234 или 1, 2, и т.д.), не обязательный параметр. Служит только для определения привязки дочерней услуги (комплектной или ремонтной) к основной по параметру dos_id;
Примеры заполнения dos_id и parent_id при сохранении существующего заказа:
{
"dos_id": "1",
"parent_id": "10016",
"tovar_id": "10018",
"count": "1",
...
}, {
"dos_id": "2",
"tovar_id": "10018",
"count": "1",
...
}, {
"dos_id": "10022",
"tovar_id": "10018",
"count": "1",
...
}, ...
tovar_id – ID услуги из прайс-листа (только с типом tovar_type 2 - услуги из PriceList), если указан dos_id, то поле игнорируется, не обязательный параметр.
count – кол-во, обязательный параметр;
barcode_serv – ШК услуги, не обязательный параметр; без особой необходимости, данный параметр не нужно заполнять;
При использовании этого параметра, контроль правильности и последовательности формирования номера ШК услуги ложится на разработчика;
{.is-info}
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 - отмененный;
current_sclad_id - ID текущего склада услуги, не обязательный параметр. По умолчанию используется ID склада принятия заказа;
addons – массив объектов доп. реквизитов (обязательный параметр, если нет реквизитов на изменение, то оставляется пустым []):
aos_id – ID строки доп реквизита в заказе в существующей услуге, не обязательный параметр. Если не указан, то реквизит будет добавлен как новый;
addon_id – ID доп. реквизита в новой услуге, если указан aos_id, то поле игнорируется, не обязательный параметр. Узнать можно из команды AddonTypes, см. ниже;
values – значение реквизита (значения перечисляются через разделитель. Для сброса значения реквизита задается пустое значение), обязательный параметр;
Примеры заполнения addons для:
<sxh> {
"addon_id": "123",
"values": "12"
} </sxh>
<sxh> {
"addon_id": "124",
"values": "%D0%BF%D1%8F%D1%82%D0%BD%D0%B0"
} </sxh>
<sxh> {
"addon_id": "125",
"values": "1"
} </sxh>
<sxh> {
"addon_id": "126",
"values": "12.03.2022"
} </sxh>
<sxh> {
"addon_id": "127",
"values": "12,3"
} </sxh>
<sxh> {
"addon_id": "128",
"values": "20,3.3,2" // Перечисление значений по порядку, через запятую
} </sxh>
<sxh> {
"addon_id": "129",
"values": "%D0%BF%D1%8F%D1%82%D0%BD%D0%B0"
} </sxh>
<sxh> {
"addon_id": "130",
"values": "2|1.3|3|" // где -> тип|длина|ширина|
} </sxh>
Products – массив объектов товаров (не обязательный параметр):
dol_id - ID товара в заказе (11234 или 1, 2, и т.д.), не обязательный параметр. Если параметр не указан, товар будет добавлен в существующий заказ как новый. tovar_id - ID товара (только с типом tovar_type = 1 - товары из PriceList), обязательный параметр;
count - количество, обязательный параметр;
discount - скидка, не обязательный параметр;
tovar_descript - описание товара, не обязательный параметр;
ext_info – дополнительная информация, не обязательный параметр;
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).
Команда: ChangeStatusOrdersForAll
Изменение статуса заказа.
Метод отправки: POST
Заголовок запроса (Header): Content-type: application/json; charset=UTF-8
Строка запроса:
POST .../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).
Команда: SetOrderImagesForAll
Сохранение фотографий в услуге.
Метод отправки: POST
Заголовок запроса (Header): Content-type: application/json; charset=UTF-8
Строка запроса:
POST .../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).
Команда: PayForAll
Передача информации об оплате заказа (dor_id) из внешней системы.
На внешнем сервисе может быть реализована любая Платежная система, в Агбис необходимо передать краткую информацию по оплате.
Возможна частичная оплата, т.е. часть "оплата по карте", часть "оплата бонусом".
<WRAP center round important 60%> Для выполнения команды необходимо выставить две глобальные настройки на центральной базе клиента.
Значения необходимо согласовать с Химчисткой.

ВАЖНО! : если оплату необходимо фискализировать на ККТ, то необходимо передать параметр is_fiscal
При этом у клиента должна быть настроена фискализации
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
PayForAll={"dor_id": "1123444", "amount": "123.25", "type_doc": "1"}&SessionID=
Строка запроса:
GET .../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=...
где
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);
payment_url - http(s) адрес домена откуда произведена онлайн оплата при type_doc = 1 - "Оплата по карте" для фискализации, необязательный параметр.
kassa_id - вн.номер кассы на которой происходит оплата, необязательный параметр.
Ответ json:
{"error":0}
где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).
Команда: ReturnPayForAll
Возврат средств в заказе.
Метод отправки: GET
Заголовок запроса (Header): не требуется.
Формат запроса:
ReturnPayForAll={"dor_id": "1123444", "amount": "123.25", "type_doc": "1"}&SessionID=
Строка запроса:
GET .../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=...
где
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);
payment_url - http(s) адрес домена откуда произведен возврат онлайн оплаты при type_doc = 1 - "Возврат по карте" для фискализации, необязательный параметр.
Ответ json:
{"error":0}
где
error – статус выполнения (0 – нет ошибки, 1 – ошибка, 2 – не авторизирован, 3 - авторизация просрочена);
Msg – описание ошибки (при error = 1).