API

Migasender API-Referenz

22 Endpunkte · 101 Parameter · 36 ausgearbeitete Beispiele

Basis-URL https://apidb.migasender.com/p/YOUR_REGISTRATION_TOKEN/… Wo finde ich ihn?

Nichts gefunden. Versuchen Sie einen Endpunktnamen, einen Pfad oder einen Parameter.

Ihr Registrierungstoken

Jeder Pfad beginnt mit /p/<Registrierungstoken>/. Der Token sagt Migasender, für welche Plattform der Aufruf bestimmt ist. Auf einen falschen Token antwortet die API mit Unknown platform.; ein Pfad ohne /p/…/ erhält HTTP 404.

Sie finden ihn an drei Stellen:

  • Ihre Dashboard-Adresse. Im angemeldeten Zustand ist der Token alles nach /p/ in der Adressleiste, z. B. https://dashboard.migasender.com/p/907a0888…c1f61b.
  • Das alte Siberian-Backoffice. Oberes Menü Manage → Modules → Migawhatsapp (Seite …/migawhatsapp/backoffice_migawhatsapp), Abschnitt Migration. In einer Zeile mit Status MIGRATED zeigt die Spalte New endpoint https://apidb.migasender.com/p/<Token> (API) und https://dashboard.migasender.com/p/<Token> (Dashboard), jeweils mit Kopier-Schaltfläche. Apps mit OFF zeigen nur einen Strich.
  • Das Migasender-Admin-Panel (Plattform-Administratoren): https://apidb.migasender.com/panel/ → Platforms → Spalte Registration Token.

Er ist nicht dasselbe wie die Tokens in security_token: der Platform-Token (Line Management, Groups), der Send-Message-Token und der Chat-History-Token. Das Benutzerhandbuch erklärt es Schritt für Schritt.

Achtung

PLATTFORM-TOKEN: beim Plattform-Administrator anfordern. Die APIs für Leitungsverwaltung, QR-Code, Instanzen / Leitungsprotokoll und Gruppen benötigen das Plattform-Token. Es wird weder im Kunden-Dashboard noch im Bereich der API-Endpunkte angezeigt. Administratoren finden es unter Manage → Modules → Migawhatsapp, Feld Platform Token for API (altes Backoffice), oder unter https://apidb.migasender.com/panel/ → Settings → Platform Token for API. (siehe Benutzerhandbuch).

Sprache der Antworten

Antworten kommen standardmäßig auf Italienisch. Fügen Sie lang=en hinzu — als Query-Parameter oder als Feld im Body — um Englisch zu erhalten, die Sprache, in der jede Meldung auf dieser Seite abgedruckt ist.

Das betrifft die Felder error und message; die Daten bleiben unberührt. Der Header Accept-Language wird bewusst ignoriert, damit die Spracheinstellung eines Browsers niemals unbemerkt ändert, was Ihre Integration empfängt.

bash
curl -X POST 'https://apidb.migasender.com/p/YOUR_REGISTRATION_TOKEN/api_send/heartbeat?lang=en' \
  -H 'Content-Type: application/json' \
  -d '{ "app_id": 1, "security_token": "YOUR_SEND_MESSAGE_TOKEN" }'

7 Endpunkte

Leitungsverwaltung

WhatsApp-Leitungen, über die eine Anwendung versendet, anlegen, auflisten, umbenennen, umdatieren und löschen — und ihr Monatslimit setzen.

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Das Token ist ein Plattform-Token unter einem App-Feldnamen

Leicht falsch zu machen

Diese Endpunkte authentifizieren sich mit Ihrem Plattform-Token — das Feld heißt aber security_token, nicht platform_token. Wer hier das Send-Message- oder Chat-History-Token schickt, bekommt Security token mismatched.

Eine „Leitung“ ist ein Paar von Gateway-Zeilen, MASTER und SLAVE. Anlegen erzeugt beide, Löschen entfernt beide, eine Änderung schreibt in beide.

Was jeder Endpunkt der Leitungsverwaltung braucht

security_token string Erforderlich
Ihr Plattform-Token, trotz des Feldnamens.
app_id int Erforderlich
Die Anwendung, zu der die Leitung gehört.
Fehler, die jeder Endpunkt der Leitungsverwaltung zurückgeben kann5
Security token missing.
security_token wurde nicht mitgeschickt.
Security token mismatched.
Der Wert ist nicht das Token dieser Plattform — ein API-Token auf App-Ebene schlägt hier fehl.
App id missing.
app_id wurde nicht mitgeschickt.
Invalid app id.
Auf dieser Plattform passt keine Anwendung zu dieser app_id.
This app is in read-only mode. Write operations are disabled.
Kommt von create, update, delete und dem Setzen des Limits, solange die Anwendung schreibgeschützt ist. Lesezugriffe funktionieren weiterhin.
POST /p/{regToken}/api_line/getall

Alle Leitungen auflisten

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt alle Leitungen der Anwendung zurück, indiziert nach Leitungs-ID.

Parameter

Die beiden gemeinsamen Parameter genügen.

POST /p/{regToken}/api_line/get

Eine Leitung abrufen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt eine einzelne Leitung zurück, dazu die Chat-History- und Send-Message-Tokens der Anwendung.

Zusätzlich zu den gemeinsamen Parametern

line_id int Erforderlich
Die zu lesende Leitung.
Fehler2
Line id missing.
line_id wurde nicht mitgeschickt.
Invalid line id.
Keine Leitung mit dieser ID in dieser Anwendung.
POST /p/{regToken}/api_line/create

Eine Leitung anlegen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Fügt der Anwendung eine Leitung hinzu — eine MASTER- und eine SLAVE-Gateway-Zeile. Jedes Feld über die beiden gemeinsamen hinaus ist optional.

Zusätzlich zu den gemeinsamen Parametern

line_label string Optional
Ein Name für die Leitung. Muss innerhalb der Anwendung eindeutig sein.
line_expiration_date string (date) Optional
Y-m-d, und das Datum muss in der Zukunft liegen. Leer lassen für UNLIMITED. Auf YEARLY-Plattformen ignoriert — dort gilt immer ein Jahr ab heute.
max_messages_per_month int Optional
Das Monatslimit der Anwendung. Minimum 1.
Fehler5
Maximum allowed lines reached.
Das Leitungskontingent der Anwendung ist aufgebraucht. Ein Kontingent von 0 bedeutet unbegrenzt.
Line name already exists.
Eine andere Leitung dieser Anwendung verwendet dieses line_label bereits.
Invalid date format for line_expiration_date. Expected format: Y-m-d.
Das Datum liegt nicht im Format Y-m-d vor.
Invalid date for line_expiration_date. Date should be greater than the current date.
Das Datum ist heute oder liegt in der Vergangenheit.
Invalid max_messages_per_month value.
Keine Zahl oder kleiner als 1.
POST /p/{regToken}/api_line/update

