Dominio unico para todos los modulos expuestos al integrador.
Portal tecnico VNHE
Documentacion para clientes integradores
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.
Pagos, Multiproducto y Multimedia.
payments y gen_hys.
Reducir dudas tecnicas y acelerar salida a produccion.
Paso 1
Autenticacion
/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"]
}
}
Authorization: Bearer TOKEN_API_CLIENTE
Content-Type: application/json
Modulo 1
Pagos
Flujo recomendado
- Elegir el medio de pago.
- Si el medio usa cotizacion, consultar exchange primero.
- Generar el pago.
- Guardar
referenceyprovider_reference. - Mostrar el QR, imagen o link al pagador.
- Verificar el estado.
- Cerrar el proceso solo cuando el estado sea aprobado o aplicado.
| Medio | Generar | Verificar directo | Verificar unificado |
|---|---|---|---|
| PSE | POST /v2/nq/apipes | No aplica | POST /gen_hys/verifypay |
| QR COP | POST /v2/nq/apicop | POST /v2/nq/verify_qr | POST /gen_hys/verifypay |
| QR Bre-B | POST /v2/breb/generate/qr | POST /v2/breb/verify_qr | POST /gen_hys/verifypay |
| Binance | POST /v2/bn/bnapi | POST /v2/bn/ver_pay | POST /gen_hys/verifypay |
| Prix | POST /v2/prix/generate/link | POST /gen_hys/prix_status | POST /gen_hys/verifypay |
| Supra | POST /v2/spr/generate/link | POST /v2/spr/verify/pay | POST /gen_hys/verifypay |
| Efipay | POST /v2/rbill/generate/link | POST /v2/rbill/verify/pay | POST /gen_hys/verifypay |
Pagos
PSE
/v2/nq/apipes
Genera un link PSE. En la configuracion actual solo valor es obligatorio.
| Campo | Tipo | Obligatorio | Descripcion |
|---|---|---|---|
valor | number | Si | Monto en COP. |
document | string | No | Documento del pagador. |
mail | string | No | Correo del pagador. |
name | string | No | Nombre del pagador. |
secondName | string | No | Apellido del pagador. |
phone | string | No | Celular del pagador. |
return_url | string | No | URL 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"
}
/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
/v2/bn/consulta/exchange
La cotizacion se consulta en USDT y devuelve el equivalente en COP.
{
"valor": 5.3
}
| Campo | Descripcion |
|---|---|
currency | Moneda base, normalmente USDT. |
rate_cop | Tasa del dia usada para convertir a COP. |
initial_amount | Monto original consultado. |
gross_cop | Equivalente bruto en COP. |
provider_transaction_cost_cop | Costo del proveedor si aplica. |
platform_cost_cop | Costo de plataforma si aplica. |
total_discount_cop | Descuento total. |
net_cop | Valor 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 |
|---|---|
status | Estado del pago. |
reference | Referencia consultada. |
paid_amount | Monto pagado en el proveedor. |
cost | Costo total. |
credit | Valor neto acreditable en COP. |
rate | Tasa 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
/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
/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
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/recargas | Operaciones Colombia y corresponsal. |
POST /gen_hys/recargas-mx | Operaciones Mexico. |
POST /gen_hys/esp/req | Recargas especiales. |
POST /gen_hys/list_multip | Listado de movimientos. |
POST /gen_hys/list_multip_ticket | Ticket por movimiento. |
GET /gen_hys/modules_state | Modulos habilitados. |
GET /gen_hys/dashboard_state | Estado 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
flowoperadorpaquetecelularvaloridtransoriginCash
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
- Catalogo:
flow = pines_prove2_list - Detalle:
flow = pines_prove2_producto - Renderizar
inputs - 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 loterias | loteria_list |
| Ciudades por departamento | loteria_ciudad |
| Cliente frecuente | loteria_cliente |
| Consultar fracciones | loteria_fracttion |
| Vender loteria | loteria_sell |
| Consultar premios | loteria_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 catalogo | obligaciones_list |
| Obligaciones detalle | obligaciones_producto |
| Obligaciones consulta | obligaciones_consulta |
| Obligaciones pago | obligaciones_pago |
| Billetera retiro | wallet_cashout |
| Billetera deposito | wallet_cashin |
| Bre-B resolver llave | breb_key_resolve |
| Bre-B deposito | breb_key_cashin |
| ACH deposito config | ach_prove2_producto |
| ACH deposito | ach_prove2 |
| ACH retiro config | ach_prove2_cashout_producto |
| ACH retiro | ach_prove2_cashout |
| Ticket detalle | prove2_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>/catalogGET /gen_hys/<familia>/summaryPOST /gen_hys/<familia>/purchase
Multimedia
Familias disponibles
| Familia | Descripcion |
|---|---|
pantalla | Pantallas streaming. |
pin | Pines multimedia. |
cuenta | Cuentas completas. |
videojug | Videojuegos. |
tools | Herramientas. |
music | Musica y video. |
pass | Pases. |
membre | Membresias. |
digital1 | TV digital y servicios afines. |
lic-soft | Licencias 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
/gen_hys/pantalla/purchase
{
"product_id": 12345,
"quantity": 1,
"cliente": "Cliente demo"
}
| Campo | Tipo | Descripcion |
|---|---|---|
product_id | number | Id del producto. |
quantity | number | Cantidad solicitada. |
cliente | string | Nombre o referencia del comprador. |
Soporte
Errores frecuentes
| Codigo | Significado |
|---|---|
AUTH_API_INVALID | Token invalido o sin permisos. |
VALIDATION_ERROR | Faltan datos o el formato es incorrecto. |
NOT_FOUND | No se encontro el recurso o movimiento. |
PAYMENT_PENDING | El pago aun no aparece como aprobado. |
PAYMENT_ALREADY_PROCESSED | El pago ya fue aplicado antes. |
PROVIDER_ERROR | El proveedor rechazo o no pudo procesar la operacion. |
PROVIDER_UNAVAILABLE | El proveedor no esta disponible en ese momento. |
PROVIDER_INVALID_RESPONSE | Formato no esperado desde el proveedor. |
Operacion
Buenas practicas
Guardar siempre
trace_idreferenceprovider_referenceidtranscuando 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
Version completa en Markdown.
Pagos Coleccion PostmanRequests listos para importar.
Multiproducto Guia detalladaFlujos ampliados y mas ejemplos.
Multiproducto Coleccion PostmanFormato JSON para pruebas.
Multimedia Guia detalladaCatalogos, summary y compras.
Multimedia Coleccion PostmanLista para importar en Postman.
Produccion