Portal tecnico VNHE

Documentacion para clientes integradores

Base URL: https://back.ecosistemavnhe.com Bearer API

Vision general

Pagos, multiproducto y multimedia en una sola referencia

Esta pagina esta pensada para publicarse tal cual en un subdominio. Resume los endpoints mas importantes, explica las variables criticas y organiza los flujos de integracion para que el cliente tecnico pueda avanzar sin depender de explicaciones internas.

Base productiva 1

Dominio unico para todos los modulos expuestos al integrador.

Modulos 3

Pagos, Multiproducto y Multimedia.

Scopes 2

payments y gen_hys.

Objetivo Go Live

Reducir dudas tecnicas y acelerar salida a produccion.

Paso 1

Autenticacion

Obligatorio
POST /api/auth/token

Obtiene el token Bearer del cliente integrador.

Request

{
  "usuario": "cliente_demo",
  "password": "TuClaveSegura123"
}

Response

{
  "ok": true,
  "data": {
    "token_type": "Bearer",
    "access_token": "TOKEN_API_CLIENTE",
    "expires_in": 86400,
    "scopes": ["payments", "gen_hys"]
  }
}
Headers para el resto de la integracion
Authorization: Bearer TOKEN_API_CLIENTE
Content-Type: application/json

Base comun

Convenciones generales

Respuesta base

Exitosa

{
  "ok": true,
  "data": {}
}

Error

{
  "ok": false,
  "error": "CODIGO_ERROR",
  "message": "Mensaje claro para el integrador",
  "trace_id": "abc123"
}

Variables criticas

Variable Uso
trace_idIdentificador tecnico para soporte y auditoria.
referenceReferencia principal VNHE.
provider_referenceReferencia del proveedor externo.
idtransId unico de venta del integrador.
flowOperacion exacta dentro de un endpoint multiproducto.
inputsDefinicion de formulario dinamico.
extraInputsValores reales del formulario dinamico.

idtrans

Para ventas en Multiproducto se recomienda un identificador unico de 16 digitos.

1778858151875649
  • No reutilizar el mismo id entre ventas.
  • Relacionarlo con la orden interna del integrador.
  • Guardarlo junto con trace_id.

inputs y extraInputs

Cuando un servicio devuelve configuracion dinamica, el integrador debe construir el formulario y reenviar las llaves exactas.

{
  "productId": 101001,
  "catalogProductId": 101000,
  "extraInputs": {
    "productId": 101001,
    "customerEmail": "cliente@correo.com",
    "amount": 20000
  }
}

Modulo 1

Pagos

Scope payments

Flujo recomendado

  1. Elegir el medio de pago.
  2. Si el medio usa cotizacion, consultar exchange primero.
  3. Generar el pago.
  4. Guardar reference y provider_reference.
  5. Mostrar el QR, imagen o link al pagador.
  6. Verificar el estado.
  7. Cerrar el proceso solo cuando el estado sea aprobado o aplicado.
Medio Generar Verificar directo Verificar unificado
PSEPOST /v2/nq/apipesNo aplicaPOST /gen_hys/verifypay
QR COPPOST /v2/nq/apicopPOST /v2/nq/verify_qrPOST /gen_hys/verifypay
QR Bre-BPOST /v2/breb/generate/qrPOST /v2/breb/verify_qrPOST /gen_hys/verifypay
BinancePOST /v2/bn/bnapiPOST /v2/bn/ver_payPOST /gen_hys/verifypay
PrixPOST /v2/prix/generate/linkPOST /gen_hys/prix_statusPOST /gen_hys/verifypay
SupraPOST /v2/spr/generate/linkPOST /v2/spr/verify/payPOST /gen_hys/verifypay
EfipayPOST /v2/rbill/generate/linkPOST /v2/rbill/verify/payPOST /gen_hys/verifypay

Pagos

PSE

POST /v2/nq/apipes

Genera un link PSE. En la configuracion actual solo valor es obligatorio.

Campo Tipo Obligatorio Descripcion
valornumberSiMonto en COP.
documentstringNoDocumento del pagador.
mailstringNoCorreo del pagador.
namestringNoNombre del pagador.
secondNamestringNoApellido del pagador.
phonestringNoCelular del pagador.
return_urlstringNoURL de retorno del comercio.
{
  "valor": 25000,
  "document": "123456789",
  "mail": "cliente@correo.com",
  "name": "Carlos",
  "secondName": "Perez",
  "phone": "3001234567",
  "return_url": "https://tu-app.com/pagos/resultado"
}
POST /gen_hys/verifypay

