Mensagens de marketing

Este documento mostra como solicitar a permissão de uma pessoa para enviar mensagens de marketing, além de abordar as limitações e os requisitos específicos para enviar solicitações e como criar e enviar solicitações de permissão de mensagens de marketing.

Frequência de mensagens

Desde 31 de janeiro de 2023, notification_messages_frequency está obsoleto, e a frequência de mensagens não será mais necessária ao enviar solicitações de permissão de mensagens de marketing.

  • Os tokens de notificação criados antes de 31 de janeiro de 2023 para frequências semanais e mensais ainda são compatíveis. A frequência de mensagens para esses tokens não mudará, e notification_messages_frequency será retornado na notificação de webhook de aceitação de mensagens.

Expiração e reativação de token

A partir de 10 de agosto de 2023, os tokens de notificação não terão mais prazo de expiração. O envio de solicitações de reativação e lembretes de desativação também será suspenso.

Visão geral

As mensagens de marketing permitem que uma Página do Facebook ou uma conta profissional do Instagram envie mensagens fora da janela-padrão a pessoas que concederam permissão. Com essas mensagens, é possível construir relacionamentos com pessoas interessadas em você ou na sua empresa.

As mensagens de marketing são um novo recurso premium opcional ao qual pretendemos aplicar uma taxa de cobrança no futuro. No momento, cobramos das empresas o envio de mensagens da WhatsApp Business API e ouvimos o feedback dos clientes para orientar as decisões sobre o nosso modelo de preços. No caso de alterações referentes à avaliação gratuita, os clientes e parceiros serão informados com bastante antecedência.

Requisitos

  • É necessário cumprir todas as Políticas do Desenvolvedor ao usar mensagens de marketing ou outros recursos da plataforma do Messenger.

  • O envio de uma solicitação para que o usuário aceite receber mensagens de marketing precisa ser feito dentro da janela-padrão. A ação de um usuário de aceitar o recebimento de mensagens de marketing não abre essa janela de envio.

  • O app e/ou a experiência de troca de mensagens não pode receber um alto volume de feedback negativo dos usuários. Os recursos de mensagens poderão ser restritos ou removidos se determinarmos que a experiência do seu app recebeu taxas excessivas de feedback negativo dos usuários.

  • Não é permitido usar mensagens de marketing (inclusive solicitações de permissão) para enviar spam aos usuários. Isso inclui o envio de solicitações de permissão duplicadas em alta frequência para os mesmos usuários e outros tipos de spam, conforme definido nas nossas Políticas do Desenvolvedor

  • É importante respeitar as limitações impostas à funcionalidade da plataforma do Messenger e às mensagens de marketing para manter o escopo do serviço que estamos fornecendo a você.

Limitações

  • Só é possível enviar a cada pessoa uma solicitação de permissão por semana com o mesmo título específico. Isso inclui o valor-padrão "Atualizações e promoções".
  • Não envie solicitações de permissão duplicadas. Definimos como duplicada uma solicitação que apresenta o mesmo title em notificações de uma Página do Facebook ou o mesmo title e a mesma image_url em notificações de uma conta profissional do Instagram.
  • Só é possível enviar solicitações de permissão durante a janela-padrão de mensagens.
  • Se uma pessoa optar por receber mensagens de marketing, essa ação não abrirá a janela-padrão de envio.
  • É possível ver se uma pessoa aceitou receber mensagens de marketing, mas não conferir os status de solicitações de permissão pendentes.
  • Caso uma pessoa decida parar de receber esse tipo de comunicação, as suas mensagens não serão mais entregues a ela, e você verá um erro.
  • As pessoas poderão bloquear, silenciar ou denunciar as suas mensagens.
  • No caso de mensagens de marketing enviadas por uma conta profissional do Instagram, geralmente, é possível enviar até 10 solicitações de permissão com diferentes títulos por usuário em um período de 7 dias. Existe um limite secundário para enviar até 5 solicitações de permissão a um usuário em um dia. No entanto, antes de fazer o envio, analise se elas são úteis e relevantes para os destinatários.

