Voicebox REST + SSE
Dành cho app native tự vẽ giao diện chat nhưng vẫn dùng khoá công khai của Voicebox.
Gốc đường dẫn: https://voicebox.aivigo.tech/v1/widgets/{vb_key}. Đầu vào/đầu ra giống hệt
/agent/process — chỉ khác là App, kênh và trợ lý do cấu hình voicebox quyết định.
Lấy token phiên (2 giờ)
curl -X POST https://voicebox.aivigo.tech/v1/widgets/vb_xxx/sessions \
-H 'Content-Type: application/json' \
-d '{"visitor_id":"device-1234abcd","user":{"ref":"kh001","name":"An","hash":"<ký từ server>"}}'visitor_id: mã ổn định của thiết bị, 8–64 ký tự [A-Za-z0-9_-]. Kết quả:
{"token":"…","expires_at":"…","user":{"ref":"kh001","verified":true},"config":{…}}.
Gửi tin nhắn
curl -X POST https://voicebox.aivigo.tech/v1/widgets/vb_xxx/messages \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"input":{"type":"text","text":"tôi muốn đặt 2 hộp sữa tươi"}}'Thêm -H 'Accept: text/event-stream' để nhận luồng SSE.
Giọng nói, nút bấm, đánh giá
# giọng nói: WAV PCM 16-bit mono 16 kHz (base64), xin âm thanh trả lời
-d '{"session_id":"…","input":{"type":"audio","audio_base64":"UklGR…","format":"wav","sample_rate":16000},"output":{"audio":true}}'
# nút trong khối actions
-d '{"session_id":"…","input":{"type":"event","event":"ui.action","data":{"action":"confirm"}}}'
# 👍/👎
curl -X POST https://voicebox.aivigo.tech/v1/widgets/vb_xxx/feedback -H "Authorization: Bearer $TOKEN" -d '{"turn_id":"…","value":1}'Kết thúc & lịch sử
curl -X DELETE https://voicebox.aivigo.tech/v1/widgets/vb_xxx/sessions/<session_id> -H "Authorization: Bearer $TOKEN"
curl https://voicebox.aivigo.tech/v1/widgets/vb_xxx/conversations -H "Authorization: Bearer $TOKEN"GET|PATCH|DELETE …/conversations/{id} để xem, đổi tên, xoá một cuộc trò chuyện.
Token hết hạn ⇒ 401 token_expired — gọi lại bước 1.