Verificacion unificada de PSE.

{
  "Terp": "PSE",
  "data": "1779040898962525"
}

Pagos

QR COP y QR Bre-B

QR COP

POST /v2/nq/apicop

{
  "valor": 25000
}

La respuesta normalmente incluye image_b64, reference y provider_reference.

POST /v2/nq/verify_qr

{
  "sid": "7049126"
}

QR Bre-B

POST /v2/breb/generate/qr

{
  "valor": 25000
}

Es de un solo uso. Si vence o se paga, debe generarse uno nuevo.

POST /v2/breb/verify_qr

{
  "sid": "BREB-287372123456"
}

Pagos

Binance

POST /v2/bn/consulta/exchange

La cotizacion se consulta en USDT y devuelve el equivalente en COP.

{
  "valor": 5.3
}
Campo Descripcion
currencyMoneda base, normalmente USDT.
rate_copTasa del dia usada para convertir a COP.
initial_amountMonto original consultado.
gross_copEquivalente bruto en COP.
provider_transaction_cost_copCosto del proveedor si aplica.
platform_cost_copCosto de plataforma si aplica.
total_discount_copDescuento total.
net_copValor neto acreditable en COP.

Generar QR Binance

POST /v2/bn/bnapi

{
  "valor": 5.3
}

Verificar Binance

POST /v2/bn/ver_pay

{
  "data": "PREPAY_ID_BINANCE"
}
Campo Descripcion
statusEstado del pago.
referenceReferencia consultada.
paid_amountMonto pagado en el proveedor.
costCosto total.
creditValor neto acreditable en COP.
rateTasa usada para la conversion.

Pagos

Prix

Generar link

POST /v2/prix/generate/link

{
  "valor": 25000,
  "return_url": "https://tu-app.com/pagos/resultado"
}

Valor minimo recomendado: 20000 COP.

Consultar estado

POST /gen_hys/prix_status

{
  "reference": "1779040898962525"
}

Usar para revisar estado normalizado, pago esperado, pago recibido, costo y valor acreditable.

Pagos

Supra

Cotizar y generar

POST /v2/spr/consulta/exchange

{
  "valor": 35000,
  "money": "COP"
}

POST /v2/spr/generate/link

{
  "valor": 35000,
  "money": "COP",
  "return_url": "https://tu-app.com/pagos/resultado"
}

Verificar directo

POST /v2/spr/verify/pay

{
  "idver": "ID_PAGO_SUPRA"
}

La respuesta minima esperada debe incluir status, reference, provider_reference, paid_amount, cost, credit y currency.

Pagos

Efipay

Cotizar y generar

POST /v2/rbill/consulta/exchange

{
  "valor": 35000
}

POST /v2/rbill/generate/link

{
  "valor": 35000,
  "return_url": "https://tu-app.com/pagos/resultado"
}

Verificar directo

POST /v2/rbill/verify/pay

{
  "idver": "ID_PAGO_EFIPAY"
}

La respuesta minima esperada debe incluir status, reference, provider_reference, paid_amount, cost, credit y currency.

Pagos

Verificacion unificada

POST /gen_hys/verifypay

Ruta recomendada cuando el integrador quiere manejar una sola interfaz de verificacion.

QR

{
  "Terp": "QR",
  "data": "7049126"
}

QR_BREB

{
  "Terp": "QR_BREB",
  "data": "BREB-287372123456"
}

BINANCE

{
  "Terp": "BINANCE",
  "data": "PREPAY_ID_BINANCE"
}

PRIX

{
  "Terp": "PRIX",
  "data": "1779040898962525"
}

SUPRA

{
  "Terp": "SUPRA",
  "data": "1779040898962525"
}

EFIPAY

{
  "Terp": "EFIPAY",
  "data": "1779040898962525"
}

Pagos

Consulta de pagos generados por rango

POST /gen_hys/consultpay
{
  "fecha1": "2026-05-01",
  "fecha2": "2026-05-19",
  "Terp": "PSE"
}

Util para conciliacion del integrador o reportes operativos por medio de pago.

Modulo 2

Multiproducto

Scope gen_hys

