Integration in Zendesk Chat
So funktioniert's
Durch die Integration in Zendesk Chat können Sie Benutzer von Xsolla-Login mit Ihrem Projekt verknüpfen, das Zendesk Chat-Besucher enthält, die Fragen an Ihr Support-Team stellen. Der aufseiten von Zendesk verwendete Parameter external_id
entspricht der Benutzer-ID in Ihrem Login-Projekt. Wenn Sie einen Besucher als Xsolla-Login-Benutzer identifiziert haben, besteht die Möglichkeit, deren Konto über das Kundenportal zu verwalten.
Für wen ist es
Partner, die bereits Login integriert haben und ein Zendesk Chat-Konto besitzen.
Wie komme ich dazu
So verknüpfen Sie einen Besucher:
- Authentifizieren Sie einen Benutzer in Ihrem Login-Projekt durch eine der folgenden Anfragen:
- Generieren Sie einen Zendesk-JWT.
- Authentifizieren Sie einen Besucher in Zendesk Chat.
Zendesk-JWT generieren
Der Zendesk-JWT basiert auf einem Token, den Sie vom Xsolla-Login-Server erhalten, wenn Sie einen Benutzer in Ihrem Login-Projekt authentifizieren. Sie können einen Token in Cookie-Dateien auf einer erforderlichen Domäne speichern und ihn beim Generieren eines Zendesk-JWT zu einer HTTP-Anfrage hinzufügen.
Sie können bei der Implementierung des Aufrufs auch Ihr eigenes Antwortformat festlegen.
Im Folgenden ist ein vereinfachter Ablauf für das Abrufen eines Zendesk-JWT basierend auf Go dargestellt. Der vollständige Code für das Generieren eines Zendesk-JWT finden Sie auf GitHub.
Installieren Sie die folgenden Pakete, bevor Sie ein JWT generieren:
- curl
go get github.com/dgrijalva/jwt-go
go get github.com/rs/cors
So rufen Sie ein Zendesk-JWT ab:
- Validieren Sie einen JWT.
- Dekodieren Sie einen JWT.
- Erstellen Sie eine Liste der JWT-Ansprüche.
- Signieren Sie einen JWT.
JWT validieren
Extrahieren Sie einen JWT aus den Cookie-Dateien und validieren Sie ihn mithilfe des geheimen Schlüssel. Dieser befindet sich im Kundenportal unter Ihrem Login-Projekt > Allgemeine Einstellungen > Geheimer Schlüssel.
- go
cookie, err := r.Cookie("token")
token, err := jwt.Parse(cookie.Value, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, errors.New("unexpected signing method")
}
return []byte(loginSecret), nil
})
var loginClaims jwt.MapClaims
var ok bool
if loginClaims, ok = token.Claims.(jwt.MapClaims); !ok || !token.Valid {
writeErrorResponse(w, "00-01", "Token is invalid", http.StatusUnauthorized)
return
}
JWT dekodieren
Dekodieren Sie einen JWT und extrahieren Sie daraus die Werte der folgenden Ansprüche:
email
: E-Mail-Adressesub
: Benutzer-ID
- go
var sub, email string
sub, _ = loginClaims["sub"].(string)
email, _ = loginClaims["email"].(string)
Liste der JWT-Ansprüche erstellen
Erstellen Sie eine Liste der JWT-Ansprüche. Eine Beschreibung zu jedem Anspruch befindet sich im Abschnitt
- go
zendeskClaims := jwt.MapClaims{}
zendeskClaims["name"] = email
zendeskClaims["email"] = email
zendeskClaims["external_id"] = sub
zendeskClaims["iat"] = time.Now().UTC().Unix()
JWT signieren
Signieren Sie eine Token mit dem geheimen Schlüssel Ihres Zendesk Chat-Kontos. Sie finden ihn im
- go
zendeskToken := jwt.NewWithClaims(jwt.SigningMethodHS256, zendeskClaims)
zendeskTokenString, _ := zendeskToken.SignedString([]byte(zendeskSecret))
Besucher in Zendesk Chat authentifizieren
Ermöglicht das Hinzufügen folgender Besucherdaten zu Zendesk Chat:
- Name
- E-Mail-Adresse
- Kennung
Nutzen Sie den empfangenen Zendesk-JWT, um einen Besucher in Zendesk Chat zu authentifizieren. Initialisieren Sie das Web SDK mit der
- js
zChat.init({
account_key: ACCOUNT_KEY,
authentication: {
jwt_fn: function(callback) {
fetch('https://example.com:8001/generate/token', {
credentials: "include"
}).then(function(res) {
res.text().then(function(body) {
const jwt = JSON.parse(body).token;
callback(jwt)
});
});
}
}
});
Der Ablauf der Besucherauthentifizierung ist in der Anleitung und im Web SDK erläutert.
Arbeiten mit Besuchern
Nach erfolgreicher Authentifizierung wird ein Besucher in Ihrem Zendesk Chat-Konto im Modul

Sie müssen eine Token abrufen, um den Endpunkt
Besucherdaten abrufen
Sie sollten die

Beispiel der Anfrage
- http
- curl
GET https://www.zopim.com/api/v2/visitors/9855790-xjj3u5xPWhW1Fv HTTP/1.1
Authorization: Bearer <token>
curl --request GET \
--url https://www.zopim.com/api/v2/visitors/9855790-xjj3u5xPWhW1Fv \
--header 'authorization: bearer_token'
Antwortbeispiel:
- http
- curl
HTTP/1.1 200 OK
Content-Type: application/json
{
"banned": false,
"notes": "",
"id": "9855790.xjj3ukxyIhn6j3",
"email": "email@email.com",
"phone": "",
"created": 1586950554,
"name": "email@email.com",
"external_id": "82cd5e0c-c3ff-11e9-b199-c1e5fc81c37f"
}
{
"banned": false,
"notes": "",
"id": "9855790.xjj3ukxyIhn6j3",
"email": "email@email.com",
"phone": "",
"created": 1586950554,
"name": "email@email.com",
"external_id": "82cd5e0c-c3ff-11e9-b199-c1e5fc81c37f"
}
Verknüpfung von Besuchern mit Ihrem Login-Projekt prüfen
Wenn ein Besucher mit Ihrem Login-Projekt verknüpft ist, entspricht der mit den Daten empfangene Parameter external_id
der Benutzer-ID. Die Benutzer-ID befindet sich im Kundenportal unter Ihrem Login-Projekt > Nutzer > Nutzername/ID.
War dieser Artikel hilfreich?
Diese Seite bewerten
Jetzt nicht
Vielen Dank für Ihr Feedback!
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.