Thiết lập tài khoản đối tác

Sau khi đăng ký làm đối tác RBM, bạn sẽ có một tài khoản đối tác. Để truy cập vào phần cài đặt tài khoản đối tác, hãy mở Business Communications Developer Console rồi nhấp vào Cài đặt tài khoản đối tác. Tại đây, bạn có thể làm như sau:

Cập nhật thông tin tài khoản đối tác

Trên trang Cài đặt, bạn có thể xem mã đối tác và cập nhật các thông tin sau:

Trường Mô tả
Tên đối tác Tên tài khoản đối tác của bạn
Tên hiển thị Tên sẽ xuất hiện trong báo cáo thanh toán RBM mà các nhà mạng nhận được (dưới dạng trường owner_name). Nhà mạng sẽ sử dụng mã này để xác định bạn là một đối tác đáng tin cậy và để đảm bảo họ tạo thông tin lập hoá đơn chính xác khi bạn sử dụng RBM để tiếp cận người đăng ký của họ. Tên mà bạn cung cấp ở đây phải khớp với tên dùng trong hợp đồng nhắn tin của nhà mạng.
Đầu mối liên hệ về vấn đề kỹ thuật

Người mà Google sẽ liên hệ nếu nhân viên hỗ trợ của bạn gặp vấn đề kỹ thuật. Bạn có thể cập nhật

  • Tên
  • Địa chỉ email của công ty
  • Số điện thoại
Webhook Đây là URL điểm cuối webhook của bạn. Nhấp vào Định cấu hình để cập nhật. Khi bạn định cấu hình webhook của đối tác, webhook đó sẽ áp dụng cho tất cả các nhân viên hỗ trợ của bạn. Nếu muốn sử dụng một webhook khác cho một nhân viên hỗ trợ riêng lẻ, bạn có thể thiết lập webhook cho nhân viên hỗ trợ chỉ áp dụng cho nhân viên hỗ trợ đó.

Quản lý thương hiệu

Là đối tác RBM, bạn có thể thay mặt thương hiệu tạo nhân viên hỗ trợ.

Sử dụng trang Thương hiệu trong phần Cài đặt tài khoản để thêm, chỉnh sửa và xoá các thương hiệu được liên kết với tài khoản đối tác của bạn.

Thêm thương hiệu

Để thêm một thương hiệu, hãy nhập tên thương hiệu đó vào trường nhập rồi nhấp vào Thêm.

Chỉnh sửa thương hiệu

Cách chỉnh sửa thương hiệu:

  1. Nhấp vào hộp đánh dấu bên cạnh tên thương hiệu.
  2. Nhấp vào nút rồi nhấp vào Chỉnh sửa tên.
  3. Chỉnh sửa rồi nhấp vào Xong.

Xoá thương hiệu

Bạn không thể xoá một thương hiệu nếu thương hiệu đó được liên kết với một nhân viên hỗ trợ, ngay cả khi nhân viên hỗ trợ đó chưa được khởi chạy.

Để xoá một thương hiệu, hãy nhấp vào hộp đánh dấu bên cạnh tên thương hiệu rồi nhấp vào Xoá.

Quản lý người dùng

Trang Người dùng trong phần Cài đặt tài khoản là nơi bạn quản lý người dùng của tài khoản đối tác. Người dùng đã tạo tài khoản đối tác sẽ có vai trò là Chủ sở hữu. Người dùng mới có thể có vai trò là Người quản lý hoặc Người đọc.

  • Người quản lý có thể sử dụng tất cả tính năng của Bảng điều khiển dành cho nhà phát triển để quản lý mọi nhân viên thuộc tài khoản đối tác.
  • Người đọc chỉ có quyền đọc đối với Tài khoản nhà phát triển để xem mọi nhân viên thuộc tài khoản đối tác.

Thêm người dùng

Để thêm người dùng, hãy nhập địa chỉ email của họ vào trường nhập rồi chọn Vai trò của họ.

Khi bạn thêm người dùng mới, họ sẽ nhận được email thông báo rằng họ có quyền truy cập vào tài khoản đối tác.

Xoá người dùng

Cách xoá người dùng:

  1. Tìm người dùng mà bạn muốn xoá rồi nhấp vào nút trong hàng của người dùng đó.
  2. Chọn Xoá người dùng.
  3. Xác nhận xoá.

Người dùng mà bạn xoá sẽ nhận được email thông báo rằng họ không còn quyền truy cập vào tài khoản đối tác nữa.

Bạn không thể xoá người dùng có vai trò Chủ sở hữu. Để thay đổi hoặc xoá Chủ sở hữu, bạn cần liên hệ với nhóm hỗ trợ.

Thay đổi vai trò của một người dùng

Cách cập nhật vai trò của người dùng:

  1. Tìm người dùng mà bạn muốn cập nhật rồi nhấp vào nút trong hàng của người dùng đó.
  2. Chọn Chỉnh sửa vai trò.
  3. Chọn một vai trò mới trong trình đơn thả xuống.
  4. Nhấp vào Lưu.

Thiết lập tài khoản dịch vụ để xác thực các lệnh gọi API

Khi thực hiện lệnh gọi đến API RBM, bạn sẽ xác thực các lệnh gọi bằng khoá tài khoản dịch vụ. Khoá này cho phép bạn tạo và quản lý thương hiệu và nhân viên hỗ trợ, cũng như gửi tin nhắn và yêu cầu dưới vai trò là nhân viên hỗ trợ. Một tài khoản dịch vụ có thể có tối đa 10 khoá.

