respond-io
New
🚀 Tính năng nhắn tin doanh nghiệp TikTok đã hoạt động! Biến cuộc trò chuyện thành cuộc chuyển đổi một cách liền mạch. Tìm hiểu thêm.arrow-icon

Trang chủ >

Kênh >
Kênh tùy chỉnh >
Bắt đầu nhanh kênh tùy chỉnh

Bắt đầu nhanh kênh tùy chỉnh

Avatar
JQ Lee
· 05 Nov 2024
8 phút đọc

Sự tích hợp này cho phép nhóm của bạn trò chuyện với khách hàng qua bất kỳ Kênh nhắn tin nào thông qua việc triển khai tùy chỉnh.

Kết nối kênh tùy chỉnh

Bước 1: Vào Cài đặt > Kênh

Bước 2: Nhấp vào Thêm kênh > Kênh tùy chỉnh > Kết nối

Bước 3: Nhập URL Webhook đích nơi tin nhắn đi sẽ được gửi đến.

Bước 4: Chọn loại ID cho Kênh > nhấp vào Tiếp theo

Các loại ID được sử dụng để nhận dạng người dùng và được dùng để giao tiếp với máy chủ tích hợp tùy chỉnh của bạn.

Có hai loại ID có sẵn:

  1. Số điện thoại: Sử dụng tùy chọn này nếu nhà cung cấp dịch vụ nhắn tin nhận dạng Danh bạ dựa trên Số điện thoại của họ.

    1. Định dạng mẫu: +60177872890

  2. ID tùy chỉnh: Sử dụng tùy chọn này nếu nhà cung cấp dịch vụ nhắn tin nhận dạng Danh bạ dựa trên ID tùy chỉnh.

    1. Độ dài ký tự tối đa là 50.

    2. AZ,az,0-9,_,=,+,/@được cho phép.

Bước 5: Hộp thoại sau sẽ cung cấpID kênh,Mã thông báo APIURL Webhookví dụ

  1. ID kênh:gfd8g7fd89dgfd

  2. Mã thông báo API:aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd

  3. URL webhook:https://app.respond.io/custom/channel/webhook/

    Sử dụng loại ID số điện thoại cho phép bạn bắt đầu cuộc trò chuyện và gửi tin nhắn đầu tiên đến một Liên hệ.

Truyền tin nhắn đến respond.io

URL Webhookđược sử dụng để đăngTin nhắn,Tin nhắn phản hồiBiên lai tin nhắnlên nền tảng respond.io.

Mã được cung cấp sẽ kích hoạt webhook trên respond.io, tạo một Liên hệ nếu cần và lưu tin nhắn trong Liên hệ đó.

Mẫu cho tin nhắn

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'ủy quyền: Người mang aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kiểm soát bộ đệm: không có bộ đệm' \\  
  -H 'kiểu nội dung: ứng dụng/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "sự kiện": \[  
    {  
      "kiểu": "tin nhắn",  
      "mId": "xcvzzxcxczxczxc",  
      "dấu thời gian": 2132131321000,  
      "tin nhắn": {  
        "kiểu": "văn bản",  
        "văn bản": "Xin chào thế giới"  
      }  
    }  
  \],  
  "liên hệ": {  
    "firstName": "John",  
    "lastName": "Doe",  
    "profilePic": "",  
    "countryCode": "MY",  
    "email": "[email protected]",  
    "phone": "+60177872890",  
    "language": "en"  
  }  
}'

Mẫu cho tiếng vang tin nhắn

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'ủy quyền: Người mang aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kiểm soát bộ đệm: không có bộ đệm' \\  
  -H 'kiểu nội dung: ứng dụng/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "sự kiện": \[  
    {  
      "kiểu": "message\_echo",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "message": {  
        "type": "text",  
        "text": "Hello World"  
      }  
    }  
  \],  
  "contact": {  
    "firstName": "John",  
    "lastName": "Doe",  
    "profilePic": "",  
    "Mã quốc gia": "MY",  
    "Email": "[email protected]",  
    "Điện thoại": "+60177872890",  
    "Ngôn ngữ": "en"  
  }  
}'

