AI Agent Core Partner Portal

Đang kiểm tra Core & Voicebox...

Tài liệu Kỹ thuật Dành Cho Đối Tác Tích Hợp

Hướng dẫn kết nối với hệ thống AI Agent Core thông qua các giao diện lập trình ứng dụng (API) và widget công khai đã được chuẩn hoá.

Phạm vi API dành riêng cho đối tác (Public Integration Scope)

Hệ thống phân tách nghiêm ngặt giữa API Quản trị nội bộ và API Tích hợp Public dành cho hệ thống bên ngoài:

Phương thức tích hợp Giao thức & Định dạng Cơ chế xác thực Trường hợp áp dụng
1. Core Runtime API
POST /api/v1/agent/process
REST JSON hoặc Server-Sent Events (SSE) streaming thời gian thực API Key của App (ak_…) truyền qua Header Authorization: Bearer Hệ thống Backend đối tác, Mobile App tự vẽ UI, POS, CRM, ERP, hoặc chatbot server-to-server.
2. Voicebox Widget
voicebox.js / Web Component
Client-side Script, Shadow DOM, Iframe, hoặc Mobile WebView Public Key (vb_…) + Server HMAC signature (user_hash) Trang web E-commerce, Cổng dịch vụ khách hàng, Landing page muốn nhúng trợ lý AI trong 1 phút.
Bắt đầu nhanh trong 3 bước
Bước 1 · Lấy thông tin cấp phép

Quản trị viên cấp cho bạn ak_xxx (cho Core API) hoặc khoá công khai vb_xxx + identity_secret (cho Voicebox).

Bước 2 · Thử nghiệm Sandbox

Dùng các tab Live Sandbox trên cổng này để test trực tiếp các câu prompt, luồng SSE streaming, hoặc tương tác widget.

Bước 3 · Copy mã nhúng & Code

Copy code generator có sẵn (cURL, TypeScript, Python, Go, HTML) và dán trực tiếp vào dự án của bạn.

Tích hợp Core Runtime API

Điểm vào duy nhất cho ứng dụng đối tác muốn gọi trực tiếp tới lõi xử lý AI Agent qua REST hoặc SSE.

POST /api/v1/agent/process

Xử lý một lượt hội thoại đa phương thức (văn bản, giọng nói, sự kiện UI), tự động điều phối qua Pipeline 9 pha, phân loại ý định, chạy Flow Engine hoặc gọi Domain MCP tool.

cURL (Hỗ trợ JSON hoặc SSE Stream)
curl -X POST http://localhost:8080/api/v1/agent/process \
  -H "Authorization: Bearer ak_YOUR_APP_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "input": {
      "type": "text",
      "text": "Tìm giúp tôi 2 chiếc áo sơ mi nam trắng size L"
    },
    "user": {
      "ref": "kh001",
      "name": "Nguyễn Văn A"
    }
  }'
Cấu trúc Dữ liệu Phản hồi (Response Contract)

Core API trả về phản hồi theo hợp đồng chuẩn nhất quán cho cả văn bản và Server-Driven UI (SDUI):

{
  "session_id": "0194bc02-1234-7000-8000-000000000001",
  "agent": "sales_assistant",
  "status": "completed",
  "reply": {
    "text": "Dạ em tìm thấy 2 mẫu áo sơ mi nam phù hợp với bạn ạ:",
    "ui": [
      {
        "type": "product_card",
        "data": {
          "id": "SP001",
          "name": "Áo sơ mi Oxford Classic",
          "price": 350000,
          "image": "https://example.com/shirt.jpg"
        }
      }
    ]
  },
  "degraded": false
}

Tích hợp Voicebox Chatbox Widget

Giải pháp nhúng bong bóng chat và trợ lý ảo thông minh vào website, web app hoặc ứng dụng di động trong 1 dòng mã.

1. Thẻ script (Bong bóng nổi góc màn hình)

Dán trước thẻ đóng </body> trên website của bạn. Widget chạy cô lập hoàn toàn bên trong Shadow DOM, không làm vỡ CSS của trang:

HTML
<!-- Dán vào cuối thẻ body -->
<script src="http://localhost:8081/widget/v1/voicebox.js" data-key="vb_tkvWkbyvNs2-yH7oMYbxECLD" async></script>
2. Web Component hoặc Nhúng Trong Khung (Inline)

Dành cho các trang hỗ trợ chuyên dụng, trang liên hệ, hoặc dashboard nơi bạn muốn khung chat nằm cố định trong layout:

