Dialogflow интеграция с whatsapp
Попробуем представить типовые требования к провайдеру, которые могла бы предъявить небольшая компания в сфере торговли и розницы, работающая, например, в УТ:
Критерии выбора провайдера
- Ценовая политика
- Функциональность API
- Надежность
Ценовая политика: официальный или неофициальный?
Функциональность API
Работая с любым провайдером вы не получаете прямой доступ к API WhatsApp, а только доступ к API поставщика. Поэтому важно, чтобы функциональность для работы с контактами, чатами, группами, медиа, настройками и т.п. соответствовала Вашим требованиям. Например, официальный WhatsApp Business API накладывает следующие ограничения:
Надежность
Надежность прямо связана со статусом провайдера. Разумеется самое критичное - чтобы телефонный номер компании не заблокировали и, таким образом, не потерялась связанная с ним база клиентов. Официальный статус партнера это гарантирует. Для неофициалов риск бана во многом определяется используемыми секретными алгоритмами для работы с WhatsApp. Риск получить бан также зависит от Вас самих. В FAQ WhatsApp приведены следующие действия, которых лучше избегать:
Сравнительный анализ
Для сравнения было выбрано 5 провайдеров - 3 официальных и 2 неофициальных. К официальным были отнесены как прямые партнеры компании WhatsApp Inc, так и их посредники.
Возможность начинать чат без запроса разрешения через сторонний канал
Свободно с учетом правил WhatsApp
Свободно с учетом правил WhatsApp
Свободно в рамках 24 часового окна
Свободно в рамках 24 часового окна
Свободно в рамках 24 часового окна
Вероятность бана номера
Ссылка на тарифы
Подключение одного номера
* По субъективным ощущениям. Chat Api вероятно шарит IP-адрес на несколько номеров. По этой причине у меня банились совершенно новые номера. Дополнительно Chat Api использует веб-обертку надо WhatsApp Web, что тоже повышает риск бана.
** Опять же субъективно. Техподдержка Green-API заявляет, что на каждый номер выделяется отдельный IP-адрес. Поэтому в случае, если кто-то будет использовать сервис с нарушением пользовательского соглашения WhatsApp (спамить рекламой), то это никак не повлияет на ваш номер.
Таким образом, ограничения функциональности и цены на услуги официальных провайдеров позволяют утверждать, что WhatsApp Business API, в первую очередь, рассчитан на крупные компании, которым поступает большое количество обращений, в том числе из разных каналов (других мессенджеров, чата на сайте, социальных сетей и т.д.).
Среди неофициальных провайдеров в категории популярности и полноты документации лидером можно назвать сервис Chat Api . А самым привлекательным по цене является сервис Green - API .
Что за зверь такой Green - API ?
Green - API пока еще не так подробно документирован, как его конкурент – Chat Api , но его тарифы выглядят интереснее, а возможности ничуть не хуже. Поэтому я решил накидать обработку для 1С, воспользовавшись пробным 30 дневным демо-периодом. К тому же, чтобы воспользоваться официальным каналом мне потребовалось бы заключить договор от имени юр. лица, коего у меня пока нет, ну и оплатить счет согласно таблице выше. Порядок цен у всех официалов примерно одинаковый. А вот для начала работы с Green - API от меня потребовалась только регистрация на сайте.
Последователь действий
Для заинтересованных результаты данного творчества оформлены в виде внешней обработки для платформы 1С версии 8.3.10 и приложены файлом к данной статье. Дополнительно при желании можно взглянуть на исходники обработки на github-е. Важно! Неофициальный статус поставщика WhatsApp означает, что его не стоит использовать для массовых рассылок рекламы и спама. В противном случае ваш аккаунт может быть заблокирован без возможности восстановления.
На этом мы закончим наш обзор. А какой бы Вы выбрали сервис для интеграции? Может быть уже используете какое-то решение? Поделитесь Вашим опытом в секции комментариев.
Хочу поделится с вами своим опытом работы с сервисом Dialogflow и рассказать о некоторых не самых очевидных вещах.
Dialogflow — это сервис, позволяющий создавать чат-ботов для разных платформ и языков на разных устройствах.
Сервис возможно использовать абсолютно бесплатно, так что не теряем времени и приступаем к работе.
В этой статье я расскажу как создать простого бота, который будет принимать от пользователей заказ в вашем магазине.
Шаг 0. Задача
Бот должен принимать от пользователя запрос, состоящий из трех параметров: имя, город и адрес. При этом, если пользователь ранее упоминал один из этих параметров — помнить его в рамках контекста.
Шаг 1. Первичная настройка
Для начала нужно зарегистрироваться и создать нового агента:
- Название агента можно указать любое.
- Язык я выбрал русский. Но в дальнейшем можно добавить и другие.
- Временная зона важна, так как по ней будут определятся такие фразы как «Сегодня», «3 дня назад»
- Создадим новый Google проект
- Я буду использовать первую версию API
На этом этапе наш бот уже запущен и может общаться с пользователями. Теперь нужно научить его правильно понимать фразы.
Шаг 2. Создание назначений
Назначение — это обработчик определённого запроса от пользователя.
Переходим на вкладку «Intents». После создания агента здесь будут два стандартных назначения:
Добавим в приветствие вопрос о пользователе
Открываем «Default Welcome Intent». Здесь есть несколько секций:
- Contexts
- User says
- Events
- Action
- Response
В нашем случае назначение «Default Welcome Intent» реагирует не на какой-то текст от пользователя, а на служебное событие WELCOME. Например, для Telegram это запуск бота командой /start. Подробнее про события.
Реакция на ответ
И, наконец, добавим ответ пользователю в секцию «Response».
Работа с контекстом
Каждое назначение может работать с входящим контекстом и создавать исходящий контекст.
Если у назначения есть входящий контекст, то назначение будет запускаться только в том случае, если этот контекст существует. Если у назначения есть исходящий контекст, то он будет создан и все собранные данные будут записаны в него.
Рассмотрим по порядку:
Default Welcome Intent — входящего контекста нет. Поэтому назначение может запуститься для любого запроса. Назначение создаёт новый пустой контекст «DefaultWelcomeIntent-followup» (добавится автоматически).
Default Welcome Intent — custom — имеет входящий контекст «DefaultWelcomeIntent-followup» (добавился автоматически). Это назначение может запустится только в тех случаях, когда этот контекст существует (когда пользователь поприветствовался). Исходящего контекста здесь пока-что нет.
Добавим исходящий контекст для «Default Welcome Intent — custom» с названием «UserData». Теперь, когда после приветствия пользователь представится, информация о нем будет записана в новый контекст «UserData».
Оформление заказа пользователем
Создадим новое назначение «Order» с исходящим контекстом «UserData». Это назначение может запускаться в любое время, и оно может изменять контекст «UserData».
В тексте заказа нам нужно Имя, Город и Адрес.
Добавим фразы и разметим их. Дублируем все параметры, но в этот раз отметим все как обязательные.
Использование уже известных данных
Наше назначение может работать как в случае отсутствия контекста «UserData», так и при его наличии. В первом случае бот спросит у пользователя все недостающие данные. А во втором он должен использовать уже известные.
Добавляем ответ с подтверждением заказа. В ответе вы можете использовать ваши параметры. Подробнее.
Результат работы
Результат работы бота приведен на скрине ниже. Пообщаться с ним самостоятельно можно в Telegram: @sample_ShopBot или Web Demo
Спустя время контекст будет сброшен. После первого обращения бот будет спрашивать у вас имя и адрес доставки. И заново установит контекст.
Заключение
Таким образом, Dialogflow берёт на себя сбор информации о пользователе, заказе и отправляет на вашу службу только готовый результат. Осталось настроить отправку WebHook на ваш сервер, который отреагирует и реализует доставку. Подробнее.
Как известно, WhatsApp не так давно начал предоставлять доступ к своему официальному бизнес API, который так необходим для создания чат-ботов для этого мессенджера "белыми" методами.
Но сделать это напрямую большинству компаний по прежнему не под силу, а только через крупных партнеров Facebook, которые в данном случае выступают в роли посредников.
Мы подключили через Twilio официальный бизнес API WhatsApp и сейчас подробно расскажем, как это сделать.
Итак, начнем двигаться по шагам.
1. Создание аккаунта в Facebook Business Manager
Добавление информации о компании при создании аккаунта в Facebook Business Manager Добавление информации о компании при создании аккаунта в Facebook Business Manager Необходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business Manager Необходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business ManagerЗайдем в почту и нажмем на кнопку "Подтвердить" из письма.
Подтверждение адреса электронной почты при создании аккаунта в Facebook Business Manager Подтверждение адреса электронной почты при создании аккаунта в Facebook Business Manager Подтверждение e-mail при создании аккаунта в Twilio Подтверждение e-mail при создании аккаунта в TwilioПодтверждаем номер телефона.
Подтверждение телефона при создании аккаунта в Twilio Подтверждение телефона при создании аккаунта в Twilio3. Запрос в Twilio на активацию возможности добавления WhatsApp отправителей
Открытие формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio Открытие формы запроса на активацию возможности добавления WhatsApp отправителей в TwilioОткроется форма запроса на активацию возможности добавления WhatsApp отправителей в Twilio. Заполняем поля формы данными, которые указывались выше, при создании аккаунта в Facebook Business Manager:
First Name - Имя (латиницей);
Last Name - Фамилия (латиницей);
Phone Number - Номер телефона компании (указанный в Facebook Business Manager);
Email Address - Адрес электронной почты компании (указанный в Facebook Business Manager);
Company Name - Название компании (латиницей, указанное в Facebook Business Manager);
Company Website - Веб-сайт компании (указанный в Facebook Business Manager);
Company HQ Country - Страна регистрации компании (указанная в Facebook Business Manager);
Company Vertical - выбираем из списка направление деятельности компании;
What is your use case? - выбираем из списка, для чего будет использоваться WhatsApp: Notifications (Оповещения), Customer Support (Поддержка клиентов), 2FA or User Verification (Двухфакторная аутентификация или верификация пользователей);
I wish to provision this account with a third party vendor - Будет ли предоставляться эта учетная запись стороннему поставщику (выбираем "No") ;
Assign approval to alternate Account SID (Optional) - Назначить утверждение альтернативному SID учетной записи (необязательно) (ничего не вводим, оставляем поле пустым) ;
Заполняем поля формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio Заполняем поля формы запроса на активацию возможности добавления WhatsApp отправителей в TwilioДля отправки запроса, нажимаем кнопку "Request Now". После успешной отправки появится соответствующее уведомление: "Спасибо за Ваш интерес. Мы будем держать Вас в курсе по мере открытия доступа.".
Уведомление об успешной отправке запроса на активацию возможности добавления WhatsApp отправителей в Twilio Уведомление об успешной отправке запроса на активацию возможности добавления WhatsApp отправителей в TwilioНа почту получаем вот такое письмо:
Письмо от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio Письмо от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio Перевод на русский письма от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio Перевод на русский письма от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в TwilioТеперь ждем 3-4 недели ответ от Twilio, как указано в письме.
Через 4 недели получаем ответ от Twilio, что теперь можно добавить WhatsApp отправителя и продолжить процесс регистрации:
Ответ от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio Ответ от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio Перевод на русский ответа от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio Перевод на русский ответа от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio4. Upgrade аккаунта в Twilio
Но так ли хорош Dialogflow? Давайте разбираться.
Если описать работу платформы несколькими фразами, то это выглядит примерно так. Dialogflow пытается распознать намерения пользователя на основе обучающих фраз, которые вы даете ему на этапе проектирования. Основываясь на этих обучающих фразах, Dialogflow “знает”, какой ответ дать на тот или иной вопрос пользователя.
Пользовательский интерфейс
Dialogflow распространяется в двух версиях: Dialogflow Essentials (ES) и Dialogflow Customer Experience (CX).
Dialogflow (ES)
Принцип работы довольно простой. Вы задаете тренировочные фразы для каждого намерения. Dialogflow ES по этим фразам определяет, к какому намерению отнести вопрос пользователя.
После обработки вопроса, Dialogflow выдает пользователю заранее заготовленный ответ.
Для более точного распознавания, можно использовать так называемые сущности (Entities).
Если вам нужна дополнительная информация о том, как использовать намерения и сущности в Dialogflow, просмотрите это видео для намерений и это видео для сущностей.
Бот удобно тестировать не покидая Dialogflow, для этого есть специальная консоль:
Dialogflow (CX)
Это относительно новая версия Dialogflow, недавно вышла из статуса “beta” и пока мало кем используется.
Преимущество Dialogflow CX в том, что у вас в распоряжении будет визуальный конструктор потоков, с помощью которого легче поддерживать сложную структуру:
Но в то же время я бы не рекомендовал использовать Dialogflow CX, если вы новичок в чат-ботах. Интерфейс Dialogflow ES проще в использовании и в нем легко настроить чат-бота. Dialogflow CX обеспечивает лучший обзор, но также требует более затратного обучения.
Элементы чат-бота
Dialogflow поддерживает далеко не все элементы для проектирования чат-бота. Например, не поддерживаются такие важные элементы, как задержка ответа, видео или вложенные файлы.
Кроме того, некоторые элементы чат-бота не встроены в визуальный интерфейс и приходится кодировать их самостоятельно, используя функцию Custom Payload.
Пользователи
В Dialogflow вы не сможете посмотреть список всех пользователей, которые вступали во взаимодействие с чат-ботом.
- Настраиваемые поля
- Теги
- Сегменты
- Рассылки
- Последовательности
- Условия
- Несколько языков
AI и NLP (natural language processing)
Как я писал выше, вы можете обучить своего агента Dialogflow понимать намерения пользователя, используя обучающие фразы. А с помощью сущностей, извлекать нужные параметры из фраз пользователей и формировать ответы.
- Ключевые слова
- Намерения
- Сущности
- Интеграции
Каналы
Dialogflow поддерживает интеграцию с 14-ю текстовыми каналами:
- Web-сайт
- Facebook Messenger
- WhatsApp (через Twilio)
- Telegram
- SMS (через Twilio)
- Slack
- Skype
- Viber
- Workplace from Facebook
- Hangouts
- Line
- Kik
- Spark
Также можно настроить Dialogflow для обработки телефонных звонков:
Вы можете создать универсального агента, работающего на всех каналах одновременно. Не без труда, конечно, потому как все мессенджеры разные и отличаются своими требованиями и возможностями.
- Web-сайт
- Telegram
- SMS
- Slack
- Skype
Интеграции
К сожалению, в Dialogflow отсутствует live chat и переключить бота на живого менеджера не получится. Ни программно ни вручную. Если вам очень нужна такая возможность, то используйте сторонний проверенный сервис, такой как Botcopy.
- Livechat
- Zapier
- Integromat
- Google Sheets
- Webhooks
Маркетинг
Маркетинговые возможности Dialogflow ограничены.
По сути, вы можете использовать Dialogflow Messenger только для создания собственного виджета и размещения его на своем веб-сайте. Виджету можно изменить внешний вид (например, заголовок и цвет), отредактировав CSS-стили. Каких-либо других инструментов продвижения не предусмотрено.
- Виджет Facebook для сайта
- Родной виджет для сайта
- Лендинг
- Facebook Ads
- Одноразовое уведомление
- Автоответы в комментариях Facebook
- Кастомные URL для чат-бота
Стоимость
Если у вас более продвинутый чат-бот и вы перешли на Dialogflow CX, то придется платить $20 за 100 сеансов чата.
На мой взгляд, Dialogflow очень дешевый. Я создавал не один десяток ботов для разных клиентов и ни разу не переходил в платную квоту. Здесь не нужно платить за подписчиков или рассылку, как это принято в других сервисах.
- Бесплатная пробная версия
- Бесплатный тариф
- $0/мес.
- Гарантия возврата денег
Аналитика
В Dialogflow ES у вас есть панель, которая показывает количество сеансов и количество взаимодействий:
Чтобы отслеживать путь пользователя при взаимодействии с ботом, удобно использовать метрику Session Path:
Dialogflow предоставляет достаточно данных, чтобы можно было оценить эффективность всего бота или отдельной ветки диалога.
eCommerce
В Dialogflow нет прямых интеграций с платежными системами. Реализовывать придется “руками” на стороне сервера. И если у вас недостаточно технических знаний, то платежи существенно увеличат стоимость разработки бота.
- Shopify
- WooCommerce
- Прямые платежи в чат-боте
- Корзина
Шаблоны
Dialogflow предоставляет 45 готовых агентов, которые можно использовать для начала работы с чат-ботом.
Своего агента или его часть можно легко экспортировать и поделиться для повторного использования, что равносильно работе шаблонов.
Оптимизация
Dialogflow не предлагает никакой оптимизации, такой как A / B-тестирование.
Поддержка
Dialogflow содержит обширную документацию по платформе. Есть и поддержка по электронной почте, но насколько оперативно они отвечают, сказать не могу, все вопросы пока решал самостоятельно.
ПРИМЕЧАНИЕ. На моем YouTube-канале вы сможете найти несколько обучающих видео по Dialogflow. Рекомендую начать с них.
- Документация
- Примеры
- Служба поддержки
Заключение
Итак, следует ли вам использовать Dialogflow для создания своих чат-ботов?
Да, безусловно. Как минимум, начните с создания чего-то совсем простого. Для интеграции со сторонними сервисами (платежи, CRM, БД) вам придется приложить значительные усилия. Но можно попробовать использовать DialogFlow в паре с другим конструктором, например ManyChat. Первый хорош наличием искусственного интеллекта, а второй будет отвечать за рассылку, сегментацию аудитории и интеграцию со сторонними продуктами.
Читайте также:
- Какое приложение гдз работает без интернета
- Как изменить номер телефона в хоум кредит банке через приложение
- Яндекс диск войти с телефона и загрузить файл в облако майл ру
- Как скачать приложение на смарт тв lg для просмотра тв бесплатно
- Как создать связь на странице параметров приложений по умолчанию windows 10