Referência da Send API

A Send API é a principal API usada para enviar aos usuários mensagens com texto, anexos, modelos, ações do remetente e muito mais.

Criação

Crie e envie mensagens aos clientes ou a pessoas interessadas na sua Página do Facebook.

Antes de começar

Você precisará do seguinte:

  • Um token de acesso à Página solicitado por uma pessoa que possa executar a tarefa MESSAGE na Página.
  • A permissão pages_messaging.
  • O destinatário da mensagem precisa ter enviado uma mensagem à Página nas últimas 24 horas ou ter aceitado receber mensagens dela fora da janela-padrão.

Limitações

  • As tags de mensagem não podem ser usadas para enviar conteúdo promocional.

A API de Envio não inclui o recipient_id na resposta a mensagens enviadas usando recipient.user_ref ou recipient.phone_number para identificar o destinatário.

Exemplo de solicitação

Para mandar uma mensagem a alguém, envie uma solicitação POST para o ponto de extremidade /PAGE-ID/messsages com os parâmetros messaging_type e recipient definidos, além do conteúdo da mensagem.

Texto formatado para facilitar a leitura.

O exemplo a seguir é uma resposta apenas com texto enviada pela Página a uma mensagem recebida.

curl -X POST "https://graph.facebook.com/v21.0/{PAGE_ID}/messages" \
      -d "recipient={'id':'{PSID}'}" \
      -d "messaging_type=RESPONSE" \
      -d "message={'text':'hello, world'}" \
      -d "access_token={PAGE_ACCESS_TOKEN}"

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

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

Parâmetros

ParâmetroDescrição

message

objeto

O tipo de mensagem sendo enviada pela Página. É preciso definir text ou attachement ao usar esse parâmetro.

  • Objeto attachment: mostra uma prévia da URL. Usado para enviar mensagens estruturadas ou com mídia. É necessário definir text ou attachment.

    • type: tipo de anexo. Pode ser audio, file, image, template ou video. O tamanho máximo do arquivo é 25 MB.
    • payload: um objeto que contenha um conteúdo de modelo ou de arquivo.
  • metadata: uma string com dados adicionais a serem passados no webhook message_echo. Precisa ter menos de 1.000 caracteres.

  • quick_replies: uma matriz com respostas rápidas a serem enviadas na mensagem.
  • text: uma mensagem que contenha somente texto. O texto deve estar em UTF-8 e ter menos de 2.000 caracteres.

messaging_type

enumeração

Obrigatório.

O tipo de mensagem sendo enviada.

  • RESPONSE: uma resposta a uma mensagem recebida. Isso inclui mensagens promocionais e não promocionais enviadas dentro da janela-padrão de mensagens de 24 horas. Por exemplo, use essa tag para responder se uma pessoa pedir uma confirmação de reserva ou uma atualização de status.
  • UPDATE: a mensagem está sendo enviada proativamente e não ocorre em resposta a uma mensagem recebida. Isso inclui mensagens promocionais e não promocionais enviadas dentro da janela-padrão de mensagens de 24 horas.
  • MESSAGE_TAG: a mensagem não é promocional e está sendo enviada fora da janela-padrão de mensagens de 24 horas com uma tag de mensagem. A mensagem deve corresponder ao caso de uso permitido da tag.

notification_type

enumeração

O tipo de notificação push que uma pessoa receberá.

  • NO_PUSH: sem notificação.
  • REGULAR (padrão): som ou vibração quando uma mensagem é recebida.
  • SILENT_PUSH: apenas notificação na tela.

recipient

objeto

Obrigatório.

A pessoa que receberá a mensagem sendo enviada.

  • id: o ID no escopo da Página para a pessoa cuja mensagem recebida nas últimas 24 horas será respondida ou para a pessoa que aceitou receber mensagens da Página fora da janela-padrão de 24 horas.
  • user_ref: a referência da pessoa usada para enviar uma mensagem em resposta a uma caixa de seleção ou um plugin de bate-papo do cliente.
  • comment_id: o ID do comentário usado para enviar uma mensagem em resposta privada a um comentário de visitante em uma publicação da Página.
  • post_id: o ID da publicação da Página usada para enviar uma mensagem em resposta privada a uma publicação de um visitante na Página.

sender_action

enumeração

O ícone de ação exibido na janela de mensagens que representa a ação realizada pela Página em uma mensagem que ela recebeu.

  • typing_on: exibe o balão de status da digitação enquanto a Página prepara uma resposta.
  • typing_off: não exibe o balão.
  • mark_seen: exibe o ícone que indica que a mensagem foi vista pela Página.

Pode ser enviado somente com o parâmetro recipient. Não pode ser enviado com o parâmetro message, que deve ser enviado em uma solicitação separada.

tag

enumeração

