Компоненты переписок

Компоненты переписок — это функции чата, которые можно включить для номеров телефонов компании. С ними пользователям WhatsApp будет проще общаться с вашей компанией. Вы можете настроить простые команды, предложить заранее определенные вводные фразы, которые пользователи могут нажимать, и отправлять новым пользователями приветственные сообщения.

Ограничения

Если пользователь WhatsApp нажмет универсальную ссылку (т. е. ссылку wa.me), для которой заранее задан текст, пользовательские интерфейсы с вводными фразами автоматически пропадут.

Настройка через WhatsApp Manager (WAM)

Вы можете настроить конфигурацию всех этих функций в WhatsApp Manager:

  1. Перейдите на панель "Мои приложения" на сайте Meta for Developers.
  2. Выберите свое приложение, а затем на левой панели выберите Конфигурация в разделе WhatsApp.
  3. В разделе Номера телефонов выберите Управление номерами телефонов.
  4. В конце строки справа от номера телефона, который нужно настроить, в разделе Настройки выберите значок шестеренки.
  5. Выберите Автоматизации.
  6. Перейдите к компонентам переписок и настройте их.

Партнеры по решениям также могут настроить эти функции для своих клиентов (если у них имеется доступ к аккаунтам WhatsApp Business их клиентов в WhatsApp Manager).

Приветственные сообщения

Вы можете получать уведомления Webhooks, когда пользователь WhatsApp впервые открывает чат с вами. Это может быть полезно, если вы хотите отправлять этим пользователям особое приветственное сообщение.

Приветственные сообщения идеально подходят для взаимодействия, например со службой поддержки клиентов или при обслуживании аккаунтов. Например, вы можете встроить в приложение или на сайт кнопку WhatsApp. Если пользователь нажмет эту кнопку, он перейдет в WhatsApp, где получит приветственное сообщение с дополнительными инструкциями о том, как он может взаимодействовать с вами.

Если эта функция включена и пользователь отправляет вам сообщение, клиент WhatsApp проверяет, существует ли переписка между этим пользователем и номером телефона вашей компании. Если такой переписки нет, клиент активирует Webhooks messages и устанавливает для параметра type значение request_welcome. После этого вы можете отправить пользователю свое приветственное сообщение.

Webhooks request_welcome открывает окно обслуживания клиента, в рамках которого ваша компания может отправлять сообщения в произвольной форме в ответ на сообщения клиента.

Полезные данные Webhooks

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "type": "request_welcome"  // Indicates first time message from WhatsApp user
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Вводные фразы

Вводные фразы представляют собой настраиваемые текстовые строки, которые можно нажимать и которые отображаются в цепочке сообщений, когда вы впервые вступаете в чат с пользователем. Например, "Запланировать поездку" или "Создать план тренировок".

Вводные фразы идеально подходят для взаимодействия, например со службой поддержки клиентов или при обслуживании аккаунтов. Например, вы можете встроить в приложение или на сайт кнопку WhatsApp. Если пользователь нажмет эту кнопку, он перейдет в WhatsApp, где сможет выбрать одну из настраиваемых подсказок, которая покажет ему, как взаимодействовать с вашими услугами.

Для одного номера телефона компании можно настроить до 4 вводных фраз. Максимальное количество символов в каждой вводной фразе: 80. Смайлики не поддерживаются.

Когда пользователь нажимает вводную фразу, активируется стандартный Webhooks получения сообщения, а строка нажатой вводной фразы передается в свойстве body в полезной нагрузке. Если пользователь попытается отправить вам сообщение, не нажимая вводные фразы, откроется экранная клавиатура. Ее можно закрыть, чтобы вновь увидеть меню вводных фраз.

Если пользователь WhatsApp нажмет универсальную ссылку (т. е. ссылку wa.me или api.whatsapp.com), для которой заранее задан текст, пользовательские интерфейсы с вводными фразами автоматически пропадут.

Полезные данные Webhooks

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "Plan a trip"
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Команды

Команды — это текстовые строки, которые пользователи WhatsApp могут увидеть, набрав косую черту (с наклоном вправо) в переписке с вашей компанией.

Команды состоят из собственно команды и подсказки, которая дает пользователям представление о том, что может произойти, если они выполнят эту команду. Например, вы можете определить команду:

/imagine - Create images using a text prompt

Когда пользователь WhatsApp набирает /imagine cars racing on Mars, активируется Webhooks полученных сообщений, а эта текстовая строка передается в свойстве body. После этого вы можете сгенерировать и вернуть изображение автогонок на Марсе.

Можно определить до 30 команд. Максимальное количество символов в команде: 32. Максимальное количество символов в подсказке: 256. Смайлики не поддерживаются.

