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

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

Частота сообщений

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

  • Маркеры уведомлений, созданные до 31 января 2023 г. для еженедельных и ежемесячных сообщений, по-прежнему поддерживаются. Частота отправки сообщений для этих маркеров не изменится, а параметр notification_messages_frequency будет возвращаться в уведомлении Webhooks о согласии на получение сообщений.

Срок действия маркеров и повторная регистрация

С 10 августа 2023 г. маркеры уведомлений более не будут иметь ограниченного срока действия. Запросы о повторной регистрации и напоминания о прекращении действия также более не будут отправляться.

Обзор

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

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

Требования

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

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

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

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

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

Ограничения

  • Нельзя отправлять человеку несколько запросов на одну и ту же конкретную тему в неделю. Это относится и к запросам категории "Новости и промоакции" по умолчанию.
  • Не отправляйте пользователям повторяющиеся запросы согласия. Дублирующиеся запросы согласия будут иметь одинаковое значение параметра title для уведомлений от Страницы Facebook или параметров title и image_url в случае отправки уведомлений от профессионального аккаунта Instagram.
  • Запросы согласия можно отправлять только в рамках стандартного окна переписки.
  • Если человек соглашается получать маркетинговые сообщения, это не открывает стандартное окно переписки.
  • Вы увидите, что человек дал согласие на получение маркетинговых сообщений, но не можете проверить статус ожидающих ответа запросов.
  • Если человек откажется получать маркетинговые сообщения, они больше не будут доставляться ему, а вы получите сообщение об ошибке.
  • Человек может заблокировать, скрыть сообщения или пожаловаться на них.
  • Профессиональный аккаунт может отправлять до 10 запросов согласия на получение маркетинговых сообщений на разные темы одному пользователю в течение 7 дней. В день одному пользователю можно отправлять до 5 запросов. Однако перед отправкой необходимо проанализировать, сочтут ли пользователи каждый запрос актуальным и ценным.

Мы можем менять эти требования и ограничения в интересах пользователей и компаний.

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

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

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

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

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

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

Частота сообщений

Относится к маркерам сообщений с уведомлением, созданным до 2 февраля 2023 г.

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

Запрос разрешения на отправку маркетинговых сообщений

Человек должен дать разрешение — согласие — на получение маркетинговых сообщений от Страницы Facebook или профессионального аккаунта Instagram. Платформа Messenger предлагает несколько способов отправить запрос на согласие. Чтобы сделать запросы согласия частью интерфейса обмена сообщениями, воспользуйтесь следующими функциями:

  • реклама с переходом в Messenger  — когда человек нажимает объявление;
  • плагин с флажком  — когда человек устанавливает флажок в форме и отправляет ее;
  • ссылки m.me — когда человек нажимает ссылку m.me на вашем сайте, в письме, публикации в социальных сетях и т. д.;
  • ответы в личных сообщениях  — когда человек посещает Страницу компании на Facebook и размещает там публикацию или комментарий;
  • QR-коды  — когда человек сканирует цифровой или печатный QR-код (поддерживается ссылками m.me);
  • плагин "Отправить в Messenger"  — когда человек начинает переписку, используя заранее определенные кнопки с призывом к действию или сообщения.

Пример запроса согласия

Чтобы отправить запрос согласия на получение маркетинговых сообщений, выполните вызов POST к конечной точке /PAGE-ID/messages и установите для типа шаблона сообщения значение notification_messages. Используйте ID вашей Страницы Facebook или Страницы Facebook, связанной с вашим профессиональным аккаунтом Instagram.

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"PSID-OR-IGSID"
  },
  "message":{
    "attachment":{
      "type":"template", 
      "payload":{
         "template_type":"notification_messages", 
         "notification_messages_timezone": "UTC",
         "title":"TITLE",
         "image_url":"IMAGE-URL",
         "payload": "ADDITIONAL-WEBHOOK-INFORMATION",
      }
    }
  }
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"

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