Mẫu biên lai tin nhắn

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'ủy quyền: Người mang aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kiểm soát bộ đệm: không có bộ đệm' \\  
  -H 'kiểu nội dung: ứng dụng/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "sự kiện": \[  
    {  
      "kiểu": "message\_status",  
      "mId": "xcvzzxcxczxczxc",  
      "timestamp": 2132131321000,  
      "status": {  
        "value": "đã gửi|đã chuyển|đã đọc|đã thất bại",  
        "message": "Lỗi: Gửi không thành công do mã thông báo không hợp lệ"  
      }  
  \]  
}'

Cánh đồng

Sự mô tả

Xác thực

kênhID

ID kênh duy nhất

Yêu cầu. Trường duy nhất. Được tạo ra bởi respond.io.

liên hệID

ID liên hệ duy nhất

Yêu cầu. Mã số liên lạc respond.io duy nhất. Tối đa 50 ký tự.

sự kiện.loại

Loại sự kiện

Yêu cầu. Kiểu có sẵn: message, message_echo và message_status.

sự kiện.mld

ID tin nhắn

Yêu cầu. ID tin nhắn duy nhất. Tối đa 50 ký tự.

sự kiện.dấu thời gian

Thời gian kỷ nguyên UNIX (mili giây)

Yêu cầu. Thời gian của sự kiện kích hoạt lệnh gọi lại.

sự kiện.tin nhắn.kiểu

Loại tin nhắn

Yêu cầu. Các loại tin nhắn có sẵn: văn bản, tệp đính kèm, vị trí và trả lời nhanh. Tham khảo phần Loại tin nhắn để biết các mẫu loại tin nhắn khác.

sự kiện.tin nhắn.văn bản

Tin nhắn văn bản

Yêu cầu. Độ dài tối đa 7.000 ký tự.

sự kiện.trạng thái.giá trị

Chữ

Bắt buộc nếu event.type là message_status. Các giá trị trạng thái có sẵn: đã gửi, đã chuyển, đã đọc và không thành công.

sự kiện.trạng thái.tin nhắn

Chữ

Bắt buộc nếu events.status.value không thành công.

liên hệ.firstName

Họ

Không bắt buộc. Tối đa 50 ký tự.

contact.lastName

Họ

Không bắt buộc. Tối đa 50 ký tự.

liên hệ.profilePic

URL Ảnh Hồ Sơ

Không bắt buộc. Kích thước ảnh đại diện không được quá 100 kb. Khuyến nghị 720x720.

liên hệ.locale

Mã địa phương

Không bắt buộc. Tham khảo danh sách giá trị tại đây.

liên hệ.countryCode

Mã quốc gia

Không bắt buộc. Mã quốc gia gồm 2 chữ cái - Mã ISO ALPHA-2.

contact.timezone

Múi giờ

Không bắt buộc. (tối thiểu: -24) (tối đa: 24).

liên hệ.email

Địa chỉ email

Không bắt buộc. Tối đa 50 ký tự.

liên hệ.điện thoại

Số điện thoại

Không bắt buộc. Tối đa 18 ký tự.

liên hệ.ngôn ngữ

Ngôn ngữ

Không bắt buộc. Tiêu chuẩn ISO639-1.

Phản hồi - Thành công (trạng thái HTTP → 200)

"ĐƯỢC RỒI"

Xử lý tin nhắn gửi đi từ respond.io

respond.io sẽ gọi điểm cuối<API Base URL>/message

Đảm bảo bạn áp dụng mãTin nhắn gửi đitrên tuyến đường/messagecủa máy chủ web.

Sau đây là ví dụ cURL của respond.io gọi điểm cuối:

curl -X POST \\  
  /message \\  
  -H 'ủy quyền: Người mang aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'kiểm soát bộ đệm: không có bộ đệm' \\  
  -H 'kiểu nội dung: ứng dụng/json' \\  
  -d '{  
	"channelId": "gfd8g7fd89dgfd",  
	"contactId": "+60177872890",  
	"message": {  
		"kiểu": "văn bản",  
		"text": "Xin chào thế giới"  
	}  
}'

Phản hồi - Thành công (trạng thái HTTP → 200)

{  
	"mId": "1640141607842"  
}

Xác thực cần phải được thực hiện tại điểm cuối trước khi gửi tin nhắn đến Nhà cung cấp dịch vụ nhắn tin.

Dưới đây'là một ví dụ về việc sử dụng phần mềm trung gian express cho mục đích này:

const {validationResult} = require('express-validator');

const validateToken = (req, res, next) => {
    const apiToken = <>
    const bearerToken = req.headers.authorization;

    nếu (!bearerToken)
        trả về res.send(401)

    const token = bearerToken.substring(7, bearerToken.length);

    nếu (apiToken !== token) {
        trả về res.send(401)
    }
    tiếp theo();
};

module.exports = {
    validateToken
};

Chúng tôi'đã đưa vào một ví dụ về Kênh tùy chỉnh mà bạn có thể thử nghiệm trên máy chủ của mình. Hãy xem dự án GitHub của chúng tôi tại đây.

Loại tin nhắn

Mẫu cho Văn bản

{  
  "type": "text",  
  "text": "Chào mừng đến với respond.io",  
}

Cánh đồng

Sự mô tả

Xác thực

kiểu

Loại tin nhắn

Yêu cầu. chữ

chữ

Tin nhắn văn bản

Yêu cầu. Độ dài tối đa 7.000 ký tự.

Mẫu cho tập tin phương tiện

{  
  "type": "attachment",  
  "attachment": {  
    "type": "image|video|audio|file",  
    "url": "https://abc/japan.png",  
    "mimeType": "image/png",  
    "fileName": "logo công ty.png",  
    "description": "logo công ty mới nhất"  
  }  
}

Cánh đồng

Sự mô tả

Xác thực

kiểu

Loại tin nhắn

Yêu cầu. đính kèm.

tập tin đính kèm.type

Loại đính kèm

Yêu cầu. Các loại tệp đính kèm có sẵn: hình ảnh, video, âm thanh và tệp.

đính kèm.url

URL

Yêu cầu. Tối đa 2.000 ký tự. Đảm bảo đó là liên kết công khai để người dùng hoặc liên hệ có thể xem nội dung.

tệp đính kèm.mimeType

Kiểu Mime của tệp đính kèm

Không bắt buộc

file đính kèm.tên_tệp

Tên tệp

Không bắt buộc. Tên tệp phải bao gồm phần mở rộng. Tối đa 256 ký tự (bao gồm cả phần mở rộng tệp). Gửi tệp không có phần mở rộng hoặc phần mở rộng không đúng có thể khiến người liên hệ hoặc người dùng không thể mở tệp.

tệp đính kèm.mô tả

Mô tả tập tin

Không bắt buộc. Tối đa 256 ký tự. Chỉ áp dụng cho attachment.type = image.

Đảm bảo rằng URL đính kèm không bị trình duyệt tải xuống một cách cưỡng bức. Tiêu đề HTTP response's Content-Disposition phải có giá trị mặc định là inline.

Mẫu cho Vị trí

{  
  "type": "location",  
  "latitude": 0.123456,  
  "longitude": -0.1234,  
  "address": "Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur"  
}

Cánh đồng

Sự mô tả

Xác thực

kiểu

Loại tin nhắn

Yêu cầu. vị trí.

vĩ độ

Tọa độ

Yêu cầu. Vĩ độ (±90°) nằm trong phạm vi hợp lệ.

kinh độ

Tọa độ

Yêu cầu. Kinh độ (±180°) nằm trong phạm vi hợp lệ.

