terminalPrintCommands

Imprimir un comprobante en una terminal

Changed on

Manda una copia del comprobante de una venta ya pagada a la impresora de la terminal donde se hizo. La terminal imprime sin salir de Modo espera, así que el siguiente cobro entra igual.

Esto separa la impresión del cobro: print_receipt en POST /api/terminal_session_commands imprime la copia del cliente en automático al aprobar; este endpoint imprime cualquier copia, de cualquier venta anterior, cuando tu sistema lo pida.

Caso típico

El cajero cobra con print_receipt: true y show_post_payment_screens: false: sale la copia del cliente y la terminal vuelve a Modo espera. Cuando el cajero ya cortó ese papel, tu sistema manda POST /api/terminal_print_commands con copy: "merchant" y sale la copia del comercio.

Reglas

  • El checkout_id viene de la respuesta del comando de cobro. La venta debe estar pagada (sale_not_paid si no) y haberse hecho en esa misma terminal (sale_on_another_terminal si no).
  • copy elige la copia: merchant (la del comercio, el default) o customer.
  • duplicate: true imprime DUPLICADO en el papel. Úsalo cuando reimprimes una copia que ya salió, para que el papel no se lea como una venta distinta.
  • Una venta reembolsada imprime el comprobante del reembolso.
  • La entrega es best-effort y llega a una terminal en Modo espera; una terminal ocupada la levanta cuando vuelve, dentro de los 10 minutos siguientes. El resultado de impresión no se expone por API y nunca afecta el estado financiero del pago.

Idempotencia

Manda un external_id propio y el mismo request no imprime dos veces: el segundo retorna el comando original con 200 en vez de 201.

post/terminal_print_commands

Request

Request body

terminal_idstring required

ID público de la terminal (trm_...). Lo obtienes en el panel, en POS → detalle de la terminal.

checkout_idstring required

ID del checkout de la venta a imprimir (ch_...), tal como viene en la respuesta del comando de cobro.

copy'merchant' | 'customer'

Cuál copia imprimir.

duplicateboolean

Marca el papel como DUPLICADO. Úsalo al reimprimir una copia que ya salió.

external_idstring

ID único de tu sistema para esta impresión dentro de la cuenta autenticada. Se usa para idempotencia.

Response

Ya existía un comando con ese external_id; se retorna el original

idstring

ID público del comando de impresión

external_idstring nullable

ID de tu sistema enviado al crear el comando, o null si no se envió uno

terminal_idstring

ID de la terminal POS que imprime

checkout_idstring

ID del checkout de la venta impresa

copy'merchant' | 'customer'

Cuál copia se mandó a imprimir

duplicateboolean

Indica si el papel sale marcado como DUPLICADO

created_atstring date-time

Momento en que se creó el comando

Changes

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      added to the response property oneOf list for the response status

    • breaking

      the / response's property type changed from object to array for status

    • breaking

      the / response's property type changed from object to array for status

    • breaking

      the / response's property type changed from object to array for status

    • warning

      deleted the header request parameter X-SECRET-KEY

    • info

      the endpoint scheme security secretKey was added to the API