istmobot
ContenidoComprobante Yappy

Comprobante Yappy

POST/v1/yappy2 créditosPagosv1.0.0

Extrae los datos del comprobante Yappy y verifica que el pago se recibió.

Petición

multipart/form-data con un solo campo:

CampoTipoDescripción
filearchivoJPEG, PNG, WEBP, GIF o PDF. Máximo 10 MB. Obligatorio.

curl

curl https://api.istmobot.com/v1/yappy \
  -H "Authorization: Bearer ib_live_..." \
  -F file=@documento.png

JavaScript

const form = new FormData();
form.append("file", fileBlob, "documento.png");
const res = await fetch("https://api.istmobot.com/v1/yappy", {
  method: "POST",
  headers: { Authorization: "Bearer ib_live_..." },
  body: form,
});
const { data, meta } = await res.json();

Respuesta

200 con data según la tabla y meta (request_id, credits_used, plugin_version, sandbox). Campos ausentes en el documento llegan como null.

CampoTipoDescripción
montonumberMonto en USD
moneda"USD"
fechastringISO 8601, ej. 2026-09-17T14:32:00-05:00
referenciastring | nullNúmero de referencia/transacción
emisor.nombrestring | null
emisor.telefonostring | null
receptor.nombrestring | null
receptor.telefonostring | null
receptor.comerciostring | null
descripcionstring | null
estado"completado" | "pendiente" | "fallido" | "desconocido"
validacion.encontradoboolean
validacion.criterio"confirmacion" | "monto_fecha" | null
validacion.pagoobject | null

Ejemplo

{
  "data": {
    "monto": 25.5,
    "moneda": "USD",
    "fecha": "2026-09-17T14:32:00-05:00",
    "referencia": "YP-8841203",
    "emisor": {
      "nombre": "Juan Pérez",
      "telefono": "+507 6123-4567"
    },
    "receptor": {
      "nombre": null,
      "telefono": null,
      "comercio": "Café Istmo"
    },
    "descripcion": "Almuerzo",
    "estado": "completado"
  },
  "meta": {
    "request_id": "req_3f9c2a",
    "credits_used": 2,
    "plugin_version": "1.0.0",
    "sandbox": false
  }
}

Con una key ib_test_ recibes exactamente este data con credits_used: 0 y sandbox: true.

Errores

401 key inválida · 402 sin créditos · 422 entrada inválida o extracción fallida · 429 rate limit. Formato en Errores.