Wysylanie wiadomosci
Wszystkie wiadomosci sa wysylane przez jeden endpoint. Pole type okresla rodzaj wysylanej wiadomosci, a pozostale pola zmieniaja sie odpowiednio.
Endpoint:
POST https://api.wappfy.io/api/instances/{instanceId}/messages/send
Naglowki:
| Naglowek | Wartosc |
|---|
X-Api-Key | Twoj klucz API |
Content-Type | application/json |
Wiadomosc tekstowa
Wyslij zwykla wiadomosc tekstowa.
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!"
}'
Odpowiedz:
{
"data": {
"message_id": "BAE5F2C4D3B2A1",
"status": "sent"
}
}
Wiadomosc z obrazem
Wyslij obraz z opcjonalnym podpisem.
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!"
}'
Wiadomosc wideo
Wyslij plik wideo z opcjonalnym podpisem.
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!"
}'
Wiadomosc audio
Wyslij plik audio. Wiadomosci audio pojawiaja sie jako wiadomosci glosowe w 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"
}'
Dla najlepszej kompatybilnosci uzywaj plikow .ogg zakodowanych kodekiem Opus do wiadomosci glosowych.
Wiadomosc z dokumentem
Wyslij plik jako zalacznik dokumentu.
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"
}'
Wiadomosc z lokalizacja
Wyslij pinezke z lokalizacja geograficzna.
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"
}'
Ankieta
Utworz interaktywna ankiete. Odbiorcy moga glosowac na opcje bezposrednio w 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
}'
Kontakt / vCard
Udostepnij wizytowke kontaktu.
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"
}'
Przekazanie wiadomosci
Przekaz istniejaca wiadomosc do innego czatu.
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]"
}'
Reakcja
Zareaguj na wiadomosc za pomoca 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"
}'
Aby usunac reakcje, wyslij pusty ciag znakow jako wartosc reaction.
Funkcje zaawansowane
Odpowiedz na wiadomosc
Cytuj poprzednia wiadomosc, dolaczajac quoted_message_id. Dziala z kazdym typem wiadomosci.
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"
}'
Edycja wyslanej wiadomosci
Edytuj wczesniej wyslana wiadomosc, podajac 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"
}'
Mozna edytowac tylko wiadomosci, ktore sam wyslales. Edycja ma ograniczenie czasowe narzucone przez WhatsApp (okolo 15 minut od wyslania).
Wzmianki
Oznacz konkretne kontakty w wiadomosci grupowej. Oznaczone kontakty otrzymaja powiadomienie.
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]"
]
}'
| Format | Opis | Przyklad |
|---|
{phone}@s.whatsapp.net | Czat indywidualny | [email protected] |
{id}@g.us | Czat grupowy | [email protected] |
Brazylijskie numery telefonow
Wappfy automatycznie obsluguje problem brazylijskiej 9. cyfry. Jesli wiadomosc nie powiedzie sie z bledem “no LID found”, system automatycznie ponowi probe z alternatywnym formatem (dodajac lub usuwajac 9. cyfre).Na przyklad, jesli 5511999998888 nie powiedzie sie, ponowi probe z 551199998888 i odwrotnie. Dzieje sie to transparentnie — nie musisz tego obslugiowac samodzielnie.
| Typ | Wymagane pola | Opcjonalne pola |
|---|
text | text | quoted_message_id, edit_message_id, mentions |
image | media_url | caption, quoted_message_id |
video | media_url | caption, quoted_message_id |
audio | media_url | quoted_message_id |
document | media_url | filename, caption, quoted_message_id |
location | latitude, longitude | name, address, quoted_message_id |
poll | poll_name, poll_options | poll_allow_multiple |
contact | contact_name, contact_phone | quoted_message_id |
forward | forward_message_id, forward_chat_id | — |
reaction | reaction_message_id, reaction | — |
Obsluga bledow
| Kod statusu | Opis |
|---|
400 | Nieprawidlowe dane wiadomosci (np. brak wymaganych pol dla danego typu). |
404 | Instancja nie znaleziona lub nie polaczona. |
422 | Walidacja wiadomosci nie powiodla sie (np. nieprawidlowy format numeru telefonu). |
429 | Przekroczono limit zapytan. Zobacz Limity zapytan. |
502 | Dostawca WhatsApp zwrocil blad. Sprawdz komunikat bledu po szczegoly. |