Desarrolle de forma segura con el modo de prueba
Las claves API en modo de prueba (ody_test_…) se comportan exactamente como las claves en vivo, excepto que cualquier cosa que gastaría dinero o llegaría al mundo exterior es simulada — envíos de mensajes, compras de números, llamadas salientes de IA, publicación de agentes y registros 10DLC (que se ejecutan en modo de simulación) — lo que las hace perfectas para el desarrollo y la integración continua (CI).
Antes de empezar
- Debe ser administrador o propietario del espacio de trabajo para crear claves.
- Sepa qué aísla y qué no el modo de prueba: una clave de prueba funciona con los datos reales de su espacio de trabajo. La creación, actualización y eliminación de contactos son reales, los cambios de estado de conversación son reales y los guardados de borrador de agente (
PATCH /v1/api/agent) son reales. Lo que se simula es el gasto: envíos, compras de números, llamadas salientes de IA, publicación de agentes y registros 10DLC.
Paso a paso
Haga clic en Configuración en la barra lateral, luego en API para desarrolladores.
Rellene el formulario de creación como de costumbre — nombre y alcances (consulte Obtenga su clave API de Ody).
En Tipo de clave, seleccione Prueba. La sugerencia lo confirma: las claves de prueba leen datos reales pero nunca envían mensajes de texto reales — los envíos se registran como simulados.
Haga clic en Crear clave y copie el secreto
ody_test_…del banner único.Úsela exactamente como una clave en vivo — misma URL base, puntos finales, alcances y límites de tasa:
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"}'
La respuesta es un 201 normal con "simulated": true, y el mensaje aparece en el hilo con deliveryStatus: "simulated".
Qué es idéntico, qué es simulado
| Comportamiento | Con una clave ody_test_… |
|---|---|
| Lectura de contactos, conversaciones, llamadas, números | Datos reales, idénticos a los en vivo |
| Creación/actualización/eliminación de contactos | Real — cambia su espacio de trabajo |
| Establecimiento del estado de la conversación | Real |
POST /v1/api/messages / MCP send_message |
Simulado — registrado, nunca transmitido |
POST /v1/api/numbers / MCP buy_number |
Simulado — "simulated": true, nada pedido, aprovisionado o cobrado |
POST /v1/api/calls / MCP place_call |
Simulado — un ID de llamada sim_…, nada marcado, no se usan créditos |
POST /v1/api/agent/publish |
Simulado — su configuración permanece como borrador, nada se publica |
PATCH /v1/api/agent (guardados de borrador) |
Real — igual que en vivo |
POST /v1/api/messaging/registration |
Modo de simulación — el proceso completo de 10DLC se ejecuta, pero no se envía nada al registro y no hay tarifa |
| Alcances, límites de tasa, errores, paginación, idempotencia | Idénticos a los en vivo |
| Gestión de puntos finales de webhook | Puntos finales reales, igual que en vivo |
En la lista de claves, las claves de prueba muestran una insignia de Prueba y una sugerencia ody_test_…WXYZ para que no las confunda con las claves en vivo.
Uso del modo de prueba en CI
- Cree una clave de prueba dedicada por pipeline (por ejemplo, "GitHub Actions") para que pueda revocarla de forma independiente y la columna "último uso" siga siendo significativa.
- Almacénela como un secreto de CI (por ejemplo,
ODY_API_KEY) — su código no cambia entre entornos, solo la clave. - Afirme
simulated: trueen las respuestas de envío para detectar una clave en vivo configurada accidentalmente en CI. - Recuerde que las escrituras de contactos son reales: apunte CI a un espacio de trabajo dedicado, o limpie los contactos que crean sus pruebas.
Artículos relacionados
Preguntas frecuentes
¿Las claves de prueba utilizan un espacio de trabajo sandbox separado?
No — una clave de prueba lee y escribe los datos reales de su espacio de trabajo. Los envíos de mensajes, las compras de números, las llamadas salientes de IA, la publicación de agentes y los registros 10DLC son simulados; todo lo demás se comporta exactamente como una clave en vivo.
¿Cómo distingo un mensaje simulado?
La respuesta de envío incluye "simulated": true, y el mensaje registrado lleva deliveryStatus "simulated" en lugar de queued/sent/delivered.
¿Las claves de prueba funcionan con MCP?
Sí. Conecte un asistente de IA con una clave ody_test_ y cada herramienta funcionará normalmente, pero send_message registrará un mensaje simulado en lugar de enviar un mensaje de texto a alguien.