Web Component
<script src="http://localhost:8081/widget/v1/voicebox.js" async></script>
<voicebox-chat key="vb_tkvWkbyvNs2-yH7oMYbxECLD" mode="inline" style="display:block;height:600px"></voicebox-chat>
3. JavaScript SDK API (Điều khiển bằng code & Sự kiện)

Sử dụng SDK để mở/đóng hộp thoại, gửi tin nhắn tự động, hoặc lắng nghe các sự kiện nghiệp vụ (handoff chuyển nhân viên):

JavaScript API
const vb = Voicebox.init({
  key: 'vb_tkvWkbyvNs2-yH7oMYbxECLD',
  mode: 'floating',
  theme: 'auto', // 'light' | 'dark' | 'auto'
  user: {
    ref: 'kh001',
    name: 'Nguyễn Văn A',
    hash: '<64 ký tự hex HMAC_SHA256(identity_secret, ref) — tính ở SERVER của bạn>'
  }
});

// Lắng nghe sự kiện
vb.on('ready', () => console.log('Voicebox sẵn sàng'));
vb.on('reply', (r) => console.log('Agent vừa trả lời:', r.reply.text));
vb.on('handoff', () => alert('Đang chuyển hướng sang nhân viên CSKH'));

// Thao tác điều khiển
vb.open();
vb.send('Tư vấn sản phẩm khuyến mãi hôm nay');

Xác Thực Danh Tính Người Dùng (HMAC-SHA256)

Cơ chế chống giả mạo danh tính người dùng cuối: Server của đối tác ký định danh user.ref bằng identity_secret.

Nguyên lý Hoạt động

Đối tác không bao giờ để lộ identity_secret ở phía client (trình duyệt hoặc app). Thay vào đó, backend của bạn tính giá trị băm:

user_hash = HMAC-SHA256(identity_secret, user.ref).hexdigest()
Mã nguồn Ký user_hash tại Server Đối Tác
import { createHmac } from 'node:crypto';

function getUserHash(userId, identitySecret) {
  return createHmac('sha256', identitySecret).update(userId).digest('hex');
}
Tiện ích Thử Ký Nhanh (HMAC Sandbox Tester)

Thử nghiệm tính toán mã băm danh tính trực tiếp để so khớp với mã nguồn backend của bạn:

Live Sandbox: Trải Nghiệm Core API Tự Động

Môi trường thử nghiệm tương tác gửi lệnh trực tiếp tới Core API, nhận luồng phản hồi SSE real-time hoặc JSON.

1. Tham số Yêu cầu
Áo sơ mi Mã giảm giá Đổi trả Đơn mua nội bộ
2. Phản Hồi Thời Gian Thực
Raw SSE Stream / JSON Log:
// Bấm "Gửi Yêu Cầu" để xem luồng phản hồi trực tiếp từ Core API...

Live Sandbox: Trải Nghiệm Voicebox Widget

Thử nghiệm widget trực tiếp, điều chỉnh giao diện màu sắc, chuyển đổi chế độ hiển thị và tự động sinh mã nhúng.

Cấu hình Widget Trực quan
#6366f1
Khung Trải Nghiệm Trực Tiếp (Live Preview)

Bạn có thể trò chuyện trực tiếp với trợ lý AI ngay tại đây:

Mô phỏng website đối tác (Mock Stage) Chế độ: Bong bóng nổi
Bong bóng chat Voicebox đang hiển thị ở góc dưới bên phải màn hình.
Bấm vào bong bóng để bắt đầu trò chuyện trực tiếp!
Mã nhúng HTML (1-click copy)
<script src="http://localhost:8081/widget/v1/voicebox.js" data-key="vb_tkvWkbyvNs2-yH7oMYbxECLD" async></script>

Đặc tả Kỹ thuật OpenAPI Đối Tác

Tài liệu chuẩn OpenAPI 3.1 cho các endpoint công khai để tích hợp tự động qua các công cụ sinh client (Swagger, Postman, Orval, OpenAPI Generator).

Danh mục Endpoints Public Tải file .yaml
Phương thức Đường dẫn Endpoint Mục đích Quyền / Token
POST /api/v1/agent/process Xử lý một lượt hội thoại văn bản/giọng nói/sự kiện (JSON hoặc SSE) App API Key (ak_…)
GET /v1/widgets/{key}/config Lấy cấu hình hiển thị công khai của widget Không cần (Public Key vb_…)
POST /v1/widgets/{key}/sessions Khởi tạo phiên widget & xác minh danh tính người dùng (HMAC) Không cần (Public Key vb_…)
POST /v1/widgets/{key}/chat Gửi lượt hội thoại từ widget tới agent Session Token (2 giờ)