Qué es
Un auditor de claves de idempotencia. Repite las peticiones de tu log según las reglas que sigue una API correcta y anota cada una como primera escritura, repetición segura o problema.
Auditoría de idempotencia para APIs de pagos y pedidos
Idempotency Ledger lee tus logs de peticiones, anota cada escritura bajo su clave de idempotencia y muestra dónde un reintento creó un segundo cobro, un segundo pedido o un segundo pago. Cada problema viene con el importe en riesgo y el arreglo.
Cobros por claveNo. 0417
| Hora | Clave | Importe |
|---|---|---|
| 10:00:00 | ik_7f3a | 49.99 |
| 10:00:03 | ik_7f3a | 49.99 |
| 10:05:00 | ik_c044 | 89.00 |
| 10:05:00 | ik_c044 | 89.00 |
| 10:12:00 | ik_f611 | 9.99 |
Cobrado de más+89.00 EUR
Un auditor de claves de idempotencia. Repite las peticiones de tu log según las reglas que sigue una API correcta y anota cada una como primera escritura, repetición segura o problema.
Ingenieros de backend y de pagos, SRE y responsables de soporte que necesitan saber si a un cliente de verdad se le cobró dos veces y por qué.
Los reintentos son normales, pero un reintento que vuelve a hacer el trabajo causa problemas de dinero reales. Los logs los esconden entre miles de líneas. El libro los sube arriba con los totales.
Pega o abre una exportación de log. No se sube nada: el análisis y las comprobaciones se hacen en esta página.
Una petición por línea, un array JSON o un CSV con fila de cabecera.
Los campos se detectan por nombre: time o ts, method, path o url, status, la clave de idempotencia, el id del objeto creado como charge_id u order_id, amount, currency y customer. También funcionan el JSON anidado y las cabeceras Idempotency-Key.
Pega un log y pulsa Auditar log, o carga el ejemplo para ver todos los tipos de hallazgo.
Cada clave repetida se revisa en orden de tiempo y se compara con lo que debería haber hecho un servidor correcto.
Misma clave, misma petición y dos ids creados distintos. El servidor hizo el trabajo dos veces. Es el caso más caro.
Dos copias llegaron con menos de dos segundos de diferencia y ambas tuvieron éxito. Pasa mucho con dobles clics y reintentos agresivos.
Una clave antigua llegó con parámetros nuevos. Un servidor correcto la rechaza con 422. Aceptarla oculta errores del cliente.
Un 5xx que aun así creó un objeto, seguido de un reintento que creó otro. Solo se ve si los logs incluyen ids.
Las escrituras sin clave no se pueden deduplicar. Dos iguales muy seguidas se anotan como duplicado.
Una clave que vuelve después de la ventana se trata como trabajo nuevo. Elige la ventana que usa tu servidor.
Saca las peticiones a un endpoint o servicio durante un periodo desde los logs del gateway, del balanceador o de la aplicación.
Funcionan líneas JSON, un array JSON, CSV con cabeceras o líneas normales con pares key=value.
Indica cuánto tiempo guarda tu servidor las claves. Las APIs al estilo de Stripe usan 24 horas.
Los problemas salen primero con el importe en riesgo. Abre una clave para ver cada línea y el arreglo, y luego copia el informe o descarga el CSV.
Un valor único que el cliente envía con una escritura. Si la misma petición vuelve con la misma clave, el servidor devuelve el primer resultado en lugar de hacer el trabajo otra vez.
Significa que llegó una segunda copia mientras la primera seguía en marcha y el servidor se negó a ejecutarlas en paralelo. El cliente puede reintentar después y recibir el resultado guardado.
Aceptar parámetros nuevos con una clave antigua revela un error del cliente que reutiliza claves. La próxima vez creará un cobro equivocado que parecerá una repetición.
Hacen que la auditoría sea precisa. Registra el id del objeto que creó cada escritura, como charge_id u order_id.