# Modo de prueba

Una clave de **Prueba** (`dt_test_...`) responde como una de producción, con datos de ejemplo. Nada se guarda, ningún mensaje sale y nada se cobra.

- Cada llamada se verifica con las mismas reglas que en producción: un campo incorrecto da el mismo `422 validation_failed`.
- La respuesta tiene el formato real, con `"test": true` y el encabezado `DoneTalk-Test: true`.
- `GET /me` responde de verdad, para verificar la clave.
- Los alcances, el límite de llamadas y `Idempotency-Key` funcionan como en producción.

## Simular un error

Envíe el encabezado `DoneTalk-Simulate` con el código del error para recibir exactamente la respuesta que daría producción:

```bash
curl -X POST https://api.donetalk.com/v1/c/demo/campaigns \
  -H "Authorization: Bearer $DONETALK_KEY" \
  -H "DoneTalk-Simulate: template_not_approved" \
  -H "Content-Type: application/json" \
  -d '{"name": "Prueba"}'
```

Códigos aceptados: `unauthorized`, `api_key_invalid`, `api_key_expired`, `api_key_address_not_allowed`, `insufficient_scope`, `not_available_to_api_keys`, `not_available_to_test_keys`, `permission_denied`, `integration_template_only`, `not_found`, `campaign_not_found`, `contact_not_found`, `validation_failed`, `campaign_not_editable`, `template_not_approved`, `campaign_audience_empty`, `contact_exists`, `window_closed`, `idempotency_key_reused`, `idempotency_in_progress`, `rate_limited`, `internal_error`.

## Teléfonos mágicos

En cualquier campo de teléfono, estos números provocan un comportamiento conocido:

| Teléfono | Qué pasa |
|---|---|
| `+550000000400` | `validation_failed` (422) |
| `+550000000404` | `contact_not_found` (404) |
| `+550000000409` | `contact_exists` (409) |
| `+550000000429` | `rate_limited` (429) |
| `+550000000500` | `internal_error` (500) |
| `+550000000131` | message.failed / campaign.recipient.failed: `131026` |
| `+550000000470` | message.failed / campaign.recipient.failed: `131047` |

## Avisos de prueba

Un envío con una clave de prueba (un mensaje, una campaña) manda a los avisos de la empresa la secuencia que mandaría producción, con segundos de diferencia: enviado, entregado, leído y, en una campaña, respondido y concluido. Con un teléfono mágico de falla, llega la falla. El sobre trae `"test": true`.

## Empresa de demostración

Para probar sin cuenta, use la empresa `demo` con la clave pública:

```bash
export DONETALK_KEY=dt_test_demo_zRZ6twAhj4u9dZT0hEBrNFzr
curl https://api.donetalk.com/v1/c/demo/me -H "Authorization: Bearer $DONETALK_KEY"
```

Solo simula: no se puede hacer nada real con ella.