Eine Leitung ändern

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Ändert Bezeichnung, Ablauf oder Status einer Leitung. Die Änderung wird in beide Gateway-Zeilen geschrieben.

Zusätzlich zu den gemeinsamen Parametern

Sie müssen mindestens line_expiration_date oder line_status mitschicken, sonst wird der Aufruf abgelehnt. line_label allein genügt nicht.

line_id int Erforderlich
Die zu ändernde Leitung.
line_label string Optional
Ein neuer Name. Muss weiterhin innerhalb der Anwendung eindeutig sein.
line_expiration_date string (date) Optional
Y-m-d, in der Zukunft.
line_status string Optional
Eines von CONFIGURED, NOT_CONFIGURED, EXPIRED, DISABLED.
enable_instance_status_webhook int Optional
Schaltet den Instanzstatus-Webhook für die Leitung ein.
instance_status_webhook_url string Bedingt
Erforderlich, sobald der Webhook aktiviert ist.
Fehler7
No data posted for update.
Weder line_expiration_date noch line_status wurde geschickt.
Line id missing.
line_id wurde nicht mitgeschickt.
Invalid line id.
Keine Leitung mit dieser ID in dieser Anwendung.
Line status missing.
Das Statusfeld war vorhanden, aber leer.
Invalid line status.
Keiner der vier zulässigen Werte.
Line name already exists.
Eine andere Leitung verwendet diese Bezeichnung bereits.
Instance Status Webhook URL is required when webhook is enabled.
enable_instance_status_webhook ist aktiv, aber es fehlt die URL.
POST /p/{regToken}/api_line/setmaxmessagespermonth

Monatliches Nachrichtenlimit setzen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Legt fest, wie viele Nachrichten die Anwendung pro Monat senden darf. Es ist dasselbe Limit, das beim Senden „You have reached the maximum limit of messages for this month.“ auslöst.

Zusätzlich zu den gemeinsamen Parametern

max_messages_per_month int Erforderlich
Das neue Limit. Minimum 1.
Fehler2
Value for max_messages_per_month is missing.
Das Feld wurde nicht geschickt.
Invalid max_messages_per_month value.
Keine Zahl oder kleiner als 1.
POST /p/{regToken}/api_line/delete

Eine Leitung löschen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Entfernt die Leitung, also beide Gateway-Zeilen MASTER und SLAVE.

Zusätzlich zu den gemeinsamen Parametern

line_id int Erforderlich
Die zu löschende Leitung.
Fehler2
Line id missing.
line_id wurde nicht mitgeschickt.
Invalid line id.
Keine Leitung mit dieser ID in dieser Anwendung.
Es gibt kein Rückgängig

Das Löschen entfernt beide Gateway-Zeilen der Leitung. Alles, was über diese Leitung versendet hat, hört auf, und die Verbindung muss per QR-Scan neu eingerichtet werden.

POST /p/{regToken}/api_line/heartbeat

Heartbeat

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Verfügbarkeitsprüfung, die zugleich die API-Tokens der Anwendung zurückgibt. Beim ersten Aufruf werden die Chat-History- und Send-Message-Tokens für die App angelegt.

Parameter

Die beiden gemeinsamen Parameter genügen.

5 Endpunkte

Nachrichtenversand

WhatsApp-Nachrichten senden: Text, Medien, Sprache, Gruppen, Leitungen im Rundlauf und Meta-Cloud-API-Vorlagen.

Wie ein Versand geleitet wird

Jeder Versand versucht zuerst WA API MASTER und weicht nur dann auf WA API SLAVE aus, wenn der Master-Versuch fehlschlägt.

  • Jedes Gateway erhält genau einen Versuch pro Anfrage. Es gibt keine innere Wiederholschleife und keine Vorfilterung nach gespeichertem Status.
  • Ein fehlgeschlagener Versuch markiert das Gateway sofort als PROBABLY_DISCONNECTED, aktualisiert last_status_checked und berechnet den Zustand der Leitung neu, bevor das nächste Gateway versucht wird.
  • Zu jedem Versuch wird Telemetrie geschrieben — Gateway-Typ, Status, Zeiten und ein klassifiziertes Erfolgs- oder Fehlerdetail.
  • Der erste erfolgreiche Versuch meldet sofort Erfolg. Schlagen beide fehl, erhalten Sie eine Fehlerantwort, die den Zustand berücksichtigt.

Wenn beide Gateways ausfallen

Die Antwort enthält success: false und einen error_code, der den Gesamtzustand der Leitung widerspiegelt:

error_codeWannMeldung
gateways_probably_disconnectedZustand der Leitung ist PROBABLY_OFFLINE oder eine Mischung nicht verbundener Zustände“GATEWAYS ARE PROBABLY DISCONNECTED, WE ARE CHECKING THE REAL STATUS, TRY AGAIN IN ABOUT 10 MINUTES.”
gateways_disconnectedZustand der Leitung ist OFFLINE oder jedes Gateway ist DISCONNECTED“GATEWAYS ARE DISCONNECTED. PLEASE RECONNECT BY SCANNING THE QR CODE, THEN TRY AGAIN.”

line_id und app_id kommen mit zurück. Die Antwort wird erst dann zurückgegeben, wenn jeder fehlgeschlagene Versuch sein Gateway markiert und die Neuberechnung des Zustands ausgelöst hat.

Über welche Leitung die Nachricht hinausgeht

line_idroundbin_idVerhalten
angegeben—Sendet über genau diese Leitung.
—angegebenDas System wählt im Roundbin die am längsten nicht genutzte verbundene Leitung.
angegebenangegebenroundbin_id gewinnt — line_id wird ignoriert.
——Weicht auf die verbundene Leitung der Anwendung aus. Ist keine verbunden: no active/connected gateway for this app — connect a line first
Hinweis

send_via=cloud_api überspringt die Leitungs- und Roundbin-Zuteilung vollständig — es ist keine WhatsApp-Leitung beteiligt. Vor dem Meta-Aufruf werden nur app_id, security_token und phone geprüft.

Fallback auf Meta Cloud API

Eine Nachricht kann statt über die WhatsApp-Leitung über Meta Cloud API hinausgehen, als genehmigte Vorlage. Der Text in message wird dann nicht zugestellt: Die Vorlage ersetzt ihn. Das geschieht in zwei Fällen.

