Heim > Artikel > WeChat-Applet > Kundendienstschnittstelle der Force.com WeChat-Entwicklungsserie
Wenn Benutzer aktiv Nachrichten an öffentliche WeChat-Konten senden (einschließlich Senden von Nachrichten, Klicken auf benutzerdefinierte Menüklickereignisse, Abonnementereignisse, Scannen von QR-Code-Ereignissen, Zahlungserfolgsereignisse und Schutz von Benutzerrechten), überträgt WeChat die Nachrichtendaten an Entwickler Entwickler können die Kundendienst-Nachrichtenschnittstelle innerhalb eines bestimmten Zeitraums (derzeit 48 Stunden) aufrufen und Nachrichten an normale Benutzer senden, indem sie ein JSON-Datenpaket posten. Es gibt keine Begrenzung für die Anzahl der Sendevorgänge innerhalb von 48 Stunden. Diese Schnittstelle wird hauptsächlich für Funktionen wie den Kundenservice verwendet, die eine manuelle Nachrichtenverarbeitung erfordern, damit Entwickler bessere Dienste bereitstellen können.
Beschreibung der Kundendienstschnittstellenaufrufanfrage
Die Schnittstellenbeschreibung für den Kundendienstschnittstellenaufruf lautet wie folgt (http-Anfragemethode ist POST, wenn Sie den Zugriff erhalten möchten). Token, siehe vorherige Beschreibung:
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=[ACCESS_TOKEN]
Der Kunde Die Serviceschnittstelle bietet großen Spielraum für Fantasie, den wir beispielsweise für die Entwicklung von Kundendienstlösungen für Unternehmen nutzen können. Wenn Benutzer Supportanfragen an öffentliche WeChat-Konten senden, können Kundendienstmitarbeiter die Informationen über Webseiten, mobile Anwendungen, WeChat usw. erhalten. Kundendienstmitarbeiter können sich auch in die Warteschlange stellen oder die VIP-Stufe des Benutzers festlegen, um unterschiedliche Stufen der Service-Reaktionsgeschwindigkeit usw. bereitzustellen und ein sehr intelligentes Kundendienst-Supportsystem aufzubauen.
Eine Textnachricht an den Benutzer senden
Beim Senden einer Textnachricht an den Benutzer ist das Format der gesendeten Daten wie folgt:
{ "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" } }
wobei jeder Parameter Die spezifischen Anweisungen lauten wie folgt:
Der Code zum Senden von Textnachrichten an Benutzer in Force.com ist wie folgt implementiert:
Http h = new Http(); HttpRequest req = new HttpRequest(); req.setMethod('POST'); req.setHeader('Accept-Encoding','gzip,deflate'); req.setHeader('Content-Type','text/xml;charset=UTF-8'); req.setHeader('User-Agent','Jakarta Commons-HttpClient/3.1'); String sendMsg = '{ "touser":"ou-37t936RNZEcW0mI75RN2pdxkc", "msgtype":"text", "text": { "content":"测试客服消息" } }'; req.setBody(sendMsg); req.setEndpoint('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=bW3aubvd1GVgDZbrO6zv1WGVYIU0QlEhI1J5x_NpbiouxyBc8eufzQQHHyy8cMoZmuQknz-_iEgSB76CggVTgQ’); String bodyRes = ''; try{ HttpResponse res = h.send(req); bodyRes = res.getBody(); } catch(System.CalloutException e) { System.debug('Callout error: '+ e); ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage())); } );
Nach der Ausführung des obigen Codes ist der Effekt wie folgt: Wie im Bild gezeigt:
Senden einer Bildnachricht an den Benutzer
Beim Senden einer Bild- und Textnachricht an den Benutzer ist das Format der gesendeten Daten wie folgt:
{ "touser":"OPENID", "msgtype":"image", "image": { "media_id":"MEDIA_ID" } }
Die spezifische Beschreibung jedes Parameters lautet wie folgt:
Die Medien-ID des Bildes muss nach dem Hochladen des Bildes über die Schnittstelle zum Hochladen von Multimediadateien von Tencent abgerufen werden. Die Details dieses Beispiels Wir werden das Beispiel später im Beispiel „Hochladen und Herunterladen von Multimediadateien“ ausführlich erläutern.
Eine Sprachnachricht an den Benutzer senden
Beim Senden von Musik an den Benutzer ist das Datenformat wie folgt:
{ "touser":"OPENID", "msgtype":"voice", "voice": { "media_id":"MEDIA_ID" } }
Unter anderem , die spezifische Beschreibung jedes Parameters Wie folgt:
Die Medien-ID des Bildes muss nach dem Hochladen des Bildes über die Multimediadatei-Upload-Schnittstelle von Tencent abgerufen werden. Die anderen Codes sind Es unterscheidet sich nicht vom Versenden von Textnachrichten, daher werde ich hier nicht näher darauf eingehen.
Eine Sprachnachricht an den Benutzer senden
Das Nachrichtenformat zum Senden eines Videos an den Benutzer ist wie folgt:
{ "touser":"OPENID", "msgtype":"video", "video": { "media_id":"MEDIA_ID", "thumb_media_id":"MEDIA_ID", "title":"TITLE", "description":"DESCRIPTION" } }
Das Spezifische Die Beschreibung jedes Parameters lautet wie folgt:
Die Medien-ID des Videos muss nach dem Hochladen des Bildes über die Schnittstelle zum Hochladen von Multimediadateien von Tencent abgerufen werden. Die anderen Codes sind nicht anders vom Versenden von Textnachrichten, daher werde ich hier nicht näher darauf eingehen.
Senden Sie eine Musiknachricht an den Benutzer
Das Format der Nachricht zum Senden von Musik an den Benutzer ist wie folgt:
{ "touser":"OPENID", "msgtype":"music", "music": { "title":"MUSIC_TITLE", "description":"MUSIC_DESCRIPTION", "musicurl":"MUSIC_URL", "hqmusicurl":"HQ_MUSIC_URL", "thumb_media_id":"THUMB_MEDIA_ID" } }
Unter Für sie lautet die spezifische Beschreibung jedes Parameters wie folgt:
Senden Sie grafische Nachrichten an Benutzer
Posten Sie einen Code zum Senden grafischer Nachrichten wie folgt:
Http h = new Http(); HttpRequest req = new HttpRequest(); req.setMethod('POST'); req.setHeader('Accept-Encoding','gzip,deflate'); req.setHeader('Content-Type','text/xml;charset=UTF-8'); req.setHeader('User-Agent','Jakarta Commons-HttpClient/3.1'); String sendMsg = '{"touser":"ou-37t936RNZEcW0mI75RN2pdxkc","msgtype":"news","news":{"articles":[{"title":"HappyDay","description":"IsReallyAHappyDay","url":"http://www.36kr.com/p/212479.html","picurl":"http://a.36krcnd.com/photo/2014/4e3ae0dac4884bb91934a689b72f8f8b.png"}]}}'; req.setBody(sendMsg); req.setEndpoint('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=bW3aubvd1GVgDZbrO6zv1WGVYIU0QlEhI1J5x_NpbiouxyBc8eufzQQHHyy8cMoZmuQknz-_iEgSB76CggVTgQ’); String bodyRes = ''; try{ HttpResponse res = h.send(req); bodyRes = res.getBody(); } catch(System.CalloutException e) { System.debug('Callout error: '+ e); ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.FATAL, e.getMessage())); } );
Weitere Artikel zum Thema Kundendienstschnittstelle der Force .com WeChat-Entwicklungsserie, bitte beachten Sie die chinesische PHP-Website!