Saltar al contenido principal

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 MCP
  • API pública

    Cuatro operaciones para abrir, listar, leer y actualizar casos de reembolso con una clave de API del espacio de trabajo.

    Ver la API
  • Webhooks

    13 tipos de eventos firmados enviados a su endpoint, con reintentos y reenvío.

    Ver los webhooks

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.

Operaciones
MétodoRutaAlcanceQué hace
POST/public/v1/refund-casesintakeAbre un caso de reembolso. Una clave duplicada devuelve el caso original con 200.
GET/public/v1/refund-casesreadLista los casos de su espacio de trabajo.
GET/public/v1/refund-cases/{id}readLee un caso con su estado y artículos.
POST/public/v1/refund-cases/{id}/return-receivedintakeRegistra que llegó la devolución.
Datos de ejemplo
Solicitud
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"
  }'
Respuesta
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.created
  • refund_case.state_changed
  • refund_case.approved
  • refund_case.denied
  • refund_case.refund_executed
  • refund_case.completed
  • refund_case.failed
  • refund_case.return_received

Aprobaciones

  • approval.requested
  • approval.decided

Etiquetas y agentes

  • return_label.purchased
  • agent_run.finished
  • agent_task.updated
Datos de ejemplo
Una entrega
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"
}
Verificación (Node.js)
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.