Concentra recargas, paquetes, pines, facturas, loterias, apuestas y corresponsal. La mayor parte del consumo vive en /gen_hys/recargas y /gen_hys/recargas-mx.

Ruta Uso
POST /gen_hys/recargasOperaciones Colombia y corresponsal.
POST /gen_hys/recargas-mxOperaciones Mexico.
POST /gen_hys/esp/reqRecargas especiales.
POST /gen_hys/list_multipListado de movimientos.
POST /gen_hys/list_multip_ticketTicket por movimiento.
GET /gen_hys/modules_stateModulos habilitados.
GET /gen_hys/dashboard_stateEstado del dashboard.

Multiproducto

Estados, comisiones, movimientos y tickets

Modulos habilitados

GET /gen_hys/modules_state

Permite saber que modulos y providers deben mostrarse al cliente antes de renderizar la experiencia.

Dashboard del cliente

GET /gen_hys/dashboard_state

Resume saldos, notificaciones y configuraciones visibles para el canal.

Movimientos y ticket

POST /gen_hys/list_multip

POST /gen_hys/list_multip_ticket

Sirve para conciliacion, detalle comercial y reconstruccion de comprobantes.

Multiproducto

Recargas

Recarga Colombia

POST /gen_hys/recargas

{
  "flow": "recarga",
  "opc": 1,
  "operador": "cl",
  "celular": "3001234567",
  "valor": 10000,
  "idtrans": "1778858151875649",
  "originCash": 0
}

Recarga Mexico

POST /gen_hys/recargas-mx

{
  "flow": "recarga",
  "carrier": 1234,
  "telefono": "5512345678",
  "type": 1,
  "walletType": "SL",
  "idtrans": "1778858151875649"
}

Multiproducto

Paquetes

Listar paquetes Colombia

POST /gen_hys/recargas

{
  "flow": "paquetes_list",
  "operador": "pc"
}

Compra habitual

  • flow
  • operador
  • paquete
  • celular
  • valor
  • idtrans
  • originCash

Multiproducto

Pines

Proveedor 1

POST /gen_hys/recargas listado

{
  "flow": "pines_list",
  "operador": "nx"
}

POST /gen_hys/recargas compra

{
  "flow": "pines",
  "celular": "3001234567",
  "email": "cliente@correo.com",
  "operador": "nx",
  "paquete": 101001,
  "idtrans": "1778858151875649",
  "originCash": 0
}

Proveedor 2

  1. Catalogo: flow = pines_prove2_list
  2. Detalle: flow = pines_prove2_producto
  3. Renderizar inputs
  4. Comprar: flow = pines_prove2_pago
{
  "flow": "pines_prove2_pago",
  "productId": 101001,
  "catalogProductId": 101000,
  "valor": 20000,
  "celular": "3001234567",
  "customerEmail": "cliente@correo.com",
  "extraInputs": {
    "productId": 101001,
    "customerCellphone": "3001234567",
    "customerEmail": "cliente@correo.com",
    "amount": 20000
  },
  "idtrans": "1778858151875649",
  "originCash": 0
}

Multiproducto

Facturas y recaudos

Cuando el convenio es dinamico, no asumas campos fijos. Primero consulta configuracion, luego preconsulta y por ultimo paga con los mismos datos validados.

Preconsulta

{
  "flow": "facturas_consulta",
  "productId": 701005,
  "extraInputs": {
    "reference": "1234567890"
  }
}

Pago

{
  "flow": "facturas_pago",
  "celular": "3001234567",
  "productId": 701005,
  "valor": 25000,
  "extraInputs": {
    "reference": "1234567890",
    "amount": 25000
  },
  "idtrans": "1778858151875649",
  "originCash": 0
}

Multiproducto

Loterias

Operacion Flow
Listar loteriasloteria_list
Ciudades por departamentoloteria_ciudad
Cliente frecuenteloteria_cliente
Consultar fraccionesloteria_fracttion
Vender loterialoteria_sell
Consultar premiosloteria_premios
{
  "flow": "loteria_sell",
  "idtrans": "1778858151875649",
  "number": "1234",
  "serie": "001",
  "fraction": 2,
  "newid": "TEMP001",
  "temporalid": 77,
  "sorteo": 1452,
  "loteria": 12,
  "cedula": "1012345678",
  "cliente": "Cliente Demo",
  "celular": "3001234567",
  "direccion": "Bogota",
  "ciudad": "11001",
  "originCash": 0
}

