Wszystkie agenty utworzone za pomocą interfejsu RBM Management API domyślnie korzystają z jednego webhooka do wysyłania powiadomień. Ten webhook na poziomie partnera jest konfigurowany w konsoli programisty Business Communications i dotyczy wszystkich agentów na koncie partnera.
Możesz też skonfigurować webhooki na poziomie agenta za pomocą interfejsu RBM Management API. Może to być dobrym rozwiązaniem, jeśli zarządzasz wieloma agentami o różnym zachowaniu.
Fragmenty kodu na tej stronie pochodzą z przykładów kodu w języku Java i przykładów kodu w Node.js.
Tworzenie integracji webhooka
Aby dodać integrację webhooka z usługą obsługi klienta, najpierw określ adres URL webhooka i zdefiniuj token weryfikacyjny. Następnie skonfiguruj webhook, aby wykonać czynności weryfikacyjne.
Po skonfigurowaniu wywołaj metodę createWebhookIntegration
, podając wartości adresu URL i tokena. Jeśli połączenie się powiedzie, możesz przejść do weryfikacji i obsługi przychodzących wiadomości.
Więcej informacji znajdziesz w opisie właściwości brands.agents.integrations
i 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); } );
Ten kod zwraca nowy obiekt webhook:
{
"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"
}
}
Wyszukiwanie integracji webhooka agenta
Możesz pobrać listę wszystkich integracji webhooka należących do pracownika obsługi klienta.
W praktyce agent RBM ma tylko jedną integrację webhooka. Więcej informacji znajdziesz w sekcji 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); });
Ten kod zwraca listę integracji webhooka agenta:
{
"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"
}
}
]
}
Wyszukiwanie szczegółów integracji
Jeśli masz odwołanie do integracji, możesz pobrać jej szczegóły. Więcej informacji znajdziesz w sekcji 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); });
Ten kod zwraca szczegóły integracji webhooka:
{
"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"
}
}
Usuwanie webhooka
Możesz usunąć webhooka z pośrednika, korzystając z odwołania. Więcej informacji znajdziesz w sekcji 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); });
Zwracany jest pusty obiekt:
{}