{ 
        "recipient": {
          "id":"PSID-OR-IGSID",
          "message_id":"MESSAGE-ID",
}

Справка по объекту вложения в сообщении

Для запроса согласия на получение маркетинговых сообщений в запрос POST к конечной точке /PAGE-ID/messages необходимо добавить объект JSON messageattachment.

СвойствоОписание

type

Перечисление { template }

Обязательный параметр. Должен иметь значение template.

payload

Объект

Контент маркетингового сообщения, в том числе тип шаблона, заголовок, частота отправки, опции для сообщений и др., для этого запроса согласия на получение маркетинговых сообщений.

elements
Массив

Обязательный параметр для кольцевой галереи. Массив с объектами element, которые описывают согласие. Каждый объект element должен содержать payload, notification_messages_frequency, а также может содержать title, image_url и notification_messages_reoptin. Поддерживается от 1 до 5 элементов.

image_aspect_ratio
перечисление { HORIZONTAL, SQUARE }

Соотношение сторон изображения.

  • SQUARE — квадратное изображение (1:1). При необходимости изображение обрезается.
  • HORIZONTAL — прямоугольное горизонтальное изображение (1,91:1). При необходимости изображение обрезается.
image_url
Строка

URL изображения, которое будет отображаться в шаблоне.

notification_messages_frequency
Перечисление { DAILY, WEEKLY, MONTHLY }

Больше не поддерживается для маркеров, созданные после 2 февраля 2023 г. По умолчанию используется значение DAILY. Частота отправки маркетинговых сообщений:

  • DAILY — одно уведомление каждые 24 часа;
  • WEEKLY — одно уведомление каждые 7 дней;
  • MONTHLY — одно уведомление каждый месяц.
notification_messages_cta_text
Перечисление { ALLOW, GET, GET_UPDATES, OPT_IN, SIGN_UP }

Текст кнопки действия:

  • ALLOW — задает для кнопки согласия текст "Разрешить сообщения";
  • GET — задает для кнопки согласия текст "Получать сообщения";
  • GET_UPDATES — задает для кнопки согласия текст "Получать обновления", а также используется по умолчанию, если значение notification_messages_cta_text не задано;
  • OPT_IN — задает для кнопки согласия текст "Согласиться на получение сообщений";
  • SIGN_UP — задает для кнопки согласия текст "Подписаться на сообщения".
notification_messages_timezone
Строка

Часовой пояс человека, получающего сообщение.

payload
Строка

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

template_type
Перечисление { notification_messages }

Обязательный параметр. Должен иметь значение notification_messages

title
Строка

Заголовок, отображаемый в шаблоне. Максимальная длина: 65 знаков. Если значение не задано, по умолчанию устанавливается "Новости и промоакции".

Маркеры сообщений с уведомлением

Когда человек дает согласие на получение уведомлений, ваша компания получает уведомление Webhooks messaging_optin с маркером сообщения с уведомлением и такими сведениями, как заголовок сообщений и часовой пояс пользователя. Маркер сообщения с уведомлением позволяет отправлять человеку маркетинговые сообщения.

Уведомление Webhooks о согласии

{
  "sender": {
    "id": "PSID",
  },
  "recipient": {
    "id": "PAGE-ID",
  },
  "timestamp": "TIMESTAMP",
  "optin": {
    "type": "notification_messages", 
      "payload": "ADDITIONAL-WEBHOOK-INFORMATION",
      "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN", 
      "notification_messages_timezone": "TIMEZONE-ID",
      "token_expiry_timestamp": "TIMESTAMP",
      "user_token_status": "TOKEN-STATUS"  
      "notification_messages_status": "MESSAGE-STATUS", 
      "title": "TITLE-FOR-THE-NOTIFICATION"
    }
}

Эти сведения относятся только к еженедельным или ежемесячным маркерам сообщений с уведомлениями, созданным до 2 февраля 2023 г.

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

Частота маркетинговых сообщенийОписание

Еженедельно

Можно отправлять одно сообщение каждую календарную неделю. Неделя — это период с 00:00 понедельника до 11:59 воскресенья в часовом поясе, установленном Страницей.

Ежемесячно

Можно отправлять одно сообщение каждый календарный месяц. Месяц — это период с 00:00 первого до 11:59 последнего дня месяца в часовом поясе, установленном Страницей.

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

Сообщения после согласия на получение уведомлений

После того как человек согласился на получение маркетинговых сообщений, вы можете отправить до трех сообщений. Все три сообщения должны быть отправлены в течение двух минут после первого. Максимальная длина второго и третьего сообщений — 250 знаков. Эти последующие сообщения должны отправляться вне рамок стандартного 24-часового окна отправки сообщений.

Чтобы отправить сообщение, выполните запрос POST к конечной точке /PAGE-ID/messages и укажите в объекте recipient маркер сообщения с уведомлением, а в объекте message — текст сообщения. Синтаксис запросов API для всех трех сообщений одинаков.

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

Для удобства чтения применено форматирование.
curl -X POST -H "Content-Type: application/json" -d 
    '{ 
        "recipient":{ 
            "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN" 
        }, 
        "message":{ 
            "text":FOLLOWUP-MESSAGE-TEXT-HERE, 
        } 
    }' 
