Skip to content

JSON Comandos para Impresoras EscPOS

Santiago Petrungaro edited this page Jul 1, 2022 · 3 revisions

Actualmente la impresion de comandas esta bastante definida para ser utilizada en el rubro gastronómico. Habria que repensar o generar mas Traductores, que permitan formatear de forma distinta las impresiones generadas para Comanderas o Receipt Printers.

Listado de Comandos

  • 'printRemito' --> Imprime un Remito, comando de accion valido solo para Comandos de Receipt, la funcion acepta un **kwargs que es una lista de diccionarios.

  • 'printComanda' --> Imprime una Comanda, comando de accion valido solo para Comandos de Receipt, los parametros aceptados son, comanda, setHeader que por defecto = None y setTrailer que por defecto es = None.

  • 'printPedido' --> Imprime un pedido de compras de mercadería.

  • 'printTexto' --> Imprime texto libre, que ha de ser pasado mediante el parametro 'texto'

  • 'printFacturaElectronica' --> Imprime un documento fiscal homologado por AFIP (facturas A/B/C etc, notas de credito/débito)

Ejemplo de printRemito:

{
	"printRemito": {
		"qr": "UN_QR_CODE",
		"barcode": "7790000000000", 
		"qr-mercadopago": "XXXXXXcom.mercadolibre0139https://mpago.la/s/qr/XXXX/CLIENT_CODE",
		"encabezado": {
			"tipo_cbte": "T",
                        "imprimir_fecha_remito": "" # Si no se manda la key, no imprime fecha
		},
		"items": [{
			"alic_iva": "21",
			"qty": 1,
			"ds": "Agua Gasificada",
			"importe": 55
		}],
		"setTrailer": [" ", "Mozo: Carlos", "Mesa: 1", " "]
	},
	"printerName": "comandera"
}

Ejemplo JSON printComanda:

{
    "printComanda": {
        "comanda": {
            "id": "390",
            "created": "2022-06-30 22:31:08",
            "entradas": [
                {
                    "nombre": "Porcion Bife de Chorizo",
                    "cant": 1
                }
            ],
            "platos": [
                {
                    "nombre": "Hamburguesa",
                    "cant": 1
                },
                {
                    "nombre": "TABLA BIFE DE CHORIZO",
                    "cant": 1
                }
            ]
        },
        "setTrailer": [
            "",
            "Mozo: Mozo Omar",
            "Mesa: Ejemplo",
            ""
        ]
    },
    "printerName": "barra"
}

Ejemplo JSON para printPedido:

{
	"printPedido": {
                "encabezado": {
                                "nombre_proveedor": "El Verdulero X"
                                "pedido_recepcionado": 0 //en caso de ir en 1, imprimirá un párrafo avisando de que dicho pedido ya ha sido recepcionado.
                },
		"items": [{
				"ds": "naranja",
				"qty": 5,
				"unidad_de_medida": "Kilo",
				"importe": 74.29,
				"observacion": "esta es la primer fila"
			},
			{
				"ds": "manzana",
				"qty": 2,
				"unidad_de_medida": "Cajones",
				"importe": 125.15,
				"observacion": "esta es la segunda fila"
			}
		]
	},
	"printerName": "IMPRESORA_RED"
}

Ejemplo JSON printFacturaElectronica:

{
    "printFacturaElectronica": {
        "encabezado": {
            "nombre_comercio": "Nombre de Fantasía",
            "razon_social": "Empresa SRL",
            "cuit_empresa": "30998887771",
            "ingresos_brutos": false,
            "domicilio_comercial": "Avenida Siempreviva 742",
            "tipo_responsable": "IVA Responsable Inscripto",
            "inicio_actividades": "01/12/2020",
            "tipo_comprobante": "Factura B",
            "tipo_comprobante_codigo": "006",
            "numero_comprobante": "0005-00056017",
            "fecha_comprobante": "08/10/2021",
            "nombre_cliente": "Cliente de Fantasia", ### Opcional en "Factura B"
            "nombre_tipo_documento": "DNI", ### Opcional en "Factura B"
            "documento_cliente": "90999888", ### Opcional en "Factura B"
            "tipo_responsable_cliente": "Consumidor Final",  ### Opcional en "Factura B" (por default imprime "Consumidor Final")
            "domicilio_cliente": "Av. 9 de Julio 1816", ### Opcional en "Factura B"
            "cae": "1234567890",
            "cae_vto": "18/10/2021",
            "fecha_facturacion": "08/10/2021",
            "importe_total": "121",
            "importe_neto": "100",
            "importe_iva": "21",
            "moneda": "PES",
            "ctz": 1,
            "tipoDocRec": 99,
            "tipoCodAut": "E"
        },
        "items": [
            {
                "ds": "ARROZ C/ CALAMARES",
                "qty": "1",
                "importe": 950,
                "alic_iva": "21.00"
            },
            {
                "ds": "Cubiertos",
                "qty": "2",
                "importe": "100",
                "alic_iva": "21.00"
            }
        ],
        "addAdditional": {
            "description": "20%",
            "descuento_porcentaje": "20.0000",
            "amount": 230,
            "iva": "21.00",
            "negative": true
        },
        "setTrailer": [
            " ",
            "Mozo: Mozo Omar",
            "Mesa: Mesa",
            " "
        ]
    }
}

Extras

  • 'setHeader' --> Setea el encabezado del ticket Se le debe pasar una Lista con los renglones a colocar donde cada item es un renglon []

  • 'setTrailer' --> Setea el pie de pagina Se le debe pasar una Lista con los renglones a colocar donde cada item es un renglon []

Las siguientes son opciones válidas únicamente en PrintRemito

  • 'qr-mercadolibre' --> Es el string del código QR que te da Mercado Pago para el comercio

  • 'qr' --> Imprime lo que sea, en formato QR.

  • 'barcode' --> Imprime en formato EAN-13. Asegurar pasar un numero válido.

Clone this wiki locally