Интеграция голоса и чата с HubSpot с использованием node.js
Интеграция контакт-центра с CRM, например HubSpot Это очень распространенная практика, позволяющая сделать работу поддержки клиентов или продаж намного более эффективной. Например, по словам сотрудника, каждый вызов заявки в CRM упрощает отслеживание звонка, чтобы убедиться, что проблема клиента решена в конце. Когда посетитель веб-сайта заполняет контактную форму, мы хотели бы, чтобы контактная информация пользователя была сохранена в таблице контактов CRM для дальнейшего использования.
Easiio предоставляет облачный центр голосовых вызовов и центр поддержки и продаж сайта для бизнеса. Два типа основных точек входа в контакт-центр Easiio. Один из них использует традиционный бизнес-телефонный канал, например, традиционный колл-центр с поддержкой нескольких уровней IVR. Событие телефонного звонка может заставить приложение записать событие HubSpot через программу JavaScript, работающую на node.js. То же самое касается интерфейса чата на веб-сайте, предоставляемого Easiio. Более того, плагин веб-сайта онлайн-чата Easiio представляет собой очень мощное сочетание нескольких важных инструментов для обслуживания клиентов и продаж. Он имеет автоматический ответ в чате под названием ITR (Интерактивный ответ в чате) со множеством встроенных мощных функций.
Возможности колл-центра Easiio:
- Очередь звонков
- Программируемый многоуровневый IVR
- Ветка вызова IVR во внешнюю программу, работающую на Node.js
- Отчеты по звонкам всей команды.
- Интеграция CRM, SalesForce и HubSpot
- Скрипт звонка
- Заметки о вызовах
- Возможности исходящего колл-центра. Мощность звонилки.
- Легкая CRM-система
Возможности плагина онлайн-чата для веб-сайта Easiio:
- Программируемый многоуровневый ITR
- Настраиваемый рекламный предмет
- Настраиваемый элемент формы для заполнения пользователем
- Отображение изображения, видео и файлов
- Видеозвонок
- Вызов общего доступа к рабочему столу
- Местоположение посетителя сайта, посещение страницы, время просмотра
- Статистика посещений сайта
- Поддержка отчетов чата.
- Настраиваемый алгоритм распределения чатов по местоположению, посещению страницы, теме, уровню навыков.
- Общие инструменты конверсии посетителей сайта.
Благодаря мощным функциям колл-центра Easiio/делового телефона и веб-сайта контакт-центра с клиентами, как мы можем расширить функциональность и интегрироваться с очень мощными HubSpot CRM и маркетинговыми услугами. Мы представляем интеграцию IVR и ITR в двух разделах.
Пример вызова события Easiio в HubSpot
Когда в колл-центр Easiio поступает телефонный звонок, его можно настроить на отправку события во внешний HTTP API. Экран конфигурации, как показано на рисунке, с использованием меню «Расширенная конфигурация->Уведомление о событии».

