Sign inGet started

Recebendo stickers do WhatsApp

Um sticker que um contato toca na bandeja chega como uma mensagem de entrada contendo sticker: uma referência a um arquivo WebP, mais um flag animated.

O que um sticker de entrada contém

Exemplo de código
{
  "id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "sticker": {
    "id": "waf_01kye6r7as0zkv3g1q6suy9whc",
    "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
    "mime_type": "image/webp",
    "animated": false
  },
  "created_at": "2026-08-25T09:19:37Z"
}
CampoO que contém
idO arquivo armazenado, para passar como media_id ao obter os bytes
urlUma URL Bird, obtida com sua chave API
mime_typeO tipo de mídia reportado pelo WhatsApp, image/webp para um sticker
animatedSe o sticker é animado; presente apenas em um sticker de entrada
O arm não carrega legenda em nenhuma direção, nem nome do sticker ou do pacote de onde veio. Um sticker é a mensagem inteira.
animated diferencia um WebP animado de um estático, o que importa quando você renderiza o arquivo por conta própria: um sticker animado é um WebP com vários frames que um renderizador de imagem estática achata para o primeiro frame.

Obtendo os bytes

Passe o ID da mensagem e o id da mídia para o método de mídia do canal. A página obtendo mídia de entrada do hub traz essa chamada em todas as linguagens, junto com as regras de redirecionamento e cabeçalho que ela segue, e define a janela de retenção em que o arquivo existe.
A maioria das integrações nunca obtém um sticker. Ele geralmente carrega sentimento em vez de informação, então uma caixa de entrada de agente pode exibir um placeholder e um fluxo automatizado pode tratar a mensagem como uma confirmação que reinicia a janela de serviço, sem baixar nada.

O payload do webhook

whatsapp.received carrega o arm sticker no envelope do evento:
Exemplo de código
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:19:37.882Z",
  "data": {
    "whatsapp_id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "sticker": {
      "id": "waf_01kye6r7as0zkv3g1q6suy9whc",
      "url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
      "mime_type": "image/webp",
      "animated": false
    },
    "tags": null,
    "metadata": null
  }
}

Pontos de atenção

  • Um sticker ainda reinicia a janela de serviço. Ele é uma mensagem de entrada como qualquer outra, então garante mais 24 horas de respostas livres, mesmo sem conter texto para agir.
  • Um sticker não é uma reação. Uma reação com emoji que um contato adiciona a uma de suas mensagens não é uma mensagem de entrada: ela é registrada no log de reações da própria mensagem, e a leitura é coberta em eventos do WhatsApp.

Próximos passos