จัดการตัวแทนด้วย RBM Operations API

เวิร์กโฟลว์หลักของ RBM สำหรับผู้ให้บริการเครือข่ายมือถือรวมถึงการตรวจสอบข้อมูลเกี่ยวกับตัวแทนรายใหม่ ตลอดจนอนุมัติหรือปฏิเสธสิทธิ์ในการเปิดตัวในเครือข่ายของผู้ให้บริการเครือข่ายมือถือและส่งข้อความถึงสมาชิกของผู้ให้บริการเครือข่ายมือถือ

ตัวอย่างโค้ดในหน้านี้นำมาจากตัวอย่าง Javascript และ Curl

แสดงรายการตัวแทนทั้งหมดที่ส่งไปยังผู้ให้บริการขนส่ง

ผู้ให้บริการสามารถดูรายการตัวแทนทั้งหมดที่นักพัฒนาแอปส่งมาเพื่อเปิดตัวในเครือข่ายของผู้ให้บริการ

Node.js

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

// Retrieve all agents targeting the carrier
businessCommunicationsApiHelper.listAgents('brands/-').then((response) => {
  console.log('Current agents are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

ระบบตั้งค่าแบรนด์เป็น - เนื่องจากไม่จําเป็นเมื่อดึงข้อมูลรายการตัวแทนทั้งหมด

รหัสนี้จะแสดงรายการตัวแทนทั้งหมดที่ส่งสำหรับการเปิดตัวที่ผู้ให้บริการ

{
  "agents": [
    {
      "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
      "displayName": "My new agent",
      "rcsBusinessMessagingAgent": {
        "description": "This is the agent description that will be displayed in the Agent info tab in Messages",
        "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
        "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
        "phoneNumbers": [
          {
            "phoneNumber": {
              "number": "+12223334444"
            },
            "label": "Call support"
          }
        ],
        "privacy": {
          "uri": "https://policies.google.com/privacy",
          "label": "Our privacy policy"
        },
        "termsConditions": {
          "uri": "https://policies.google.com/terms",
          "label": "Our Terms and Conditions"
        },
        "color": "#0B78D0",
        "billingConfig": {
          "billingCategory": "BASIC_MESSAGE"
        },
        "agentUseCase": "MULTI_USE",
        "hostingRegion": "NORTH_AMERICA"
      }
    },
    {
      "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_7jo0trhw_agent",
      "displayName": "My second agent",
      "rcsBusinessMessagingAgent": {
        "description": "Another agent description",
        "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
        "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
        "phoneNumbers": [
          {
            "phoneNumber": {
              "number": "+12228885768"
            },
            "label": "Call support"
          }
        ],
        "privacy": {
          "uri": "https://policies.google.com/privacy",
          "label": "Our privacy policy"
        },
        "termsConditions": {
          "uri": "https://policies.google.com/terms",
          "label": "Our Terms and Conditions"
        },
        "color": "#0B78D0",
        "billingConfig": {
          "billingCategory": "CONVERSATIONAL_LEGACY"
        },
        "agentUseCase": "PROMOTIONAL",
        "hostingRegion": "NORTH_AMERICA"
      }
    }
  ]
}

ดึงข้อมูลผลลัพธ์ได้ทีละหน้า ดูรายละเอียดได้ที่ข้อมูลอ้างอิง API

รับข้อมูลการยืนยันตัวแทน

ผู้ให้บริการขนส่งสามารถดูสถานะการยืนยันแบรนด์ของตัวแทนได้ ดูรายละเอียดเพิ่มเติมได้ที่ brands.agents.getVerification

Node.js

  const businessCommunicationsApiHelper =
    require('@google/rbm-businesscommunications');
  const privateKey =
    require('../../resources/businesscommunications-service-account-credentials.json');
  businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);
  businessCommunicationsApiHelper.getAgentVerification(agents[0].name).then((response) => {
  }).catch((err) => {
    console.log(err);
  });
  

cURL

  curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/verification" \
    -H "Content-Type: application/json" \
    -H "User-Agent: curl/business-messaging" \
    -H "`oauth2l header --json serviceAccount.json businesscommunications`"
  

ผู้โทรไม่จำเป็นต้องทราบชื่อเต็มของตัวแทน รวมถึงชื่อแบรนด์ ต้องมีเพียงรหัสตัวแทน (ก่อน @rbm.goog) โดยตั้งค่าชื่อแบรนด์เป็น -

รหัสนี้จะแสดงสถานะการยืนยันและข้อมูลพาร์ทเนอร์

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_ciymyd2b_agent/verification",
  "verificationState": "VERIFICATION_STATE_UNVERIFIED",
  "agentVerificationContact": {
    "partnerName": "John Doe",
    "partnerEmailAddress": "john.doe@gmail.com",
    "brandContactName": "Bob",
    "brandContactEmailAddress": "bob@brand.com",
    "brandWebsiteUrl": "https://www.brand.com"
  }
}

ดูสถานะและแบบสอบถามการเปิดใช้งานของตัวแทน

ผู้ให้บริการสามารถดูสถานะการเปิดตัวปัจจุบันของตัวแทนและแบบสอบถามการเปิดตัวของนักพัฒนาแอป

Node.js

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper.getAgentLaunch(agents[0].name).then((response) => {
  console.log('Launch details are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

ผู้โทรไม่จำเป็นต้องทราบชื่อเต็มของตัวแทน รวมถึงชื่อแบรนด์ ต้องมีเพียงรหัสตัวแทน (ก่อน @rbm.goog) โดยตั้งค่าชื่อแบรนด์เป็น -

โค้ดนี้จะแสดงข้อมูลการเปิดตัว

{
  "name": "brands/8b5c7f80-b025-486b-bc8a-2d0797559711/agents/my-agent-demo/launch",
  "rcsBusinessMessaging": {
    "questionnaire": {
      "contacts": [
        {
          "name": "John Doe",
          "title": "Mr",
          "email": "johndoe@developer.com"
        }
      ],
      "optinDescription": "Messages are sent to known MSISDNs",
      "triggerDescription": "We respond to any interaction",
      "interactionsDescription": "Simple conversations with a chatbot",
      "optoutDescription": "User sends stop"
    },
    "launchDetails": {
      "/v1/regions/thecarrier": {
        "launchState": "LAUNCH_STATE_LAUNCHED",
        "updateTime": "2023-02-20T15:10:36.528669Z"
      }
    }
  }
}

ค้นหาคำจำกัดความของตัวแทน

ผู้ให้บริการสามารถเรียกข้อมูลของตัวแทนโดยใช้ตัวระบุที่ไม่ซ้ำกัน (name)

Node.js

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper.getAgent(agent[0].name).then((response) => {
  console.log('Agent details are:');
  console.log(JSON.stringify(response.data, null, 2));
}).catch((err) => {
  console.log(err);
});

cURL

curl -v "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`"

ผู้โทรไม่จำเป็นต้องทราบชื่อเต็มของตัวแทน รวมถึงชื่อแบรนด์ ต้องมีเพียงรหัสตัวแทน (ก่อน @rbm.goog) โดยตั้งค่าชื่อแบรนด์เป็น -

รหัสนี้จะแสดงข้อมูลตัวแทน

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent",
  "displayName": "My new agent",
  "rcsBusinessMessagingAgent": {
    "description": "This is the agent description that will be displayed in the Agent info tab in Messages",
    "logoUri": "https://agent-logos.storage.googleapis.com/_/kt90w53vzw2QSxK6PG1uCeJf",
    "heroUri": "https://agent-logos.storage.googleapis.com/_/kt90vzob74GQcfeHoEQbVRTP",
    "phoneNumbers": [
      {
        "phoneNumber": {
          "number": "+12223334444"
        },
        "label": "Call support"
      }
    ],
    "privacy": {
      "uri": "https://policies.google.com/privacy",
      "label": "Our privacy policy"
    },
    "termsConditions": {
      "uri": "https://policies.google.com/terms",
      "label": "Our Terms and Conditions"
    },
    "color": "#0B78D0",
    "billingConfig": {
      "billingCategory": "BASIC_MESSAGE"
    },
    "agentUseCase": "MULTI_USE",
    "hostingRegion": "NORTH_AMERICA"
  }
}

เปลี่ยนสถานะการเปิดใช้งานของตัวแทน

ผู้ให้บริการสามารถอัปเดตสถานะการเปิดตัวของตัวแทนและเพิ่มข้อความที่จะส่งทางอีเมลถึงนักพัฒนาแอป

คุณควรเปลี่ยนสถานะดังนี้

  • LAUNCH_STATE_PENDING ถึง LAUNCH_STATE_LAUNCHED หรือ LAUNCH_STATE_REJECTED
  • LAUNCH_STATE_LAUNCHED ถึง LAUNCH_STATE_SUSPENDED
  • LAUNCH_STATE_SUSPENDED ถึง LAUNCH_STATE_LAUNCHED หรือ LAUNCH_STATE_REJECTED

ผู้โทรไม่จำเป็นต้องทราบชื่อเต็มของตัวแทน รวมถึงชื่อแบรนด์ ต้องมีเพียงรหัสตัวแทน (ก่อน @rbm.goog) โดยตั้งค่าชื่อแบรนด์เป็น -

Node.js

const businessCommunicationsApiHelper =
  require('@google/rbm-businesscommunications');

const privateKey =
  require('../../resources/businesscommunications-service-account-credentials.json');

businessCommunicationsApiHelper.initBusinessCommunucationsApi(privateKey);

businessCommunicationsApiHelper
	.updateAgentLaunchState(agentId, 'LAUNCH_STATE_LAUNCHED').then((response) => {
		console.log('Updated launch details are:');
		console.log(JSON.stringify(response.data, null, 2));
	});

cURL

curl -v -X PATCH "https://businesscommunications.googleapis.com/v1/brands/-/agents/AGENT ID/launch" \
  -H "Content-Type: application/json" \
  -H "User-Agent: curl/business-messaging" \
  -H "`oauth2l header --json serviceAccount.json businesscommunications`" \
  -d "{
    'rcsBusinessMessaging': {
      'launchDetails': {
        '': {
          'launchState': 'LAUNCH_STATE_LAUNCHED',
        }
      }
    }
  }"

รหัสนี้จะแสดงข้อมูลการเปิดตัวที่อัปเดตแล้วซึ่งมีการเปลี่ยนแปลงสถานะการเปิดตัว

{
  "name": "brands/40bd963f-ff92-425c-b273-8f0892d2d017/agents/my_new_agent_4fpd1psz_agent/launch",
  "rcsBusinessMessaging": {
    "questionnaire": {
      "contacts": [
        {
          "name": "Ian",
          "title": "The Boss",
          "email": "someone@somewhere.com"
        }
      ],
      "optinDescription": "Users accepted our terms of service online.",
      "triggerDescription": "We are reaching preregistered users",
      "interactionsDescription": "This agent does not do much.",
      "optoutDescription": "Reply stop and we stop.",
      "agentAccessInstructions": "This is a a simple agent that reaches registered users.",
      "videoUris": [
        "https://www.google.com/a/video"
      ],
      "screenshotUris": [
        "https://www.google.com/a/screenshot"
      ]
    },
    "launchDetails": {
      "/v1/regions/thecarrier": {
        "launchState": "LAUNCH_STATE_REJECTED",
        "comment": "We don't have a billing contract in place with you.",
        "updateTime": "2023-04-28T15:22:10.221191Z"
      }
    }
  }
}

ลบตัวแทน

คุณจะลบตัวแทน RBM ไม่ได้อีกต่อไปเนื่องด้วยเหตุผลด้านความปลอดภัย โปรดติดต่อทีมสนับสนุนของ RBM เพื่อขอความช่วยเหลือ