Sign inGet started

Messaggi di testo semplice WhatsApp

Il testo semplice è il tipo di contenuto libero più elementare: un corpo senza allegati e un'anteprima opzionale per il primo link al suo interno.

Inviare un messaggio di testo

Imposta text.body:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  text: { body: "Your driver is 2 minutes away." },
});
console.log(msg.id, msg.status);
La forma completa aggiunge preview_url più i campi che qualsiasi invio in formato libero può includere:
Esempio di codice
{
  "to": "+16505551234",
  "from": "+13124495648",
  "text": {
    "body": "Your order shipped: https://example.com/track/A1B2C3",
    "preview_url": true
  },
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "tags": [{ "name": "category", "value": "shipping" }],
  "metadata": { "order_id": "A1B2C3" }
}
from è obbligatorio in ogni messaggio di servizio: un numero di proprietà del tuo spazio di lavoro, non uno gestito da Bird. in_reply_to_message_id cita un messaggio precedente nella stessa conversazione; vedi Citare un messaggio per sapere con cosa viene confrontato e cosa può mancare.

Limiti

CampoVincoloApplicato da
bodyDa 1 a 4096 caratteriBird, all'accettazione (422)
preview_urlbooleano, predefinito falseN/A, informativo
Un body composto solo da spazi supera la validazione minLength: 1 dello schema, ma Bird lo intercetta comunque: un body vuoto dopo il trimming viene rifiutato con 422 E15015 WhatsAppContentRequired. Un corpo oltre 4096 caratteri viene rifiutato con un semplice 422 e senza codice di catalogo dedicato.

Leggere un messaggio di testo in arrivo

Un messaggio di testo in arrivo contiene lo stesso campo text.body e nient'altro sul ramo. Vedi Ricevere messaggi di testo WhatsApp per la lettura completa in arrivo, il payload whatsapp.received e a cosa prestare attenzione.

Limiti e casi particolari

  • La finestra di servizio clienti deve essere aperta. Il testo semplice è un messaggio di servizio, consegnabile solo con una finestra aperta; vedi la finestra di servizio clienti dell'hub.
  • preview_url influisce solo sul primo link e solo su ciò che il client del destinatario visualizza. Il valore predefinito è false. Impostalo per mostrare l'anteprima del primo URL in body; un URL successivo nello stesso corpo non ne riceve mai una. Se il client del destinatario non riesce a recuperare un'anteprima per quel link, ritorna silenziosamente a un semplice link cliccabile. Nulla nella lettura indica se un'anteprima è stata effettivamente visualizzata.
  • Il markdown WhatsApp è il rendering del client del destinatario di body, non fa parte del contratto API. Bird passa body senza modifiche; non valida, rimuove o codifica *bold*, _italic_, ~strikethrough~ o il monospace con triplo backtick. Se quei marcatori vengono visualizzati dipende interamente dal client che apre il messaggio.
  • Un body in arrivo non è garantito essere non vuoto, nonostante quanto indicato dallo schema di lettura. Meta può segnalare un messaggio in arrivo come "text": {} o con un body vuoto, e Bird lo memorizza così com'è senza generare un segnaposto. Si tratta di un gap noto e aperto: non scrivere un consumer che si fidi del required: body dello schema in questo caso.

Prossimi passi