Protocolo de mensajes

El protocolo de mensajes (estructura JSON de cada operación, campos, transactionType y responseCode) es el mismo del POS Integrado por cable. Se remite a:

  • Guía para Desarrollador POS Integrado, sección “Mensajes JSON — Especificación Completa”, para la estructura de cada operación (Venta, Anulación, Cancelación, Cierre, Reimpresión, Reportes, Pruebas, Renovación de llaves).
  • Manual de la biblioteca serial (libserial / SerialPOS / MiDLL), para la interfaz writereadx / WRITEREADX, sus argumentos y los códigos de retorno.

Desde el lado del integrador, no hay diferencia en el código de envío/recepción entre cable y cuna: se sigue usando writereadx sobre el puerto serial configurado. La cuna es transparente a ese nivel.

Framing de trama (referencia)

A nivel de bytes, las tramas que viajan por el canal serial usan el siguiente encuadre, idéntico en cable y cuna:

  • Inicio de trama: STX (0x02)
  • Carga útil: JSON en UTF-8
  • Fin de carga: ETX (0x03)
  • Verificación: CRC16 (2 bytes, LSB y luego MSB)
  • Confirmación de recepción: ACK (0x06) si la trama es correcta, NAK (0x15) si falla la verificación.

El envío contempla reintentos automáticos ante ausencia de ACK (por defecto hasta 3 intentos, con un tiempo de espera de ACK configurable). La biblioteca serial maneja este encuadre internamente; el integrador trabaja a nivel de JSON, no de bytes.