RBM Management API aracılığıyla oluşturulan tüm aracıların bildirimler için varsayılan olarak tek bir webhook kullandığını unutmayın. Bu iş ortağı düzeyindeki webhook, RCS for Business Developer Console'da yapılandırılır ve iş ortağı hesabınızdaki tüm temsilciler için geçerlidir.
Alternatif olarak, aracı düzeyinde webhook'lar yapılandırmak için RBM Management API'yi kullanabilirsiniz. Farklı davranışlara sahip birden fazla aracı yönetiyorsanız bu seçenek iyi bir tercih olabilir.
Bu sayfadaki kod snippet'leri Java örneklerinden ve Node.js örneklerinden alınmıştır.
Webhook entegrasyonu oluşturma
Aracı webhook entegrasyonu eklemek için önce webhook'unuzun URL'sini ve bir onay anahtarı tanımlayın. Ardından, webhook'u doğrulama adımlarını uygulayacak şekilde yapılandırın.
Yapılandırıldıktan sonra URL ve jeton değerleriyle createWebhookIntegration yöntemini çağırın. Bu arama başarılı olursa doğrulama ve gelen mesajları işleme adımlarına geçebilirsiniz.
Daha fazla bilgi için brands.agents.integrations ve brands.agents.integrations.create sayfalarını inceleyin.
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); } );
Bu kod, yeni webhook nesnesini döndürür:
{
"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"
}
}
Bir aracının webhook entegrasyonlarını arama
Bir aracıya ait tüm webhook entegrasyonlarının listesini alabilirsiniz.
Uygulamada, bir RBM aracısı yalnızca tek bir webhook entegrasyonuna sahiptir. Daha fazla bilgi için brands.agents.integrations.list başlıklı makaleyi inceleyin.
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); });
Bu kod, temsilcinin webhook entegrasyonlarının listesini döndürür:
{
"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"
}
}
]
}
Entegrasyon ayrıntılarını arama
Bir entegrasyon referansınız varsa entegrasyon ayrıntılarını alabilirsiniz. Daha fazla bilgi için brands.agents.integrations.get başlıklı makaleyi inceleyin.
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); });
Bu kod, webhook entegrasyonu ayrıntılarını döndürür:
{
"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'u kaldırma
Bir webhook'u referansını kullanarak bir aracıdan kaldırabilirsiniz. Daha fazla bilgi için brands.agents.integrations.delete başlıklı makaleyi inceleyin.
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); });
Boş bir nesne döndürülür:
{}