Recursos para IA

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 cupons ou mesmo imagens.

Para poder integrar impressões personalizadas a partir de seu terminal Point Smart 1 ou 2, você deverá solicitar a atualização do dispositivo entrando em contato com nossa equipe de Suporte.

Desta forma, você poderá gerenciar impressões adicionais diretamente do seu sistema PDV, 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 testeChave privada da aplicação criada no Mercado Pago, utilizada no backend durante o desenvolvimento da integração. Você pode acessá-la em Suas integrações > Detalhes da aplicação > Testes > Credenciais de teste. Ao subir em produção, substitua-o pelo Access Token de produção se se tratar de uma integração própria, ou pelo Access Token obtido mediante OAuth no caso de integrações de terceiros.Acessar as credenciais de teste, 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="
}'
AtributoTipoDescrição
AuthorizationHeaderFaz referência ou ao seu Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend durante o desenvolvimento da integração. Você pode acessá-la em Suas integrações > Detalhes da aplicação > Testes > Credenciais de teste. Ao subir em produção, substitua-o pelo Access Token de produção se se tratar de uma integração própria, ou pelo Access Token obtido mediante OAuth no caso de integrações de terceiros.Acessar as credenciais de teste.
X-Idempotency-KeyHeaderChave 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.
typeBody. StringTipo 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_referenceBody. StringÉ uma referência externa da order, atribuída no momento de sua criação. Deve ser um valor único para cada order e não pode conter dados PII. 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_idBody. StringIdentificador do terminal Point que obterá a order. Você deve enviá-lo exatamento como foi retornado na chamada Obter terminalsAPI, como no seguinte exemplo: "NEWLAND_N950__N950NCB801293324".
config.point.subtypeBody. StringIdentificador 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:
-custom: para uma impressão personalizada.
-image: para uma impressão de imagens.
contentBody. StringConté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.

As impressões personalizadas utilizam tags que permitem ajustar o formato e a aparência dos documentos impressos, garantindo um maior controle sobre o estilo e a estrutura do texto.

Ao definir o atributo subtype como custom, você deve incluir no campo content uma string com o conteúdo desejado, formatado utilizando pelo menos uma das tags suportadas. O conteúdo para este atributo é de no mínimo 100 caracteres e no máximo 4096, incluindo as próprias tags.

A seguir, consulte as diferentes tags disponíveis e suas funções.

TagsFunçãoExemplo
{b}Negrito{b}Texto em negrito{/b}
{w}Letra grande{w}Texto em letra grande{/w}
{s}Letra pequena{s}Texto em letra pequena{/s}
{br}Quebra de linha{br}
{left}Alinhar à esquerda{left}Texto alinhado à esquerda{/left}
{center}Centralizar texto{center}Texto centralizado{/center}
{qr}Imprimir um QR que representa o texto enviado{qr}Texto{/qr}
{pdf417}Imprimir um código de barras{pdf417}Texto{/pdf417}

A seguir, fornecemos um exemplo de uso.

json

{
  "type": "print",
  "config": {
    "point": {
      "terminal_id": "{{device.id}}",
      "subtype": "custom"
    }
  },
  "external_reference": "8a42e06e45d5",
  "content": "{br}--------------------------------{br}{center}{w} COMPROVANTE DE ENTREGA{/w}{br}{br}{s} Nro pedido :12345{/s}{br}{s} Loja: Loja de teste{/s}{br}--------------------------------{br}{s}***ITEM(S) DESPACHO***{/s}{br}{s}SKU / ARTIGO                    QUANTIDADE    {/s}{br}{s}----------------------------------------------{/s}{br}{s}4065432630504 / BOLA FUTEBOL WUCL LGE EHV240424   1{br}{s}ENTREGAR: 06/06/2024{/s}{br}{s}ENDEREÇO: METROPOLITANA  {/s}{br}{s}RECEBE: John{/s}{br}{s}entrega ao cliente no horário manhã{/s}{br}--------------------------------{br}"
}

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.