Este documento foi atualizado.
A tradução para Português (Brasil) não foi concluída ainda.
Atualização em inglês: 5 de dez de 2023

Referência da API de Carregamento de Anexos

A API de Carregamento de Anexos permite carregar ativos que podem ser enviados em mensagens em outro momento. Ela ajuda a evitar o carregamento desnecessário e frequente de arquivos muito utilizados. Essa API oferece suporte para salvar ativos a partir de uma URL ou um sistema de arquivos local.

Também é possível usar a Send API para enviar uma mensagem com um anexo e simultaneamente salvá-lo para uso posterior. Para saber mais, consulte a Referência da API de Envio.

Carregar um anexo

Para carregar um anexo, envie uma solicitação POST ao ponto de extremidade /Your-page-id/message_attachment com message.attachment incluindo type e payload. Se quiser usar o ativo em várias mensagens, defina payload.is_reusable como true.

Exemplo de solicitação para carregar de uma URL

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_access_token) pelos seus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image", 
               "payload":{
                 "url":"https.your-url.com/image.jp",
                 "is_reusable": true
               }
             }
           }
         }'

Exemplo de solicitação para carregar de um arquivo

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_access_token) pelos seus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/message_attachment" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image"
             }
           },
           "filedata":"@/path-to-your-file/image.png";"type":"image/png"
         }'

Caso a solicitação seja bem-sucedida, o app receberá um objeto JSON com attachment_id definido como o ID do anexo a ser usado nas suas mensagens.

{"attachment_id": "Your-attachment-ID"}

Enviar uma mensagem com um ativo carregado

Para enviar uma mensagem com um ativo que já foi carregado, carregue-o com message.attachment.payload.is_reusable definido como true, envie uma solicitação POST ao ponto de extremidade /Your-page-id/messages com recipient.id, além do objeto message.attachment com type e payload.attachment_id.

Exemplo de solicitação para carregar de um arquivo

Texto formatado para facilitar a leitura. Substitua os valores em negrito e itálico (como page_access_token) pelos seus valores.

curl -X POST "https://graph.facebook.com/v19.0/Your-page-id/messages" \
     -H "Content-Type: application/json" \
     -d '{
           "access_token":"Your_page_access_token",
           "message":{
             "attachment":{
               "type":"image",
               "payload":{
                 "attachment_id":"Your-attachment-ID"
               }
             }
           }
         }'

Caso seja bem-sucedida, o app receberá um objeto JSON com success definido como true.

{"success": "true"}

Propriedades

Para anexos com origem em URLs, forneça as propriedades a seguir no corpo da solicitação como um objeto JSON. Para anexos com origem em arquivos, envie as propriedades como dados de formulário.

message

Description of the message to be sent.
Property Type Description

message.attachment

Object

An object describing attachments to the message.

message.attachment

Propriedade Tipo Descrição

type

String

O tipo do anexo. Deve ser um destes:

  • image
  • video
  • audio
  • file

payload

Objeto

O objeto payload que descreve o anexo.

message.attachment.payload

Propriedade Tipo Descrição

url

String

Opcional. A URL do arquivo a ser carregado. O tamanho máximo de arquivo é 8 MB para imagens e 25 MB para outros tipos de arquivo (após codificação). Estabelecemos o tempo-limite de 75 segundos para vídeos e 10 segundos para outros tipos de arquivo.

is_reusable

Booliano

Opcional. Defina como true para possibilitar o envio de ativos salvos para outros destinatários de mensagem. O padrão é false.

Códigos de erro

Código de erroSubcódigoMensagem

100

2018074

O ID pode ser inválido ou o anexo não é sua propriedade.

100

2018008

Erro ao obter o arquivo da URL. Verifique se a URL está funcionando e tem um certificado SSL válido, se o tamanho do arquivo é compatível e se o servidor está respondendo com rapidez para evitar o tempo-limite.

100

2018294

O carregamento do vídeo atingiu o tempo-limite ou o vídeo está corrompido. Caso não seja obtido em até 75 segundos, ele atingirá o tempo-limite.

100

2018047

Erro ao carregar o anexo. Isso acontece quando o tipo de mídia não corresponde ao tipo de arquivo fornecido na URL.