Trabalhamos continuamente para oferecer a melhor experiência a usuários e empresas. Por isso, as limitações e os requisitos mencionados aqui estão sujeitos a alterações.

Boas práticas

Você deve enviar mensagens de marketing relevantes e valiosas para proporcionar uma experiência do usuário de alta qualidade. Para isso, faça o seguinte:

  • Sua solicitação de permissão (incluindo o título e a imagem) deve abranger os tipos de mensagens de marketing que os usuários esperam receber, como atualizações de pedidos, recomendações de produtos ou ofertas específicas.

  • Quando mais de uma solicitação de permissão é enviada a um usuário, cada notificação deve informar claramente os tipos diferentes e específicos de mensagens de marketing que ele pode receber.

As mensagens de marketing devem ser relevantes e estar alinhadas aos casos de uso que podem ser úteis ao usuário.

Os usuários podem avaliar a experiência oferecida por você e até mesmo bloquear as suas mensagens, o que pode resultar em restrições ao uso do recurso de mensagens de marketing. Analise regularmente as solicitações de permissão e as mensagens de marketing para ver se elas seguem as boas práticas acima.

Frequência de mensagens

Válido para tokens de mensagem de notificação criados antes de 2 de fevereiro de 2023.

  • Depois que a permissão for concedida, será possível enviar mensagens para a pessoa em uma frequência diária, semanal ou mensal, dependendo da opção selecionada por ela durante o processo de aceitação.

Solicitar permissão para enviar mensagens de marketing

Uma pessoa precisa dar permissão (ou seja, confirmar a aceitação) para receber mensagens de marketing da sua Página do Facebook ou conta profissional do Instagram. Há diferentes maneiras de obter essa aceitação na plataforma do Messenger. É possível criar pedidos de aceitação nas seguintes experiências de troca de mensagens:

Exemplo de solicitação de permissão

Para solicitar a permissão do envio de mensagens de marketing, faça uma solicitação POST ao ponto de extremidade /PAGE-ID/messages com o tipo de modelo de mensagem definido como notification_messages. A identificação da Página é referente à sua Página do Facebook ou à Página do Facebook vinculada à sua conta profissional do Instagram.

Observação: o parâmetro title é necessário para mensagens de marketing que contêm um carrossel da Página do Facebook ou da conta profissional do 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"

Se o processo for bem-sucedido, o seu app receberá a seguinte resposta JSON com os IDs do destinatário e da mensagem.

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

Referência do objeto do anexo da mensagem

Para solicitar a permissão de envio de mensagens de marketing, é preciso incluir um objeto JSON messageattachment na solicitação POST ao ponto de extremidade /PAGE-ID/messages.

PropriedadeDescrição

type

enumeração { template }

Obrigatório. O valor deve ser template.

payload

objeto

O conteúdo da mensagem de marketing (incluindo tipo de modelo, título, frequência de envio, opções de mensagem e mais) da solicitação de permissão.

elements
matriz

Obrigatório para carrossel. Uma matriz com objetos "element" que descrevem a permissão. Cada objeto "element" precisa conter payload e notification_messages_frequency, além de poder incluir um title personalizado, uma image_url e notification_messages_reoptin. São compatíveis no mínimo 1 e no máximo 5 elementos.

image_aspect_ratio
enumeração { HORIZONTAL, SQUARE }

Taxa de proporção da imagem.

  • SQUARE: renderizar imagem quadrada (1:1). A imagem será cortada, se necessário
  • HORIZONTAL: renderizar imagem horizontal (1,91:1). A imagem será cortada, se necessário.
image_url
string

A URL da imagem que será exibida no modelo.

notification_messages_frequency
enumeração { DAILY, WEEKLY, MONTHLY }

Obsoleto para tokens criados após 2 de fevereiro de 2023. O padrão é DAILY. A frequência de envio das mensagens de marketing da solicitação de permissão.

  • DAILY: aceita receber uma notificação a cada 24 horas.
  • WEEKLY: aceita receber uma notificação a cada 7 dias.
  • MONTHLY: aceita receber uma notificação por mês.
