OdyOdy Trợ giúp

Xây dựng an toàn với chế độ thử nghiệm

Cập nhật Mon Aug 17 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

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

  1. Nhấp vào Cài đặt trong thanh bên, sau đó API nhà phát triển.

  2. Đ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).

  3. 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.

  4. 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.

  5. 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: true trong 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.

Xem thêm trong API dành cho nhà phát triển