Uma tag que permite à Página enviar uma mensagem a alguém fora da janela-padrão de 24 horas.

  • ACCOUNT_UPDATE: marca a mensagem sendo enviada ao cliente como uma atualização não recorrente do app ou da conta. Consulte os usos permitidos.

    Indisponível para a API de Mensagens do Instagram.

  • CONFIRMED_EVENT_UPDATE: marca a mensagem sendo enviada ao cliente como um lembrete de um evento próximo ou uma atualização sobre um evento em andamento no qual ele está inscrito. Consulte os usos permitidos.

    Indisponível para a API de Mensagens do Instagram.

  • CUSTOMER_FEEDBACK: marca a mensagem sendo enviada ao cliente como uma pesquisa de feedback . As pesquisas de feedback podem ser enviadas no máximo 7 dias depois da última mensagem do cliente. Consulte os usos permitidos.

    Indisponível para a API de Mensagens do Instagram.

  • HUMAN_AGENT: obrigatório para a API de Mensagens do Instagram. Quando essa tag é adicionada, um agente humano pode enviar uma resposta à mensagem da pessoa. A resposta pode ser enviada no máximo 7 dias depois dessa mensagem. O suporte prestado por agentes humanos é voltado à resolução de problemas que não podem ser solucionados dentro da janela-padrão de mensagens. Consulte os usos permitidos.
    • Os apps precisam se inscrever para obter a permissão Human Agent via Painel de Apps do desenvolvedor. Acesse Painel de Apps -> Análise do app -> Permissões e recursos -> Human Agent. Os apps que já têm aprovação para o acesso beta à permissão Human Agent não precisam se inscrever novamente.

    A permissão Human Agent não está disponível no acesso padrão nem no modo de desenvolvimento. Será preciso concluir o processo de análise do app antes de usar a marcação de agente humano. Ao enviar o app para análise, forneça instruções claras e uma demonstração de como você pretende usar a marcação de agente humano nas suas experiências.

  • POST_PURCHASE_UPDATE: marca a mensagem sendo enviada ao cliente como uma atualização sobre uma compra recente. Veja os usos permitidos.

    Indisponível para a API de Mensagens do Instagram.

Usos da tag de mensagem

A tabela a seguir lista os tipos de mensagem de cada tag.

Tag de mensagemUso

ACCOUNT_UPDATE

Usos permitidos

  • Notificação relativa a uma alteração no status de um app; por exemplo, cartão de crédito ou candidatura a emprego
  • Notificação relativa a atividades suspeitas, como alertas de fraude

Usos não permitidos (lista não exaustiva)

  • Conteúdo promocional, incluindo, entre outros, ofertas, promoções, cupons e descontos para conteúdo recorrente (por exemplo, extrato pronto, fatura vencida, novas ofertas de empregos)
  • Comandos interativos para pesquisas, enquetes ou avaliações que não se relacionem a uma interação prévia no Messenger

Indisponível para a API de Mensagens do Instagram.

CONFIRMED_EVENT_UPDATE

Usos permitidos

  • Lembrete de aula, compromisso ou evento futuro que um usuário agendou
  • Confirmação da reserva ou da participação do usuário em um evento ou compromisso aceito
  • Notificação sobre o agendamento do transporte ou da viagem do usuário, por exemplo, data de chegada, cancelamentos, atraso com a bagagem ou outras mudanças de status

Usos não permitidos (lista não exaustiva)

  • Conteúdo promocional, incluindo promoções, ofertas, cupons e descontos, entre outros
  • Conteúdo relacionado a eventos nos quais o usuário não está inscrito (por exemplo, lembretes sobre a compra de ingressos para eventos, venda cruzada de outros eventos, cronogramas de viagem etc.)
  • Mensagens relativas a eventos anteriores
  • Comandos interativos para pesquisas, enquetes ou avaliações que não se relacionem a uma interação prévia no Messenger

Indisponível para a API de Mensagens do Instagram.

CUSTOMER_FEEDBACK

Usos permitidos

  • Pesquisa de feedback do suporte de compra
  • Pesquisa do evento de feedback
  • Avaliações de produto

Usos não permitidos (lista não exaustiva)

  • A tag somente pode ser usada com o Modelo de Feedback de Clientes. O uso em qualquer outra situação está proibido e resultará em falhas.

Indisponível para a API de Mensagens do Instagram.

HUMAN_AGENT

Usos permitidos

  • Suporte prestado por agentes humanos para resolver problemas que não podem ser solucionados dentro da janela-padrão de mensagens de 24 horas, por exemplo, problemas que precisam ser resolvidos fora do horário de atendimento regular ou que exigem mais de 24 horas para a resolução

Usos não permitidos (lista não exaustiva)

  • Mensagens automáticas
  • Conteúdo não relacionado à consulta do usuário

Obrigatório para a API de Mensagens do Instagram.

POST_PURCHASE_UPDATE

Usos permitidos

  • Confirmação de uma transação, como faturas ou recibos
  • Atualização sobre o status do envio, por exemplo, produto em trânsito, enviado, entregue ou atrasado
  • A atualização de status requer que um usuário realize uma ação em um pedido efetuado, como um cartão de crédito recusado, itens fora de estoque ou outras atualizações que exigem uma ação do usuário

Usos não permitidos (lista não exaustiva)

  • Conteúdo promocional, incluindo promoções, ofertas, cupons e descontos, entre outros
  • Mensagens de venda cruzada ou upsell de produtos ou serviços
  • Comandos interativos para pesquisas, enquetes ou avaliações que não se relacionem a uma interação prévia no Messenger

Indisponível para a API de Mensagens do Instagram.

Leitura

Não é possível executar essa operação no ponto de extremidade.

Para ver informações sobre conversas da Página, consulte Page Conversations Reference.

Atualização

Não é possível executar essa operação no ponto de extremidade.

Exclusão

Não é possível executar essa operação no ponto de extremidade.

Veja também

Suporte ao desenvolvedor