API (Кинт)
Содержание
Общее
При вызове любой операции необходимо передать имя метода - это предопределенный параметр http-запроса Method.
Ответ в формате JSON, Content-Type: application/json;charset=utf-8
Ответ содержит два поля: Success - флаг успешности выполнения и Result - результат выполнения, обычно структура.
- Вызов GET запроса
- http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=ИмяМетода
- Вызов POST запроса
- http://127.0.0.1/имя_публикации/hs/KintAPI.hs/PostData?Method=ИмяМетода
Пример ответа с ошибкой:
{ "Success": false, "Result": { "Error": "Метод конфигурации <ИмяМетода> не найден!" } }
Для поиска любых ссылочных объектов используется одно из ключевых полей: ID или GUID.
- ID - это навигационная ссылка на объект в базе 1С: Предприятия (e1cib/data/Справочник.НоменклатураПомещений?ref=b4585404a66e4a8911e8bb0449fde0fc),
- GUID - это уникальный идентификатор ссылки (49fde0fc-bb04-11e8-b458-5404a66e4a89).
При передаче параметров в запросах достаточно указать одно из этих полей:
?RoomCategory= [{"ID": "e1cib/data/Справочник.НоменклатураПомещений?ref=b4585404a66e4a8911e8bb0449fde0fc"}, {"ID": "e1cib/data/Справочник.НоменклатураПомещений?ref=b4585404a66e4a8911e8bb0449fde0fc"}]
Если в параметрах переданы оба поля, приоритет за полем ID. Следует учесть, что поиск по ID примерно на 50% быстрее поиска по GUID.
Файлы приложений передаются в формате base64.
Методы
GetRoomQuota
Получение данных о квоте номеров за период, обязательно передавать период, за который требуется получить данные: DateFrom и DateTo. Необязательный параметр RoomCategory, если требуется получить данные по определенной категории(ям) номеров.
Возвращает таблицу: для каждой категории номера
- Пример ответа
{ "Success": true, "Result": [ { "RoomCategory": { "Name": "Люкс 2к", "ID": "e1cib/data/Справочник.НоменклатураПомещений?ref=88575404a66e4a8911e340740eaeea25" }, "DateFrom": "2018-08-06T00:00:00", "Qty": 2, "DateTo": "2018-08-31T23:59:59" } ] }
PostBooking
Отправка данных для создания новой заявки, в случае успеха метод возвращает номер, дату и идентификатор созданного документа.
Данные для создания заявки передаются в теле запроса в формате json.
- Пример вызова
- http://127.0.0.1/имя_публикации/hs/KintAPI.hs/PostData?Method=PostBooking
- Тело запроса
{ "Client": { "Name": "Иванов Иван Иванович", "BirthDate": "1980-11-11T00:00:00", "Sex": "М", "RegAddress": {} }, "Guests": [ { "Name": "Иванов Сергей Иванович", "BirthDate": "1995-01-11T00:00:00", "Sex": "Мужской", "Relation": { "Name": "Сын", "ID": "e1cib/data/Справочник.яъСтепениРодстваФЛ?ref=95965404a66e4a8911e3c1440ad6102b" } } ], "OrganizationOfStay": { "ID": "e1cib/data/Справочник.Организации?ref=8e8150e54935bd5411e25bc6880bb616" }, "DateFrom": "2018-10-01T00:00:00", "Days": 10, "RoomCategory": { "ID": "e1cib/data/Справочник.НоменклатураПомещений?ref=88575404a66e4a8911e340740eaeea25" }, "File": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xh\r\nBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA\r\nAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfiCA8IEiy7\r\ndAY2AAAASUlEQVRIx2NkIBX8R2IzMjAwkWwAGhg1YNQABgYGBhaCKtBS3uDzwqgB\r\nNEkHBOJ98HmBCmFAop8HnxeGgQEDDxhR0gHpuikPAwAGOwVBRSBc0gAAACV0RVh0\r\nZGF0ZTpjcmVhdGUAMjAxOC0wOC0xNVQwODoxODo0NCswMjowMGUy3CQAAAAldEVY\r\ndGRhdGU6bW9kaWZ5ADIwMTgtMDgtMTVUMDg6MTg6NDQrMDI6MDAUb2SYAAAAGXRF\r\nWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==" }
- Пример ответа
{ "Success": true, "Result": { "Date": "2018-08-21T11:07:37", "Number": "ТТ0000000173", "ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e8a510e223144c" } }