Перейти к основному содержимому
Версия: 4.8

iQBot API

Описание

Программный интерфейс iQBot API позволяет отправлять сообщения клиентов из iQChannels в бот-платформу.

Взаимодействие с бот-платформой

Все запросы в бот-платформу отправляются в формате JSON.

Для всех запросов необходимо указывать Content-Type: application/json

Авторизация в бот-платформе

Метод: POST

Путь /api/v1/auth/login/basic/default

Запрос:

ПараметрТипОбязательныйКомментарий
emailStringДаДанные учетной записи в бот-платформе, используемой для авторизации чат-платформы
passwordStringДаДанные учетной записи в бот-платформе, используемой для авторизации чат-платформы

Ответ:

ПараметрТипОбязательныйКомментарий
statusStringНетСтатус запроса. Если все хорошо, то success
messageStringНетОписание статуса запроса. Если все хорошо, то значение будет Login successful
payloadБлокБлок с данными токена
jwtStringДаТокен доступа
expStringДаВремя жизни токена

Пример запроса:

{
"email": "superbot@bot.ru",
"password": "password"
}

Пример ответа:

{
"status": "success",
"message": "Login successful",
"payload": {
"jwt": "eyJhbGciOiJIUzI.......w3SfREY",
"exp": 3600000
}
}

Отправка сообщения в бот-платформу

Метод: POST

Путь api/v1/bots/***chat-bank***/converse/***sid***/secured (botID - идентификатор чат-бота в бот-платформе sid - уникальный идентификатор сессии для текущего диалога)

Авторизация: Bearer (Токен берем из ответа на запрос авторизации)

Запрос:

ПараметрТипОбязательныйКомментарий
typestringДаПо умолчанию всегда "text"
textstringДаТекст сообщения
payloadstringНетПри использовании кнопок или выпадающего списка заполняется значением из payload выбранного элемента

Ответ:

ПараметрТипОбязательныйКомментарий
typestringДаТип сообщения. Может быть text, card, carousel, single-choice
textstringДаТекст сообщения
groupidstringНетПереадресация на группу операторов
operatoridstringНетПереадресация на оператора
closedialogbooleanНетЗакрытие диалога
isDropdownbooleanНетПризнак выпадающего списка (при type = single-choice). Если TRUE — выпадающий список, если FALSE — кнопки
dropdownPlaceholderstringНетЗаглушка/значение по умолчанию для выпадающего списка
skillstringНетТип навыка
titlestringНетЗаголовок для картинки
imagestringНетСсылка на картинку
choicesБлокДа (при type = "single-choice")Список значений для кнопок или выпадающего списка
actionsБлокДа (при type = "card")Список действий
itemsБлокДа (при type = "carousel")Список объектов actions

Структура блока choices:

НаименованиеТипОбязательныйКомментарий
titlestringДаНазвание пункта
valuestringДаЗначение

Структура блока actions:

НаименованиеТипОбязательныйКомментарий
titlestringДаНазвание кнопки
actionstringДаДействие. Может быть: Postback или URL
payloadstringДаЗначение, передаваемое боту при нажатии на кнопку

Структура блока items:

НаименованиеТипОбязательныйКомментарий
actionsБлокДаСписок действий

Пример запроса:

{  
"type": "text",
"text": "До которого часа работает банк?"
}

Пример ответа:

{
"responses": [
{
"type": "text",
"text": "Переключаю вас на оператора",
"markdown": true,
"groupid": "100"
}
]
}
Пример ответа с single-choice:
  {
"type": "single-choice",
"skill": "choice",
"workflow": {},
"text": "Добро пожаловать!\n\nЯ бот-банк IQBankBot, ваш личный помощник в управлении финансами и банк в мессенджере!\n\nЧтобы совершить любую операцию (пополнить, перевести, запросить выписку и прочее), достаточно написать команду мне в чат 😉\n\nНажми на кнопку \"Узнать об IQBankBot\", чтобы узнать больше обо мне. А если ты уже клиент банка, выбери «Я клиент IQBank».",
"isDropdown": true,
"dropdownPlaceholder": "Select...",
"choices": [
{
"title": "Я клиент IQBank",
"value": "auth_client"
},
{
"title": "Задать вопрос",
"value": "have_question"
},
{
"title": "Узнать об IQBankBot",
"value": "about_iqbank"
}
],
"markdown": true,
"typing": true
}
Пример ответа с "type": "card"
{   
"responses": [
{
"type": "text",
"workflow": {},
"text": "Авторизация прошла успешно!",
"markdown": true,
"typing": true
},
{
"type": "card",
"title": "Visa Gold -7039\nОстаток: 8 973,00 RUR",
"image": "https://iqbot.iqstore.ru/api/v1/bots/chat-bank/media/5lgn648ggh8pxnejfn0y-bank-mir-cutted.png",
"actions": [
{
"title": "Действия с картой",
"action": "Postback",
"payload": "locked-action"
}
]
},
{
"type": "card",
"title": "Авангард - RUR -8775\nОстаток: 217,49 RUR",
"image": "https://iqbot.iqstore.ru/api/v1/bots/chat-bank/media/5lgn648ggh8pxnejfn0y-bank-mir-cutted.png",
"actions": [
{
"title": "Действия с картой",
"action": "Postback",
"payload": "locked-action"
}
]
},
{
"type": "card",
"title": "Авангард - RUR -8042\nОстаток: 2 186,46 RUR",
"image": "https://iqbot.iqstore.ru/api/v1/bots/chat-bank/media/5lgn648ggh8pxnejfn0y-bank-mir-cutted.png",
"actions": [
{
"title": "Действия с картой",
"action": "Postback",
"payload": "locked-action"
}
]
}
]
}
Пример ответа с "type": "carousel"
{
"responses": [
{
"type": "text",
"workflow": {},
"text": "Выбери вид карты",
"markdown": true,
"typing": true
},
{
"type": "carousel",
"workflow": {},
"items": [
{
"title": "Путешествия",
"subtitle": "",
"image": "https://iqbot.iqstore.ru/api/v1/bots/chat-bank/media/dwl4nqndn7nffggro1cm-bank-mir.png",
"actions": [
{
"action": "Postback",
"title": "Выпустить карту \"Путешествия\"",
"text": "",
"payload": "debet-card-mir-p"
}
]
},
{
"title": "Возможности",
"image": "https://iqbot.iqstore.ru/api/v1/bots/chat-bank/media/2x1zhafe6q861oku85b0-mir-card.png",
"actions": [
{
"action": "Postback",
"title": "Выпустить карту \"Возможности\"",
"text": "",
"payload": "debet-card-mir-v"
}
]
}
]
}
]
}