Invio di reazioni WhatsApp
Reagisci al messaggio di un contatto con un emoji, ad esempio un pollice in su per confermare la ricezione della risposta. Puoi sostituire la tua reazione o rimuoverla in seguito.
Prerequisiti
Hai bisogno di una chiave API con permesso di scrittura WhatsApp e dell'ID messaggio Bird (wam_…) di un messaggio ricevuto dal tuo spazio di lavoro. Usa data.whatsapp_id da whatsapp.received, oppure il id del messaggio dal log WhatsApp.
Sostituisci l'ID messaggio di esempio con l'ID di un messaggio ricevuto dal tuo spazio di lavoro. Inizializza il client per il tuo linguaggio usando la guida SDK per TypeScript, Python, Go o PHP. Per gli esempi CLI, installa e autentica la CLI con accesso in scrittura WhatsApp. Usa l'host API per la regione del tuo spazio di lavoro nelle richieste cURL.
1. Aggiungere una reazione
Chiama React to a WhatsApp message con un singolo emoji:
const reaction = await bird.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", {
emoji: "👍",
});
console.log(reaction.id, reaction.emoji);reaction = client.whatsapp.reaction.set("wam_01krdgeqcxet5s7t44vh8rt9mg", emoji="\U0001f44d")
print(reaction.id, reaction.emoji)reaction, err := client.Whatsapp.Reaction.Set(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappReactionSetParams{
Emoji: "\U0001F44D",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(reaction.Id, reaction.Emoji)use MessageBird\Wire\Model\WhatsAppReactionUpsert;
$reaction = $bird->whatsapp->reaction->set(
'wam_01krdgeqcxet5s7t44vh8rt9mg',
(new WhatsAppReactionUpsert())->setEmoji("\u{1F44D}"),
);
echo $reaction->getId(), ' ', $reaction->getEmoji();bird whatsapp reaction set wam_01krdgeqcxet5s7t44vh8rt9mg --emoji '👍'curl -X PUT "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/reaction" \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emoji": "👍"}'API restituisce 202 con id (war_…) e emoji della reazione accettata. Salva l'ID della reazione per trovarne l'esito nel log delle reazioni. L'accettazione non conferma che WhatsApp abbia applicato la reazione.
Puoi avere una sola reazione per messaggio. Per sostituirla, ripeti la richiesta PUT con un emoji diverso. Le reazioni non vengono addebitate.
2. Controllare l'esito della reazione
Recupera il messaggio per vederne le reactions attuali, con una voce per mittente. Per l'esito di una modifica specifica, elenca gli eventi di reazione del messaggio e cerca l'ID della reazione salvato.
Il log delle reazioni registra gli esiti terminali: sent indica che WhatsApp ha accettato la modifica, failed indica che WhatsApp l'ha rifiutata e rejected indica che Bird l'ha rifiutata prima della trasmissione. Esamina il error dell'evento per una modifica fallita o rifiutata. Una reazione in attesa non ha ancora una voce nel log. Le reazioni non hanno conferme di consegna o lettura e nessun webhook di reazione in uscita.
3. Rimuovere la reazione
Chiama Remove a WhatsApp reaction con lo stesso ID messaggio:
await bird.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg");client.whatsapp.reaction.remove("wam_01krdgeqcxet5s7t44vh8rt9mg")if err := client.Whatsapp.Reaction.Remove(context.Background(), "wam_01krdgeqcxet5s7t44vh8rt9mg"); err != nil {
log.Fatal(err)
}$bird->whatsapp->reaction->remove('wam_01krdgeqcxet5s7t44vh8rt9mg');bird whatsapp reaction remove wam_01krdgeqcxet5s7t44vh8rt9mg --yescurl -X DELETE "https://us1.platform.bird.com/v1/whatsapp/messages/wam_01krdgeqcxet5s7t44vh8rt9mg/reaction" \
-H "Authorization: Bearer $BIRD_API_KEY"API restituisce 202 senza corpo della risposta. La rimozione viene elaborata in modo asincrono; controlla le reactions attuali del messaggio o il log delle reazioni per confermare l'esito. Una voce di rimozione nel log ha emoji: null. Rimuovere una reazione assente è sicuro e questa operazione rimuove la reazione del tuo spazio di lavoro, non quella del contatto.
Risoluzione dei problemi
- 404 (E15071): controlla l'ID del messaggio di destinazione e lo spazio di lavoro. Bird conserva il riferimento al messaggio necessario per aggiungere o rimuovere una reazione per 15 giorni.
- 422 (E01001): usa un messaggio ricevuto e un singolo emoji. Non puoi reagire a un messaggio inviato dal tuo spazio di lavoro. Un emoji combinato conta come un singolo emoji; due emoji separati no.
- Reazione invariata dopo 202: esamina il log delle reazioni per una modifica fallita o rifiutata. Una risposta HTTP con esito positivo conferma l'accettazione per l'elaborazione.
Passaggi successivi
- Ricevere le modifiche alle reazioni
- Contrassegnare un messaggio come letto
- Inviare una risposta WhatsApp
Risorse correlate
Prosegui con la documentazione, le guide e gli esempi per questo argomento. Le risorse sono in inglese.
Guarda la guidaConnecting WhatsApp to Bird: from buying a number to a live channelComprendi il concettoWhat is the 24-hour customer service window on WhatsApp?Usa lo strumentoWhatsApp message builderEsplora la funzionalitàWhatsApp
Prova l'esercitazione e ottieni un brief di implementazione