Отправка сообщений

Чтобы вы могли отправить пользователю сообщение в Messenger или Instagram, он сам должен начать переписку. На платформе Messenger можно отправлять сообщения нескольких типов. Для каждого типа предусмотрены свои политики и руководства, определяющие типы контента и условия отправки сообщений.

23 июля 2024 г. мы запустили новый Instagram API с входом через Instagram. Чтобы переписываться с клиентами, подписчиками или пользователями Instagram, интересующимися компанией или аккаунтом Instagram, управлять комментариями и публиковать медиафайлы, профессиональный аккаунт Instagram (бизнес-аккаунт или аккаунт автора) больше не нужно будет привязывать к Странице Facebook. Подробнее об этой новой версии см. в нашем блоге.

Ознакомьтесь с нашим Instagram API с входом через Instagram.

Информирование пользователей об автоматизации

Если этого требует применимое законодательство, в автоматическом чате пользователи должны получать уведомление о том, что они общаются с автоматизированным сервисом:

  • в начале любой переписки;
  • по прошествии длительного времени или
  • при переключении с чата с человеком на чат с ботом.

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

  • потребители или пользователи из Калифорнии;
  • потребители или пользователи из Германии.

Вот возможные примеры уведомлений об обслуживании с помощью чат-бота: "Я бот Страницы [название Страницы]", "Добро пожаловать в автоматический чат", "Вы общаетесь с ботом" или "Я автоматический чат-бот".

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

Подробнее см. в правилах для разработчиков .

Компоненты сообщения

Чтобы отправить сообщение, все запросы Send API от вашего приложения должны содержать следующие параметры:

  • ID Страницы Facebook или Страницы Facebook, связанной с вашим профессиональным аккаунтом Instagram и отправляющей сообщение;
  • ID пользователя, получающего сообщение;
  • маркер доступа к Странице, запрошенный у Страницы, которая отправляет сообщение;
  • разрешение от пользователя, получающего сообщение;

Подробнее о компонентах сообщений см. в справке по Send API .

Стандартное окно переписки

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

Сообщения, отправленные в пределах 24-часового окна, могут содержать рекламный контент.

Действия пользователей, открывающие стандартное окно переписки

Примеры действий пользователя, которые открывают стандартное 24-часовое окно переписки:

  • пользователь отправляет сообщение вашей Странице или профессиональному аккаунту Instagram;
  • пользователь нажимает кнопку призыва к действию, например кнопку "Начать" в переписке;
  • пользователь нажимает рекламу с переходом в Messenger и отправляет сообщение вашей Странице или профессиональному аккаунту Instagram;
  • пользователь отправляет сообщение Странице через плагин, например плагин отправки в Messenger или плагин с флажком;
  • пользователь нажимает ссылку m.me с переходом в существующую переписку со Страницей;
  • пользователь нажимает ссылку ig.me с переходом в существующую переписку с профессиональным аккаунтом Instagram;
  • пользователь реагирует на сообщение, например на маркетинговое;
  • пользователь комментирует публикацию на вашей Странице или в профессиональном аккаунте Instagram;
  • пользователь делает на Странице публикацию в качестве посетителя.

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

ID получателей

ID получателя задается в параметре объекта recipient и может содержать один из следующих типов ID:

  • ID внутри страницы (PSID) — уникальный ID, который назначается пользователю в момент отправки сообщения вашей Странице и обозначает взаимодействие между ними;

  • User Ref — ID, назначенный пользователю, который отправил вашей Странице сообщение с помощью плагина или кнопки обратной передачи;

  • ID публикации или комментария — ID, назначенный пользователю, который оставил публикацию на Странице или комментарий к публикации (позволяет ответить на комментарий личным сообщением).

Следует учитывать, что если у вас интегрирован вход через Facebook, ID пользователей действуют только внутри приложения и не будут работать на платформе Messenger.

Типы сообщений

Тип отправляемого сообщения задается в параметре messaging_type. Этот параметр позволяет явным образом обеспечить соблюдение политики отправки сообщений и предпочтений получателя.

