Модуль позволяет вызывать API методы для интеграции с третьими системами. Для запуска сценария нам понадобится метод call_node
Формат вызова:
GET https://engine.{{название проекта}}.kwizbot.io/kw/api/call_node/
или
POST https://engine-{{название проекта}}.kwizbot.io/kw/api/call_node/
Где:
Вызывает выполнение сценария с точки входа (подробнее смотри тут Компоненты) указанную в вызове для пользователя с указанным chat_id указанного канала.
На этом скриншоте видна точка входа с алиасом crm_entry_point
Формат JSON запроса (JSON body):
{
"chat_id":"398866372",
"channel":"telegram",
"bot_id":1,
"connector_alias":"crm_entry_point",
"data":{
"phone":"380961234567",
"name":"Sergey"
}
}
Где:
connector_alias
это уникальный алиас точки входаchat_id
это уникальный идентификатор чата в пределах канала channel
который сохранили при подписке пользователя на нотификации Подписка пользователя на нотификации из ботаbot_id
это id бота в Kwizbot. По умолчанию 1, если у вас развернуто 2 или более ботов можно посмотреть какой у бота id в Настройки - Список ботовdata
можно передать любые параметры которые потом сценарий сможет обработать как обычные переменные, например вывести используя {{имя переменной}}
Формат ответа:
{
"status": "error" или "success"
"message": "сообщение с ответом",
"data": {...данные ответа...}
}
Пример curl-запроса:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{{engine-url}}/kw/api/call_node/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"chat_id":"999999999",
"channel":"telegram",
"bot_id":1,
"connector_alias":"node_alias",
"data":{
"phone":"380111111111",
"name":"Randomname"
},
"callback_url": "[<https://callback-getter.site>](<https://callback-getter.site/>)"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>