notification_messages_cta_text
enumeração { ALLOW, GET, GET_UPDATES, OPT_IN, SIGN_UP }

Texto que aparecerá no botão de chamada para ação.

  • ALLOW: define o texto do botão da mensagem de aceitação como "Permitir mensagens".
  • GET: define o texto do botão da mensagem de aceitação como "Obter mensagens".
  • GET_UPDATES: define o texto do botão da mensagem de aceitação como "Receber atualizações". Esse também será o padrão se notification_messages_cta_text não estiver definido.
  • OPT_IN: define o texto do botão da mensagem como "Aceitar mensagens".
  • SIGN_UP: define o texto do botão da mensagem para "Cadastre-se para receber mensagens".
notification_messages_timezone
string

Fuso horário da pessoa que receberá a mensagem.

payload
string

Obrigatório. O tipo de mensagem de marketing (como mensagem promocional ou mensagem de lançamento de produto) da solicitação de permissão.

template_type
enumeração { notification_messages }

Obrigatório. O valor deve ser notification_messages.

title
string

O título que será exibido no modelo. Não pode ter mais que 65 caracteres. Se nenhum valor for atribuído, o padrão será "Atualizações e promoções".

Tokens de mensagem de notificação

Quando uma pessoa confirmar o aceite, sua empresa receberá uma notificação de webhooks messaging_optin com um token de mensagem de notificação, além de informações como título da mensagem e fuso horário do destinatário. O token de mensagem de notificação permitirá enviar mensagens de marketing à pessoa.

Notificação de webhook de aceitação

{
  "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"
    }
}

O conteúdo a seguir se aplica apenas a tokens de mensagem de notificação com frequência semanal ou mensal criados antes de 2 de fevereiro de 2023.

Os tokens de mensagem de notificação são gerados conforme a frequência recorrente. Caso o usuário opte por receber mensagens de marketing diárias e semanais, serão gerados dois tokens de notificação. Se o usuário escolher a frequência diária, semanal e mensal, serão gerados três tokens.

Frequência das mensagens de marketingDescrição

Semanal

Só é possível enviar uma mensagem por semana. As semanas são contadas a partir de segunda-feira à 00h00 até domingo às 23h59 no fuso horário definido pela Página.

Mensal

Só é possível enviar uma mensagem por mês. Os meses são contados a partir do primeiro dia do mês à 00h00 até o último dia do mês às 23h59 no fuso horário definido pela Página.

As datas de expiração do token serão estendidas para as pessoas que aceitarem receber mensagens de marketing. As pessoas podem recusar o recebimento de mensagens a qualquer momento.

Mensagens de acompanhamento de aceitação

Depois que a pessoa confirmar o aceite das mensagens de marketing, você poderá enviar a ela até três mensagens de acompanhamento. Essas mensagens devem ser enviadas até dois minutos após a primeira mensagem de acompanhamento. A segunda e a terceira mensagens precisam ter no máximo 250 caracteres. As mensagens de acompanhamento podem ser enviadas fora da janela-padrão de 24 horas.

Para enviar uma mensagem de acompanhamento, encaminhe uma solicitação POST para o ponto de extremidade /PAGE-ID/messages com o objeto recipient contendo o token de mensagem de notificação e o objeto message com o texto das mensagens de acompanhamento. A sintaxe das solicitações de API é a mesma nas três mensagens de acompanhamento.

Exemplo de solicitação

Texto formatado para facilitar a leitura.
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"

Obter uma lista de tokens

Para obter uma lista de todos os tokens de mensagem de notificação válidos, envie uma solicitação GET ao ponto de extremidade /PAGE-ID/notification_message_tokens.

Exemplo de solicitação

Texto formatado para facilitar a leitura.
curl -i -X GET "https://graph.facebook.com/API-VERSION-NUMBER/PAGE-ID/notification_message_tokens
    ?access_token=PAGE-ACCESS-TOKEN"

