Idempotencia
Cómo la cabecera `Idempotency-Key` evita el doble cobro al reintentar en redes inestables.
Por qué importa
Las redes fallan a mitad de petición. Si haces POST /v1/activations y la conexión cae antes de ver la respuesta, no sabes si la activación se creó. Reintentar ingenuamente podría cobrarte dos veces.
La cabecera Idempotency-Key lo soluciona: envía la misma clave en el reintento, obtén el mismo resultado.
Cómo usar
Genera un UUID por operación lógica, envíalo en cada reintento de la misma operación:
KEY=$(uuidgen)
curl -X POST https://api.eveses.com/v1/activations \
-H "Authorization: Bearer $EVESES_API_KEY" \
-H "Idempotency-Key: $KEY" \
-d '{"country":"ua", "service":"telegram"}'
Repetir la misma llamada con el mismo Idempotency-Key devuelve la respuesta original — sin segunda activación, sin segundo cargo.
TTL
Las claves se recuerdan durante 24 horas. Después se libera el slot y la misma clave puede reutilizarse como nueva.
Dónde aplica
Todos los endpoints POST /v1/* que crean o cobran: activaciones, alquileres, depósitos, extensiones. Los endpoints de lectura (GET) son ya idempotentes e ignoran la cabecera.
Conflictos
Si reutilizas la misma clave con un body diferente, la API devuelve 409 idempotency_conflict. Mantén el body idéntico en reintentos o genera una nueva clave.
Comportamiento del SDK
Los SDKs oficiales auto-generan claves de idempotencia para cada llamada de creación y las reutilizan en reintentos automáticos. Puedes anular con una clave explícita si lo necesitas.