Configurar impressões
As impressoras dos terminals Point Smart 1 e 2 permitem imprimir o ticket da compra e integrar impressões personalizadas através da API de Terminals. Esta função pode ser útil para aqueles que necessitam imprimir comprovantes complementares, como Documentos Tributários Eletrônicos (DTE), cupons, ou mesmo imagens.
Desta forma, você poderá gerenciar impressões adicionais diretamente do seu sistema Ponto de Venda, e obtê-las do terminal ao qual forem atribuídas.
Criar impressões
As impressões geradas do seu sistema são ações que seu ponto de venda envia ao terminal. Por isso, para criar uma impressão, você deverá enviar um POST ao endpoint Criar ação de terminalAPI com seu Access Token de produção, caso esteja realizando uma integração própria, ou o Access Token obtido via OAuthOAuth, caso esteja realizando uma integração para terceiros, e caso esteja realizando uma integração para terceiros, e enviando corretamente os parâmetros obrigatórios indicados abaixo.
curl
curl -X POST \ 'https://api.mercadopago.com/terminals/v1/actions'\ -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: 0d5020ed-1af6-469c-ae06-c3bec19954bb' \ -H 'Authorization: Bearer ACCESS_TOKEN \ -d '{ "type": "print", "external_reference": "ext_ref_1234", "config": { "point": { "terminal_id": "NEWLAND_N950__N950NCB123456789", "subtype": "image" } }, "content": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAB2AAAAdgB+lymcgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPqSURBVHic7ZrZaxRBEIe/mJh4xRgDGk8ivqtvIvGESLwQ7wsU/yD/Ah+NURQjIioY8FbwRZ9UEFREvEFjEm83GR96Byab2Zlf9/RuFp0PlsxR1dVTXVXdPRPIycnJycnJ+V+pc9DpANYAU8vc/wXcBZ479qkcLcBmYGaZ+6PAI+C+Z7tj2Ar8AIKU3x9gl0e7HcBbwW4AHPNodxwPxE4EwEtgkie7xy3sjgLtnuyO46tFRwJgnQebU4CBStm1GaFGYLqFPMBBS/k4dgKzLHVkeRsHtFl2AmAf0OSgF+WIg05FHDDboSOtQLeDXshcoMtBryIOaHXoCGRLg8NAg4NeiypY6QgA2A40O+oedtSrKQdMA3Y46K0AljnarJkaEOKSBi7FL6SmagDARkxBU2kgW+2ouQhoAPZYyHeTbTVXcw4AOGQh61r8QmwXThJXsVuOxq3Rlwh2ZgLfM9r6pD5UtWoAmK23ktf7Kb/VVmnBbaufyDOyjUoAPBHs3PFgJ6D8ewNnPnvq2PIEGx2YVPFhZ7HyUGoKTMJidZVCUjE8ir/Q9VoI2/AzKgHwinjH1+EnzcLfWuXB1AjIOgVGWQSsjrneCSz1aEeKANUBWWeAUuJmgyxL3zhq2gF7gcmR86biNYUBUU6qWb5TYEiUawM2RM43oY3YK+C6aMNrBKivw/qAn6Ls7sjxAVGnFxgUZb1GgDqlvMEsmRV2APWY9wXbRJ1e9CiT0rYSKXBWlJ2D+cK0FZghyD8EHgPDYvvSoKnv21QHDAIXMV+PlPX8LmC+2HZP8a8aAV5rgOqAL5iPJ1dE+b3AFkGuAJwuHk9IDVAdEE5RZ0T5drRI6Qc+FI9rPgIALmMiwRc9kWM1AibUAd+BS6JOGkOYuhI9V5iFsLHyvRL8EjlW0yCNPoxDQ9QIqEebXVJpRt+BNUb0mjAOybqri64YARZa6C5KezglAtTR/wb8jpz/YmzouvAGuF1yTU0BEOqA4gDb/I+SNQ1OACMl14Yxb40UJtwB/ZhXaa6cirkW4HE1WGkH/AEuiPqlPMD801Mc3qbCSjsA9L1BKT0J97wthnw6oNyoXAM+im2EFEiuH1WNAJc1QJQC9mnQD7xPuO9tP1CNFAD72SAp/EFPAS8OUCMgaVRuAu/EdkqXvra2otREEQQzb58X2znH2KVvHFV1gPpFKMkBoKfBSUFGTYHUwVMcoIbu05T794AXKTLPgFsebIUkFVKZlaRvatKKVkgnZn0f18ZrYJXYTiPpX5EHi31PRP0QOQ9Yz/h/dwswo1G6YUmiAViA2a6GjGAcU7Bsp4v4r8DDwA08RUBOTk5OTk7Ov8lfFiKY13GwsdoAAAAASUVORK5CYII=" }'
| Atributo | Tipo | Descrição |
Authorization | Header | Faz referência ou ao seu Access Token de produção, caso esteja realizando uma integração própria, ou ao obtido por meio de OAuthOAuth. |
X-Idempotency-Key | Header | Chave de idempotência. Esta chave garante que cada solicitação seja processada uma única vez, evitando duplicidades. Utilize um valor exclusivo no cabeçalho de sua solicitação, como um UUID V4 ou strings aleatórias. |
type | Body. String | Tipo de ação. Você deve enviar o valor print, que é o associado com a criação de ações de impressão para o Ponto de Venda. |
external_reference | Body. String | É uma referência externa da ação, atribuída no momento de sua criação. O limite máximo permitido é de 64 caracteres e os permitidos são: letras maiúsculas e minúsculas, números e os símbolos de hífen (-) e sublinhado (_). |
config.point.terminal_id | Body. String | Identificador do terminal Point que obterá a ordem. Você deve enviá-lo tal qual foi retornado na chamada Obter terminalsAPI, como no seguinte exemplo: "NEWLAND_N950__N950NCB801293324". |
config.point.subtype | Body. String | Identificador do subtipo de impressão que será criada para o terminal Point. Se a ação for print, deve-se escolher um dos seguintes valores: - invoice: para a impressão de DTEs ou faturas. - custom: para uma impressão personalizada. - image: para uma impressão de imagens. |
content | Body. String | Contém a informação a imprimir no terminal Point. Acesse Requisitos para o conteúdo de impressões para saber quais validações levar em conta dependendo do tipo de impressão. |
Requisitos para o conteúdo de impressões
Para implementar os diferentes tipos de impressão desejados, além de indicar de qual se trata no campo config.point.subtype, você deve levar em conta os requisitos, formatos e validações que cada um deles requer na hora de enviar seu conteúdo através do parâmetro content.
Ao selecionar o config.point.subtype como invoice, o DTE a enviar no parâmetro content deve ser compatível com os formatos definidos pelo SII, e deve ser enviado em formato XML.
Adicionalmente, são admitidos os seguintes tipos de documentos:
| Tipo de documento | Descrição |
| Fatura Tributada (33) e Isenta (34) | Refere-se ao documento tributário que tem validade legal perante o Serviço de Impostos Internos (SII). |
| Boleto Tributado (39) e Isento (41) | Refere-se ao documento que o cliente recebe ao realizar uma compra, que tem validade contábil e tributária. |
Se a solicitação for enviada corretamente, a resposta retornará o id da ação criada junto com o status: created e a impressão será obtida de maneira automática pelo terminal, passando então a ter o status: on_terminal. Caso isso não aconteça, você pode consultar nossa documentação troubleshooting.
A API de Terminals também permitirá obter uma açãoAPI, incluindo seu status em tempo real, enviando o id de referência obtido na resposta à sua criação.
Por último, também é possível cancelar uma açãoAPI utilizando o id de referência obtido na resposta à sua criação, sempre que seu estado seja created.