Alle über die RBM Management API erstellten Kundenservicemitarbeiter verwenden standardmäßig einen einzelnen Webhook für Benachrichtigungen. Dieser Webhook auf Partnerebene wird in der Business Communications Developer Console konfiguriert und gilt für alle Kundenservicemitarbeiter in Ihrem Partnerkonto.
Alternativ können Sie die RBM Management API verwenden, um Webhooks auf Kundenservicemitarbeiterebene zu konfigurieren. Das kann eine gute Option sein, wenn Sie mehrere Kundenservicemitarbeiter mit unterschiedlichem Verhalten verwalten.
Die Code-Snippets auf dieser Seite stammen aus den Java-Beispielen und den Node.js-Beispielen.
Webhook-Integration erstellen
Wenn Sie eine Webhook-Integration für Kundenservicemitarbeiter hinzufügen möchten, müssen Sie zuerst die URL für den Webhook und ein Bestätigungstoken definieren. Konfigurieren Sie dann den Webhook gemäß den Validierungsschritten.
Rufe nach der Konfiguration die Methode createWebhookIntegration
mit den URL- und Tokenwerten auf. Wenn der Aufruf erfolgreich war, können Sie mit der Bestätigung und Verarbeitung eingehender Nachrichten fortfahren.
Weitere Informationen finden Sie unter brands.agents.integrations
und brands.agents.integrations.create
.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); const url = 'https://myrbmserviceendpoint.somewhere.com/callback'; const token = '123456'; businessCommunicationsApiHelper .createWebhookIntegration(agent.name, url, token) .then((response) => { console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); } );
Dieser Code gibt das neue Webhook-Objekt zurück:
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
"status": "ENABLED",
"agentWebhookIntegration": {
"webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
}
}
Webhook-Integrationen eines Kundenservicemitarbeiters aufrufen
Sie können eine Liste aller Webhook-Integrationen abrufen, die zu einem Kundenservicemitarbeiter gehören.
In der Praxis hat ein RBM-Agent immer nur eine einzige Webhook-Integration. Weitere Informationen finden Sie unter brands.agents.integrations.list
.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper .listAgentIntegrations(agent.name) .then((response) => { console.log(JSON.stringify(response.data, null, 2)); datastore.saveJsonData('integrations', response.data); }).catch((err) => { console.log(err); });
Dieser Code gibt eine Liste der Webhook-Integrationen des Kundenservicemitarbeiters zurück:
{
"integrations": [
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
"status": "ENABLED",
"agentWebhookIntegration": {
"webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
}
}
]
}
Details zu einer Integration ansehen
Sie können Integrationsdetails abrufen, wenn Sie den Verweis auf eine Integration haben. Weitere Informationen finden Sie unter brands.agents.integrations.get
.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper .getAgentIntegration(integrations.integrations[0].name) .then((response) => { console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); });
Dieser Code gibt die Details der Webhook-Integration zurück:
{
"name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_hfaoplpu_agent/integrations/4efdb82f-fd6d-4ba4-8ea3-f2f4a60d1547",
"status": "ENABLED",
"agentWebhookIntegration": {
"webhookUri": "https://myrbmserviceendpoint.somewhere.com/callback"
}
}
Webhook entfernen
Sie können einen Webhook anhand seiner Referenz von einem Kundenservicemitarbeiter entfernen. Weitere Informationen finden Sie unter brands.agents.integrations.delete
.
Node.js
const businessCommunicationsApiHelper = require('@google/rbm-businesscommunications'); const privateKey = require('../../resources/businesscommunications-service-account-credentials.json'); businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey); businessCommunicationsApiHelper .deleteAgentIntegration(integrations.integrations[0].name) .then((response) => { console.log(JSON.stringify(response.data, null, 2)); }).catch((err) => { console.log(err); });
In folgenden Fällen wird ein leeres Objekt zurückgegeben:
{}