Zalo Bot API in das OpenClaw Gateway integrieren
Du kennst das: Du willst deine Nutzer dort erreichen, wo sie sich aufhalten, aber jede neue Messaging-Plattform bringt eigene APIs und Eigenheiten mit. Besonders bei regionalspezifischen Apps verbringst du oft Stunden damit, das Nachrichten-Routing und die Authentifizierung manuell nachzubauen, anstatt dich auf die Logik deines Bots zu konzentrieren.
Wenn du Nutzer in Vietnam erreichen willst, ist Zalo unverzichtbar. Mit dem Zalo-Plugin für OpenClaw integrierst du den Dienst direkt in dein Gateway, ohne dich um die Details der Long-polling-Implementierung oder das Chunking von Nachrichten kümmern zu müssen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Bevor du startest, stelle sicher, dass du folgende Dinge bereit hast:
- Einen Account auf der Zalo Bot Platform
- Einen Zalo Bot Token (Format:
12345689:abc-xyz) - Eine laufende OpenClaw Instanz
- Das
@openclaw/zaloPlugin
Schnellstart
Abschnitt betitelt „Schnellstart“In weniger als 5 Minuten ist dein Zalo Bot einsatzbereit. Folge diesen Schritten:
- Plugin installieren:
Nutze die CLI:
openclaw plugins install @openclaw/zalo - Token konfigurieren:
Setze die Umgebungsvariable
ZALO_BOT_TOKEN=dein_tokenoder bearbeite deine Config. - Gateway neu starten: Zalo startet automatisch, sobald der Token erkannt wird.
- Pairing bestätigen:
Standardmäßig nutzt Zalo den
pairingModus. Sende deinem Bot eine Nachricht und bestätige den Code via CLI.
Hier ist eine minimale Beispiel-Konfiguration für deine config.json5:
{ channels: { zalo: { enabled: true, botToken: "12345689:abc-xyz", dmPolicy: "pairing", }, },}Setup (fast path)
Abschnitt betitelt „Setup (fast path)“1. Bot Token erstellen
Abschnitt betitelt „1. Bot Token erstellen“Gehe auf https://bot.zaloplatforms.com und erstelle einen neuen Bot. Kopiere dir den Bot Token aus den Einstellungen.
2. Token hinterlegen
Abschnitt betitelt „2. Token hinterlegen“Du kannst den Token entweder über die Umgebungsvariable ZALO_BOT_TOKEN setzen (nur für den Standard-Account) oder die Config nutzen. Für mehrere Accounts verwendest du channels.zalo.accounts:
{ channels: { zalo: { accounts: { account1: { botToken: "12345689:abc-xyz", name: "Support Bot" } } } }}3. Zugriffskontrolle (DMs)
Abschnitt betitelt „3. Zugriffskontrolle (DMs)“Standardmäßig steht dmPolicy auf pairing. Unbekannte Absender erhalten einen Code, der 1 Stunde gültig ist. Du genehmigst den Zugriff so:
openclaw pairing list zaloopenclaw pairing approve zalo <CODE>
Alternativ kannst du mit channels.zalo.allowFrom eine Liste mit numerischen User IDs festlegen.
Long-polling vs Webhook
Abschnitt betitelt „Long-polling vs Webhook“Das Plugin unterstützt zwei Arten, Nachrichten zu empfangen:
- Long-polling (Standard): Erfordert keine öffentliche URL und ist ideal für lokale Setups.
- Webhook Modus: Setze
channels.zalo.webhookUrl(muss HTTPS sein) undchannels.zalo.webhookSecret(8-256 Zeichen).
Beachte, dass Zalo laut API-Dokumentation nicht beide Modi gleichzeitig erlaubt. Sobald ein Webhook aktiv ist, wird das Polling deaktiviert.
Limits und Verhalten
Abschnitt betitelt „Limits und Verhalten“Zalo hat einige spezifische Einschränkungen, die das Plugin automatisch handhabt:
- Text-Limit: Ausgehende Nachrichten werden bei 2000 Zeichen abgeschnitten/gechunked.
- Media-Limit: Uploads und Downloads sind standardmäßig auf 5 MB begrenzt (
channels.zalo.mediaMaxMb). - Streaming: Da das 2000-Zeichen-Limit Streaming weniger sinnvoll macht, ist es standardmäßig blockiert.
- Gruppen: Aktuell werden nur Direct Messages (1:1) unterstützt; Gruppenfunktionen sind laut Zalo “coming soon”.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Bot antwortet nicht:
- Prüfe den Token-Status:
openclaw channels status --probe - Stelle sicher, dass der Absender über
pairingoderallowFromzugelassen ist. - Kontrolliere die Logs:
openclaw logs --follow - Vergewissere dich, dass der Gateway-Dienst läuft.
Webhook empfängt keine Events:
- Nutzt die Webhook URL zwingend HTTPS?
- Hat das Secret eine Länge zwischen 8 und 256 Zeichen?
- Ist der Gateway HTTP-Endpunkt von außen erreichbar?
- Läuft eventuell noch ein paralleler Prozess mit getUpdates Polling?
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.