"https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=TOKEN"

Получение списка маркеров

Чтобы получить список действительных маркеров сообщений с уведомлением, отправьте запрос GET к конечной точке /PAGE-ID/notification_message_tokens.

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

Для удобства чтения применено форматирование.
curl -i -X GET "https://graph.facebook.com/API-VERSION-NUMBER/PAGE-ID/notification_message_tokens
    ?access_token=PAGE-ACCESS-TOKEN"

По умолчанию возвращается список (до 25 маркеров), упорядоченный по времени обновления. Чтобы считывать больше маркеров, добавьте параметр limit. В настоящий момент существует ограничение в 100 маркеров. Вы можете использовать параметр after для разбивки на страницы, но помните, что параметр before недоступен.

В случае успеха ваше приложение получит следующий ответ JSON, содержащий маркер, ID получателя (как с областью действия Instagram, так и ID внутри страницы), время создания маркера, заголовок уведомления, а также время, когда вы можете отправить следующее маркетинговое сообщение этому получателю.

{
  "data":[
    {
      "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-1",
      "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-1",
      "notification_messages_reoptin":"RE-OPT-IN-STATUS",
      "creation_timestamp":TIMESTAMP,
      "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
      "user_token_status":"TOKEN-STATUS",
      "topic_title":"NOTIFICATION-TITLE",
      "notification_messages_timezone":"TIMEZONE-ID",
      "next_eligible_time": TIMESTAMP
    },
...
    {
      "notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-25",
      "recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-25",
      "notification_messages_reoptin":"RE-OPT-IN-STATUS",
      "creation_timestamp":TIMESTAMP,
      "token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
      "user_token_status":"TOKEN-STATUS",
      "topic_title":"NOTIFICATION-TITLE",
      "notification_messages_timezone":"TIMEZONE-ID",
      "next_eligible_time": TIMESTAMP
    }
  ],
  "paging":{"cursors":{"before":"QVFIU...","after":"QVFIU..."},"next":"https:\/\/graph.facebook.com\/LATEST-API-VERSION\/PAGE-ID\/notification_message_tokens?access_token=PAGE-ACCESS-TOKEN"}
}

Получение информации о маркерах

Чтобы получать информацию о маркерах маркетинговых сообщений, мы рекомендуем использовать Webhooks messaging_optin, однако вы также можете отправить запрос GET к конечной точке маркера, добавив маркер в параметр notification_messages_: notification_messages_NOTIFICATION-MESSAGES-TOKEN.

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

