แนวคิดหลัก
ThunderPhone คือแพลตฟอร์มครบวงจรสำหรับสร้าง เรียกใช้ และปรับปรุง AI เอเจนต์เสียง หน้านี้คือแผนที่: ทุกแนวคิดที่คุณจะพบมี ส่วนสั้นๆ ของตัวเอง พร้อมพื้นที่ในแดชบอร์ดและ API ที่รองรับ อ่านคร่าวๆ หนึ่งครั้ง แล้วกลับมาได้ทุกเมื่อเมื่อต้องการทำความเข้าใจคำศัพท์เพิ่มเติม
แถบด้านข้างของแดชบอร์ดสะท้อนโครงสร้างนี้:
แอป API เซิร์ฟเวอร์ MCP และผู้ให้บริการ VoIP ที่ เอเจนต์ของคุณใช้ได้
Webhook และเครื่องมือฟังก์ชัน สำหรับ โค้ดของคุณเอง
องค์กร
องค์กร คือหน่วยของการแยกผู้เช่า ทรัพยากรอื่นทั้งหมด — เอเจนต์ หมายเลขโทรศัพท์ การโทร และคีย์ — อยู่ในองค์กรเดียวเท่านั้น บัญชีของคุณ สามารถอยู่ในหลายองค์กรได้ แต่ละองค์กรมีเครดิต คีย์ และรายชื่อสมาชิกของตนเอง
คีย์ API sk_live_ ที่คุณสร้างใน องค์กร → คีย์ จะ
ผูกกับองค์กรหนึ่ง การผูกนี้ทำให้ REST API มีโครงสร้าง
เรียบง่าย: คุณไม่ต้องใส่รหัสองค์กรในเส้นทาง URL เพราะคีย์ของคุณ
ระบุองค์กรนั้นอยู่แล้ว
ในแดชบอร์ด: ตัวสลับองค์กร (ส่วนท้ายของแถบด้านข้าง) และ การตั้งค่า องค์กร — แท็บสำหรับ ทั่วไป คีย์ การแจ้งเตือน การตั้งค่า การเรียกเก็บเงิน และประวัติการเรียกเก็บเงิน
ใน API: /v1/orgs,
/v1/developer/api-keys
เอเจนต์
เอเจนต์ คือการกำหนดค่า AI ที่ใช้ดำเนินการโทร ซึ่งรวม:
- พรอมป์ต์ ที่กำหนดสิ่งที่เอเจนต์พูดและวิธีที่เอเจนต์ทำงาน — รวมถึงการดำเนินการระหว่างการโทร เช่น การโอนสาย การกดแป้นโทรศัพท์ และการวางสาย ซึ่งเป็นบรรทัดพรอมป์ต์ปกติ ไม่ใช่การกำหนดค่าแยกต่างหาก
- ระดับเอนจิน (
spark,bolt,storm-*): Spark ได้รับการปรับให้เหมาะสม ด้านต้นทุน Bolt ด้านความเร็ว และ Storm ด้านความฉลาดสำหรับพรอมป์ต์ที่ซับซ้อน - เสียง พร้อมภาษาหลัก และภาษาเพิ่มเติม ที่เลือกได้ — เอเจนต์จะสลับโดยอัตโนมัติเมื่อผู้โทรเปลี่ยน ภาษา ดูภาษาที่รองรับ
- ความสามารถที่แนบ: แอปที่เชื่อมต่อ, การเชื่อมต่อ API, ฐานความรู้, เซิร์ฟเวอร์ MCP และ เครื่องมือฟังก์ชัน แบบอินไลน์
- การตั้งค่าพฤติกรรม: ลำดับการพูด โหมดการตอบรับ เสียงพื้นหลัง เวลาหมดอายุการพักสาย
การแก้ไขในตัวสร้างจะบันทึกอัตโนมัติเป็นฉบับร่าง; ไม่มีสิ่งใดเผยแพร่จนกว่า คุณจะคลิก ปรับใช้ การปรับใช้ทุกครั้งจะถูกบันทึกเป็นสแนปช็อตใน แท็บ ประวัติ ของตัวสร้าง เพื่อให้คุณตรวจสอบและกู้คืนเวอร์ชันก่อนหน้าได้
ในแดชบอร์ด: เอเจนต์เสียง → ตัวสร้างเอเจนต์
(/dashboard/agents) ดู
สร้างเอเจนต์เสียงตัวแรกของคุณ
ใน API: /v1/agents — CRUD,
ทำสำเนา โอนสาย ประวัติเวอร์ชัน และตัวช่วยสำหรับพรอมป์ต์
หมายเลขโทรศัพท์
หมายเลขโทรศัพท์ เป็นขององค์กรและกำหนดเส้นทางสายเรียกเข้าไปยัง เอเจนต์ (และใช้สำหรับสายโทรออกได้) มี 2 แหล่ง:
- หมายเลขเดโม — หมายเลขสหรัฐฯ จริงที่จัดเตรียมจากพูลของ ThunderPhone พร้อมใช้งานภายในไม่กี่วินาที ใช้รับสายเข้าเท่านั้น โดยจะรับสายด้วย คำชี้แจงสั้นๆ แบบเสียงพูด และแดชบอร์ดจำกัดองค์กรไว้ที่ 10 หมายเลข เหมาะสำหรับการทดสอบครั้งแรก ไม่เหมาะสำหรับการใช้งานจริง
- หมายเลข VoIP — นำมาจากผู้ให้บริการของคุณเองผ่าน การเชื่อมต่อ VoIP Twilio และ Telnyx เชื่อมต่อได้โดยตรง (Telnyx มีการตั้งค่าแบบแนะนำ) ส่วน SignalWire และ Vonage จะพร้อมใช้งานเร็วๆ นี้ — ปัจจุบันคุณเชื่อมต่อผ่านการกำหนดค่า SIP ด้วยตนเอง ซึ่งรองรับ SIP trunk ทุกประเภท เมื่อนำเข้าและยืนยันแล้ว หมายเลข VoIP รองรับทั้งสายเรียกเข้าและสายโทรออก
แต่ละแถวของหมายเลขช่วยให้คุณตั้งค่าโหมดการกำหนดเส้นทาง เลือกเอเจนต์สำหรับสายเรียกเข้า และติดป้ายกำกับหมายเลขได้
ในแดชบอร์ด: หมายเลขโทรศัพท์ (/dashboard/phone-numbers)
ดู รับหมายเลขโทรศัพท์
ใน API: /v1/phone-numbers,
/v1/voip-connections,
/v1/phone-number-labels
การโทร
ทุกสายเรียกเข้า สายโทรออก การจำลอง และเซสชันวิดเจ็ต จะกลายเป็น บันทึกการโทร การโทรแต่ละรายการมีบทสนทนาถอดความแบบระบุบทบาททั้งหมด ประวัติเทิร์นแบบมีโครงสร้าง (รวมถึงการเรียกใช้เครื่องมือ) ไฟล์บันทึกเสียง ยอดเรียกเก็บเงินรวม และการให้คะแนนโดย AI กับรายงานปัญหาที่เลือกใช้ได้
ขณะที่การโทร กำลังดำเนินอยู่ คุณสามารถเปิดรายการและ รับฟังการสนทนา ได้ — คุณเข้าร่วมแบบเงียบๆ และไม่มีใครในการโทรได้ยินคุณ เมื่อเริ่มรับฟังแล้ว คุณสามารถ กระซิบ ได้: พิมพ์คำสั่งเพื่อส่งตรงไปยังเอเจนต์ของคุณ ระหว่างการโทร ผู้โทรจะไม่เคยได้ยิน และเอเจนต์จะทำตามทันที
ในแดชบอร์ด: ประวัติการโทร (/dashboard/call-history) สำหรับ
คลังข้อมูลและรายละเอียดรายสาย กำลังดำเนินอยู่ สำหรับการโทรที่กำลังดำเนินการอยู่ ดู
ตรวจสอบ รับฟัง และแนะนำการโทรของคุณ
ใน API: /v1/calls — รายการ บทสนทนาถอดความ
ประวัติ เสียง การให้คะแนน การส่งออก
/v1/issue-reports
วิดเจ็ตเว็บ
วิดเจ็ตเว็บ ช่วยให้ผู้เยี่ยมชมเว็บไซต์ของคุณสนทนากับเอเจนต์ผ่านไมโครโฟน
โดยไม่ต้องใช้หมายเลขโทรศัพท์ วิดเจ็ตยืนยันตัวตนด้วย
คีย์ที่เผยแพร่ได้ (pk_live_...) ซึ่งจำกัดต้นทางไว้เฉพาะโดเมนที่คุณอนุญาต
จึงปลอดภัยสำหรับใช้ในโค้ดฝั่งไคลเอนต์
คีย์ทำงานได้ 1 ใน 2 โหมด: agent (ผูกแบบคงที่กับเอเจนต์หนึ่งราย)
หรือ webhook (เซิร์ฟเวอร์ของคุณเลือกการกำหนดค่าสำหรับผู้เยี่ยมชมแต่ละราย — ดู
การกำหนดค่าแบบไดนามิกต่อการโทร) เซสชันวิดเจ็ต
ทำงานผ่านโครงสร้างพื้นฐานการโทรเดียวกับการโทรศัพท์
ในแดชบอร์ด: วิดเจ็ตเว็บ (/dashboard/web-widgets) —
สร้างวิดเจ็ต ตั้งค่าโหมดและเอเจนต์ จัดการโดเมนที่อนุญาต และ
คัดลอกโค้ดสำหรับฝัง ดู
สร้างวิดเจ็ตเว็บ
ใน API: /v1/publishable-key,
/v1/mic-session และ
เอกสาร Widget SDK
ฐานความรู้
ฐานความรู้ คือชุดเอกสารที่เอเจนต์ของคุณค้นหาได้ระหว่างการโทร เพื่อใช้ประกอบคำตอบ — อัปโหลดไฟล์ วางข้อความ หรือนำเข้าหน้าเว็บด้วย URL จากนั้นแนบฐานความรู้เข้ากับเอเจนต์ในเครื่องมือสร้าง เอเจนต์จะค้นหาผ่าน เครื่องมือค้นหาในตัวเมื่อบทสนทนาต้องการ
ในแดชบอร์ด: ความรู้ (/dashboard/knowledge) สำหรับ
ไลบรารีเอกสาร ส่วน ความรู้ ในเครื่องมือสร้างสำหรับแนบเข้ากับเอเจนต์ ดู
มอบฐานความรู้ให้เอเจนต์ของคุณ
การเชื่อมต่อ
การเชื่อมต่อคือวิธีที่เอเจนต์เข้าถึงโลกภายนอก มี 4 ประเภทในกลุ่มเดียว บนแถบด้านข้าง:
- แอป (
/dashboard/app-connections) — การเชื่อมต่อ OAuth กับ Slack, HubSpot, Salesforce, Google Calendar, Google Sheets และ Cal.com เชื่อมต่อครั้งเดียว แล้วเปิดหรือปิดเครื่องมือสำหรับแต่ละการดำเนินการ (ส่งข้อความ Slack อัปเดตหรือสร้างรายชื่อติดต่อ HubSpot จองช่วงเวลาใน Cal.com…) ให้กับเอเจนต์ใดก็ได้ ดู เชื่อมต่อแอป - API (
/dashboard/api-connections) — เปลี่ยน HTTP API ใดก็ได้ให้เป็น การดำเนินการของเอเจนต์ วางคำสั่ง cURL แล้วตัวช่วย AI จะร่างคำจำกัดความของเครื่องมือ หรือสร้างด้วยตนเอง ปุ่ม ทดสอบคำขอ จะส่งคำขอในแซนด์บ็อกซ์ก่อนเผยแพร่ ดู การเชื่อมต่อ API — ส่วนในแดชบอร์ดของ/v1/integrations - MCP (
/dashboard/mcp-connections) — เพิ่มเซิร์ฟเวอร์ Model Context Protocol ด้วย URL แล้วให้เอเจนต์ใช้เครื่องมือที่เซิร์ฟเวอร์นั้นเปิดเผย ดู เพิ่มเซิร์ฟเวอร์ MCP - VoIP (
/dashboard/voip-connections) — ข้อมูลรับรองผู้ให้บริการสำหรับ การนำหมายเลขโทรศัพท์ของคุณมาใช้เอง ดู เชื่อมต่อผู้ให้บริการ VoIP
ใน API: /v1/integrations และ
/v1/voip-connections ดูเพิ่มเติมที่
สร้างการผสานรวมเครื่องมือ
แคมเปญ
แคมเปญ ใช้โทรออกในวงกว้าง: อัปโหลด CSV ของรายชื่อติดต่อ เลือกเอเจนต์และหมายเลขต้นทาง แล้วกำหนดช่วงเวลาโทร (วันและชั่วโมง โดยคำนึงถึงเขตเวลา) จำนวนสายพร้อมกัน และนโยบายการโทรซ้ำ (จำนวนครั้งสูงสุดและผลลัพธ์ที่ต้องโทรซ้ำ — ไม่รับสาย ฝากข้อความเสียง ล้มเหลว) แคมเปญจะดำเนินการตามรายชื่อและบันทึกทุกสายไว้ในประวัติการโทร
ในแดชบอร์ด: แคมเปญ (/dashboard/campaigns) ดู
เรียกใช้แคมเปญโทรออก
สำหรับการโทรแบบเป็นโปรแกรมครั้งเดียว: ใช้ API การโทรออก
การติดตามแบบสด
การโทรสด แสดงทุกสายที่กำลังดำเนินอยู่ทั่วทั้งองค์กร และให้คุณ เปิดสายใดก็ได้เพื่อฟังและกระซิบแบบเรียลไทม์ นี่คือพื้นที่สำหรับการกำกับดูแล: ดูพรอมต์ใหม่รับทราฟฟิกจริงครั้งแรก หรือติดตามแคมเปญที่กำลังทำงาน
ในแดชบอร์ด: การโทรสด (/dashboard/live) ดู
ดูและกำกับดูแลการโทรสด
การจำลอง
การจำลอง คือผู้โทร AI ที่สนทนาจริงกับเอเจนต์ของคุณ — เส้นทางโทรศัพท์เดียวกัน ทรานสคริปต์จริง การประเมินจริง — เพื่อให้คุณ ทดสอบได้ก่อน (และหลัง) เผยแพร่ กำหนดให้ทดสอบกับเอเจนต์หรือหมายเลขโทรศัพท์ เขียนสถานการณ์ของผู้โทรด้วยตนเอง หรือ สร้างสถานการณ์ด้วย AI จากพรอมต์ของเอเจนต์ (รวมกรณีขอบเขต หากคุณร้องขอ) แล้วดูการโทรแบบสด
สถานการณ์จะจัดกลุ่มเป็น ชุดทดสอบ ซึ่งกำหนดอัตราการผ่านขั้นต่ำและสามารถ ใช้เป็นเงื่อนไขก่อนเผยแพร่ใน CI ได้ การถดถอยเมื่อเทียบกับเกณฑ์อ้างอิงที่ยอมรับ จะแสดงรายงานแยกตามสถานการณ์
ในแดชบอร์ด: การจำลอง (/dashboard/simulations) รวมถึง
ปุ่ม การจำลอง ภายในตัวสร้างเอเจนต์ ดู
จำลองการโทร
ใน API: /v1/test-calls และตัวเรียกใช้
ชุดทดสอบ — ดู ทดสอบเอเจนต์แบบครบวงจร
การทดลอง
การทดลอง ใช้ทดสอบ A/B การกำหนดค่าเอเจนต์กับทราฟฟิกจริง: กำหนดตัวแปร (พรอมต์ เอนจิน หรือการตั้งค่าที่แตกต่างกัน) แบ่ง ทราฟฟิกระหว่างตัวแปรเหล่านั้น และเปรียบเทียบผลลัพธ์ของแต่ละตัวแปร ใช้แทน การสร้างตรรกะแบ่งกลุ่มเองใน webhook
ในแดชบอร์ด: การทดลอง (/dashboard/experiments) และแท็บ
A/B ในตัวสร้างเอเจนต์ ดู
การทดลอง (การทดสอบ A/B)
ปัญหา
ปัญหา คือปัญหาที่ถูกทำเครื่องหมายไว้ในสายใดสายหนึ่ง — รายงานโดย ผู้ตรวจสอบที่เป็นมนุษย์ หรือตรวจพบโดยการประเมินด้วย AI ปัญหามีระดับความรุนแรง แหล่งที่มา และสถานะ และหน้าปัญหาคือคิวสำหรับคัดแยก: กรอง ตรวจสอบสายที่มีปัญหา และติดตามการแก้ไข
ในแดชบอร์ด: ปัญหา (/dashboard/issues) รวมถึงการทำเครื่องหมาย
ในแต่ละสายจากประวัติการโทร ดู การคัดแยกปัญหา
ใน API: /v1/issue-reports
รายงาน
รายงาน ตอบคำถามภาษาธรรมชาติเกี่ยวกับข้อมูลการโทรของคุณ ("สามเหตุผลหลักที่ผู้โทรขอคุยกับมนุษย์ในสัปดาห์ที่แล้วคืออะไร") ด้วยการวิเคราะห์ที่เขียนโดย AI โดยกำหนดขอบเขตตามเอเจนต์และช่วงวันที่ที่คุณเลือก
ในแดชบอร์ด: รายงาน (/dashboard/reports) ดู
รายงาน
การสังเกตการณ์
การสังเกตการณ์ คือพื้นที่สำหรับเมตริก: ปริมาณการโทร ผลลัพธ์ และ คุณภาพตามช่วงเวลา ซึ่งกรองตามเอเจนต์และช่วงเวลาได้ พร้อมการส่งออก สำหรับการวิเคราะห์ขั้นปลาย
ในแดชบอร์ด: การสังเกตการณ์ (/dashboard/observability)
ดู การสังเกตการณ์
การแจ้งเตือน
กฎการแจ้งเตือน เฝ้าดูเมตริกหนึ่งรายการ (อัตราความสำเร็จ อัตราความล้มเหลว
คะแนนเฉลี่ย ปริมาณการโทร การถดถอยของชุดทดสอบ) ในช่วงเวลา และ
ทริกเกอร์เมื่อข้ามเกณฑ์ที่คุณกำหนด การแจ้งเตือนจะส่งไปยังอีเมลและ
Slack และทริกเกอร์เหตุการณ์ alert.triggered ไปยัง
ปลายทาง webhook ของคุณ
ในแดชบอร์ด: องค์กร → การแจ้งเตือน ดู การแจ้งเตือน
Webhook
ThunderPhone ส่ง HTTP POST webhook ไปยังเซิร์ฟเวอร์ของคุณเมื่อมีเหตุการณ์ เกิดขึ้นระหว่างและหลังการโทร มีโมเดลการส่งข้อมูลสองแบบ:
- ปลายทาง webhook (แนะนำ): จัดการ URL หลายรายการที่
/v1/developer/webhook-endpointsพร้อม ความลับสำหรับแต่ละปลายทาง และการสมัครรับเหตุการณ์สำหรับแต่ละปลายทาง - webhook URL เดียวแบบเดิม: หนึ่ง URL ต่อองค์กร จัดการที่
/v1/webhookหรือภายใต้ องค์กร → ทั่วไป คงไว้เพื่อความเข้ากันได้แบบย้อนหลัง
เหตุการณ์แบ่งเป็นสองประเภท:
- เหตุการณ์แบบบล็อก คาดหวังให้เซิร์ฟเวอร์ของคุณตอบกลับด้วยการกำหนดค่า
ที่กำหนดรูปแบบของสายที่กำลังดำเนินอยู่ — ได้แก่
เหตุการณ์สายเรียกเข้า
(
telephony.incoming/web.incoming) คุณมีเวลาสูงสุด 10 วินาที ในการตอบกลับ หากหมดเวลา เอเจนต์ที่กำหนดไว้แบบคงที่จะรับสาย - เหตุการณ์แบบไม่บล็อก คือการแจ้งเตือนแบบส่งแล้วจบ ซึ่งจะลองส่งซ้ำ ด้วย exponential backoff — ดู ความหมายของการส่งข้อมูล
ทุกคำขอมีลายเซ็น HMAC-SHA256 ใน
X-ThunderPhone-Signature ดู
การตรวจสอบลายเซ็น
เครื่องมือฟังก์ชัน
เครื่องมือฟังก์ชัน คือปลายทาง HTTP ที่เอเจนต์ของคุณสามารถเรียกใช้ได้ ระหว่างการสนทนา คุณให้สคีมาฟังก์ชันรูปแบบ OpenAI พร้อม URL ของปลายทางแก่ ThunderPhone จากนั้นเอเจนต์จะตัดสินใจว่าจะเรียกใช้เมื่อใด และ ThunderPhone จะส่งคำขอ HTTP ที่ลงลายเซ็นจากเซิร์ฟเวอร์ของตน แล้วส่งผลลัพธ์ กลับไปยังเอเจนต์
เอเจนต์ยังมาพร้อม ความสามารถในการโทรในตัว — การโอนสาย การส่งข้อมูลปุ่มกด (DTMF) การวางสาย การรอสาย — ซึ่งคุณเปิดใช้งานได้ด้วย บรรทัด prompt แบบธรรมดาแทนคำจำกัดความของเครื่องมือ
ในแดชบอร์ด: ส่วน การเชื่อมต่อ API ของตัวสร้าง (ดู การเชื่อมต่อ)
ใน API: /v1/integrations และ
สเปกเครื่องมือฟังก์ชัน
ทีมและบทบาท
แต่ละองค์กรมีรายชื่อสมาชิกพร้อมสองบทบาท: สมาชิก สร้าง และดำเนินการเอเจนต์ ส่วน ผู้ดูแลระบบ ยังจัดการทีมและการเรียกเก็บเงินด้วย เชิญทางอีเมล — คำเชิญจะหมดอายุหลัง 7 วันและเพิกถอนได้ เมนู ⋯ ในแถวสมาชิกใช้เปลี่ยนบทบาทหรือลบสมาชิกได้ การลงชื่อเข้าใช้ครั้งเดียว สามารถกำหนดค่าได้ทั้งองค์กร — ดู SSO
ในแดชบอร์ด: องค์กร → ทั่วไป ดู เชิญทีมของคุณ
ใน API: /v1/members,
/v1/invites
การเรียกเก็บเงิน
ThunderPhone เป็นแบบ ชำระเงินล่วงหน้า แต่ละองค์กรมีเครดิตคงเหลือเป็น USD การโทรจะหักเครดิตตามอัตราต่อนาทีของเอเจนต์ (ระดับเอนจินบวกค่าบริการเพิ่มเติม —
ตัวสร้างจะแสดงอัตรารวมแบบเรียลไทม์เมื่อคุณเปลี่ยนการตั้งค่า และ
ภาษาเพิ่มเติมที่เลือก มีค่าใช้จ่ายเพิ่ม 3¢/นาที) เมื่อ
เครดิตคงเหลือเป็นศูนย์ ระบบจะปฏิเสธสายเรียกเข้า และสายโทรออกจะ
ส่งกลับ 402 Payment Required
เติมเครดิตด้วยตนเอง หรือเปิดใช้ เติมเครดิตอัตโนมัติ ด้วยเกณฑ์เครดิตคงเหลือ จำนวนเงินที่เติม และวงเงินใช้จ่ายรายเดือนแบบเลือกได้ เพื่อให้สายไม่ขาดกลางประโยค
ในแดชบอร์ด: องค์กร → การตั้งค่าการเรียกเก็บเงิน และ ประวัติการเรียกเก็บเงิน ดู เพิ่มเครดิตและเปิดใช้การเติมเครดิตอัตโนมัติ
ใน API: /v1/billing
โคไพลอตในแอป
แดชบอร์ดมี โคไพลอต ในตัว — ถามว่า "ฉันจะ X ได้อย่างไร" แล้วโคไพลอตจะตอบจากเอกสารเหล่านี้ แนะนำขั้นตอนแบบคลิกต่อคลิก ที่เน้นตัวควบคุมจริง และสามารถเล่นทัวร์แบบมีคำแนะนำซ้ำได้ นี่คือวิธีที่เร็วที่สุดในการค้นหาตัวควบคุมที่หน้านี้กล่าวถึง ดู ถามโคไพลอตในแอป
เริ่มใช้งานร่วมกัน
วิซาร์ดห้าขั้นตอน: เอเจนต์ → การเรียกเก็บเงิน → หมายเลข → การจำลอง → การตรวจสอบ
สายแรกแบบเดียวกันด้วย REST สี่คำขอ
สร้างเอเจนต์ เติมเครดิต รับหมายเลข จำลอง และตรวจสอบสาย
แอป OAuth, API แบบกำหนดเอง, เซิร์ฟเวอร์ MCP และผู้ให้บริการ VoIP
รายงาน การสังเกตการณ์ การทดสอบ ปัญหา และการแจ้งเตือน
คำเชิญและบทบาท คีย์ API ความปลอดภัย และ SSO
สูตร API: สายเรียกเข้า สายโทรออก การกำหนดค่าแบบไดนามิก เครื่องมือ การทดสอบ
ตั้งค่าการตรวจสอบ HMAC ให้ถูกต้องเพียงครั้งเดียวและนำกลับมาใช้ได้ทุกที่