Como enviar mensagens de mídia

Use o nó messages para enviar mensagens com áudio, documentos, imagens, figurinhas ou vídeos aos seus clientes.

Basicamente, quando você enviar uma mensagem que inclui mídia, será necessário fornecer o ID da mídia carregada ou um link para a mídia no corpo da solicitação. Você também precisa especificar o tipo de mídia que está enviando: audio, document, image, sticker ou video. Quando a solicitação é recebida, a mídia é carregada no servidor do WhatsApp e enviada ao usuário indicado no campo to.

Atualmente, há duas maneiras de enviar mensagens de mídia com a WhatsApp Business API:

  • IDs: primeiro é preciso carregar a mídia usando o media a fim de obter o ID necessário para a chamada de API messages.
  • Links: forneça o link HTTP(S) do qual o aplicativo baixará a mídia. Isso eliminará a necessidade de carregar a mídia de forma manual.

Antes de começar

Você precisará fazer o seguinte:

Etapa 1: faça uma solicitação POST para /messages

Depois de carregar a mídia, use o ID retornado para o campo id na chamada da API que está enviando a mensagem. Outra opção é fornecer um parâmetro link que aponte para a mídia a ser enviada (atualmente, apenas links HTTP/HTTPS são compatíveis).

É necessário utilizar id ou link, mas não ao mesmo tempo.

Exemplo

Apenas para fins de ilustração, o exemplo abaixo mostra objetos diferentes variados, como audio, document, image, sticker e video. Um corpo de solicitação válido contém somente um deles.

POST /v1/messages
{
  "recipient_type": "individual",
  "to": "whatsapp-id",
  "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video",
  
  "audio": {
    "id": "your-media-id"
  }
  
  "document": {
    "id": "your-media-id",
    "filename": "your-document-filename"
  }
  
  "document": {
    "link": "the-provider-name/protocol://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "document": {
    "link": "http(s)://the-url.pdf"
  }
  
  "video": {
    "id": "your-media-id"  
  }
  
  "image": {
    "link": "http(s)://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "image": {
    "id": "your-media-id"   
  }
  
  "sticker": {
    "id": "your-media-id"
  }
  
  "sticker": {
    "link": "http(s)://the-url",
    "provider": {
      "name" : "provider-name"
    }
  }
}

Para obter mais informações sobre parâmetros, consulte os seguintes documentos:

Etapa 2: verifique sua resposta

A resposta bem-sucedida inclui um objeto messages com um ID de mensagem.

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}  

Caso a resposta seja malsucedida, um retorno de chamada será enviado à URL do webhook mesmo se a resposta mostrar um ID de mensagem parecido com o de um envio bem-sucedido. Por isso, é importante ter um servidor de Webhook configurado.

Consulte Mensagens de erro e status para obter mais informações sobre erros.