Để xác thực an toàn các lệnh gọi API, bạn cũng cần có công cụ dòng lệnh oauth2l.

Hãy làm theo các bước sau để tạo khoá tài khoản dịch vụ:

  1. Trong phần Cài đặt tài khoản, hãy chuyển đến trang Tài khoản dịch vụ.
  2. Nhấp vào Tạo khoá, rồi nhấp vào Tạo. Trình duyệt của bạn sẽ tải khoá tài khoản dịch vụ xuống.

Lưu trữ khoá tài khoản dịch vụ của bạn ở một vị trí riêng tư và an toàn. Đừng chia sẻ khoá của bạn công khai. Bạn sẽ cần khoá này sau này để truy cập vào các API RBM.

Định cấu hình webhook của đối tác

Webhook là lệnh gọi lại HTTPS do đối tác tạo, chỉ định cách nhân viên hỗ trợ của bạn phản hồi thông báo và sự kiện. Sau khi định cấu hình webhook, bạn có thể bắt đầu nhận tin nhắnsự kiện.

Nếu muốn sử dụng một webhook khác cho bất kỳ nhân viên hỗ trợ nào, bạn có thể thiết lập một webhook ở cấp nhân viên hỗ trợ để ghi đè webhook của đối tác. Để biết thêm thông tin, hãy xem phần Định cấu hình webhook của tác nhân.

Để định cấu hình webhook của đối tác, hãy làm theo các bước sau:

  1. Mở Business Communications Developer Console (Bảng điều khiển dành cho nhà phát triển Business Messages) rồi đăng nhập bằng Tài khoản Google của đối tác RBM.

  2. Mở phần Cài đặt tài khoản.

  3. Đối với URL webhook RCS Business Messaging, hãy nhấp vào Định cấu hình.

  4. Đối với URL điểm cuối webhook, hãy nhập URL webhook bắt đầu bằng "https://".

  5. Ghi lại giá trị clientToken. Bạn cần mã này để xác minh rằng thư bạn nhận được là của Google.

  6. Định cấu hình webhook để chấp nhận yêu cầu POST bằng tham số clientToken được chỉ định và gửi phản hồi 200 OK có giá trị văn bản thuần tuý của tham số secret làm nội dung phản hồi.

    Ví dụ: nếu webhook của bạn nhận được yêu cầu POST có nội dung phần thân sau đây

    {
      "clientToken":"SJENCPGJESMGUFPY",
      "secret":"1234567890"
    }
    

    thì webhook của bạn sẽ xác nhận giá trị clientToken và nếu clientToken là chính xác, hãy trả về phản hồi 200 OK với 1234567890 làm nội dung phản hồi:

    // clientToken from Configure
    const myClientToken = "SJENCPGJESMGUFPY";
    
    // Example endpoint
    app.post("/rbm-webhook", (req, res) => {
      const msg = req.body;
      if (msg.clientToken === myClientToken) {
          res.status(200).send(msg.secret);
          return;
      }
      res.send(400);
    });
    
  7. Trong Developer Console, hãy nhấp vào Xác minh. Khi RBM xác minh webhook của bạn, hộp thoại sẽ đóng lại.

Để xử lý các lỗi phân phối webhook và đảm bảo quá trình xử lý tin nhắn đáng tin cậy, hãy xem phần Xử lý tin nhắn.

Xác minh tin nhắn đến

Vì webhook có thể nhận tin nhắn từ bất kỳ người gửi nào, nên bạn nên xác minh rằng Google đã gửi tin nhắn đến trước khi xử lý nội dung tin nhắn.

Để xác minh rằng Google đã gửi một thông báo mà bạn nhận được, hãy làm theo các bước sau:

  1. Trích xuất tiêu đề X-Goog-Signature của thư. Đây là bản sao được băm, mã hoá base64 của tải trọng nội dung thư.
  2. Giải mã tải trọng RBM bằng Base-64 trong phần tử message.body của yêu cầu.
  3. Sử dụng mã thông báo ứng dụng của webhook (mà bạn đã chỉ định khi thiết lập webhook) làm khoá, tạo HMAC SHA512 của các byte trong tải trọng thông báo được giải mã base-64 và mã hoá kết quả bằng base64.
  4. So sánh hàm băm X-Goog-Signature với hàm băm mà bạn đã tạo.
    • Nếu các hàm băm khớp nhau, tức là bạn đã xác nhận rằng Google đã gửi tin nhắn.
    • Nếu các hàm băm không khớp, hãy kiểm tra quy trình băm trên một thông báo đã biết là tốt.

      Nếu quy trình băm của bạn đang hoạt động đúng cách và bạn nhận được một thông báo mà bạn cho rằng đã được gửi cho bạn một cách gian lận, hãy liên hệ với chúng tôi.

Node.js

  if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) {
    // Validate the received hash to ensure the message came from Google RBM
    let userEventString = Buffer.from(requestBody.message.data, 'base64');
    let hmac = crypto.createHmac('sha512', CLIENT_TOKEN);
    let data = hmac.update(userEventString);
    let genHash = data.digest('base64');
    let headerHash = req.header('X-Goog-Signature');

    if (headerHash === genHash) {
      let userEvent = JSON.parse(userEventString);

      console.log('userEventString: ' + userEventString);
      handleMessage(userEvent);
    } else {
      console.log('hash mismatch - ignoring message');
    }
  }

  res.sendStatus(200);
  

Các bước tiếp theo

Giờ đây, khi tài khoản đối tác đã được thiết lập, bạn có thể tạo tác nhân đầu tiên.