Xây dựng an toàn với chế độ thử nghiệm
Các khóa API chế độ thử nghiệm (ody_test_…) hoạt động chính xác như các khóa trực tiếp ngoại trừ việc bất kỳ thứ gì có thể tốn tiền hoặc tiếp cận thế giới bên ngoài đều được mô phỏng — gửi tin nhắn, mua số điện thoại, cuộc gọi AI đi, xuất bản tác nhân và đăng ký 10DLC (chạy ở chế độ giả lập) — điều này làm cho chúng hoàn hảo cho việc phát triển và CI.
Trước khi bạn bắt đầu
- Bạn phải là quản trị viên hoặc chủ sở hữu không gian làm việc để tạo khóa.
- Biết chế độ thử nghiệm làm gì và không cô lập gì: khóa thử nghiệm hoạt động dựa trên dữ liệu không gian làm việc thực của bạn. Việc tạo, cập nhật và xóa liên hệ là thật, thay đổi trạng thái cuộc trò chuyện là thật, và lưu bản nháp tác nhân (
PATCH /v1/api/agent) là thật. Những gì được mô phỏng là chi tiêu: gửi tin nhắn, mua số điện thoại, cuộc gọi AI đi, xuất bản tác nhân và hồ sơ 10DLC.
Từng bước một
Nhấp vào Cài đặt trong thanh bên, sau đó API nhà phát triển.
Điền vào biểu mẫu tạo như bình thường — tên và phạm vi (xem Lấy khóa API Ody của bạn).
Dưới Loại khóa, chọn Thử nghiệm. Gợi ý xác nhận điều đó: khóa thử nghiệm đọc dữ liệu thực nhưng không bao giờ gửi tin nhắn thực — các tin nhắn gửi đi được ghi lại dưới dạng mô phỏng.
Nhấp vào Tạo khóa và sao chép bí mật
ody_test_…từ biểu ngữ hiển thị một lần.Sử dụng nó chính xác như một khóa trực tiếp — cùng URL cơ sở, điểm cuối, phạm vi và giới hạn tốc độ:
curl https://api.ody.co/v1/api/messages \
-H "Authorization: Bearer ody_test_…" \
-H "Content-Type: application/json" \
-d '{"to":"+15125550123","body":"CI smoke test"}'
Phản hồi là một 201 bình thường với "simulated": true, và tin nhắn xuất hiện trong luồng với deliveryStatus: "simulated".
Cái gì giống hệt, cái gì được mô phỏng
| Hành vi | Với khóa ody_test_… |
|---|---|
| Đọc liên hệ, cuộc trò chuyện, cuộc gọi, số điện thoại | Dữ liệu thực, giống hệt như trực tiếp |
| Tạo/cập nhật/xóa liên hệ | Thật — thay đổi không gian làm việc của bạn |
| Đặt trạng thái cuộc trò chuyện | Thật |
POST /v1/api/messages / MCP send_message |
Mô phỏng — đã ghi lại, không bao giờ được truyền đi |
POST /v1/api/numbers / MCP buy_number |
Mô phỏng — "simulated": true, không có gì được đặt hàng, cấp phép hoặc tính phí |
POST /v1/api/calls / MCP place_call |
Mô phỏng — một ID cuộc gọi sim_…, không có gì được quay số, không sử dụng tín dụng |
POST /v1/api/agent/publish |
Mô phỏng — cấu hình của bạn vẫn là bản nháp, không có gì được đưa vào hoạt động |
PATCH /v1/api/agent (lưu bản nháp) |
Thật — giống như trực tiếp |
POST /v1/api/messaging/registration |
Chế độ giả lập — toàn bộ quy trình 10DLC chạy, nhưng không có gì được gửi đến sổ đăng ký và không có phí |
| Phạm vi, giới hạn tốc độ, lỗi, phân trang, tính bất biến | Giống hệt như trực tiếp |
| Quản lý điểm cuối webhook | Điểm cuối thực, giống như trực tiếp |
Trong danh sách khóa, các khóa thử nghiệm hiển thị huy hiệu Thử nghiệm và gợi ý ody_test_…WXYZ để bạn không thể nhầm lẫn chúng với các khóa trực tiếp.
Sử dụng chế độ thử nghiệm trong CI
- Tạo một khóa thử nghiệm chuyên dụng cho mỗi pipeline (ví dụ: "GitHub Actions") để bạn có thể thu hồi nó một cách độc lập và cột "lần sử dụng cuối cùng" vẫn có ý nghĩa.
- Lưu trữ nó dưới dạng bí mật CI (ví dụ:
ODY_API_KEY) — mã của bạn không thay đổi giữa các môi trường, chỉ có khóa là thay đổi. - Khẳng định
simulated: truetrong các phản hồi gửi để phát hiện khóa trực tiếp vô tình được cấu hình trong CI. - Hãy nhớ rằng việc ghi liên hệ là thật: hãy hướng CI đến một không gian làm việc chuyên dụng, hoặc dọn dẹp các liên hệ mà thử nghiệm của bạn tạo ra.
Bài viết liên quan
Các câu hỏi thường gặp
Khóa thử nghiệm có sử dụng không gian làm việc sandbox riêng không?
Không — khóa thử nghiệm đọc và ghi dữ liệu không gian làm việc thực của bạn. Các hoạt động gửi tin nhắn, mua số điện thoại, cuộc gọi AI đi, xuất bản tác nhân và hồ sơ 10DLC được mô phỏng; mọi thứ khác hoạt động chính xác như một khóa trực tiếp.
Làm thế nào để tôi phân biệt một tin nhắn mô phỏng?
Phản hồi gửi bao gồm "simulated": true, và tin nhắn đã ghi có deliveryStatus "simulated" thay vì queued/sent/delivered.
Khóa thử nghiệm có hoạt động với MCP không?
Có. Kết nối trợ lý AI với khóa `ody_test_` và mọi công cụ hoạt động bình thường, nhưng `send_message` ghi lại một tin nhắn mô phỏng thay vì gửi tin nhắn cho bất kỳ ai.