A variável Message expõe a última mensagem enviada pelo usuário que acionou a sua skill. É ideal quando você precisa reagir ao texto, anexos ou metadados da mensagem recebida.
Estrutura da mensagem
O objeto muda dependendo do tipo de mensagem recebida. Abaixo você encontrará exemplos reais retornados pelo WhatsApp.
Texto
{
"type": "TEXT",
"text": "Hello"
}
Áudio
O áudio é transcrito automaticamente quando possível. Você receberá tanto a URL do arquivo quanto o texto reconhecido.
{
"type": "AUDIO",
"mediaUrl": "https://cdn.jelou.ai/...mp3",
"contentType": "mp3",
"text": "This is an audio message"
}
Imagem
{
"type": "IMAGE",
"mediaUrl": "https://cdn.jelou.ai/....png",
"caption": "This is an image",
"width": 680,
"height": 462,
"length": 58137
}
Vídeo
{
"type": "VIDEO",
"mediaUrl": "https://cdn.jelou.ai/....mp4",
"caption": "This is a video"
}
Localização
{
"type": "LOCATION",
"lat": "-2.1646540164948",
"lng": "-79.895797729492",
"url": "http://maps.google.com/maps..."
}
Arquivo
{
"type": "FILE",
"mediaUrl": "https://cdn.jelou.ai/...",
"mimeType": "application/pdf",
"caption": "This is a file"
}
Acessando a última mensagem
Você pode acessar a mensagem de qualquer nó com a sintaxe {{$message.property}}:
{{$message.type}} indica o tipo (TEXT, IMAGE, AUDIO, etc.).
{{$message.text}} retorna o conteúdo da mensagem para tipos TEXT e a transcrição para AUDIO.
{{$message.mediaUrl}} expõe a URL do arquivo anexado (imagem, áudio, vídeo ou documento).
{{$message.caption}} mostra o texto adicional enviado junto com o arquivo.
{{$message.lat}} e {{$message.lng}} entregam as coordenadas quando o tipo é LOCATION.
Message em nós de código
Dentro de um nó de código, acesse cada propriedade com $message.get('property'):
const firstMessage = $message.get('text')
const messageType = $message.get('type')
const attachmentUrl = $message.get('mediaUrl')
Message sempre mostra a mensagem mais recente que o usuário enviou. Se for a primeira vez que o usuário escreve, essa primeira mensagem também será considerada a “última mensagem”.