Для удобства чтения применено форматирование.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/notification_messages_NOTIFICATION-MESSAGES-TOKEN
    ?access_token=PAGE-ACCESS-TOKEN"

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

{
  "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN",
  "recipient_id": "PAGE-OR-INSTAGRAM-SCOPED-ID",
  "creation_timestamp": "TIMESTAMP",
  "token_expiry_timestamp": "TIMESTAMP",
  "user_token_status": "REFRESHED",
  "notification_messages_reoptin": "ENABLED",
  "notification_messages_timezone": "TIMEZONE-ID"
  "next_eligible_time": TIMESTAMP
}

Эти вызовы API учитываются в общем ограничении.

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

Прежде чем начать

Вам понадобятся:

  • маркер сообщения с уведомлением пользователя, согласившегося получать уведомления;
  • ID Страницы Facebook вашей компании;
  • маркер доступа к Странице, запрошенный у пользователя, который может выполнять действие MESSAGING на этой Странице;
  • разрешение pages_messaging с использованием входа через Facebook;
  • любые объекты для добавления в маркетинговое сообщение;
  • подписка на Webhook messaging_referrals для вашего приложения.

Чтобы отправить маркетинговое сообщение, выполните запрос POST к конечной точке /PAGE-ID/messages, задав значение NOTIFICATION-MESSAGES-TOKEN получателя и сведения о сообщении во вложении.

Ограничения

  • Для одного маркера сообщения с уведомлением можно отправлять только одно сообщение в день. Чтобы отправить несколько сообщений, делайте между ними перерыв в 24 часа. В противном случае вы получите сообщение об ошибке. (Не распространяется на сообщения после согласия на получение уведомлений.)

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

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

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

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
  },
  "message":{
    "attachment":{
      "type":"template",
      "payload":{
        "template_type":"generic",
        "elements":[
           {
            "title":"Welcome!",
            "image_url":"https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg",
            "subtitle":"We have the right hat for everyone.",
            "default_action": {
              "type": "web_url",
              "url": "https://www.originalcoastclothing.com/",
              "webview_height_ratio": "tall"
            },
            "buttons":[
              {
                "type":"web_url",
                "url":"https://www.originalcoastclothing.com/",
                "title":"View Website"
              },{
                "type":"postback",
                "title":"Start Chatting",
                "payload":"ADDITIONAL-WEBHOOK-INFORMATION"
              }              
            ]      
          }
        ]
      }
    }
  }
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"

В случае успеха приложение получит следующий ответ:

{ 
  "recipient": "PAGE-OR-INSTAGRAM-SCOPED-ID",
  "message_id": "MESSAGE-ID"      
}

Тестирование маркетинговых сообщений

Протестировать маркетинговые сообщения можно в любое время.

Прежде чем начать

Вам понадобятся:

  • пользователь-тестировщик, который получит уведомление (он должен иметь роль в приложении).

Тестовые запросы на согласие

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

  • Шаг 1. Отправьте тестировщику сообщение с шаблоном запроса согласия на получение маркетинговых сообщений.
  • Шаг 2. Тестировщик должен нажать в переписке кнопку согласия, например Получать сообщения о скидках 50 %.
  • Шаг 3. Отправьте тестировщику первое маркетинговое сообщение.
  • Шаг 4. Сразу же отправьте ещё одно маркетинговое сообщение, установив для параметра developer_action значение ENABLE_FOLLOWUP_MESSAGE.
  • Шаг 5. Отправьте тестировщику ещё одно маркетинговое сообщение, которое будет тестовым.

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

Для удобства чтения применено форматирование.
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/notification_messages_dev_support
    ?recipient={
        "notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
    }
    &developer_action=ENABLE_FOLLOWUP_MESSAGE
    &access_token=PAGE-ACCESS-TOKEN"

В случае успеха ваше приложение получит следующий ответ JSON, содержащий параметр success со значением true.

{ "success": true }

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

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

См. также

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