จัดการเว็บฮุค

โดยตัวแทนทั้งหมดที่สร้างผ่าน RBM Management API จะใช้ Webhook รายการเดียวสำหรับการแจ้งเตือนโดยค่าเริ่มต้น เว็บฮุคระดับพาร์ทเนอร์นี้ได้รับการกําหนดค่าในคอนโซลของนักพัฒนาซอฟต์แวร์สําหรับการสื่อสารทางธุรกิจ และจะมีผลกับตัวแทนทั้งหมดภายในบัญชีพาร์ทเนอร์

หรือจะใช้ RBM Management API เพื่อกําหนดค่าWebhook ระดับตัวแทนก็ได้ ตัวเลือกนี้อาจเป็นตัวเลือกที่ดีหากคุณจัดการตัวแทนหลายรายที่มีลักษณะการทํางานแตกต่างกัน

ข้อมูลโค้ดในหน้านี้นำมาจากตัวอย่าง Java และตัวอย่าง 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"
  }
}

ค้นหาการผสานรวมเว็บฮุคของตัวแทน

คุณสามารถเรียกข้อมูลรายการการผสานรวม Webhook ทั้งหมดของตัวแทนได้ ในทางปฏิบัติ ตัวแทน RBM จะมีการผสานรวม Webhook เพียงรายการเดียวเท่านั้น

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

โค้ดนี้จะแสดงรายละเอียดการผสานรวม 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"
  }
}

นำเว็บฮุคออก

คุณนำเว็บฮุคออกจากตัวแทนได้โดยใช้การอ้างอิง

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

ระบบจะแสดงผลออบเจ็กต์ว่างเปล่าในกรณีต่อไปนี้

{}