Автоматизация назначения диалогов

С помощью нашего открытого API можно автоматизировать назначение диалогов на операторов.

Для этого вам необходимо написать веб-сервис, который реализует логику назначения операторов.

Написанный веб-сервис необходимо вызывать с помощью Webhook. О том, как вызывать Webhook в Carrot quest, читайте в этой статье. В качестве триггера для отправки Webhook выберите "Пользователь начал диалог в чате".

Тогда как только пользователь начнет диалог в чате, отправится webhook, содержащий все свойства пользователе и страницу, на которой он находится.

Подробнее о Webhook можно почитать тут (https://carrotquest.io/developers/webhooks/).

 

Пример:

1) Пример назначение оператора Василия с id 24574 на все поступающие диалоги (php):  

    // Токен вашего приложения https://carrotquest.io/developers/webapi/#_1
$token = 'xxx'; 
    //Достаем из запроса объект event https://carrotquest.io/developers/objects/event/
$event = json_decode($_POST['event']); 
    // Из свойства события достаем conversationId
$conversationId = $event->{'props'}->{'$conversation_id'}; 
    // id оператора которому мы хотим назначить диалог. Узнать id оператора можно при редактировании администраторов в разделе: Администраторы
$operator = 24574; 
$url = 'https://api.carrotquest.io/v1/conversations/'.$conversationId.'/assign?auth_token='.$token;
    // Делаем post запрос на назначение оператора на диалог в Carrot https://carrotquest.io/developers/endpoints/conversations/assign/
$result = file_get_contents($url, false, stream_context_create(array( 
	'http' => array(
		'method'  => 'POST',
		'header'  => 'Content-type: application/json',
		'content' => '{"admin": "'.$operator.'"}'
	)
    )));

 

2) Пример назначение оператора Василия с id 24574 на все диалоги со страниц содержащих в адресе “ /portfolio/”:

    // Токен вашего приложения https://carrotquest.io/developers/webapi/#_1
$token = 'app.7.4b3448df1b622483e88f53eec35cf9aca7d6ce0973ea2209'; 
    // Достаем из запроса объект event https://carrotquest.io/developers/objects/event/
$event = json_decode($_POST['event']); 
    // Достаем из запроса объект user https://carrotquest.io/developers/objects/user/
$user = json_decode($_POST['user']); 
    // Из свойства события достаем conversationId
$conversationId = $event->{'props'}->{'$conversation_id'}; 
    // id оператора которому мы хотим назначить диалог. Узнать id оператора можно при редактировании администраторов в разделе: Администраторы
$operator = 24574; 
$url = 'https://api.carrotquest.io/v1/conversations/'.$conversationId.'/assign?auth_token='.$token;
    // Делаем post запрос на назначение оператора на диалог в Carrot https://carrotquest.io/developers/endpoints/conversations/assign/
if (stristr($user->{'presence_details'}->{'url'},'/portfolio/')) { 
    $result = file_get_contents($url, false, stream_context_create(array( 
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/json',
            'content' => '{"admin": "'.$operator.'"}'
        )
             ))); 
        }
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии