
Integration der Konversations-API in WeChat
Lesedauer: 3 Minuten
Hallo! Dieses Repository wurde archiviert, aber wir haben beschlossen, den Blogbeitrag zu Referenz- und historischen Zwecken zugänglich zu halten.
In diesem Blog-Beitrag zeigen wir Ihnen, wie Sie die Conversation-API nutzen können, um einen externen Kommunikationskanal mit Ihrer Anwendung einzurichten, und demonstrieren, wie Sie dies mit WeChat tun.
Wir verwenden die öffentliche API von WeChat und verbinden sie mit der Conversation-API, um den bidirektionalen Nachrichtenaustausch zwischen einem WeChat-Client und einem Vonage-Client zu ermöglichen, indem wir benutzerdefinierte Ereignisse.
Bitte beziehen Sie sich auf dieses GitHub-Repository für unsere Referenzintegration.
Konzept
Wir werden Folgendes verwenden benutzerdefinierte Ereignisse um WeChat-Nachrichten zu simulieren und einen Middleware-Server für die Interaktion mit der öffentlichen API von WeChat zu erstellen.
Wenn ein Client eine Nachricht über WeChat senden möchte, erstellt er ein benutzerdefiniertes Ereignis des Typs "custom:message:wechat" mit der Richtung outbound. Unser Middleware-Server wiederum greift dieses Ereignis auf unter Verwendung von RTC-Ereignissen auf und übersetzt es in eine HTTP-Anfrage an die API von WeChat, die in einer Nachricht mitgeteilt wird.
Im Falle einer eingehenden Nachricht (ein WeChat-Client an einen Vonage-Client) implementiert unser Middleware-Server den WeChat-Messaging-Webhook und wird von WeChat über die neue Nachricht informiert. Der Server erstellt ein 'custom:message:wechat'-Ereignis mit der Richtung Inbound und versendet es. Der Client greift dieses Ereignis auf und zeigt es als WeChat-Nachricht an.
An illustration showing the described architecture
Voraussetzungen
WeChat
WeChat ist eine chinesische Mehrzweck-App für Messaging, soziale Medien und mobile Zahlungen, die von Tencent entwickelt wurde. Sie hat eine Nutzerbasis von über einer Milliarde Menschen und ist damit als führender Messaging-Kanal nicht zu übersehen. Man kann WeChat in China mit Facebook in den Vereinigten Staaten vergleichen.
WeChat bietet eine API, mit der Entwickler Nachrichten senden und empfangen können. In diesem Beitrag wird ein WeChat-Konto zusammen mit der Sandbox von WeChat verwendet. Bitte beachten Sie, dass dies der Vereinfachung der Einrichtung mit WeChat dient.
Sie können diese Schritt-für-Schritt-Anleitung befolgen, um Ihre WeChat-API einzurichten. Diese Schritt-für-Schritt-Anleitung geht davon aus, dass Sie bereits unseren Beispiel-Integrationsserver verwenden.
Registrieren Sie Ihr Sandbox-Konto über diesen Link
Starten Sie Ihren Server. In diesem Beispiel werden wir ngrok verwenden
Verwenden Sie Ihre ngrok-Adresse, um die Webhook-Informationen auszufüllen. Unser Server-Endpunkt wird sein
https://[$NGROK_ADDRESS].com/weChatEvent
Ersetzen Sie [$NGROK_ADDRESS] durch Ihre ngrok-AdresseFüllen Sie ein beliebiges Token
Klicken Sie auf die Schaltfläche "Senden" und warten Sie, bis WeChat Ihren Webhook verifiziert hat.
Sie sind nun bereit, eingehende Nachrichten zu empfangen!
WeChat Screenshot
Um Nachrichten von WeChat an unseren Server zu senden, müssen Sie das offizielle Konto zu Ihrem WeChat hinzufügen. Um dies zu tun, müssen Sie Folgendes tun:
Gehen Sie zu Ihrem Sandkasten-Konto
Scrollen Sie nach unten zu 'Testnummer QR-Code'.
Scannen Sie den QR-Code mit Ihrem WeChat
Fang an zu chatten!
WeChat Screenshot
Sie sollten nun in der Lage sein, Nachrichten von Ihrem WeChat-Client an unser WeChat-Konto zu senden und sie auf Ihrer laufenden Instanz unseres Servers auf der /weChatEvent
Route.
Konversations-API
Die Konversations-API ist eine Low-Level-API, mit der Sie verschiedene Objekte wie Benutzer, Mitglieder und Konversationen erstellen können. Unterhaltungen sind das grundlegende Konzept, um das sich die API dreht. Konversationen sind Container für die Kommunikation zwischen zwei oder mehr Benutzern, die eine einzelne Interaktion oder die Historie aller Interaktionen zwischen ihnen sein können.
Um mehr über die API zu erfahren, können Sie unsere Dokumentation. Sie benötigen:
Eine Anwendung
Ein Gespräch
Zugang zu Ihrem API-Schlüssel und Geheimnis
Einrichtung
Die Datei example.env enthält alle erforderlichen Parameter, um die Integration zum Laufen zu bringen. Zur Vereinfachung dieses Beispiels verwenden wir eine fest codierte Konversations-ID, die jedoch nicht zwingend erforderlich ist.
Bitte folgen Sie den Anweisungen in der README-Datei und lesen Sie in der ngrok-Dokumentation als Beispiel für einen Dienst, der Ihre Integration offenlegt.
Nachdem Sie alle erforderlichen Parameter eingestellt haben, führen Sie den Code einfach mit "npm start" aus.
Senden und Empfangen von WeChat-Nachrichten
Zum Senden einer ausgehende Nachricht (von einem Vonage-Client an einen WeChat-Client) müssen wir das folgende benutzerdefinierte Ereignis erstellen:
{
"type":"custom:wechat:message",
"body":{
"to":"we_chat_client_id",
"from":"we_chat_integration_id",
"content":"Hello from Vonage!",
"direction":"outbound"
}
}
Für eine eingehende Nachricht (von einem WeChat-Client an einen Vonage-Client) müssen wir dasselbe Ereignis erstellen, aber seine Richtung umkehren.
{
"type":"custom:wechat:message",
"body":{
"to":"we_chat_integration_id",
"from":"we_chat_client_id",
"content":"Hello from WeChat!",
"direction":"outbound"
}
}
Der folgende Ausschnitt zeigt, wie man ein WeChat-Ereignis versendet:
const dispatchWeChatEvent = (wechat, direction = 'inbound') => {
var options = {
uri: `https://api.nexmo.com/v0.1/conversations/${conversationId}/events`,
method: 'POST',
headers: {
Authorization: 'Bearer ' + jwt,
Accept: 'application/json',
'Content-Type': 'application/json'
},
json: {
type: 'custom:wechat:message',
body: {
to: wechat.getTo(),
from: wechat.getFrom(),
content: wechat.getContent(),
direction
}
}
};
request(options, (error, response, body) => {
if (!error && response.statusCode == 200) {
console.log('successfully sent WeChat message');
}
});
};
Unser Vonage-Client wiederum empfängt das benutzerdefinierte Ereignis und wertet es als WeChat-Nachricht aus.
Rekapitulation
In den vorangegangenen Abschnitten haben wir gelernt, wie Sie WeChat mithilfe unserer Konversations-API in Ihre Anwendung integrieren können. WeChat ist jedoch nur ein Beispiel dafür, was Sie mit der Konversations-API integrieren können. Es hätte auch ein anderer Messaging-Kanal sein können, z. B. WhatsApp, oder sogar ein anderer Kommunikationskanal, z. B. E-Mail.
Die Flexibilität, die die Conversation API mit ihren benutzerdefinierten Ereignissen bietet, ermöglicht Ihnen die Integration einer Vielzahl von Kommunikationskanälen.
Eine vollständige Version dieses Tutorials finden Sie auf GitHub
Wenn Sie mehr darüber erfahren möchten, was Sie mit unseren APIs tun können, besuchen Sie bitte unser Entwickler-Portal für mehr!