Địa chỉ

Địa chỉ vị trí

Không bắt buộc. Tối đa 256 ký tự.

Mẫu trả lời nhanh

{  
  "type": "quick\_reply",  
  "title": "Chọn ngôn ngữ bạn muốn",    
  "replies": \[  
    "Tiếng Mã Lai",  
    "Tiếng Anh"  
  \]  
}

Cánh đồng

Sự mô tả

Xác thực

kiểu

Loại tin nhắn

Yêu cầu. trả lời nhanh.

Tiêu đề

Tiêu đề trả lời nhanh

Yêu cầu. Tối đa 256 ký tự.

trả lời

Văn bản trả lời

Yêu cầu. Tối đa 10 câu trả lời, mỗi câu trả lời có tối đa 256 ký tự.

Mã lỗi

Lỗi (Trạng thái HTTP → 4xx)

Cấu hình kênh

Bước 1: Nhấp vào Cài đặt > Kênh

Bước 2: Xác định Kênh tùy chỉnh > nhấp vào Quản lý

Bước 3: Trong trang Cấu hình kênh tùy chỉnh bạn sẽ thấy các cấu hình sau:

  • Biểu tượng kênh - Tải lên hình ảnh làm biểu tượng cho Kênh tùy chỉnh của bạn.

  • Tên kênh - Tên kênh có thể được thay đổi và được sử dụng nội bộ để xác định Kênh.

  • URL webhook cho tin nhắn gửi đi — URL webhook cho tin nhắn gửi đi tới Kênh này.

  • URL webhook cho tin nhắn đến — URL webhook cho tin nhắn đến Kênh này.

  • Loại ID — Được sử dụng để nhận dạng người dùng và được dùng để giao tiếp với máy chủ tích hợp tùy chỉnh của bạn.

  • ID kênh — ID kênh duy nhất để xác định Kênh tùy chỉnh của bạn.

  • Mã thông báo API — Mã định danh duy nhất được sử dụng để xác thực người dùng truy cập API.

Bước 4: Nhấp vào Lưu thay đổi để cập nhật cấu hình Kênh tùy chỉnh.

Câu hỏi thường gặp và khắc phục sự cố

Tôi có thể kết nối trò chuyện từ các nền tảng khác bằng Kênh tùy chỉnh không?

Có, bạn có thể. Sau đây là ba bước cần thực hiện:

  1. Trong respond.io, nhập URL webhook đích từ nền tảng khác vào trường URL webhook cho tin nhắn đến .

  2. Trên nền tảng khác, hãy thiết lập URL webhook trỏ đến respond.io, cho phép Danh bạ gửi tin nhắn lại cho bạn.

  3. Bạn'sẽ cần một Máy chủ tích hợp tùy chỉnh để diễn giải các API từ cả respond.io và nền tảng khác, cho phép trao đổi tin nhắn giữa chúng.

Hãy đảm bảo xác nhận với nền tảng kia rằng hai bước đầu tiên là khả thi.

Câu hỏi thường gặp về Webhooks kênh tùy chỉnh

Tại sao webhook trả về trạng thái 200 ngay cả khi tin nhắn không được gửi đến respond.io?

Khi kết nối Kênh tùy chỉnh, các tin nhắn được gửi đến respond.io thông qua webhooks sẽ luôn trả về mã trạng thái 200 ngay lập tức, bất kể tin nhắn có được chuyển thành công đến respond.io hay không. Điều này là do bản chất của webhooks, được thiết kế để trả về phản hồi ngay lập tức mà không cần xác minh sự thành công của việc gửi tin nhắn.

Chia sẻ bài viết này
Telegram
Facebook
Linkedin
Twitter

Bài viết liên quan 👩‍💻

Tổng quan về kênh tùy chỉnh
Nhận thông tin tổng quan về Kênh tùy chỉnh và các tính năng của kênh này.

Không tìm thấy thông tin bạn đang tìm kiếm? 🔎