Multiproducto

Apuestas

Apuesta deportiva

POST /gen_hys/recargas

{
  "flow": "apuesta",
  "celular": "1012345678",
  "telefono": "3001234567",
  "operador": "lk",
  "valor": 20000,
  "name": "Cliente Demo",
  "idtrans": "1778858151875649",
  "originCash": 0
}

Recarga especial

POST /gen_hys/esp/req

{
  "celular": "1012345678",
  "operador": "Betplay",
  "idtrans": "1778858151875649",
  "descript": "BetPlay",
  "identidad": "1012345678",
  "valor": 30000
}

Multiproducto

Corresponsal

Operacion Flow
Obligaciones catalogoobligaciones_list
Obligaciones detalleobligaciones_producto
Obligaciones consultaobligaciones_consulta
Obligaciones pagoobligaciones_pago
Billetera retirowallet_cashout
Billetera depositowallet_cashin
Bre-B resolver llavebreb_key_resolve
Bre-B depositobreb_key_cashin
ACH deposito configach_prove2_producto
ACH depositoach_prove2
ACH retiro configach_prove2_cashout_producto
ACH retiroach_prove2_cashout
Ticket detalleprove2_ticket_detalle

Obligaciones consulta

{
  "flow": "obligaciones_consulta",
  "productId": 701005,
  "extraInputs": {
    "customerQueryType": "1",
    "reference": "1234567890",
    "customerDocType": "CC",
    "customerDocument": "1012345678",
    "customerPaymentType": "1"
  }
}

Bre-B resolver llave

{
  "flow": "breb_key_resolve",
  "keyValue": "alias@entidad"
}

La respuesta debe revisarse para mostrar cashinBaseCost, cashinAdjustment y cashinCost.

Modulo 3

Multimedia

Este modulo esta orientado a integradores que necesitan listar catalogos y ejecutar compras de inventario multimedia.

  • GET /gen_hys/<familia>/catalog
  • GET /gen_hys/<familia>/summary
  • POST /gen_hys/<familia>/purchase

Multimedia

Familias disponibles

Familia Descripcion
pantallaPantallas streaming.
pinPines multimedia.
cuentaCuentas completas.
videojugVideojuegos.
toolsHerramientas.
musicMusica y video.
passPases.
membreMembresias.
digital1TV digital y servicios afines.
lic-softLicencias y software.

Multimedia

Catalogo y summary

Catalogo

GET /gen_hys/pantalla/catalog

{
  "ok": true,
  "data": {
    "rows": [
      {
        "id": 12345,
        "nombre": "Netflix 1 pantalla",
        "precio": 18000,
        "descripcion": "Cuenta mensual"
      }
    ]
  }
}

Summary

GET /gen_hys/pantalla/summary

Util para mostrar cantidades, resumen rapido del catalogo o informacion de apoyo antes de vender.

Multimedia

Compra

POST /gen_hys/pantalla/purchase
{
  "product_id": 12345,
  "quantity": 1,
  "cliente": "Cliente demo"
}
Campo Tipo Descripcion
product_idnumberId del producto.
quantitynumberCantidad solicitada.
clientestringNombre o referencia del comprador.

Soporte

Errores frecuentes

Codigo Significado
AUTH_API_INVALIDToken invalido o sin permisos.
VALIDATION_ERRORFaltan datos o el formato es incorrecto.
NOT_FOUNDNo se encontro el recurso o movimiento.
PAYMENT_PENDINGEl pago aun no aparece como aprobado.
PAYMENT_ALREADY_PROCESSEDEl pago ya fue aplicado antes.
PROVIDER_ERROREl proveedor rechazo o no pudo procesar la operacion.
PROVIDER_UNAVAILABLEEl proveedor no esta disponible en ese momento.
PROVIDER_INVALID_RESPONSEFormato no esperado desde el proveedor.

Operacion

Buenas practicas

Guardar siempre

  • trace_id
  • reference
  • provider_reference
  • idtrans cuando aplique

Evitar errores comunes

  • No regenerar cobros en automatico si la verificacion responde pendiente.
  • No asumir formularios fijos cuando el servicio devuelve inputs.
  • Si existe preconsulta, pagar solo con los datos ya validados.

Descargas

Recursos complementarios

Produccion

Checklist final