Dashboard đáp ứng hầu hết nhu cầu về công cụ mà không cần API này: Kết nối
→ Ứng dụng kết nối Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets và Cal.com chỉ với vài lần nhấp OAuth; Kết nối →
API biến bất kỳ HTTP API nào thành hành động của tác nhân AI (dán lệnh cURL
và trình hướng dẫn AI sẽ soạn công cụ, kèm tính năng Kiểm tra yêu cầu tích hợp sẵn); và
Kết nối → MCP thêm máy chủ MCP. Xem
Kết nối. Hướng dẫn này trình bày API
nền tảng bên dưới giao diện API.
Cấu trúc của một công cụ
Gồm hai phần:- Schema — định nghĩa hàm theo kiểu OpenAI
(
{type: "function", function: {name, description, parameters}}) cho LLM biết công cụ làm gì và nhận những đối số nào. - Điểm cuối — URL mà máy chủ ThunderPhone gọi khi LLM quyết định sử dụng công cụ. Yêu cầu là JSON POST với các đối số do LLM chọn trong phần thân.
1. Chọn chiến lược lưu trữ
Nội tuyến trên tác nhân AI
Đính kèm một công cụ dùng một lần vào mảng
tools của tác nhân AI. Đơn giản, nhưng
không thể tái sử dụng.Tích hợp đã lưu
Lưu công cụ dưới dạng tích hợp có thể tái sử dụng
và liên kết công cụ đó từ nhiều tác nhân AI. Khuyến nghị cho mọi thứ được dùng
nhiều hơn một lần.
2. Tạo tích hợp
id được trả về (một UUID).
3. Kiểm tra điểm cuối trong sandbox
Trước khi liên kết tích hợp với một tác nhân AI, hãy gửi một yêu cầu đã ký từ máy chủ ThunderPhone để xác nhận kết nối:Response
400 code=url_not_allowed.
4. Liên kết integration với tác nhân AI
Gắn quaintegration_ids khi bạn tạo hoặc cập nhật một tác nhân AI:
get_weather khi người gọi hỏi
về điều kiện thời tiết” — hoặc có thể ngầm nhận diện chúng từ
mô tả schema.
5. Triển khai endpoint
Khi tác nhân AI gọi công cụ, ThunderPhone gửi một POST có chữ ký đếnendpoint_url của bạn:
6. Kiểm thử quy trình
Chạy một phiên micro với tác nhân AI và đặt câu hỏi mà công cụ của bạn xử lý (“Thời tiết ở 94110 thế nào?”). Bản chép lời của cuộc gọi hiển thị toàn bộ quy trình:GET /v1/calls/{call_id}/transcript;
luồng sự kiện thô (có thời gian của từng mục và độ lệch âm thanh) nằm tại
GET /v1/calls/{call_id}/history.
Các lỗi thường gặp
Tác nhân AI không bao giờ gọi công cụ
Tác nhân AI không bao giờ gọi công cụ
LLM quyết định dựa trên mô tả của công cụ. Nếu câu hỏi của người gọi
không khớp với mô tả, mô hình sẽ không gọi
công cụ. Hãy làm rõ mô tả hơn (thêm các từ đồng nghĩa và cách diễn đạt
phổ biến) hoặc đề cập rõ trong prompt của tác nhân AI (“Khi
người gọi hỏi về thời tiết, hãy dùng
get_weather.”).Công cụ trả về quá nhiều dữ liệu
Công cụ trả về quá nhiều dữ liệu
Phản hồi vượt quá 6 kB sẽ bị cắt bớt trong bản xem trước của bản chép lời. Chỉ trả về
các trường mà LLM cần — không phải toàn bộ hàng dữ liệu của bạn.
Hết thời gian chờ
Hết thời gian chờ
Endpoint công cụ có thời gian chờ mặc định là 10 giây. Nếu cần lâu hơn,
hãy xử lý bất đồng bộ: trả về
{"status": "pending", "request_id": "..."}
và đưa kết quả qua một lần gọi công cụ riêng.Lập phiên bản
Lập phiên bản
Mỗi lần
PATCH integration đều tạo một bản sửa đổi mới. Kiểm tra
GET /v1/integrations/{id}/versions
để xem ai đã thay đổi gì. Nếu bạn làm hỏng schema của một công cụ, bạn có thể
khôi phục thủ công bằng cách PATCH lại một snapshot cũ hơn.Bước tiếp theo
Tài liệu tham khảo về tích hợp
CRUD, chuyển, lịch sử phiên bản.
Đặc tả Function Tools
Ngữ pháp JSON schema đầy đủ và hợp đồng endpoint đã ký.
Xác minh chữ ký
Áp dụng mẫu chữ ký webhook cho các endpoint công cụ.
API bản chép lời + lịch sử
Kiểm tra toàn bộ quy trình khứ hồi của một lệnh gọi công cụ.