Mensajería JSON - Especificación completa
-Convenciones Generales
-
Codificación: UTF-8
-
Formato: JSON estándar
-
Tipos numéricos:
longpara montos -
Campos requeridos: Marcados con (*)
-
Valores especiales:
-
saleTip = 0(sin propina) -
sharesNumber = 1(contado)
-Transacción de Venta (Sale)
Request: SaleRequest
{
"transactionType": "SALE", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"saleAmount": 10000, // (*) Monto en unidades mínimas
"ticketValue": "TKT001234", // (*) Número de ticket/boleta
"printOnPos": true, // Imprimir en terminal
"saleType": "AFECTA", // (*) "AFECTA" o "EXENTA"
"saleTip": 1000, // Propina (0 si no hay)
"sharesNumber": 3, // (*) Número de cuotas
"metadata": "Cliente preferencial"// Texto adicional
}
Response: SaleResponse
{
"responseCode": -1, // -1=aprobado, otros=error
"responseMessage": "Transacción aprobada exitosamente",
"commerceCode": 123456789, // Código comercio
"ticketValue": "TKT001234", // Ticket original
"authorizationCode": "144385", // Código de autorización
"saleAmount": 10000, // Monto aprobado
"sharesNumber": 3, // Cuotas aprobadas
"saleBIN": "2876", // BIN de tarjeta
"operationId": 579597, // ID único de operación
"serialNumber": "", // Número serial terminal
"tid": "TID123", // Terminal ID
"cardType": "CREDIT", // Tipo tarjeta
"saleTip": 1000, // Propina aprobada
"accountingData": "", // Datos contables
"saleType": "AFECTA", // Tipo de venta
"metadata": "Cliente preferencial" // Metadata original
}
-Anulación (Return)
Request: ReturnRequest
{
"transactionType": "RETURN", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"printOnPos": true, // Imprimir comprobante
"metadata": "Devolución por falla", // Motivo
"returnAmount": 5000, // (*) Monto a anular
"saleAmount": 10000, // (*) Monto original
"authorizationCode": "144385", // (*) Código auth original
"saleDate": "15-01-2024" // (*) Fecha formato dd-MM-yyyy
"inputNumOperacion" // (*) Numero operacion
"inputSerie" // (*) Número de Serie del POS
}
Response: ReturnResponse
{
"serialNumber": 987654, // Número serial
"tid": "TID123", // Terminal ID
"responseCode": -1, // Código respuesta
"responseMessage": "Anulación exitosa",
"commerceCode": 123456789, // Código comercio
"authorizationCode": 144385, // Código auth anulación
"operationId": 579598, // Nueva operación ID
"metadata": "Devolución por falla" // Metadata original
}
-Cancelación (Cancellation)
Request: CancellationRequest
{
"transactionType": "CANCELLATION", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"operationId": 579597, // (*) ID operación a cancelar
"printOnPos": true, // Imprimir comprobante
"metadata": "Error en precio", // Motivo
"authorizationCode": "144385" // (*) Código auth original
}
Response: CancellationResponse
{
"responseCode": -1,
"responseMessage": "Cancelación exitosa",
"commerceCode": 123456789,
"serialNumber": 987654,
"tid": "TID123",
"authorizationCode": "144385",
"operationId": 579597,
"metadata": "Error en precio"
}
-Cierre (Closure)
Request: ClosureRequest
{
"transactionType": "CLOSURE", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"printOnPos": true, // Imprimir reporte
"metadata": "Cierre turno tarde" // Observaciones
}
Response: ClosureResponse
{
"responseCode": -1,
"responseMessage": "Cierre exitoso",
"commerceCode": 123456789,
"metadata": "Cierre turno tarde"
}
-Reimpresión (Reprint)
Request: RePrintRequest
{
"transactionType": "REPRINT", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"operationId": 579597, // (*) ID operación
"printOnPos": true, // Imprimir en terminal
"metadata": "Cliente perdió voucher" // Motivo
}
Response: RePrintResponse
{
"responseCode": -1,
"responseMessage": "Reimpresión exitosa",
"commerceCode": 123456789,
"metadata": "Cliente perdió voucher"
}
-Reportes (Reporte)
Request: ReportRequest
{
"transactionType": "REPORTE", // (*) Tipo fijo
"mid": "123456789012345", // (*) Merchant ID
"reportType": "DETALLE", // (*) "TOTAL" o "DETALLE"
"reportDay": "ULTIMO", // (*) "ULTIMO" o "PENULTIMO"
"printOnPos": true, // Imprimir en terminal
"metadata": "Auditoría mensual" // Observaciones
}
Response para TOTAL: ReportResponseTotal
{
"responseCode": -1,
"responseMessage": "Reporte generado exitosamente",
"data": "Resumen consolidado...",
"metadata": "Auditoría mensual"
}
Reponse para DETALLE: ReporteReponseDetalle
{
"CommerceCode": 123456789,
"Metadata": "Auditoría mensual",
"ResponseCode": -1,
"ResponseMessage": "Reporte detalle generado",
"ResponseReportCommerce": {
"NombreFantasia": "Mi Tienda S.A.",
"RazonSocial": "Mi Tienda Sociedad Anónima",
"Rut": "12.345.678-9",
"Direccion": "Av. Principal 123",
"Region": "Metropolitana",
"Comuna": "Santiago",
"Ciudad": "Santiago",
"Comercio": "Tienda Central",
"Terminal": "POS-001",
"Version": "2.1.0",
"FechaContable": "15-01-2024"
},
"ResponseReportDetail": {
"MontoTotalVentaAfecta": 1500000,
"MontoTotalVentaExenta": 500000,
"MontoTotalVentaPropinas": 150000,
"MontoTotalVentaCancelaciones": 200000,
"MontoTotalVentaAnulaciones": 100000,
"MontoTotalVentaConsumo": 0,
"MontoTotalVenta": 1850000,
"CantidadTotalVentaAfecta": 45,
"CantidadTotalVentaExenta": 15,
"CantidadTotalVentaPropinas": 12,
"CantidadTotalVentaCancelaciones": 3,
"CantidadTotalVentaAnulaciones": 2,
"CantidadTotalVentaConsumo": 0,
"CantidadTotalVenta": 77,
"Transacciones": [
{
"DetalleVentaTransaccion": "VENTA",
"DetalleVentaOperacion": "579597",
"DetalleVentaAuthCode": "144385",
"DetalleVentaLast4Digits": "2876",
"DetalleVentaPropina": "1000",
"DetalleVentaMonto": "10000",
"DetalleVentaHoraTrx": "10:30:15"
}
]
},
"ResponseReportTitle": "REPORTE DETALLADO DE VENTAS"
}
-Pruebas (Echotest/Coinntest)
Request: EchoTestRequest
{
"transactionType": "ECHOTEST", // O "CONNTEST"
"mid": "123456789012345" // (*) Merchant ID
}
Response: EchoTestResponse
{
"responseCode": -1,
"responseMessage": "Conexión exitosa con autorizador"
}
-Renovación de llaves (Keysrenewal)
Request: KeysRenewalRequest
{
"transactionType": "KEYSRENEWAL", // (*) Tipo fijo
"mid": "123456789012345" // (*) Merchant ID
}
Response: KeysRenewalResponse
{
"responseCode": -1,
"responseMessage": "Llaves renovadas exitosamente"
}
Updated 13 days ago
What’s Next