После того, как событие настроено для отправки в HTTP API. При поступлении вызова событие с подробностями будет отправлено на сервер. В нашем примере мы используем JavaScript, работающий на node.js, для обработки события и сохранения его как билета в HubSpot.
Вот пример кода для обработки события, отправленного из Easiio Business Phone System и обработанного с помощью JavaScript на node.js.
if(request.method === "POST") {
if (request.url === "/call_event_general") {
var requestBody = '';
const queryObject = url.parse(request.url,true).query;
console.log(queryObject);
console.log("post call_event_answer 1.0");
request.on('data', function(data) {
requestBody += data;
if(requestBody.length > 1e7) {
response.writeHead(413, 'Request Entity Too Large', {'Content-Type': 'text/html'});
response.end('<!doctype html><html><head><title>413</title></head><body>413: Request Entity Too Large</body></html>');
}
});
request.on('end', function() {
console.log("post end", requestBody);
var formData = JSON.parse( requestBody );
var request = require("request");
// on event ring create a ticket at hubspot
if (formData.event === "event_ring") {
var options = {
method: 'POST',
url: 'https://api.hubapi.com/crm/v3/objects/tickets',
qs: {hapikey: apikey},
headers: {accept: 'application/json', 'content-type': 'application/json'},
body: {
properties: {
property_number: '17',
property_dropdown: 'choice_b',
property_radio: 'option_1',
property_string: formData.caller + ' called ' + formData.called,
property_multiple_checkboxes: 'chocolate;strawberry',
property_checkbox: 'false',
property_date: '1572480000000'
}
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
}
// Add code here to handling these call info. It maybe a API call to other applications.
console.log("post end 1.0", formData.caller , " ", formData.called, " ", formData.event);
response.write('[]');
response.end('');
});
}
}
По сути, пример кода анализирует данные событий в формате JSON и получает несколько параметров из вызовов, таких как вызываемый номер и номер вызывающего абонента. Использование HubSpot для API nodejs для публикации параметров из события вызова для создания заявки с вызывающим абонентом и вызываемым номером телефона в качестве одного из параметров заявки.
Онлайн-чат на сайте Easiio с HubSpot
Плагин чата на веб-сайте Easiio имеет функцию встраивания из окон чата. Администратор Easiio может создавать столько форм, сколько необходимо, и это может быть очень сложная форма для запуска в окне чата. С помощью ITR и формы разработчик может собирать информацию от клиентов и отправлять ее в сторонние приложения, такие как HubSpot и SalesForce, или в свои собственные приложения.
Вот изображение контактной формы

Вот изображение формы «Позвони мне»

Когда пользователь в чате на веб-сайте отправляет контактную форму, конфигурация ITR может отправить данные формы на внешний объект, например на JavaScript, работающий на Node.js. Затем сценарий может связаться с HubSpot, чтобы записать новый контакт. Вот конфигурация ITR, устанавливающая для API обработки форм определенный URL-адрес (поле URL-адреса данных).

Вот пример кода для записи в HubSpot с помощью JavaScript на node.js.
if(request.method === "POST") {
if (request.url === "/contact_form_submition") {
var requestBody = '';
console.log("post contact_form_submition");
request.on('data', function(data) {
requestBody += data;
if(requestBody.length > 1e7) {
response.writeHead(413, 'Request Entity Too Large', {'Content-Type': 'text/html'});
response.end('<!doctype html><html><head><title>413</title></head><body>413: Request Entity Too Large</body></html>');
}
});
request.on('end', function() {
console.log("post end", requestBody);
var formData = JSON.parse( requestBody );
console.log("post contact_form_submition end 1.0", formData.name , " ", formData.email, " ", formData.phone, " ", formData.message);
var request = require("request");
var name = formData.name.split(/[ ,]+/);
var options = { method: 'POST',
url: 'https://api.hubapi.com/contacts/v1/contact/',
qs: { hapikey: apikey},
headers:
{
'Content-Type': 'application/json' },
body:
{ properties:
[ { property: 'email', value: formData.email },
{ property: 'firstname', value: name[0] },
{ property: 'lastname', value: name[1] },
{ property: 'website', value: '' },
{ property: 'company', value: '' },
{ property: 'phone', value: formData.phone },
{ property: 'address', value: '' },
{ property: 'city', value: '' },
{ property: 'state', value: '' },
{ property: 'zip', value: '' } ] },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
//var responseBody = [ { "id": 1, "action": "play", "text": "submit your form. name: "" voice mails are to your pre-configure cell phone by SMS." }]';
response.write('[ { "id": 1, "action": "play", "text": "submit your form. We will contact you soon." }]');
response.end('');
});
}
}
Этот пример кода обрабатывает форму, отправленную посетителем веб-сайта с помощью окна чата Easiio. Данные формы отправляются в скрипт в формате JSON. Нам просто нужно проанализировать формат JSON и получить адрес электронной почты, имя, фамилию, номер телефона и комментарии. Сохраните его в объекте контакта HubSpot.
Завершение интеграции HubSpot Easiio API
Использование события уведомления о вызове Easiio или события отправки формы и его обработки внутри программы nodejs — отличный способ интеграции со сторонними организациями, например с HubSpot. Благодаря этим простым и легким в использовании функциям колл-центра Easiio и контакт-центра на веб-сайте любой звонок или чат можно интегрировать в CRM или любое стороннее приложение. Зарегистрируйте чтобы начать нашу бесплатную пробную версию и посмотреть, как они могут упростить интеграцию многих сторонних разработчиков для вашего бизнеса и проекта. Вы можете скачать полный исходный код по адресу Github этого образца. Показанный здесь пример кода находится в файле JavaScript Hubspot.js.
Узнайте, как зарегистрироваться в чат-боте на сайте. Руководство по плагину Easiio Web Chat