FallWannWelche Vorlage
TagesschwelleDie Leitung hat heute bereits so viele Nachrichten gesendet, wie ihre Tagesschwelle erlaubt.Die aus dem Aufruf (fallback_template_*), sonst die der Leitung. Die der Leitung wird verwendet, wenn Fallback Enabled aktiv ist.
Leitung kann nicht sendenDie Leitung existiert nicht, ist nicht verbunden, ist als DISCONNECTED markiert oder lehnt den Versand ab (zum Beispiel eine gesperrte oder abgemeldete Nummer). Ebenso ein Roundbin, dessen Leitungen alle ausgefallen sind.Nur die aus dem Aufruf. Ohne sie erhalten Sie den üblichen Fehler.
  • Die Schwelle wird pro Leitung gezählt, nicht pro Kontakt, und der Zähler wird um 00:00 UTC zurückgesetzt. Gezählt werden nur Nachrichten, die die Schwellenprüfung durchlaufen: Der Fallback muss für diese Nachricht aktiv sein (Fallback Enabled auf der Leitung oder ein fallback_template_* im Aufruf), und im Modus standard wird ein Kontakt, der in den letzten 7 Tagen geschrieben hat, übersprungen und nicht gezählt. Bei Schwelle 1 geht die erste gezählte Nachricht des Tages über die Leitung und die nächste über Meta. Master- und Slave-Seite einer Leitung haben getrennte Zähler.
  • Scheitert auch der Versand der Vorlage, erhält die Failure-Webhook-URL der Leitung {"event":"waba_send_failed", "app_id", "line_id", "phone", "template_name", "error", "fallback_reason", "reference", "timestamp"}. fallback_reason ist null bei einem direkten send_via=cloud_api-Versand, und reference ist der Wert, den Sie im Aufruf übergeben haben.
  • Eine Nummer ohne WhatsApp-Konto erhält nichts: weder einen Versand über die Linie noch ein Template, denn auch Meta Cloud API erreicht sie nicht. Der Aufruf liefert den Fehler The phone number does not exist on WhatsApp., und die Failure-Webhook-URL der Linie erhält dasselbe Ereignis mit fallback_reason: "number_not_on_whatsapp" und template_name: null. Der Versand erscheint auf der Logs-Seite als fehlgeschlagen, zählt nicht zum Monatslimit, und api_send/status mit seiner reference antwortet state: not_sent, status: failed. Kann die Prüfung selbst nicht durchgeführt werden, wird die Nachricht wie gewohnt gesendet. Eine Nummer, deren Konto noch besteht, deren Telefon aber aus oder verloren ist, wird nicht erkannt.
  • Der Schwellenmodus standard (Standard) lässt Kontakte aus, die der Anwendung in den letzten 7 Tagen geschrieben haben, heute ausgenommen: Sie erhalten immer die normale Nachricht und werden nicht gezählt. strict zählt jede Nachricht.
  • Antwortet die Leitung nicht rechtzeitig, wird nichts über Meta erneut gesendet. Die Nachricht ist vielleicht schon hinausgegangen, und ein zweiter Versand würde sie doppelt zustellen. Senden Sie eine reference und fragen Sie vor einem erneuten Versand bei api_send/status nach: Die Antwort sagt, ob die Nachricht hinausging.
  • Die Antwort sagt, welcher Weg genommen wurde. via ist migasender für die Leitung und cloud_api_fallback für einen Fallback, der außerdem fallback_reason (threshold, line_not_found, line_disconnected, send_refused, all_lines_down) und die message_id von Meta enthält.
  • Die Zustellstatus eines Fallbacks erreichen den Zustell-Webhook der Leitung, wie bei jedem anderen Versand, mit channel: "waba".

Was jeder Endpunkt des Nachrichtenversands braucht

app_id int Erforderlich
Ihre Anwendungs-ID, oben links im Dashboard des Moduls.
security_token string Erforderlich
Das Token der Send-Message-API, erzeugt unter Einstellungen → API-Einstellungen mit der Bezeichnung Send Message API Token. Die API muss dort ebenfalls aktiviert sein.
Fehler, die jeder Endpunkt des Nachrichtenversands zurückgeben kann2
Security token mismatched.
Eine Antwort deckt vier Fälle ab: security_token fehlt, security_token falsch, app_id fehlt oder app_id nicht gefunden. Prüfen Sie beides unter Einstellungen → API-Einstellungen.
Send Message API is disabled.
Die Send-Message-API ist für diese Anwendung abgeschaltet. Aktivieren Sie sie in den API-Einstellungen.
POST /p/{regToken}/api_send/message

Eine Nachricht senden

Sendet eine WhatsApp-Nachricht — Text, Medien, Sprachnachricht, Gruppennachricht oder Meta-Vorlage. Die Parameter sind Felder im POST-Body, als JSON oder form-data.

Authentifizierung

app_id int Erforderlich
Ihre Anwendungs-ID, oben links im Dashboard des Moduls.
security_token string Erforderlich
Das Token der Send-Message-API, erzeugt unter Einstellungen → API-Einstellungen mit der Bezeichnung Send Message API Token. Dort muss die Send-Message-API ebenfalls aktiviert sein.

Empfänger und Inhalt

phone string Bedingt
10–14 Ziffern mit führendem + und Ländervorwahl. Optional, wenn Sie email für einen registrierten Nutzer schicken, dessen Profil eine gültige Telefonnummer enthält; sonst erforderlich. Bei Gruppenversand wird es gar nicht verwendet. Existiert die Nummer bereits in der Datenbank, erhalten Sie zusätzlich sib_user_id.
email string Bedingt
Eine gültige, in der Datenbank vorhandene Adresse, deren Konto eine Telefonnummer hinterlegt hat. Optional, wenn Sie stattdessen phone schicken. Werden beide geschickt, prüft die API zuerst, ob das Paar existiert, bevor irgendetwas gesendet wird.
message string Bedingt
Der zu sendende Text. Optional, wenn file_url gesetzt ist, denn eine Datei kann auch allein verschickt werden.
name string Optional
Vorname — nur wenn Sie den Nutzer zugleich registrieren möchten.
surname string Optional
Nachname — nur wenn Sie den Nutzer zugleich registrieren möchten.
file_url url Optional
Jede öffentlich erreichbare Datei-URL, die WhatsApp unterstützt. Maximal 25 MB. Audiodateien funktionieren nur, solange das MASTER-Gateway läuft.
is_link_preview_enabled int Optional
1 zeigt die Link-Vorschau (Standard), 0 blendet sie aus.

Sprachsynthese

tts_enabled int Optional
1 wandelt den Nachrichtentext in Audio um und sendet ihn als Sprachnachricht statt als Text; 0 ist der Standard. Nur MASTER-Gateway, und TTS muss für die Anwendung aktiviert sein.
tts_voice string Optional
OpenAI: alloy (Standard), echo, fable, onyx, nova, shimmer. ElevenLabs: die voice_id, die unter dem Player der gewählten Stimme steht. Der Anbieter wird unter Einstellungen → OpenAI-Konfiguration → TTS-Dienst ausgewählt.
tts_speed float Optional
OpenAI: 0.25–4.0, Standard 1.0. ElevenLabs: 0.1–1.2. Unter 1.0 wird die Sprache langsamer, darüber schneller.

Zuteilung

line_id int Optional
Die Leitung, über die gesendet wird. Muss gültig sein; ohne Angabe gilt 1. Zu finden unter Gateway-Einstellungen → WhatsApp-Leitungsverwaltung, in der Spalte Line ID.
roundbin_id int Optional
Eine Roundbin-Gruppe. Das System wählt daraus die nächste verfügbare verbundene Leitung (Rotation nach längster Nichtnutzung) und hat Vorrang vor line_id. Sind alle Leitungen der Gruppe getrennt und ist im Roundbin eine Fallback-Vorlage hinterlegt, wird stattdessen diese Vorlage über die Meta Cloud API gesendet.

