Vai al contenuto principale

Invio dei messaggi

Tutti i messaggi vengono inviati attraverso un unico endpoint. Il campo type determina il tipo di messaggio inviato e i campi rimanenti variano di conseguenza. Endpoint:
POST https://api.wappfy.io/api/instances/{instanceId}/messages/send
Header:
HeaderValore
X-Api-KeyLa tua chiave API
Content-Typeapplication/json

Messaggio di testo

Invia un messaggio di testo semplice.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "text",
    "text": "Hello from Wappfy!"
  }'
Risposta:
{
  "data": {
    "message_id": "BAE5F2C4D3B2A1",
    "status": "sent"
  }
}

Messaggio con immagine

Invia un’immagine con una didascalia opzionale.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "image",
    "media_url": "https://example.com/photo.jpg",
    "caption": "Check out this photo!"
  }'

Messaggio video

Invia un file video con una didascalia opzionale.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "video",
    "media_url": "https://example.com/clip.mp4",
    "caption": "Watch this!"
  }'

Messaggio audio

Invia un file audio. I messaggi audio vengono visualizzati come messaggi vocali in WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "audio",
    "media_url": "https://example.com/voice-note.ogg"
  }'
Per la massima compatibilita, utilizza file .ogg codificati con il codec Opus per i messaggi vocali.

Messaggio documento

Invia un file come allegato documento.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "document",
    "media_url": "https://example.com/report.pdf",
    "filename": "Q1-Report.pdf",
    "caption": "Here is the quarterly report"
  }'

Messaggio di posizione

Invia un segnaposto di posizione geografica.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "location",
    "latitude": -23.5505,
    "longitude": -46.6333,
    "name": "Sao Paulo",
    "address": "Sao Paulo, SP, Brazil"
  }'

Messaggio sondaggio

Crea un sondaggio interattivo. I destinatari possono votare le opzioni direttamente in WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "poll",
    "poll_name": "What day works best for the meeting?",
    "poll_options": ["Monday", "Wednesday", "Friday"],
    "poll_allow_multiple": false
  }'

Messaggio contatto / vCard

Condividi una scheda contatto.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "contact",
    "contact_name": "Maria Silva",
    "contact_phone": "+5511988887777"
  }'

Inoltrare un messaggio

Inoltra un messaggio esistente a un’altra chat.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511888887777@s.whatsapp.net",
    "type": "forward",
    "forward_message_id": "BAE5F2C4D3B2A1",
    "forward_chat_id": "5511999998888@s.whatsapp.net"
  }'

Reazione

Reagisci a un messaggio con un emoji.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "reaction",
    "reaction_message_id": "BAE5F2C4D3B2A1",
    "reaction": "\ud83d\udc4d"
  }'
Per rimuovere una reazione, invia una stringa vuota come valore di reaction.

Funzionalita avanzate

Rispondere a un messaggio

Cita un messaggio precedente includendo quoted_message_id. Funziona con qualsiasi tipo di messaggio.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "text",
    "text": "Yes, I agree with this!",
    "quoted_message_id": "BAE5F2C4D3B2A1"
  }'

Modificare un messaggio inviato

Modifica un messaggio inviato in precedenza fornendo edit_message_id.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "5511999998888@s.whatsapp.net",
    "type": "text",
    "text": "Updated message content",
    "edit_message_id": "BAE5F2C4D3B2A1"
  }'
Puoi modificare solo i messaggi che hai inviato tu. La modifica ha un limite temporale imposto da WhatsApp (circa 15 minuti dopo l’invio).

Menzioni

Menziona contatti specifici in un messaggio di gruppo. I contatti menzionati riceveranno una notifica.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "120363012345678901@g.us",
    "type": "text",
    "text": "Hey @Maria and @Carlos, please review this.",
    "mentions": [
      "5511999998888@s.whatsapp.net",
      "5511888887777@s.whatsapp.net"
    ]
  }'

Formati degli ID chat

FormatoDescrizioneEsempio
{phone}@s.whatsapp.netChat individuale5511999998888@s.whatsapp.net
{id}@g.usChat di gruppo120363012345678901@g.us

Numeri di telefono brasiliani

Wappfy gestisce automaticamente il problema della nona cifra brasiliana. Se un messaggio fallisce con un errore “no LID found”, il sistema riprova automaticamente con il formato alternativo (aggiungendo o rimuovendo la nona cifra).Ad esempio, se 5511999998888 fallisce, riprova con 551199998888, e viceversa. Questo avviene in modo trasparente — non devi gestirlo manualmente.

Riferimento dei tipi di messaggio

TipoCampi obbligatoriCampi opzionali
texttextquoted_message_id, edit_message_id, mentions
imagemedia_urlcaption, quoted_message_id
videomedia_urlcaption, quoted_message_id
audiomedia_urlquoted_message_id
documentmedia_urlfilename, caption, quoted_message_id
locationlatitude, longitudename, address, quoted_message_id
pollpoll_name, poll_optionspoll_allow_multiple
contactcontact_name, contact_phonequoted_message_id
forwardforward_message_id, forward_chat_id
reactionreaction_message_id, reaction

Gestione degli errori

Codice di statoDescrizione
400Payload del messaggio non valido (es. campi obbligatori mancanti per il tipo specificato).
404Istanza non trovata o non connessa.
422Validazione del messaggio fallita (es. formato del numero di telefono non valido).
429Limite di frequenza superato. Consulta Limiti di frequenza.
502Il provider WhatsApp ha restituito un errore. Controlla il messaggio di errore per i dettagli.