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.