Gruppenversand

is_sent_to_group int Optional
1 teilt der API mit, dass es sich um eine Gruppennachricht handelt. 0 oder gar nicht geschickt bedeutet normaler Versand.
group_id string Bedingt
Erforderlich bei is_sent_to_group=1; phone ist dann nicht mehr nötig. Format: 1203630000000000@g.us. Die IDs liefert der Endpunkt Gruppen auflisten weiter unten.

Direkter Versand über die Meta Cloud API

send_via string Optional
Auf cloud_api setzen, um die WhatsApp-Leitung vollständig zu umgehen und eine Meta-Vorlage zu senden. Standard migasender.
template_name string Bedingt
Erforderlich bei send_via=cloud_api. Der exakte Vorlagenname wie im Meta Business Manager, und die Vorlage muss APPROVED sein.
template_language string Optional
BCP-47-Code passend zur Sprache der genehmigten Vorlage. Standard en_US.
template_variables array | string Optional
Geordnete Werte für {{1}}, {{2}} … im Vorlagentext. Akzeptiert ein natives Array oder eine JSON-Zeichenkette. Die Anzahl muss exakt zur Vorlage passen.
template_buttons array | string Optional
Payloads für Buttons vom Typ URL — jedes Element ist das dynamische URL-Suffix oder ein Gutscheincode.

Fallback-Vorlage je Aufruf

Nur verwendet, wenn die Nachricht im Fallback landet: an der Tagesschwelle der Leitung oder wenn die Leitung nicht senden kann. Für diese eine Anfrage ersetzen sie die auf der Leitung konfigurierte Fallback-Vorlage. Siehe Fallback auf Meta Cloud API oben.

