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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "type": "forward",
    "forward_message_id": "BAE5F2C4D3B2A1",
    "forward_chat_id": "[email protected]"
  }'

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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "type": "text",
    "text": "Hey @Maria and @Carlos, please review this.",
    "mentions": [
      "[email protected]",
      "[email protected]"
    ]
  }'

Formati degli ID chat

FormatoDescrizioneEsempio
{phone}@s.whatsapp.netChat individuale[email protected]
{id}@g.usChat di gruppo[email protected]

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.