Automatizaciones
Ponga sus reembolsos a trabajar en las herramientas que ya usa.
Tres formas de entrar, un solo conjunto de reglas. Su asistente de IA, sus aplicaciones y sus otros sistemas ven los mismos casos, y nada se salta sus aprobaciones.
Servidor MCP
Permita que un asistente de IA lea casos y proponga decisiones mediante el Model Context Protocol.
Configurar MCPAPI pública
Cuatro operaciones para abrir, listar, leer y actualizar casos de reembolso con una clave de API del espacio de trabajo.
Ver la APIWebhooks
13 tipos de eventos firmados enviados a su endpoint, con reintentos y reenvío.
Ver los webhooks
Herramientas de política
Sepa qué harán sus reglas, antes de que se ejecuten.
Dos formas de trabajar en su política sin tocar un caso real.
Simular una política
Repite sus decisiones recientes en una política borrador, sin llamada al modelo. Gratis en todos los planes.
Explicar un caso no resuelto
Redacta un candidato de corrección de regla que llega como sugerencia pendiente. Nunca se publica por sí solo y requiere el derecho a las sugerencias de reglas con IA.
API pública
Abra un caso desde su propio código.
Una superficie pequeña y estable para casos, autenticada con una clave de API del espacio de trabajo. Su API sirve la referencia en /public/v1/docs.
| Método | Ruta | Alcance | Qué hace |
|---|---|---|---|
POST | /public/v1/refund-cases | intake | Abre un caso de reembolso. Una clave duplicada devuelve el caso original con 200. |
GET | /public/v1/refund-cases | read | Lista los casos de su espacio de trabajo. |
GET | /public/v1/refund-cases/{id} | read | Lee un caso con su estado y artículos. |
POST | /public/v1/refund-cases/{id}/return-received | intake | Registra que llegó la devolución. |
curl -X POST https://<api-host>/public/v1/refund-cases \
-H "Authorization: Bearer eqk_live_…" \
-H "Idempotency-Key: ord-10442-refund-1" \
-H "Content-Type: application/json" \
-d '{
"external_order_id": "10442",
"amount_minor": 4999,
"currency": "USD",
"reason": "Arrived damaged",
"line_items": [{ "line_id": "li_1", "quantity": 1 }],
"order_country": "US"
}'HTTP/1.1 201 Created
X-Correlation-ID: 7c1e9a52-3b0f-4d8e-9a61-2f5c0b7d4e13
X-RateLimit-Remaining: 1199
{
"refund_case_id": "01J9Z3K4M8Q2V6X0B5N7T1R3Y8",
"state": "RECEIVED",
"external_order_id": "10442",
"amount_minor": 4999,
"currency": "USD",
"created_at": "2026-09-24T14:02:11Z"
}Convenciones
- Idempotency-Key en cada POST, guardada 24 horas. Una clave reutilizada con otro cuerpo devuelve 409.
- X-Correlation-ID se devuelve, o se genera para usted, en cada respuesta.
- Los errores comparten una forma: error.code, error.message y el ID de correlación.
- Encabezados X-RateLimit en cada respuesta. Límites por plan: Free 120, Starter 600, Growth 1,200 y Scale 2,400 solicitudes por minuto.
Webhooks
Cada evento, firmado y reintentado.
Los propietarios y administradores agregan endpoints en el panel. Cada entrega se firma, se numera y se reintenta a 1 minuto, 5 minutos, 30 minutos, 2 horas y 12 horas antes de pasar a la cola de fallidos, desde donde se puede reenviar.
Casos de reembolso
refund_case.createdrefund_case.state_changedrefund_case.approvedrefund_case.deniedrefund_case.refund_executedrefund_case.completedrefund_case.failedrefund_case.return_received
Aprobaciones
approval.requestedapproval.decided
Etiquetas y agentes
return_label.purchasedagent_run.finishedagent_task.updated
POST /hooks/lumtry HTTP/1.1
Content-Type: application/json
User-Agent: Equali-Webhooks/1
X-Equali-Delivery-Id: 01J9Z3N6W2D8H4K0P7S5V1X3C9
X-Equali-Event: refund_case.approved
X-Equali-Sequence: 42
X-Equali-Timestamp: 1790258531
X-Equali-Signature: v1=5f2b9d0e…c81e
{
"created_at": "2026-09-24T14:02:11Z",
"data": {
"amount_minor": 4999,
"currency": "USD",
"external_order_id": "10442",
"previous_state": "PENDING_APPROVAL",
"refund_case_id": "01J9Z3K4M8Q2V6X0B5N7T1R3Y8",
"state": "APPROVED"
},
"id": "01J9Z3N6W2D8H4K0P7S5V1X3C9",
"sequence": 42,
"type": "refund_case.approved"
}import crypto from "node:crypto";
// rawBody: the exact bytes received, before JSON parsing.
export function verifyLumtry(rawBody, headers, secret /* whsec_… */) {
const ts = headers["x-equali-timestamp"];
const sig = headers["x-equali-signature"] ?? "";
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected =
"v1=" + crypto.createHmac("sha256", secret).update(ts + "." + rawBody).digest("hex");
const a = Buffer.from(sig);
const b = Buffer.from(expected);
return a.length === b.length && crypto.timingSafeEqual(a, b);
}Rechace una marca de tiempo de más de 5 minutos y luego compare el HMAC en tiempo constante.
Los webhooks entrantes se verifican antes de escribir nada
Cada proveedor que envía un webhook a Lumtry se verifica primero con su propio esquema de firma. Una firma no válida recibe un 401 y ningún procesamiento.
- Shopify
- Stripe
- PayPal
- WooCommerce
- BigCommerce
- Amazon SNS
- eBay
- Gorgias
- Zendesk
- EasyPost
- Shippo
- ShipBob
- ShipHero
- Twilio
- Telnyx
- Slack
Conecte su asistente de IA en minutos.
Las herramientas de lectura funcionan con cualquier clave de API del espacio de trabajo. Empiece gratis, cree una clave y dirija su asistente a su espacio de trabajo.