Полезные данные Webhooks

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>",
      "changes": [
        {
          "value": {
            "messaging_product": "whatsapp",
            "metadata": {
              "display_phone_number": "<BUSINESS_DISPLAY_PHONE_NUMBER>",
              "phone_number_id": "<BUSINESS_PHONE_NUMBER_ID>"
            },
            "contacts": [
              {
                "profile": {
                  "name": "<WHATSAPP_USER_NAME>"
                },
                "wa_id": "<WHATSAPP_USER_ID>"
              }
            ],
            "messages": [
              {
                "from": "<WHATSAPP_USER_PHONE_NUMBER>",
                "id": "<WHATSAPP_MESSAGE_ID>",
                "timestamp": "<TIMESTAMP>",
                "text": {
                  "body": "/imagine cars racing on Mars"
                },
                "type": "text"
              }
            ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

Конфигурирование через API

С помощью этого API можно также настраивать компоненты переписок и просматривать все настроенные значения.

Conversational Components API имеет две конечные точки:

POST </PHONE_NUMBER_ID>/conversational_automation используется для настройки компонентов переписок для указанного номера телефона.

GET /<PHONE_NUMBER_ID>/conversational_automation возвращает текущие значения полей enable_welcome_message, commands и prompts для указанного номера телефона.

Настройка компонентов переписок с помощью API

Вы можете настроить компоненты переписок для конкретного номера телефона, выполнив вызов POST к конечной точке.

Синтаксис запроса

// Enable or disable the Welcome Message for the given phone number ID
POST /<PHONE_NUMBER_ID>/conversational_automation?enable_welcome_message=<ENABLE_DISABLE>

// Configure Commands with names and descriptions
POST /<PHONE_NUMBER_ID>/conversational_automation?commands=<COMMAND_LIST>

// Configure Prompts
POST /<PHONE_NUMBER_ID>/conversational_automation?prompts=<PROMPT>

Свойства тела


ЗаполнительОписаниеПример значения

<PHONE_NUMBER_ID>

Целое число

Обязательный параметр.


ID номера телефона аккаунта WhatsApp Business.

+12784358810

<ENABLE_DISABLE>

Логическое значение

Необязательный параметр.


Логическое значение для включения или отключения приветственного сообщения для номера телефона.


true

<COMMAND_LIST>

JSON

Необязательный параметр.


Список настраиваемых команд.


"commands": {
     "command_name": "generate"
     "command_description": "Create a new image",
     “command_name”: “rethink”
     “command_description”: “Generate new images from existing images”,
} 

<PROMPTS>

Список строк

Необязательный параметр.


Настраиваемые подсказки.


"prompts": ["Book a flight","plan a vacation"]

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

   curl -X POST \
 'https://graph.facebook.com/v19.0/PHONE_NUMBER_ID/conversational_automation' \
 -H 'Authorization: Bearer ACCESS_TOKEN' \
 -H 'Content-Type: application/json' \
 -d '{
   "enable_welcome_message": true/false,
   "commands": [
     {
       "command_name": "tickets",
       "command_description": "Book flight tickets",
     },
     {
       "command_name": "hotel",
       "command_description": "Book hotel",
     }
   ],
 "prompts": ["Book a flight","plan a vacation"]
}'

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

{
  "success": true
}

Просмотр текущей конфигурации с помощью API

Вы можете посмотреть текущую конфигурацию компонентов переписок для конкретного номера телефона, выполнив вызов GET к конечной точке.

Синтаксис запроса

GET  /<PHONE_NUMBER_ID>?fields=conversational_automation

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

{
  "conversational_automation": {
    "enable_welcome_message": true
    "prompts": [
      "Find the best hotels in the area",
      "Find deals on rental cars"
    ],
    "commands": [
      {
        "command_name": "tickets",
        "command_description": "Book flight tickets",
      },
      {
        "command_name": "hotel",
        "command_description": "Book hotel",
      }
    ],
  }
  "id": "123456"
}

Тестирование

Чтобы протестировать компоненты переписок после конфигурирования, откройте клиент WhatsApp и начните чат с номером телефона своей компании.

Для приветственных сообщений и вводных фраз: если у вас уже есть чат с этим номером телефона, необходимо сначала сбросить его:

  1. Откройте цепочку в клиенте WhatsApp.
  2. Нажмите профиль номера телефона компании.
  3. Нажмите Очистить чат > Очистить все сообщения.
  4. Удалите чат.
  5. Начните новый чат с этой компанией.

Теперь вы можете отправить сообщение на номер телефона компании, которое должно запустить Webhooks request_welcome.