Sandbox y live
Sandbox y live son la misma API en el mismo host, https://api.leeri.ai. El entorno lo elige la clave que envía: las claves ak_sandbox_… funcionan en sandbox y las claves ak_live_… en live. Para pasar a producción cambia la clave y nada más.
En qué se diferencian
| Clave sandbox | Clave live | |
|---|---|---|
| Motor | El motor de cribado real, ejecutado con los datos de su propia cuenta | El mismo |
| Fuentes de datos de terceros | Respuestas solo de lo almacenado; nunca se hace una consulta nueva | Consultas nuevas cuando hacen falta |
| Cuota y saldo | Nunca se consumen | Se consumen, vea Límites de solicitudes y cuotas |
| Tope de solicitudes | 10 solicitudes por minuto por ruta | 60 solicitudes por minuto por ruta |
Verificación de transacción sin address | No permitida: ADDRESS_REQUIRED | Permitida para los activos que pueden derivarla, vea Activos admitidos |
Como sandbox nunca hace una consulta nueva, una dirección sin respuesta de terceros almacenada se verifica sin ella. El veredicto lo indica: puede devolverse como parcial, con el motivo en partial_reasons. Una clave live sí busca la respuesta.
Los entornos están separados
- Un
check_id, un identificador de lote o de veredicto creado en un entorno responde404 NOT_FOUNDen el otro, exactamente igual que un identificador que no existe. - Los endpoints de webhook pertenecen a un entorno y reciben solo sus eventos. Cada entorno puede tener hasta 20 endpoints activos; el 21.º responde
400. Cada entrega indica de qué entorno procede en su campoenvironment. - Los informes de evidencias llevan el entorno del veredicto para el que se emitieron.
La dirección de prueba
Para ejercitar la ruta pending sin esperar una consulta lenta real, envíe esta dirección con una clave sandbox:
| Campo | Valor |
|---|---|
asset | BTC |
address | 1PENDNGCHECKADDRESSFRSANDBXTEST99 |
Como verificación de dirección responde siempre status: "pending" con un check_id, de modo que puede construir y probar desde el primer día su sondeo y el manejo de webhooks. La misma dirección con una clave live se completa con normalidad; el interruptor nunca se activa fuera de sandbox.
- curl
- Node.js
- Python
curl -s -X POST https://api.leeri.ai/v1/checks \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"subject":"address","asset":"BTC","address":"1PENDNGCHECKADDRESSFRSANDBXTEST99"}'
const response = await fetch('https://api.leeri.ai/v1/checks', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.LEERI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ subject: 'address', asset: 'BTC', address: '1PENDNGCHECKADDRESSFRSANDBXTEST99' }),
});
const { data } = await response.json();
console.log(data.status, data.check_id); // "pending" y el identificador para el sondeo
import os
import requests
response = requests.post(
"https://api.leeri.ai/v1/checks",
headers={"Authorization": f"Bearer {os.environ['LEERI_API_KEY']}"},
json={"subject": "address", "asset": "BTC", "address": "1PENDNGCHECKADDRESSFRSANDBXTEST99"},
timeout=30,
)
data = response.json()["data"]
print(data["status"], data["check_id"]) # "pending" y el identificador para el sondeo
Después consulte GET /v1/checks/{check_id} hasta que status deje de ser pending. Los errores y límites se describen en Errores.