Поддерживаются следующие типы сообщений:

  • ответ на полученное вами сообщение, который может содержать рекламный контент и должен быть отправлен в пределах стандартного окна переписки;

  • обновление, которое отправляется заранее и не является ответом на полученное сообщение, может содержать рекламный контент и должно быть отправлено в пределах стандартного окна переписки;

  • сообщение с меткой, которое отправляется вне стандартного окна переписки, а также содержит метку, соответствующую разрешенному сценарию использования, и нерекламный контент.

Метки сообщений

Метки сообщений позволяют компаниям отправлять пользователям сообщения вне окна стандартной переписки. Такие сообщения содержат актуальные для пользователя персонализированные обновления. Например, можно отправить обновленную информацию об отправке и доставке заказов, о предстоящем бронировании или перелете, либо уведомления, связанные со счетом или аккаунтом клиента. В переписках, требующих эскалации, метка оператора позволяет представителю компании вручную отвечать на сообщения пользователя в течение 7 дней.

Метки сообщений нельзя использовать для отправки рекламного контента, в том числе для предложения скидок, купонов и т. п. Использование меток вне одобренных сценариев может привести к наложению ограничений на отправку сообщений со Страницы или из аккаунта Instagram. Подробнее см. в обзоре политики платформы Messenger и API Instagram Messaging .

Чтобы отправить рекламное сообщение вне стандартного 24-часового окна переписки на платформе Messenger, компании должны использовать рекламные сообщения или однократные уведомления.

Типы контента

Отправляемые сообщения могут содержать контент следующих типов:

  • аудио;
  • кнопки;
  • файлы;
  • меню;
  • GIF-файлы;
  • изображения;
  • шаблоны;
  • текст;
  • видео.

Отправка обычного текста

Чтобы отправить человеку, который написал вашей Странице, обычное текстовое сообщение, выполните запрос POST к конечной точке /PAGE-ID/messages. Укажите в качестве id буквенного ключа для объекта recipient ID пользователя внутри страницы (PSID), задайте для параметра message_type значение RESPONSE, а для параметра message — значение text.

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"{PSID}"
  },
  "messaging_type": "RESPONSE",
  "message":{
    "text":"Hello, world!"
  }
}' "https://graph.facebook.com/v24.0/{PAGE-ID}/messages?access_token={PAGE-ACCESS-TOKEN}"
    

В случае успеха ваше приложение получит следующий ответ JSON с ID получателя и сообщения.

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U..."
} 

Отправка сообщения с медиафайлом

Чтобы отправить сообщение с медиафайлом, например GIF или изображением, либо шаблон, добавьте контент в запрос API в объекте JSON вложения сообщения.

Чтобы отправить человеку, который написал вашей Странице, сообщение с изображением, выполните запрос POST к конечной точке /PAGE-ID/messages. Укажите в качестве id буквенного ключа для объекта recipient ID пользователя внутри страницы (PSID), задайте для параметра message_type значение RESPONSE, для параметра message в объекте attachment укажите значение image для ключа type, а в объекте payload для ключа url укажите URL изображения.

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"1254459154682919"
  },
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "url":"http://www.messenger-rocks.com/image.jpg", 
        "is_reusable":true
      }
    }
  }
}' "https://graph.facebook.com/v24.0/me/messages?access_token={PAGE_ACCESS_TOKEN}"
  

В случае успеха ваше приложение получит следующий ответ JSON с ID получателя и сообщения.

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U..."
} 

Для отправки аудио, видео или файла с URL используйте тот же формат запроса.

Кроме того, вы можете отправлять медиафайлы со своего сервера или из числа загруженных на сервер Meta. Подробнее о загрузке файлов с помощью API Attachment Upload .

Отправка сообщения с несколькими медиафайлами

Чтобы отправить сообщение с несколькими изображениями, добавьте контент в запрос API в массиве JSON вложений сообщения. Разрешенный тип медиафайла — только изображение. При этом можно загрузить не более 30 изображений одновременно.

