Ein TypeScript-Server-unabhängiges offizielles WhatsApp-API-Framework.
whatsapp-api-js v4
Inhaltsverzeichnis
Aufstellen
Beispiele und Tutorials
Typen
Änderungsprotokoll
Dokumentation
Mitwirkende
Beiträge
Bahnbrechende Veränderungen
Beta-Veröffentlichungen
Zunächst benötigen Sie eine Meta Business App mit aktivierter WhatsApp API. Mit diesen Schritten können Sie Ihre erste App erstellen.
Holen Sie sich das API-Token, entweder ein temporäres oder ein permanentes.
Rufen Sie Ihr App-Geheimnis im Dashboard unter „App-Einstellungen“ > „Grundlegend“ > „App-Geheimnis“ ab.
Ausführlichere Informationen zum Festlegen und Abrufen dieser Werte finden Sie in der Moduldokumentation
Sie können das Modul nun mit npm installieren:
npm installiere whatsapp-api-js
Damit können Sie Code wie diesen schreiben:
import { WhatsAppAPI } from "whatsapp-api-js";import { Document, Image, Text } from "whatsapp-api-js/messages";// Freundliche Erinnerung, dass Sie Ihr Token und Secret nicht fest codieren sollten. const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<number> */const Whatsapp = new WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// Angenommen, Post wird auf einer POST-Anfrage an Ihre Serverasync-Funktion aufgerufen post(e) {// Zu lang? Lesen Sie https://whatsappapijs.web.app/modules/middleware.htmlreturn waiting Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({ phoneID, from, message, name, Reply }) => {console.log(`Benutzer ${name} (${from}) an Bot gesendet ${phoneID} ${JSON.stringify( message )}`);let Response;if (message.type === "text") {response = waiting reply(new Text(`*${name}* said:nn ${message.text.body}`),true);}if (message.type === "image") {response = waiting reply(new Image(message.image.id, true, `Schönes Foto, ${name}`));}if (message.type === "document") {response = waiting reply(new Document(message.document.id, true, undefiniert, "Unser Dokument"));}console. log(response ??"Es gibt weitere Arten von Nachrichten, z. B. Kontakte, Standorte, Vorlagen, interaktive Nachrichten, Reaktionen und alle anderen Medientypen.);Whatsapp.markAsRead(phoneID, message.id) ;zurückkehren 200;};Whatsapp.on.sent = ({ phoneID, to, message }) => {console.log(`Bot ${phoneID} sent to user ${to} ${message}`);};
Um die Nachrichtenaktualisierungen zu erhalten, müssen Sie den Webhook in Ihrer Meta-App einrichten. Klicken Sie im Dashboard auf WhatsApp > Einstellungen, notieren Sie Ihre Webhook-URL und abonnieren Sie unbedingt das Nachrichtenereignis. Sie werden außerdem nach einem Verifizierungstoken gefragt. Dies kann eine beliebige Zeichenfolge sein.
Das Paket enthält außerdem einen GET-Handler für die Webhook-Authentifizierung:
import { WhatsAppAPI } from "whatsapp-api-js";const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";const VERIFY_TOKEN = "YOUR_VERIFY_TOKEN";const Whatsapp = new WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// Angenommen, get wird bei einer GET-Anfrage an Ihre Serverfunktion get(e) aufgerufen. {// Zu lang!? Lesen Sie https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}
Und das ist es! Jetzt haben Sie einen funktionierenden WhatsApp-Bot, der mit Ihrem Server verbunden ist. Weitere Informationen zum Einrichtungsprozess für bestimmte Laufzeiten und Frameworks finden Sie in der Datei Environments.md.
Es gibt einige Beispiele, die zeigen, wie die einzelnen Nachrichtentypen erstellt werden und wie die grundlegenden Methoden der Bibliothek verwendet werden.
Schauen Sie sich diese im Beispielordner an.
Die Bibliothek ist vollständig typisiert. Die meisten Typen sind durch den Import von /types
oder /emitters
-Dateien verfügbar:
import { GetParams, PostData } from „whatsapp-api-js/types“;import { OnMessage, OnSent, OnStatus } from „whatsapp-api-js/emitters“;
Um zu erfahren, was sich zwischen den Updates geändert hat, sehen Sie sich die Veröffentlichungen auf Github an.
Die neueste Versionsdokumentation ist unter whatsappapijs.web.app verfügbar und frühere Versionen sind unter Secreto31126.github.io/whatsapp-api-js archiviert.
Emoji-Taste
Diego Carrillo | Omar | Rahul Lanjewar | Felix Arjuna |
Wenn Sie etwas Freizeit haben und die Bibliothek wirklich verbessern oder dumme Fehler beheben möchten, lesen Sie gerne die Datei CONTRIBUTING.md.
Eine vollständige Liste der Breaking Changes finden Sie in der Datei BREAKING.md.
Installieren Sie die neueste Betaversion mit npm install whatsapp-api-js@beta
. Wie bei jeder Beta beträgt die Wahrscheinlichkeit, dass sie kaputt geht, 110 %. Ich verwende dieses Tag auch, um npm-Releases zu testen. Die Nutzung erfolgt auf eigene Gefahr.