وب هوک ها را مدیریت کنید

همه عوامل ایجاد شده از طریق RBM Management API به طور پیش فرض از یک وب هوک برای اعلان ها استفاده می کنند. این وب هوک در سطح شریک در کنسول توسعه‌دهنده ارتباطات تجاری پیکربندی شده است و برای همه نمایندگان موجود در حساب شریک شما اعمال می‌شود.

همچنین، می‌توانید از API مدیریت RBM برای پیکربندی وب‌قلاب‌های سطح عامل استفاده کنید. اگر چندین عامل را با رفتار متمایز مدیریت کنید، ممکن است گزینه خوبی باشد.

قطعه کد موجود در این صفحه از نمونه های جاوا و نمونه های Node.js گرفته شده است.

یک ادغام وب هوک ایجاد کنید

برای افزودن یک ادغام عامل وب هوک، ابتدا URL را برای وب هوک خود تعریف کنید و یک نشانه اعتبار سنجی تعریف کنید. سپس webhook را پیکربندی کنید تا مراحل اعتبار سنجی را دنبال کند. پس از پیکربندی، متد createWebhookIntegration را با مقادیر URL و توکن فراخوانی کنید. اگر آن تماس با موفقیت انجام شد، می‌توانید به تأیید و مدیریت پیام‌های دریافتی ادامه دهید.

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);
  }
);

این کد شی وب هوک جدید را برمی گرداند:

{
  "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"
  }
}

ادغام های وب هوک یک نماینده را جستجو کنید

شما می توانید لیستی از تمام ادغام های وب هوک متعلق به یک عامل را بازیابی کنید. در عمل، یک عامل RBM تنها دارای یک وب هوک است.

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);
  });

این کد لیستی از ادغام های وب هوک عامل را برمی گرداند:

{
  "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"
      }
    }
  ]
}

جزئیات یک ادغام را جستجو کنید

با توجه به ارجاع به یک ادغام، جزئیات آن قابل بازیابی است.

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);
  });

این کد جزئیات یکپارچه سازی وب هوک را برمی گرداند:

{
  "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"
  }
}

یک وبکهک را حذف کنید

یک وب هوک را می توان از یک عامل با استفاده از مرجع آن حذف کرد:

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);
  });

یک شی خالی برگردانده می شود:

{}