Чтобы отправить человеку, который написал вашей Странице, сообщение с несколькими изображениями, выполните запрос POST к конечной точке /PAGE-ID/messages. Укажите в качестве id буквенного ключа для объекта recipient ID пользователя внутри страницы (PSID), задайте для параметра message_type значение RESPONSE, для параметра message, который содержит массив attachments, укажите для каждого объекта значение image для ключа type, а в объекте payload для ключа url укажите URL изображения.

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "1254459154682919"
  },
  "message": {
    "attachments": [
      {
        "type": "image",
        "payload": {
          "url": "http://www.messenger-rocks.com/image.jpg"
        }
      },
      {
        "type": "image",
        "payload": {
          "url": "http://www.messenger-rocks.com/image.jpg"
        }
      }
    ]
  }
}' "https://graph.facebook.com/v24.0/me/messages?access_token={PAGE_ACCESS_TOKEN}"
  

В случае успеха ваше приложение получит следующий ответ JSON с ID получателя и сообщения.

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U..."
} 

Отправка ответа на сообщение

Чтобы отправить ответ на конкретное сообщение в чате, выполните запрос POST к /PAGE-ID/messages со следующими параметрами:

  • id буквенного ключа для объекта recipient с указанным ID пользователя внутри страницы (PSID);
  • message_type с заданным значением RESPONSE;
  • message со сведениями о сообщении;
  • mid буквенного ключа для объекта reply_to с указанным ID конкретного сообщения в чате, на которое нужно ответить.

Сообщением, на которое вы отвечаете, может быть как сообщение вашей Страницы, так и сообщение пользователя.

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient": {
    "id": "{PSID}",
  }
  "messaging_type": "RESPONSE"
  "message": {
    "text": "Hello, world!"      
  },
  "reply_to": {
    "mid": "{MESSAGE_ID}"
  }
}' "https://graph.facebook.com/v23.0/{PAGE-ID}/messages?access_token={PAGE_ACCESS_TOKEN}" 

В случае успеха ваше приложение получит следующий ответ JSON с ID получателя и сообщения.

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U…"
} 

Рекомендации

Текстовые сообщения

Будьте лаконичны. Учитывайте размер экрана и возможности прокручивания; компактные сообщения воспринимаются проще. Вместо одного длинного сообщения отправляйте несколько коротких.

Текст не сможет заменить изображения, таблицы и схемы. Лучше используйте структурированные сообщения или даже веб-представление.

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

Вложения

Уделяйте внимание качеству. Используйте яркие изображения высокого разрешения, чтобы привлечь внимание к сообщениям.

Учитывайте соотношение сторон. Проверьте, не обрезается ли изображение, когда оно появляется в облачке сообщения.

Не добавляйте к изображению много текста. Вместо этого используйте короткое сообщение или объедините изображения и текст в рамках общего шаблона.

Другие типы сообщений

Маркетинговые сообщения

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

Сообщения с новостями (в разработке)

Сообщения с новостями доступны только для издателей, зарегистрированных в указателе новостных Страниц Facebook (NPI). Так издатели могут отправлять не содержащие рекламного контента сообщения с новостями людям, которые подписались на рассылку.

Сообщения с новостями недоступны для Instagram Messaging API.

Однократные уведомления

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

Однократные уведомления недоступны для Instagram Messaging API.

Ответы в личных сообщениях

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

Рекламные сообщения

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

Рекламные сообщения не поддерживаются в Instagram Messaging API.

Служебные сообщения

Служебные сообщения позволяют отправлять сообщения с предварительно утвержденными шаблонами, в том числе информацию о заказах, обновления по аккаунтам и сообщения о встречах. Эти сообщения в высокой степени персонализированы и содержат номера аккаунтов, ID заказов, номера отслеживания доставки, дату и время встречи. Они также могут содержать призывы к действию, позволяющие пользователю отменить заказ, перенести встречу и выполнить другие действия, упрощающие взаимодействие с компанией.

Дальнейшие действия

Узнайте, какие компоненты можно добавлять в сообщения в переписках.

Дополнительная информация

Подробная информация об отправке сообщений с помощью платформы Messenger.

Поддержка разработчиков