API (Кинт) — различия между версиями

Материал из КинтВики
Перейти к: навигация, поиск
м (Соответствие имен реквизитов)
м (Соответствие имен реквизитов)
Строка 225: Строка 225:
 
|-
 
|-
 
|Наименование||Name
 
|Наименование||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
  
 
|}
 
|}
 
 
 
 
 
 
Код
 
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
 

Версия 10:52, 18 сентября 2018

Общее

При вызове любой операции необходимо передать имя метода - это предопределенный параметр 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, если требуется получить данные по определенной категории(ям) номеров.

Возвращает таблицу: для каждой категории номера

Пример вызова
http://127.0.0.1/имя_публикации/hs/KintAPI.hs/GetData?Method=GetRoomQuota&DateFrom=2018-08-01T00:00:00&DateTo=2018-08-31T00:00:00
Пример ответа
{
"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