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

Материал из КинтВики
Перейти к: навигация, поиск
м (PostBooking)
м (PostBooking)
Строка 109: Строка 109:
 
"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e8a510e223144c"
 
"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e8a510e223144c"
 
}
 
}
 +
}
 +
</pre>
 +
 +
== 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"}]
 +
;Пример ответа:
 +
<pre>
 +
{
 +
"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"
 +
}
 +
]
 +
}
 +
</pre>
 +
 +
== 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"}
 +
;Пример ответа:
 +
<pre>
 +
{
 +
"Success": true,
 +
"Result": [
 +
{
 +
"Booking": {
 +
"Date": "2018-08-08T12:21:19",
 +
"Number": "ТТ0000000165",
 +
"ID": "e1cib/data/Документ.ЗаявкаПокупателя?ref=b4535404a66e4a8911e89ae406700121"
 +
},
 +
"Результат": "Заявка подтверждена, автоматическая отмена невозможна!"
 +
}
 +
]
 
}
 
}
 
</pre>
 
</pre>

Версия 10:46, 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"
},
"Результат": "Заявка подтверждена, автоматическая отмена невозможна!"
}
]
}