Uma lista de até 25 tokens é retornada por padrão e ordenada por hora de atualização. Para ler mais, é possível adicionar o parâmetro limit. No momento, há um limite de retorno de 100 tokens. Você pode usar o parâmetro after para paginação. No entanto, a opção before não está disponível.

Se o processo for bem-sucedido, o seu app receberá a resposta JSON a seguir, incluindo o token, o ID do destinatário (no escopo do Instagram ou no escopo da Página), a hora em que o token foi gerado, o título da notificação e a hora em que você pode enviar a próxima mensagem de marketing a essa pessoa.

{
  "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"}
}

Como obter informações do token

Embora seja recomendado usar o webhook messaging_optin para obter informações da mensagem de marketing, é possível enviar uma solicitação GET ao ponto de extremidade do token quando ele estiver anexado a notification_messages_, notification_messages_NOTIFICATION-MESSAGES-TOKEN para obter informações relacionadas.

Exemplo de solicitação

Texto formatado para facilitar a leitura.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/notification_messages_NOTIFICATION-MESSAGES-TOKEN
    ?access_token=PAGE-ACCESS-TOKEN"

Se o processo for bem-sucedido, o seu app receberá a resposta JSON a seguir, incluindo o token de mensagens de notificação, a identificação do destinatário e outras informações. Você usará o token de mensagens de notificação e o ID do destinatário para enviar mensagens de marketing.

{
  "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
}

Essas chamadas de API serão descontadas do limite de volume do seu app.

Enviar uma mensagem de marketing

Antes de começar

Você precisará:

  • O token da mensagem de notificação da pessoa que aceitou receber notificações.
  • A identificação da Página do Facebook da sua empresa.
  • Um token de acesso à Página solicitado de uma pessoa que pode executar a tarefa MESSAGING na Página.
  • A permissão pages_messaging, por meio do Login do Facebook.
  • Um ativo para incluir na mensagem de marketing.
  • A assinatura do webhook messaging_referrals do app.

Para enviar uma mensagem de marketing, faça uma solicitação POST ao ponto de extremidade /PAGE-ID/messages com o valor NOTIFICATION-MESSAGES-TOKEN do destinatário e informações da mensagem no anexo.

Limitações

  • É possível enviar uma mensagem diária por token de mensagem de notificação. Ao enviar várias mensagens, atrase as mensagens subsequentes por 24 horas. Caso contrário, você receberá um erro. Isso não se aplica a mensagens de acompanhamento de aceitação.

Recomendações

  • Ao enviar mensagens de marketing, recomendamos consultar o fuso horário dos destinatários a fim de garantir que elas sejam recebidas em momentos apropriados para o destinatário.

Exemplo de solicitação

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"

Se o processo for bem-sucedido, o app receberá a seguinte resposta:

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

Testar as mensagens de marketing

É possível testar as mensagens de marketing a qualquer momento.

Antes de começar

Você precisará:

  • Uma pessoa (o testador) para receber a notificação. Esse destinatário precisa ter uma função no app.

Testar as aceitações

É possível testar as mensagens de marketing a qualquer momento seguindo as etapas abaixo.

  • Etapa 1: envie uma mensagem ao testador com um modelo de aceitação de mensagens de marketing.
  • Etapa 2: confirme que o testador clicou no botão de aceitação (como Receber mensagens de ofertas com 50% de desconto) na conversa.
  • Etapa 3: envie a primeira mensagem de marketing ao testador.
  • Etapa 4: envie outra mensagem de marketing logo após a primeira, com o parâmetro developer_action definido como ENABLE_FOLLOWUP_MESSAGE.
  • Etapa 5: envie outra mensagem de marketing ao testador. Esta é sua mensagem de teste.

Exemplo de solicitação

Texto formatado para facilitar a leitura.
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"

Se o processo for bem-sucedido, o seu app receberá a resposta JSON a seguir, contendo success definido como true.

{ "success": true }

Para testar a nova permissão, repita as etapas com o parâmetro developer_action definido como SEND_RE_OPTIN na Etapa 4.

Próximas etapas

Veja também

Suporte ao desenvolvedor