Notificaciones de Pago

    API para detectar y consultar pagos capturados automáticamente desde SMS y notificaciones bancarias.

    ¿Cómo funciona?

    1

    Creas una cuenta de tipo NOTIFICATION_ACCOUNT en Pabilo.

    2

    Instalas la app Pabilo Notificaciones en un dispositivo Android y la vinculas a esa cuenta.

    3

    La app captura automáticamente SMS y notificaciones de las apps bancarias configuradas y los reenvía al backend.

    4

    El backend parsea el contenido y extrae los pagos detectados (monto, referencia, pagador, fecha).

    5

    Consultas los pagos detectados vía la API REST desde tu sistema.

    Obtener Pagos Detectados

    Devuelve la lista paginada de pagos que el backend detectó a partir de las notificaciones capturadas por el dispositivo vinculado.

    GET /v1/bank-pay-notifications
    curl -X GET "https://api.pabilo.app/v1/bank-pay-notifications?page=1&limit=20" \
      -H "appKey: TU_API_KEY"

    Parámetros de consulta

    ParámetroTipoDefaultDescripción
    pageinteger1Número de página.
    limitinteger20Resultados por página.

    Respuesta de Ejemplo

    json
    {
      "notifications": [
        {
          "amount": "150.00",
          "currency": "VEF",
          "reference": "98765432",
          "from": "04141234567",
          "created_at": "2026-06-19T01:20:44.000Z",
          "status": "CONFIRMED"
        },
        {
          "amount": "25.50",
          "currency": "USD",
          "reference": "BIN2026061901",
          "sender": "Carlos",
          "posted_at": "2026-06-19T00:45:00.000Z",
          "status": "CONFIRMED"
        }
      ]
    }

    Campos de la notificación

    CampoTipoDescripción
    amountstring | numberMonto detectado.
    currencystringMoneda (ej. VEF, USD).
    referencestringReferencia o ID de la transacción.
    from / senderstringIdentificador del pagador (teléfono, nombre o ID).
    created_at / posted_atstring (ISO 8601)Fecha y hora de la notificación en UTC.
    statusstringCONFIRMED, PENDING, etc.

    Registrar Dispositivo

    Registra el dispositivo Android que actuará como capturador de notificaciones. La operación es idempotente — si el dispositivo ya existe (mismo android_id + usuario) devuelve el registro existente.

    POST /v1/device/register
    curl -X POST https://api.pabilo.app/v1/device/register \
      -H "Content-Type: application/json" \
      -H "appKey: TU_API_KEY" \
      -d '{
        "android_id": "abc123def456",
        "model": "Redmi Note 12",
        "manufacturer": "Xiaomi",
        "brand": "Redmi",
        "os_version": "13",
        "app_version": "1.0.0",
        "name": "Dispositivo Caja 1"
      }'

    Respuesta

    json
    {
      "device": {
        "id": "64a1b2c3d4e5f6a7b8c9d0e1",
        "android_id": "abc123def456",
        "name": "Dispositivo Caja 1"
      }
    }

    Vincular Dispositivo a Cuenta

    Vincula el dispositivo registrado a una cuenta NOTIFICATION_ACCOUNT, especificando qué app o fuente SMS debe monitorear.

    POST /v1/device/link
    curl -X POST https://api.pabilo.app/v1/device/link \
      -H "Content-Type: application/json" \
      -H "appKey: TU_API_KEY" \
      -d '{
        "device_id": "64a1b2c3d4e5f6a7b8c9d0e1",
        "user_bank_id": "USER_BANK_ID",
        "notification_provider": "APP",
        "notification_app": "com.binance.dev"
      }'

    Campos del body

    CampoTipoDescripción
    device_idstringID devuelto por POST /v1/device/register.
    user_bank_idstringID de la cuenta NOTIFICATION_ACCOUNT.
    notification_provider"APP" | "SMS"Fuente a monitorear: notificaciones de app o SMS.
    notification_appstring (opcional)Package name de la app bancaria a monitorear. Requerido cuando notification_provider = "APP".
    Ejemplos: com.binance.dev, com.mercantil.movil

    Enviar Notificación Capturada

    Envía el contenido de una notificación o SMS capturado al backend para que sea analizado y se extraigan los datos del pago. Normalmente este endpoint lo llama la app Pabilo Notificaciones automáticamente; se documenta para integraciones personalizadas.

    POST /v1/device/notification
    curl -X POST https://api.pabilo.app/v1/device/notification \
      -H "Content-Type: application/json" \
      -H "appKey: TU_API_KEY" \
      -d '{
        "device_id": "64a1b2c3d4e5f6a7b8c9d0e1",
        "user_bank_id": "USER_BANK_ID",
        "app_id": "com.binance.dev",
        "content": "Pago recibido de Carlos. Monto: 150.00 VEF. Ref: 98765432.",
        "posted_at": "2026-06-19T01:20:44.000Z"
      }'

    Campos del body

    CampoTipoDescripción
    device_idstringID del dispositivo registrado.
    user_bank_idstringID de la cuenta NOTIFICATION_ACCOUNT vinculada.
    app_idstringPackage name de la app fuente (notificación) o número emisor (SMS).
    contentstringTexto completo de la notificación o SMS.
    posted_atstring (ISO 8601, opcional)Timestamp UTC de cuando se recibió la notificación. Ej: 2026-06-19T01:20:44.000Z

    Autenticación

    Todos los endpoints aceptan API Key mediante el header appKey o Bearer Token con Authorization: Bearer TOKEN.

    Autenticación con API Key
    curl https://api.pabilo.app/v1/bank-pay-notifications \
      -H "appKey: TU_API_KEY"

    Ver cómo obtener tu API Key.