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" } }
GetBookingStatus
Возвращает статус заявки, в параметрах можно передать массив идентификаторов заявок.
Запрос содержит один обязательный параметр Booking.
Можно передать дополнительный параметр AdditionalProperties. В этом случае в результат будут добавлены значения дополнительных свойств заявки, заданных для нее в базе. Список свойств передается через запятую без пробелов. В 1С это поле КОД доп. свойства.
- Пример вызова
http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=GetBookingStatus&Booking=[{"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89ae406700121"}, {"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89f1413f618ad"}]
- Пример ответа
{ "Success": true, "Result": [ { "Date": "2018-08-08T12:21:19", "Number": "ТТ0000000165", "Sanatorium": { "Name": "ОАО санаторий \"Родные просторы\"", "ID": "e1cib/data/Справочник.Организации?ref=8e8150e54935bd5411e25bc6880bb616" }, "Status": "Исполнена (закрыта)", "Booked": 4, "Denied": 0, "ToProcess": 0, "ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89ae406700121" }, { "Date": "2018-08-13T20:15:22", "Number": "ТТ0000000170", "Sanatorium": { "Name": "ОАО санаторий \"Родные просторы\"", "ID": "e1cib/data/Справочник.Организации?ref=8e8150e54935bd5411e25bc6880bb616" }, "Status": "На исполнении (1)", "Booked": 0, "Denied": 0, "ToProcess": 1, "ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89f1413f618ad" } ] }
GetBookingList
Список заявок заявителя.
- Пример вызова
- http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=GetBookingList&Client={"ID":"e1cib/data/Справочник.Контрагенты?ref=aab56c626dc53d6911e8a44b45d09480"}
- Пример ответа
- Аналогично методу GetBookingStatus.
CancelBooking
Запрос на отмену заявки, в параметрах передаются идентификаторы заявок. Можно отменить только необработанную заявку, если по заявке уже выполнены какие-то действия. Метод возвращает массив заявок и результатов отмены.
- Пример вызова
- http://127.0.0.1/имя_публикации/hs/KintAPI.hs/PostData?Method=CancelBooking&Booking={"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89ae406700121"}
- Пример ответа
{ "Success": true, "Result": [ { "Booking": { "Date": "2018-08-08T12:21:19", "Number": "ТТ0000000165", "ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89ae406700121" }, "Результат": "Заявка подтверждена, автоматическая отмена невозможна!" } ] }
GetCatalog
Метод позволяет получить перечень элементов справочника, можно использовать для получения списка организаций, категорий номеров и т.п.
Обязательный параметр - CatalogName (имя справочника в конфигураторе). Опциональные параметры: Fields (список реквизитов через запятую), Filter (отбор в виде json с идентификаторами объектов)
- Пример вызова
http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=GetCatalog&CatalogName=Организации&Fields=Ссылка,ИНН,КПП&Filter={"ГоловнаяОрганизация": {"ID": "e1cib/data/Справочник.Организации?ref=b72f90e6baabdd1411e271b038722897"}}
- Пример вызова с отбором
http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=GetCatalog&CatalogName=Организации&Fields=Ссылка,ИНН,КПП&Filter={"ГоловнаяОрганизация":%20{"ID":"e1cib/data/Справочник.Организации?ref=ad5c5404a66e4a8911e37e83f3ef6892"}}
- Пример ответа
{ "Success": true, "Result": [ { "Ссылка": { "Name": "ОАО санаторий \"Родные просторы\"", "ID": "e1cib/data/Справочник.Организации?ref=8e8150e54935bd5411e25bc6880bb616" }, "ИНН": "1835012280", "КПП": "184101001" }, { "Ссылка": { "Name": "ООО \"Италмас\"", "ID": "e1cib/data/Справочник.Организации?ref=b72f90e6baabdd1411e271b038722897" }, "ИНН": "", "КПП": "" } ] }
Соответствие имен реквизитов
Внутренний | Внешний |
---|---|
Наименование | Name |
Код
Code
Идентификатор
ID
Контрагент
Client
ОписаниеОшибки
Error
НомерГостиницы
Room
КатегорияНомера
RoomCategory
Дата
Date
Номер
Number
НачалоПериода
DateFrom
КонецПериода
DateTo
Количество
Qty
ОрганизацияПребывания
Sanatorium
Состояние
Status
Забронировано
Booked
Отказано
Denied
ОсталосьОбработать
ToProcess
Заявка
Booking
Файл
File
КоличествоДней
Days
ОрганизацияПребывания
OrganizationOfStay
Семья
Family
Гости
Guests
Пол
Sex
СтепеньРодства
Relation
АдресРегистрации
RegAddress
ДатаРождения
BirthDate