fallback_template_name string Optional
Name einer APPROVED-Vorlage auf dem WABA der Anwendung. Wird er gesendet, ist der Fallback für diese Nachricht aktiv, auch wenn er auf der Leitung aus ist. Wird auch fallback_template_id gesendet, gewinnt der Name.
reference string Optional
Ihre eigene Kennung für diesen Versand, bis zu 255 Zeichen. Sie kommt als reference im Failure-Webhook zurück, und läuft der Versand in ein Timeout, können Sie mit ihr bei api_send/status nachfragen, ob die Nachricht tatsächlich hinausging. Das gilt für Versände über die Leitung und über die Cloud API, Fallbacks eingeschlossen.
not_sent_after int Optional
Sekunden ohne Bestätigung nach einem Versand, der in ein Timeout lief, bevor api_send/status für seine reference not_sent antwortet. Von 60 bis 86400; Standard 180 (3 Minuten).
fallback_template_id int Optional
Die lokale ID der Vorlage (template_id). Nützlich, wenn mehrere Vorlagen denselben Namen in verschiedenen Sprachen tragen. Wird ignoriert, wenn auch fallback_template_name gesendet wird.
fallback_template_language string Optional
Wird normalerweise automatisch aus dem gespeicherten Vorlagendatensatz ermittelt. Schicken Sie dieses Feld nur, um das zu übersteuern.
fallback_template_variables array | string Optional
Werte für die Fallback-Vorlage. Die Anzahl wird gegen die Vorlage geprüft, bevor irgendetwas gesendet wird.
fallback_template_buttons array | string Optional
Button-Payloads für URL-Buttons in der Fallback-Vorlage.
Fehler40
Gateway settings do not exist.
Kein aktives Gateway für diese Kombination aus app_id und line_id.
GATEWAYS ARE PROBABLY DISCONNECTED… TRY AGAIN IN ABOUT 10 MINUTES.
Zustandsabhängige Antwort, error_code: gateways_probably_disconnected.
GATEWAYS ARE DISCONNECTED. PLEASE RECONNECT BY SCANNING THE QR CODE…
Zustandsabhängige Antwort, error_code: gateways_disconnected.
No eligible gateway available for retry.
Beim Senden wurde kein funktionierendes Gateway gefunden.
message or media is required
Weder message noch file_url wurde angegeben.
phone is required
Weder phone noch email wurde angegeben.
Phone number is missing or invalid. Include country code, e.g. +39123456789.
Ungültiges phone — es muss mit + beginnen und die Ländervorwahl enthalten.
The phone number does not exist on WhatsApp.
Die Nummer hat kein WhatsApp-Konto. Es wurde nichts gesendet, und die Failure-Webhook-URL der Linie hat fallback_reason: "number_not_on_whatsapp" erhalten.
The email address is invalid.
Ungültige email.
No such account exists with this email and phone pair.
Sie haben beides geschickt, und dieses Paar steht nicht in der Datenbank — werden beide geschickt, prüft die API zuerst den Nutzer. Schicken Sie zusätzlich name und surname, wird das Konto stattdessen angelegt und sib_user_id zurückgegeben.
The phone number associated with this account is not correct. …The current one is: API_SENT_PHONE_NUMBER
Versand nur mit E-Mail; das Konto existiert, aber die hinterlegte Telefonnummer ist ungültig.
No phone number is associated with this account.
Versand nur mit E-Mail; das Konto existiert, hat aber keine Telefonnummer hinterlegt.
No such account exists with this email.
Versand nur mit E-Mail; kein Konto mit dieser Adresse.
We are sorry but this account is already linked to one of our customers.
Versand nur mit E-Mail plus name/surname; die Adresse gehört bereits einem anderen Kunden.
The file does not exist.
file_url wurde angegeben, aber unter dieser URL wird nichts ausgeliefert.
The file size is too large. The maximum file size allowed is 25 MB.
Die Datei überschreitet die Grenze von 25 MB.
The file type is not supported.
Die Datei gehört nicht zu den unterstützten Typen — siehe den Hinweis unter dieser Tabelle.
The tts_voice value is not valid.
Die Stimme gehört nicht zu den zulässigen Optionen.
The tts_speed value must be between 0.25 and 4.0.
Außerhalb des Bereichs für OpenAI.
The tts_speed value must be between 0.1 and 1.2 for ElevenLabs.
Außerhalb des Bereichs für ElevenLabs.
Text to Speech is not enabled for this application.
tts_enabled=1, aber TTS ist für die App deaktiviert oder nicht konfiguriert.
Service is temporarily unavailable, please try later.
tts_enabled=1 und kein einziges Gateway ist CONNECTED.
no active/connected gateway for this app — connect a line first
Die line_id verweist auf kein nutzbares Gateway. Dasselbe erhalten Sie, wenn überhaupt keine Leitung verbunden ist.
Roundbin not found.
Kein Roundbin mit dieser roundbin_id in dieser Anwendung.
You cannot send a message because your line status is EXPIRED|DISABLED|NOT_CONFIGURED.
Die gewählte Leitung hat nicht den Status CONFIGURED.
All lines in this roundbin are disconnected and no fallback template is set.
Alle Leitungen des Roundbins sind ausgefallen und es gibt keine Fallback-Vorlage. Verbinden Sie eine Leitung neu oder hinterlegen Sie eine Vorlage.
You have reached the maximum limit of messages for this month.
Das Monatslimit — standardmäßig 10.000 — zählt jede erfolgreich versendete Nachricht. Es ist ein Plattformlimit, nicht die Tagesschwelle.
The is_link_preview_enabled value is not valid.
Ein anderer Wert als 0 oder 1.
The phone number does not exist on WhatsApp.
Der Empfänger hat kein WhatsApp-Konto.
Group id missing.
is_sent_to_group=1, aber group_id fehlt oder ist leer.
Group not found.
group_id ist keine gültige Gruppe. Tritt nur bei WA API MASTER auf — das Slave-Gateway unterstützt weder Gruppen noch diese Prüfung.
template_name is required for cloud_api send.
ohne Vorlagennamen.
Template requires {N} variables, {M} provided.
Die Anzahl in template_variables passt nicht zur Definition der Vorlage.
Fallback template not found or not approved.
fallback_template_id entspricht keiner APPROVED-Vorlage dieser Anwendung. Synchronisieren Sie die Vorlagen erneut von Meta.
Fallback template '{name}' requires {N} variables, {M} provided.
Abweichende Variablenanzahl bei der Fallback-Vorlage dieses Aufrufs.
{line error} Fallback template send failed: {reason}
Die Leitung konnte nicht senden, und auch die Fallback-Vorlage wurde abgelehnt. Nichts wurde zugestellt. Der erste Teil nennt den Grund für das Scheitern der Leitung, der zweite den Grund für die Ablehnung durch Meta.
{line error} Fallback template not delivered: {reason}
Die Leitung konnte nicht senden. Meta hat die Fallback-Vorlage angenommen und sie danach als nicht zugestellt gemeldet.
(#190) Access token has expired
Das Meta-WABA-Zugriffstoken ist abgelaufen. Verbinden Sie über die WABA-Konfigurationsseite neu.
(#132000) Variable parameter count mismatch
Meta hat den Vorlagenaufruf abgelehnt — die Variablenanzahl passt nicht zur Definition auf Meta-Seite.
(#131005) …
Ein Limit- oder Berechtigungsfehler der Meta Cloud API. Prüfen Sie den Status des WABA-Kontos im Meta Business Manager.
Unterstützte Dateitypen

Bilder image/jpeg, image/jpg, image/png · Video video/mp4, video/ogg, application/octet-stream · Audio audio/mpeg, audio/ogg · Dokumente application/pdf, application/msword, OpenXML-Typen von Word/Excel/PowerPoint, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, text/html, text/css, application/ics.

Fallback ist nicht dasselbe wie ein direkter Cloud-API-Versand

send_via=cloud_api geht immer über Meta, egal was der Tageszähler sagt. Die Parameter fallback_template_* wirken nur auf einen Versand über die Leitung (migasender): Die Vorlage geht hinaus, wenn die Tagesschwelle der Leitung erreicht ist oder die Leitung nicht senden kann. Ein Fallback pro Aufruf ersetzt den auf der Leitung konfigurierten nur für diese eine Anfrage.

Die Vorlagensprache muss exakt übereinstimmen

Die Sprachcodes müssen zur genehmigten Vorlage bei Meta passen — it, en_US, en, pt_BR. Bei Abweichung meldet Meta, dass die Vorlage nicht gefunden wurde.

Ein Schwellen-Fallback, den auch Meta ablehnt

Sie erhalten HTTP 200 mit gesetztem Fehlerfeld und der durchgereichten Original-Meldung von Meta, etwa { "error": "(#190) Access token has expired", "data": null }. Die tägliche Leitungsschwelle war erreicht und der Meta-Versand schlug fehl, es wurde also nichts zugestellt.

POST /p/{regToken}/api_send/checkphone

Eine Telefonnummer prüfen

Beantwortet, ob eine Nummer bei WhatsApp existiert. Nur drei Parameter. Dieselbe Prüfung läuft im Versand-Endpunkt.

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Token der Send-Message-API.
phone string Erforderlich
10–14 Ziffern mit führendem + und Ländervorwahl.
Fehler2
The service is currently unavailable due to an issue with the WA API Master. Please try again later.
Der MASTER-Server ist ausgefallen — dieser Endpunkt hat kein Slave-Fallback.
The phone number is not correct. Please add a phone between 10-14 digits with + international country code at the beginning.
Ungültiges phone.
POST /p/{regToken}/api_send/status

Status einer gesendeten Nachricht prüfen

Sagt, was mit einer Nachricht nach dem Versand passiert ist: über die vom Versand zurückgegebene message_id oder über Ihre eigene reference, wenn der Versand in ein Timeout lief und keine ID zurückgab.

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Token der Send-Message-API.
message_id string Bedingt
Die vom Versand zurückgegebene message_id (eine Leitungs-ID oder eine Cloud-API-wamid). Senden Sie diese oder reference.
reference string Bedingt
Die reference, die Sie beim Versand übergeben haben: ein Versand über die Leitung, ein direkter send_via=cloud_api-Versand oder einer, den der Fallback auf die Cloud API verlegt hat. Verwenden Sie sie, wenn der Versand in ein Timeout lief und keine message_id zurückgab: Die Antwort sagt, ob die Nachricht tatsächlich hinausging.
Fehler3
message_id is required.
Weder message_id noch reference wurde gesendet.
message_id not found.
Keine Nachricht mit dieser ID in dieser Anwendung.
reference not found.
Kein Versand trug diese reference: Der Versand hat nie eine Leitung erreicht (abgelehnt oder ungültig), oder die Referenz ist falsch. Ein Versand, der abgelehnt wurde, weil die Nummer kein WhatsApp hat, hat dagegen einen Eintrag: Er antwortet not_sent.
POST /p/{regToken}/api_send/groups

Die Gruppen einer Leitung auflisten

Gibt alle WhatsApp-Gruppen zurück, denen die Leitung angehört, samt der group_id-Werte, die Sie für einen Gruppenversand brauchen.

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Token der Send-Message-API.
line_id int Optional
Ohne Angabe gilt 1.
POST /p/{regToken}/api_send/heartbeat

Heartbeat

Bestätigt, dass die Send-Message-API erreichbar ist und Ihr Token sowie Ihre App-ID akzeptiert werden. Nimmt dieselben Parameter wie der Versand-Endpunkt entgegen, sendet aber nichts.

Parameter

Die beiden gemeinsamen Parameter genügen.

Form der Antwort

Das offizielle Dokument druckt für die Heartbeat-Endpunkte keinen Beispiel-Body ab, deshalb wird hier keiner wiedergegeben. Werten Sie eine Antwort mit error: null als erreichbar und lesen Sie für die Fehlerfälle die Tabelle oben.

2 Endpunkte

Chatverlauf

Gespeicherte Unterhaltungen lesen, mit Filtern für Telefon, E-Mail, Datum, Leitung, Herkunft, Ziel und Richtung.

Was zurückkommt

Mediennachrichten erscheinen im selben Schlüssel message wie Text. Enthält eine Nachricht beides, steht der Text vor der Medien-URL.

Jeder Datensatz führt ein Feld in_out — IN für eingehend, OUT für ausgehend.

Wichtig

filter_start_time wird gegen die Uhr Ihres Servers geprüft. Die Zeitzone der Anwendung bzw. des Servers muss also korrekt gesetzt sein, damit der Filter das bedeutet, was Sie erwarten.

Was jeder Chatverlauf-Endpunkt braucht

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Token der Chat-History-API, erzeugt unter Einstellungen → API-Einstellungen mit der Bezeichnung Chat History API Token. Die API muss dort ebenfalls aktiviert sein.
Fehler, die beide Chatverlauf-Endpunkte zurückgeben können2
Security token mismatched.
Eine Antwort deckt vier Fälle ab: security_token fehlt, security_token falsch, app_id fehlt oder app_id nicht gefunden. Prüfen Sie beides unter Einstellungen → API-Einstellungen.
Chat History API is disabled.
Die Chat-History-API ist für diese Anwendung abgeschaltet. Aktivieren Sie sie in den API-Einstellungen.
GET /p/{regToken}/api_chathistory/history

Chatverlauf lesen

Gibt die gespeicherten Nachrichten der Anwendung zurück. Alle Filter sind optional und lassen sich kombinieren.

Hinweis

Ältere Dokumentation führt diesen Endpunkt als POST. Es ist ein GET, und die Filter sind Query-String-Parameter.

Authentifizierung

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Token der Chat-History-API, erzeugt unter Einstellungen → API-Einstellungen mit der Bezeichnung Chat History API Token. Dort muss die Chat-History-API ebenfalls aktiviert sein.

Filter

filter_history_id int Optional
Die Chat- bzw. Log-ID, ab der begonnen wird — mit 10 erhalten Sie den Verlauf ab 10.
filter_start_date string (date) Optional
yyyy-mm-dd. Wird gegen created_at des Datensatzes geprüft; liefert den Verlauf ab diesem Datum.
filter_start_time string (time) Optional
HH:mm:ss. Nur zusammen mit filter_start_date gültig. Verwendet die Zeitzone des Servers.
filter_phone_number string (phone) Optional
10–14 Ziffern mit führendem + und Ländervorwahl.
filter_email string (email) Optional
Filtert nach der E-Mail eines Kunden, sofern der Kunde existiert und eine hinterlegt hat.
filter_origin string Optional
Eines von WA API MASTER, WA API SLAVE, MIGACHAT, API, WEBHOOK. Über api_send/message von einer Linie gesendete Nachrichten werden nur beim Filter auf API zurückgegeben.
filter_destination string Optional
Eines von WA API MASTER, WA API SLAVE, MIGACHAT, WEBHOOK, WA_USER.
filter_line_id int Optional
Wird angenommen, aber nicht angewendet. Die Anfrage gelingt und der Wert wird ignoriert, das Ergebnis ist also nicht auf diese Leitung eingeschränkt. Filtern Sie vorerst auf Ihrer Seite nach Leitung.
filter_in_out string Optional
Wird angenommen, aber nicht angewendet. IN / OUT werden ignoriert; jeder Datensatz führt sein eigenes Feld in_out, filtern Sie also nach dem Lesen darüber.
Fehler1
This app has not yet configured the gateway settings so you cannot get the history.
Für die App ist kein Gateway konfiguriert.
Filter werden nicht validiert — ein falscher Wert wird ignoriert, nicht abgelehnt

Ein ungültiges Datum, eine Herkunft außerhalb der Liste, eine Richtung, die weder IN noch OUT ist: nichts davon wird abgelehnt. Der Filter wird schlicht nicht angewendet, und Sie erhalten das ungefilterte Ergebnis mit error: null. Prüfen Sie Filterwerte vor dem Senden und gleichen Sie die Zeilenzahl mit Ihrer Erwartung ab, statt aus einem leeren Fehlerfeld zu schließen, der Filter sei verstanden worden.

GET /p/{regToken}/api_chathistory/heartbeat

Heartbeat

Bestätigt, dass die Chat-History-API erreichbar ist und Ihr Token akzeptiert wird.

Hinweis

Ältere Dokumentation nennt diesen Pfad api_chat/heartbeat. Der aktuelle Pfad ist api_chathistory/heartbeat und nimmt sowohl GET als auch POST entgegen.

Parameter

Die beiden gemeinsamen Parameter genügen.

Form der Antwort

Das offizielle Dokument druckt für die Heartbeat-Endpunkte keinen Beispiel-Body ab, deshalb wird hier keiner wiedergegeben. Werten Sie eine Antwort mit error: null als erreichbar.

5 Endpunkte · v2.0.0

QR-Code

Eine WhatsApp-Nummer mit einer Leitung verbinden: den QR-Code abrufen, den Scan verfolgen und danach den Zustand der Leitung prüfen.

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Was sich in v2.0.0 geändert hat

  • /get verwendet nun standardmäßig dieselbe offene instance_id weiter, sodass wiederholte Aufrufe keine doppelten Sitzungen mehr anhäufen.
  • Schicken Sie action=RESET oder reset=1, um bewusst eine neue Instanz und einen neuen QR-Code zu erzwingen.
  • QR-Anfragen sind auf Leitungs-, App- und Plattformebene ratenbegrenzt, konfigurierbar im Backoffice.
  • Die QR-Zähler einer Leitung werden automatisch zurückgesetzt, sobald ein Scan gelingt.
  • Ratenbegrenzungsfehler nennen genau den Zeitpunkt, an dem die Sperre endet.

Standard-Ratenbegrenzungen

EbeneMindestabstandZeitfensterMax. AnfragenSperrzeit
Leitung30s600s51800s
App—600s201800s
Global—600s1001800s

Alle neun Werte lassen sich im Backoffice unter QR Code API Rate Limits ändern.

Parameter, die jeder QR-Endpunkt braucht

platform_token string Erforderlich
Plattformweites Token aus dem Backoffice, Abschnitt Platform Token for API. Kann auch als Header X-Platform-Token geschickt werden.
app_id int Erforderlich
Ihre Anwendungs-ID, oben links im Dashboard des Moduls.
line_id int Erforderlich
Die Leitung, auf die Sie einwirken wollen.
whatsapp_gateway_type string Erforderlich
Welches Gateway der Leitung: WA API MASTER oder WA API SLAVE.
action / reset string / int Optional
Schicken Sie action=RESET oder reset=1, um eine neue Instanz und einen neuen QR-Code zu erzwingen. Ohne das verwendet /get die bereits offene instance_id weiter, statt eine doppelte Sitzung zu öffnen.
Fehler, die jeder QR-Endpunkt zurückgeben kann15
Platform token missing.
Kein platform_token und kein Header X-Platform-Token.
Platform settings not found.
Für die Plattform existieren überhaupt keine Einstellungen.
Platform token not found.
Einstellungen existieren, es ist aber kein Plattform-Token hinterlegt.
Platform token mismatched.
Das geschickte Token ist nicht das Token der Plattform.
App id missing.
app_id wurde nicht geschickt.
Invalid app id.
Keine Anwendung passt zu dieser app_id.
Line id missing.
line_id wurde nicht geschickt.
WhatsApp gateway type is missing.
Jede Anfrage muss angeben, welches Gateway gemeint ist: WA API MASTER oder WA API SLAVE.
WhatsApp gateway type is invalid.
Der geschickte Wert ist keiner der beiden zulässigen.
Line settings do not exist.
Die geschickte Parameterkombination gehört zu keiner Leitung.
Line status is EXPIRED | DISABLED.
Eine Leitung in einem dieser beiden Zustände lässt sich nicht bearbeiten.
Line QR rate limit reached (max X requests per Y seconds). Please wait until YYYY-MM-DD HH:MM:SS before trying again.
Limit je Leitung. Die Meldung nennt den genauen Zeitpunkt, an dem die Sperre endet.
App QR rate limit reached (max X requests per Y seconds). Please wait until YYYY-MM-DD HH:MM:SS before trying again.
Limit je Anwendung.
Platform QR rate limit reached (max X requests per Y seconds). Please wait until YYYY-MM-DD HH:MM:SS before trying again.
Plattformweites Limit.
Please wait 25s before requesting a new QR code for this line. Next allowed at YYYY-MM-DD HH:MM:SS.
Der Mindestabstand zwischen zwei QR-Anfragen auf derselben Leitung.
POST /p/{regToken}/api_qr/get

Einen QR-Code abrufen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt ein Base64-PNG zum Anzeigen und Scannen zurück, dazu die instance_id, die Sie zum Verfolgen des Scans brauchen.

Zusätzlich zu den gemeinsamen Parametern

phone string Erforderlich
10–14 Ziffern mit führendem + und Ländervorwahl. Muss je Leitung eindeutig sein und dieselbe Nummer, die den QR-Code scannt.
Fehler4
Phone is missing.
phone wurde nicht geschickt oder ist leer.
The phone number is not correct. Please add a phone between 10-14 digits with + international country code at the beginning.
Ungültiges phone.
This phone number is already used.
Eine andere Leitung verwendet diese Nummer bereits.
This gateway for the line is already working. You cannot get the QR code for it.
Das Gateway ist bereits verbunden — es gibt nichts zu scannen.
Der QR-Code läuft nach 30 Sekunden ab

Setzen Sie die Base64-Zeichenkette direkt in ein <img>-Tag. Wird sie nicht innerhalb von 30 Sekunden gescannt, läuft sie ab und funktioniert möglicherweise nicht mehr. Bewahren Sie die instance_id auf — jeder folgende Aufruf braucht sie.

Dann mit dem Abfragen beginnen

Sobald der QR-Code angezeigt wird, rufen Sie check-scan-status alle 2000 ms mit der instance_id (und team_id bei einem Slave-Gateway) auf, bis Erfolg gemeldet wird.

POST /p/{regToken}/api_qr/check-scan-status

Den Scan-Status prüfen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Fragen Sie dies nach dem Anzeigen des QR-Codes ab, um zu erfahren, ob er schon gescannt wurde.

Zusätzlich zu den gemeinsamen Parametern

instance_id string Erforderlich
Die von /get zurückgegebene Instanz-ID.
team_id int Bedingt
Nur bei WA API SLAVE erforderlich, wo /get sie zurückgegeben hat. Bei MASTER nicht verwendet.
Fehler2
Instance ID is missing.
instance_id wurde nicht geschickt.
Team id is missing.
Ein Aufruf am Slave-Gateway ohne team_id.
Abfrageintervall

Rufen Sie alle 2000 ms auf, solange der QR-Code angezeigt wird. Hören Sie auf, sobald status gleich success und message gleich Success ist.

POST /p/{regToken}/api_qr/get-current-status

Den aktuellen Status abrufen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Sagt Ihnen, ob eine gespeicherte Instanz gerade funktioniert. Speichern Sie die instance_id nach /get lokal und verwenden Sie sie hier, wann immer Sie den aktuellen Zustand brauchen.

Zusätzlich zu den gemeinsamen Parametern

instance_id string Erforderlich
Die von /get zurückgegebene Instanz-ID, in Ihrer eigenen Datenbank aufbewahrt.
Fehler2
Instance ID is missing.
instance_id wurde nicht geschickt.
Instance ID mismatched.
Diese Instanz gehört nicht zu den gefundenen Gateway-Einstellungen.
POST /p/{regToken}/api_qr/rescan

Erneut scannen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt einen neuen QR-Code für eine Instanz zurück, die nicht mehr funktioniert, damit die Nummer wieder verbunden werden kann.

Zusätzlich zu den gemeinsamen Parametern

instance_id string Erforderlich
Die neu zu verbindende Instanz-ID. Nur sinnvoll, wenn diese Instanz NOT_WORKING ist.
Fehler5
Instance ID is missing.
instance_id wurde nicht geschickt.
Instance ID mismatched.
Diese Instanz gehört nicht zu den gefundenen Gateway-Einstellungen.
Line status is NOT_CONFIGURED.
Die Leitung wurde nie konfiguriert, es gibt also keinen Zustand wiederherzustellen.
This instance is not configured.
Die Leitung ist CONFIGURED, aber nicht für diese Instanz — eine Leitung kann mindestens zwei aufnehmen.
This instance is already working.
Es gibt nichts erneut zu scannen.
Auch das erneute Scannen ist ratenbegrenzt

Es gelten dieselben Limits für Leitung, App und global. Fragen Sie danach check-scan-status alle 2000 ms ab, genau wie nach /get.

POST /p/{regToken}/api_qr/get-instance-info

Instanzinformationen abrufen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt das Zugriffstoken des Gateways, die verknüpfte Telefonnummer sowie den Status von Leitung und Instanz zurück. Kommt mit den gemeinsamen Parametern aus — ändern Sie whatsapp_gateway_type, um das andere Gateway zu betrachten.

Parameter

Keine zusätzlichen Parameter — die vier gemeinsamen genügen.

Fehler1
Instance not found.
Weder eine solche Instanz noch eine solche Leitung existiert im System.

2 Endpunkte · v1.0.0

Gruppen

WhatsApp-Gruppen aus einem externen System heraus anlegen und lesen, was darin gesagt wurde.

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Vor dem ersten Aufruf

Diese Familie authentifiziert sich über ein einziges Plattform-Token, geschickt entweder als Header X-Platform-Token oder als Body-Feld platform_token. Das Anlegen von Gruppen läuft über eine eigene KI-Agenten-Leitung, die zuvor konfiguriert sein muss.

Füllen Sie im Backoffice unter AI Agent Settings alle sechs Felder aus:

  • AI Agent Name
  • AI Agent Instance ID
  • AI Agent Access Token
  • AI Agent Phone — E.164, z. B. +391234567890
  • AI Agent Gateway API URL
  • AI Agent Gateway API Key

Auf demselben Bildschirm finden Sie das Platform Token for API zum Kopieren, die Group Creation Logs mit angelegten und fehlgeschlagenen Gruppen sowie den Betrachter Group Chat History mit Filtern, Medienlinks und einem ADMIN-Abzeichen an den Nachrichten des Agenten.

Jeder Endpunkt antwortet mit derselben Hülle: { "error": null | string, "data": object | null }.

Parameter, den jeder Gruppen-Endpunkt braucht

platform_token string Erforderlich
Plattformweites Token aus dem Backoffice. Kann statt als Body-Feld auch als Header X-Platform-Token geschickt werden.
POST /p/{regToken}/api_group/create

Eine Gruppe anlegen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Legt eine WhatsApp-Gruppe an, mit dem KI-Agenten als Ersteller und Administrator. Der Body ist rohes JSON.

Zusätzlich zum Plattform-Token

members array Erforderlich
Mindestens 2 Telefonnummern im E.164-Format mit führendem +. Der KI-Agent kommt hinzu, die kleinstmögliche Gruppe hat also 3 Personen.
group_name string Optional
Der Gruppentitel. Fehlt er, erzeugt das Gateway einen Standardnamen.
description string Optional
Die Gruppenbeschreibung.
metadata object Optional
Alles, was Sie zur Gruppe aufbewahren möchten — match_id, source und so weiter.
Fehler6
Platform token missing.
Kein Token im Header und keines im Body.
Platform token mismatched.
Das geschickte Token ist nicht das der Plattform.
At least 2 member phone numbers are required.
Weniger als zwei gültige Nummern — und sie müssen bei WhatsApp existieren.
Invalid member phone number. Use +countrycode format.
Eine der Nummern liegt nicht im E.164-Format vor.
Invalid date for line_expiration_date. Date should be greater than the current date.
line_expiration_date liegt in der Vergangenheit.
AI agent instance ID is missing in settings.
Die AI Agent Settings im Backoffice sind unvollständig.
Woher die Gateway-Zugangsdaten kommen

Gateway API URL und API Key für das Anlegen werden aus den AI Agent Settings gelesen — Sie schicken sie nie im Aufruf mit.

POST /p/{regToken}/api_group/history

Gruppen-Chatverlauf abrufen

Achtung

PLATTFORM-TOKEN erforderlich — beim Plattform-Administrator anfordern. Es wird im Kunden-Dashboard nicht angezeigt. Wo Administratoren es finden.

Gibt Gruppennachrichten seitenweise zurück und liefert die angewendeten Filter zusammen mit den Ergebnissen mit.

Hinweis

Ältere Dokumentation führt diesen Endpunkt als GET mit Query-Parametern. Es ist ein POST, und die Filter gehören in den JSON-Body.

Filter — alle optional, aber schicken Sie mindestens einen

group_id string Optional
Nach Gruppen-ID filtern. Dem Namen vorzuziehen.
group_name string Optional
Nach Gruppennamen filtern, der auf eine Gruppen-ID zurückgeführt wird.
member_phone string Optional
Nach Absender filtern, im Format +123….
from_date string (date) Optional
YYYY-MM-DD.
to_date string (date) Optional
YYYY-MM-DD.
search string Optional
Freitextsuche innerhalb der Nachrichten.
page int Optional
Standard 1.
limit int Optional
Standard 50, Maximum 200.

1 Endpunkt

Migachat-Automatikeinrichtung

Den KI-Assistenten mit einem einzigen Aufruf auf einer Leitung einrichten — Instanz, Zugangsdaten, Prompt und alle Tokens, die Sie danach brauchen.

Was ein einziger POST bewirkt

Gebaut für externe Systeme — Abrechnungsoberflächen, CRMs — um MigaChat in einer bestimmten Anwendung und auf einer bestimmten WhatsApp-Leitung einzurichten, ohne dass jemand das Backoffice öffnet. Eine einzige Anfrage:

  • fügt die MigaChat-Funktion in der App hinzu und aktiviert sie,
  • speichert die OpenAI-Zugangsdaten (API-Key, Organisations-ID, Modell),
  • hinterlegt den System-Prompt für den Chatbot,
  • verknüpft die WhatsApp-Leitung mit der MigaChat-Instanz,
  • und gibt die Tokens für Bridge, Chat History und Send Message zurück.
POST /p/{regToken}/api_migachat-setup/setup

MigaChat auf einer Leitung einrichten

Erstellt und konfiguriert eine MigaChat-Instanz und bindet sie an eine WhatsApp-Leitung.

Hinweis

Dieser Endpunkt ist auch ohne das Präfix /p/<token>/ erreichbar, unter /api_migachat-setup/setup. Beide Pfade sind aktiv; beim Pfad mit Präfix darf das Registration-Token aus dem Pfad statt aus dem Body kommen.

Erforderlich

app_id int Erforderlich
Ihre Anwendungs-ID.
security_token string Erforderlich
Das Security-Token Ihrer Plattform.
line_id int Erforderlich
Die WhatsApp-Leitung, mit der MigaChat verknüpft wird.
openai_api_key string Erforderlich
Ihr geheimer OpenAI-Schlüssel. Er wird bei OpenAI geprüft, bevor irgendetwas gespeichert wird.
organization_id string Erforderlich
Ihre OpenAI-Organisations-ID.
gpt_model string Erforderlich
Das zu verwendende Modell, z. B. gpt-4o-mini.
prompt string Erforderlich
Der System-Prompt — die dauerhaften Anweisungen des Chatbots.

Optional

chat_type string Optional
chatgpt (Standard) oder assistant.
enable_stt int Optional
1 schaltet die Spracherkennung ein. Standard 0.
enable_tts int Optional
1 schaltet die Sprachsynthese ein. Standard 0.
overwrite int Optional
1 ersetzt eine bereits vorhandene MigaChat-Instanz auf dieser Leitung. Standard 0, was stattdessen fehlschlägt.
Fehler5
MigaChat not installed
Das MigaChat-Modul ist auf diesem Server nicht installiert.
Invalid Line ID
Diese line_id gehört nicht zu dieser app_id.
Already configured
Die Leitung hat bereits eine MigaChat-Instanz. Schicken Sie overwrite=1, um sie zu ersetzen.
Invalid OpenAI Key
Der Schlüssel konnte bei OpenAI nicht validiert werden.
missing required fields: app_id, line_id, openai_api_key, …
Die Antwort nennt jedes Pflichtfeld, das fehlte oder leer war.