ฝังวิดเจ็ตบนเว็บ
วิดเจ็ตเว็บช่วยให้ผู้เข้าชมเว็บไซต์ของคุณเริ่มการสนทนาแบบคลิกเพื่อพูด กับ AI เอเจนต์ โดยใช้ไมโครโฟนของเบราว์เซอร์ เป็น SDK JavaScript / React แยกต่างหากที่มีข้อมูลอ้างอิง SDKของตัวเอง — คู่มือนี้เน้นการตั้งค่าฝั่ง ThunderPhone ที่วิดเจ็ตต้องใช้
ข้อกำหนดเบื้องต้น
- สร้างเอเจนต์
เอเจนต์ที่มีพรอมป์ต์และเสียงสำหรับใช้ในเซสชันวิดเจ็ต ตั้งค่า
widget_enabled: true(ค่าเริ่มต้น) - เลือกโหมดการกำหนดเส้นทาง
mode="agent"— เอเจนต์แบบคงที่หนึ่งรายการต่อคีย์ ง่ายที่สุดmode="webhook"— เซิร์ฟเวอร์ของคุณเลือกเอเจนต์ต่อผู้เข้าชมผ่านweb.incomingwebhook ใช้สำหรับ ผู้ใช้ที่เข้าสู่ระบบ การทดสอบ A/B หรือการกำหนดเส้นทางตามหน้า
- ระบุโดเมนที่อนุญาต
คีย์ที่เผยแพร่ได้จะถูกล็อกกับต้นทาง คุณต้องระบุทุกชื่อโฮสต์ ที่จะฝังวิดเจ็ต
localhost/127.0.0.1จะได้รับอนุญาตเสมอ ระหว่างการพัฒนาในเครื่อง
สร้างคีย์ที่เผยแพร่ได้
curl -X POST https://api.thunderphone.com/v1/publishable-key \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Marketing site (prod)",
"mode": "agent",
"agent_id": 12,
"allowed_domains": ["example.com", "*.example.com"]
}'
curl -X POST https://api.thunderphone.com/v1/publishable-key \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support (dynamic)",
"mode": "webhook",
"webhook_url": "https://example.com/thunderphone/widget-hook",
"allowed_domains": ["support.example.com"]
}'
การตอบกลับมี key ที่ขึ้นต้นด้วย pk_live_... คีย์ที่เผยแพร่ได้
เป็นข้อมูลสาธารณะโดยการออกแบบ — ปลอดภัยสำหรับเผยแพร่ในบันเดิลฟรอนต์เอนด์
ของคุณ ดูฟิลด์ทั้งหมดได้ที่ข้อมูลอ้างอิงคีย์ที่เผยแพร่ได้
เพิ่มวิดเจ็ตลงในเว็บไซต์ของคุณ
ตัวเลือกการผสานรวม 3 แบบมีอธิบายไว้ใน เอกสาร SDK ของวิดเจ็ต:
<ThunderPhoneWidget publishableKey="pk_live_..." />
useThunderPhone() สำหรับ UI แบบกำหนดเอง
ThunderPhone.mount({...}) สำหรับเว็บไซต์ที่ไม่ใช้บันเดิลเลอร์
ทั้ง 3 วิธีรับ publishableKey เดียวกัน และแสดงปุ่มไมโครโฟน
พร้อมองค์ประกอบเสียงระหว่างการโทร
context ของวิดเจ็ตจะถูกตัดให้เหลือ 12,000 อักขระ (ประมาณ 3,400
โทเค็นของข้อความภาษาอังกฤษทั่วไป) และนับรวมใน
ค่าธรรมเนียมเพิ่มตามขนาดพรอมป์ต์
Webhook สำหรับโหมดวิดเจ็ต
เมื่อ mode="webhook" ThunderPhone จะเรียก webhook_url ของคุณทุกครั้ง
ที่เริ่มเซสชันพร้อมเพย์โหลด web.incoming ส่งคืนการกำหนดค่าเอเจนต์
ที่ต้องการใช้สำหรับผู้เข้าชมรายนั้น — โดยใช้
สคีมาการตอบกลับเดียวกับการโทรศัพท์:
{
"prompt": "You are a VIP concierge for Jane Doe.",
"voice": "john",
"product": "storm-base",
"tools": [ /* per-customer tools */ ]
}
คุณสามารถผสมบริบทจากเซสชันของคุณเอง (ลูกค้ารายใดกำลังเข้าชม อยู่หน้าใด) ลงในพรอมป์ต์ และสลับเอเจนต์ตามการทยอยเปิดใช้ได้
ตรวจสอบเซสชัน
เซสชันวิดเจ็ตจะแสดงใน
GET /v1/calls โดยมี
direction="widget" — มีทรานสคริปต์ การบันทึก การประเมิน และ
การเรียกเก็บเงินเหมือนกับการโทรศัพท์ กรองตาม direction เพื่อสร้าง
แดชบอร์ดเฉพาะวิดเจ็ต