{"title":"Imprimir dados no terminal","category":"default","creationDate":1776961627,"content":"<p>Uma solicita\u00e7\u00e3o de impress\u00e3o permite iniciar uma impress\u00e3o no terminal a partir da caixa registradora fora de um pagamento. Voc\u00ea pode imprimir texto ou um QR code que o cliente possa digitalizar com o dispositivo m\u00f3vel.<\/p>\n<p>Aqui est\u00e3o alguns exemplos de como voc\u00ea pode usar solicita\u00e7\u00f5es de impress\u00e3o<\/p>\n<ul>\n<li>No <a href=\"\/pt\/point-of-sale\/pay-at-x\">fluxo pagamento na mesa<\/a>, imprima a fatura no terminal antes de enviar uma solicita\u00e7\u00e3o de pagamento. Isso permite que os clientes decidam se desejam dividir a conta e como desejam pagar.<\/li>\n<li>Imprima ingressos de entrada em um festival.<\/li>\n<li>Em um restaurante de servi\u00e7os r\u00e1pidos, imprima um recibo que permita aos clientes receber seus pedidos no balc\u00e3o.<\/li>\n<li>Imprima um QR code com um URL para ingressar no seu programa de fidelidade ou para baixar um aplicativo.<\/li>\n<\/ul>\n<p>If you want to combine text and a QR code, you'd need to make two subsequent print requests. N\u00e3o h\u00e1 solicita\u00e7\u00e3o para rasgar o papel ap\u00f3s cada solicita\u00e7\u00e3o de impress\u00e3o, para que voc\u00ea possa fornecer ao cliente um \u00fanico recibo.<\/p>\n<p>Obviamente, uma solicita\u00e7\u00e3o de impress\u00e3o funciona apenas em um terminal de pagamento que possui uma impressora embutida. Voc\u00ea pode usar estes modelos:<\/p>\n<ul>\n<li>V240m Plus (in Brazil)<\/li>\n<li>V400c Plus<\/li>\n<li>V400m<\/li>\n<\/ul>\n<h2 id=\"print-text\">Imprimir texto<\/h2>\n<p>Para usar o terminal de pagamento para imprimir conte\u00fado de texto:<\/p>\n<ol>\n<li>\n<p>Fa\u00e7a uma solicita\u00e7\u00e3o POST para o <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#endpoints\">endpoint da API de terminais<\/a>, especificando:<\/p>\n<ul>\n<li>\n<p><code>MessageHeader<\/code>: A estrutura da <code>MessageHeader<\/code> padr\u00e3o, explicada nos <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#request-message-header\">fundamentos da API de terminais<\/a>:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimento<\/th>\n<th style=\"text-align: left;\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>ProtocolVersion<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>3.0<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageClass<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Device<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageCategory<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Print<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageType<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Request<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>SaleID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Seu ID exclusivo para a caixa registradora.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ServiceID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Seu ID exclusivo para esta solicita\u00e7\u00e3o, consistindo em 1 a 10 caracteres alfanum\u00e9ricos. Este valor precisa ser exclusivo nas \u00faltimas 48 horas.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>POIID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">ID exclusivo do terminal para o qual voc\u00ea deseja encaminhar esta solicita\u00e7\u00e3o. Formato: <em>[modelo do dispositivo] - [n\u00famero de s\u00e9rie]<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><code>PrintRequest.PrintOutput<\/code>: O corpo da solicita\u00e7\u00e3o com:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimento<\/th>\n<th style=\"text-align: left;\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>DocumentQualifier<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Document<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ResponseMode<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>PrintEnd<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputFormat<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Text<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputText<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Uma matriz com um ou mais itens da matriz contendo o texto que voc\u00ea deseja imprimir.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Cada item <code>OutputText<\/code> da matriz pode ter:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimento<\/th>\n<th style=\"text-align: left;\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>CharacterStyle<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">Valores permitidos: <strong>Normal<\/strong>, <strong>Bold<\/strong>, <strong>Underline<\/strong>. Se n\u00e3o especificado, o padr\u00e3o \u00e9 <strong>Normal<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Alignment<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">Valores permitidos: <strong>Left<\/strong>, <strong>Centred<\/strong>, <strong>Justified<\/strong>, <strong>Right<\/strong>. Se n\u00e3o especificado, o padr\u00e3o \u00e9 <strong>Left<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>EndOfLineFlag<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">Se n\u00e3o especificado, o padr\u00e3o \u00e9 <strong>true<\/strong>. Use <strong>false<\/strong> se desejar que o pr\u00f3ximo item da matriz continue na mesma linha.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Text<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">O texto que voc\u00ea deseja imprimir neste elemento da matriz. Para uma linha em branco, especifique um valor vazio.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>Selecione as abas abaixo para ver como voc\u00ea pode usar os par\u00e2metros para imprimir um recibo (com cabe\u00e7alho, itens de linha e rodap\u00e9) ou um documento (com t\u00edtulo, t\u00edtulos e par\u00e1grafos).<\/p>\n\n<div id=\"tabQuyHz\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Exemplo de recibo&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n  \\&quot;SaleToPOIRequest\\&quot;: {\\n      \\&quot;MessageHeader\\&quot;: {\\n         \\&quot;ProtocolVersion\\&quot;: \\&quot;3.0\\&quot;,\\n         \\&quot;MessageClass\\&quot;: \\&quot;Device\\&quot;,\\n         \\&quot;MessageCategory\\&quot;:\\&quot;Print\\&quot;,\\n         \\&quot;MessageType\\&quot;: \\&quot;Request\\&quot;,\\n         \\&quot;ServiceID\\&quot;: \\&quot;050824\\&quot;,\\n         \\&quot;SaleID\\&quot;: \\&quot;POSSystemID12345\\&quot;,\\n         \\&quot;POIID\\&quot;: \\&quot;V400m-346403161\\&quot;\\n    },\\n    \\&quot;PrintRequest\\&quot;: {\\n      \\&quot;PrintOutput\\&quot;: {\\n        \\&quot;DocumentQualifier\\&quot;: \\&quot;Document\\&quot;,\\n        \\&quot;ResponseMode\\&quot;: \\&quot;PrintEnd\\&quot;,\\n        \\&quot;OutputContent\\&quot;: {\\n          \\&quot;OutputFormat\\&quot;: \\&quot;Text\\&quot;,\\n          \\&quot;OutputText\\&quot;: [\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Bold\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;THIS IS THE TITLE\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: false,\\n              \\&quot;Text\\&quot;: \\&quot;This is key-1\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Right\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;value-1\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: false,\\n              \\&quot;Text\\&quot;: \\&quot;This is key-2\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Right\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;value-2\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: false,\\n              \\&quot;Text\\&quot;: \\&quot;This is key-3\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Right\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;value-3\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;Some explanation about the receipt (# %^&amp;amp; @\\\/: $ \\u00a3 \\u20ac)\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Bold\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;This is the footer\\&quot;\\n            }\\n          ]\\n        }\\n      }\\n    }\\n  }\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;exemplo_de_recibo_0_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Exemplo de documento&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;\\n{\\n  \\&quot;SaleToPOIRequest\\&quot;: {\\n    \\&quot;MessageHeader\\&quot;: {\\n      \\&quot;ProtocolVersion\\&quot;: \\&quot;3.0\\&quot;,\\n      \\&quot;MessageClass\\&quot;: \\&quot;Device\\&quot;,\\n      \\&quot;MessageCategory\\&quot;:\\&quot;Print\\&quot;,\\n      \\&quot;MessageType\\&quot;: \\&quot;Request\\&quot;,\\n      \\&quot;ServiceID\\&quot;: \\&quot;050823\\&quot;,\\n      \\&quot;SaleID\\&quot;: \\&quot;POSSystemID12345\\&quot;,\\n      \\&quot;POIID\\&quot;: \\&quot;V400m-346403161\\&quot;\\n    },\\n    \\&quot;PrintRequest\\&quot;: {\\n      \\&quot;PrintOutput\\&quot;: {\\n        \\&quot;DocumentQualifier\\&quot;: \\&quot;Document\\&quot;,\\n        \\&quot;ResponseMode\\&quot;: \\&quot;PrintEnd\\&quot;,\\n        \\&quot;OutputContent\\&quot;: {\\n          \\&quot;OutputFormat\\&quot;: \\&quot;Text\\&quot;,\\n          \\&quot;OutputText\\&quot;: [\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Bold\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;THIS IS THE TITLE\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Normal\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;This is the subtitle\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Underline\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;This is a heading\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;Normal left-aligned text belonging to the header above.\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Underline\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;Another heading\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;Normal left-aligned text belonging to the header above.\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: false,\\n              \\&quot;Text\\&quot;: \\&quot;This is the key\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Right\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;value\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: false,\\n              \\&quot;Text\\&quot;: \\&quot;This is the key\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Right\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;value\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Justified\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;Normal justified text flush with the left and right margins.\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;For comparison, here you have some normal left-aligned text.\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Bold\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Left\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;This is bold left-aligned text.\\&quot;\\n            },\\n            {\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;\\&quot;\\n            },\\n            {\\n              \\&quot;CharacterStyle\\&quot;: \\&quot;Bold\\&quot;,\\n              \\&quot;Alignment\\&quot;: \\&quot;Centred\\&quot;,\\n              \\&quot;EndOfLineFlag\\&quot;: true,\\n              \\&quot;Text\\&quot;: \\&quot;This is the footer\\&quot;\\n            }\\n          ]\\n        }\\n      }\\n    }\\n  }\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:&quot;exemplo_de_documento_1_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p>Voc\u00ea recebe uma resposta de impress\u00e3o contendo:<\/p>\n<ul>\n<li><code>DocumentQualifier<\/code>: <strong>Document<\/strong><\/li>\n<li><code>Response.Result<\/code>: <strong>Success<\/strong><\/li>\n<\/ul>\n<pre><code class=\"language-json\">{\n    \"SaleToPOIResponse\": {\n        \"PrintResponse\": {\n            \"DocumentQualifier\": \"Document\",\n            \"Response\": {\n                \"Result\": \"Success\"\n            }\n        },\n        \"MessageHeader\": {\n            \"ProtocolVersion\": \"3.0\",\n            \"SaleID\": \"POSSystemID12345\",\n            \"MessageClass\": \"Device\",\n            \"MessageCategory\": \"Print\",\n            \"ServiceID\": \"050823\",\n            \"POIID\": \"V400m-346403161\",\n            \"MessageType\": \"Response\"\n        }\n    }\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<h2 id=\"print-qr-code\">Imprimir um QR code<\/h2>\n<p>Para usar o terminal para imprimir um QR code que o cliente pode digitalizar com seu dispositivo m\u00f3vel:<\/p>\n<ol>\n<li>\n<p>Decida o que o QR code precisa conter.<\/p>\n<ul>\n<li>Apenas um URL: voc\u00ea n\u00e3o precisa fazer nada agora. Voc\u00ea especificar\u00e1 isso como uma sequ\u00eancia de texto na solicita\u00e7\u00e3o de impress\u00e3o.<\/li>\n<li>\n<p>Mais do que um URL: escreva o conte\u00fado e converta-o em uma string codificada em URL.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Fa\u00e7a uma solicita\u00e7\u00e3o POST para o <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#endpoints\">endpoint da API de terminais<\/a>, especificando:<\/p>\n<ul>\n<li>\n<p><code>MessageHeader<\/code>: A estrutura da <code>MessageHeader<\/code> padr\u00e3o, explicada nos <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#request-message-header\">fundamentos da API de terminais<\/a>:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimento<\/th>\n<th style=\"text-align: left;\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>ProtocolVersion<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>3.0<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageClass<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Device<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageCategory<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>Print<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageType<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Request<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>SaleID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Seu ID exclusivo para a caixa registradora.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ServiceID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Seu ID exclusivo para esta solicita\u00e7\u00e3o, consistindo em 1 a 10 caracteres alfanum\u00e9ricos. Este valor precisa ser exclusivo nas \u00faltimas 48 horas.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>POIID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">ID exclusivo do terminal para o qual voc\u00ea deseja encaminhar esta solicita\u00e7\u00e3o. Formato: <em>[modelo do dispositivo] - [n\u00famero de s\u00e9rie]<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><code>PrintRequest.PrintOutput<\/code>: O corpo da solicita\u00e7\u00e3o com:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimento<\/th>\n<th style=\"text-align: left;\">Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>DocumentQualifier<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>CustomerReceipt<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ResponseMode<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>PrintEnd<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputFormat<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>BarCode<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputBarcode.BarcodeType<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>QRCode<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputBarcode.BarcodeValue<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">O conte\u00fado do QR code, especificado como uma sequ\u00eancia de texto ou uma sequ\u00eancia codificada em URL.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'print-qr'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\": {\\n        \\\"MessageHeader\\\": {\\n            \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n            \\\"MessageClass\\\": \\\"Device\\\",\\n            \\\"MessageCategory\\\": \\\"Print\\\",\\n            \\\"MessageType\\\": \\\"Request\\\",\\n            \\\"ServiceID\\\": \\\"050817\\\",\\n            \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n            \\\"POIID\\\": \\\"V400m-346403161\\\"\\n        },\\n        \\\"PrintRequest\\\": {\\n            \\\"PrintOutput\\\": {\\n                \\\"DocumentQualifier\\\": \\\"CustomerReceipt\\\",\\n                \\\"ResponseMode\\\": \\\"PrintEnd\\\",\\n                \\\"OutputContent\\\": {\\n                    \\\"OutputFormat\\\":\\\"BarCode\\\",\\n                    \\\"OutputBarcode\\\": {\\n                        \\\"BarcodeType\\\": \\\"QRCode\\\",\\n                        \\\"BarcodeValue\\\": \\\"https:\\\/\\\/www.adyen.com\\\/pos-payments\\\"\\n                    }\\n                }\\n            }\\n        }\\n    }\\n}\"},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":\"String serviceID = \\\"YOUR_UNIQUE_ATTEMPT_ID\\\";\\nString saleID = \\\"YOUR_CASH_REGISTER_ID\\\";\\nString POIID = \\\"YOUR_TERMINAL_ID\\\";\\n\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nPrintRequest printRequest = new PrintRequest();\\nPrintOutput printOutput = new PrintOutput();\\nprintOutput.setDocumentQualifier( DocumentQualifierType.CUSTOMERRRECEIPT );\\nprintOutput.setResponseMode( ResponseModeType.PRINTEND );\\nOutputContent outputContent = new OutputContent();\\noutputContent.setOutputFormat( OutputFormatType.BARCODE );\\nOutputBarcode outputBarcode = new OutputBarcode();\\noutputBarcode.setBarcodeType( BarcodeTypeType.QRCODE );\\noutputBarcode.setBarcodeValue( \\\"https:\\\/\\\/www.adyen.com\\\/pos-payments\\\" )\\noutputContent.setOutputBarcode(outputBarcode);\\nprintOutput.setOutputContent(outputContent);\\nprintRequest.setPrintOutput(printOutput);\\nsaleToPOIRequest.setPrintRequest(printRequest);\\n\\nMessageHeader messageHeader = new MessageHeader();\\nmessageHeader.setProtocolVersion(\\\"3.0\\\");\\nmessageHeader.setMessageClass( MessageClassType.DEVICE );\\nmessageHeader.setMessageCategory( MessageCategoryType.PRINT );\\nmessageHeader.setMessageType( MessageType.REQUEST );\\nmessageHeader.setServiceID(serviceID);\\nmessageHeader.setSaleID(saleID);\\nmessageHeader.setPOIID(POIID);\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>Voc\u00ea recebe uma resposta de impress\u00e3o contendo:<\/p>\n<ul>\n<li><code>DocumentQualifier<\/code>: <strong>CustomerReceipt<\/strong><\/li>\n<li><code>Response.Result<\/code>: <strong>Success<\/strong><\/li>\n<\/ul>\n<pre><code class=\"language-json\">{\n    \"SaleToPOIResponse\": {\n        \"PrintResponse\": {\n            \"DocumentQualifier\": \"CustomerReceipt\",\n            \"Response\": {\n                \"Result\": \"Success\"\n            }\n        },\n        \"MessageHeader\": {\n            \"ProtocolVersion\": \"3.0\",\n            \"SaleID\": \"POSSystemID12345\",\n            \"MessageClass\": \"Device\",\n            \"MessageCategory\": \"Print\",\n            \"ServiceID\": \"050817\",\n            \"POIID\": \"V400m-346403161\",\n            \"MessageType\": \"Response\"\n        }\n    }\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<h2>Veja tamb\u00e9m<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/shopper-engagement\/display-data\"\n                        target=\"_self\"\n                        >\n                    Exibir dados no terminal\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement\/print-data","articleFields":{"description":"Imprima um recibo, outros textos ou um QR code no terminal, fora do fluxo de pagamento.","last_edit_on":"16-06-2020 18:49"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement\/print-data","title":"Imprimir dados no terminal","content":"Uma solicita\u00e7\u00e3o de impress\u00e3o permite iniciar uma impress\u00e3o no terminal a partir da caixa registradora fora de um pagamento. Voc\u00ea pode imprimir texto ou um QR code que o cliente possa digitalizar com o dispositivo m\u00f3vel.\nAqui est\u00e3o alguns exemplos de como voc\u00ea pode usar solicita\u00e7\u00f5es de impress\u00e3o\n\nNo fluxo pagamento na mesa, imprima a fatura no terminal antes de enviar uma solicita\u00e7\u00e3o de pagamento. Isso permite que os clientes decidam se desejam dividir a conta e como desejam pagar.\nImprima ingressos de entrada em um festival.\nEm um restaurante de servi\u00e7os r\u00e1pidos, imprima um recibo que permita aos clientes receber seus pedidos no balc\u00e3o.\nImprima um QR code com um URL para ingressar no seu programa de fidelidade ou para baixar um aplicativo.\n\nIf you want to combine text and a QR code, you'd need to make two subsequent print requests. N\u00e3o h\u00e1 solicita\u00e7\u00e3o para rasgar o papel ap\u00f3s cada solicita\u00e7\u00e3o de impress\u00e3o, para que voc\u00ea possa fornecer ao cliente um \u00fanico recibo.\nObviamente, uma solicita\u00e7\u00e3o de impress\u00e3o funciona apenas em um terminal de pagamento que possui uma impressora embutida. Voc\u00ea pode usar estes modelos:\n\nV240m Plus (in Brazil)\nV400c Plus\nV400m\n\nImprimir texto\nPara usar o terminal de pagamento para imprimir conte\u00fado de texto:\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o POST para o endpoint da API de terminais, especificando:\n\n\nMessageHeader: A estrutura da MessageHeader padr\u00e3o, explicada nos fundamentos da API de terminais:\n\n\n\nPar\u00e2metro\nRequerimento\nDescri\u00e7\u00e3o\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nDevice\n\n\nMessageCategory\n\nPrint\n\n\nMessageType\n\nRequest\n\n\nSaleID\n\nSeu ID exclusivo para a caixa registradora.\n\n\nServiceID\n\nSeu ID exclusivo para esta solicita\u00e7\u00e3o, consistindo em 1 a 10 caracteres alfanum\u00e9ricos. Este valor precisa ser exclusivo nas \u00faltimas 48 horas.\n\n\nPOIID\n\nID exclusivo do terminal para o qual voc\u00ea deseja encaminhar esta solicita\u00e7\u00e3o. Formato: [modelo do dispositivo] - [n\u00famero de s\u00e9rie].\n\n\n\n\n\n\n\nPrintRequest.PrintOutput: O corpo da solicita\u00e7\u00e3o com:\n\n\n\nPar\u00e2metro\nRequerimento\nDescri\u00e7\u00e3o\n\n\n\n\nDocumentQualifier\n\nDocument\n\n\nResponseMode\n\nPrintEnd\n\n\nOutputContent.OutputFormat\n\nText\n\n\nOutputContent.OutputText\n\nUma matriz com um ou mais itens da matriz contendo o texto que voc\u00ea deseja imprimir.\n\n\n\nCada item OutputText da matriz pode ter:\n\n\n\nPar\u00e2metro\nRequerimento\nDescri\u00e7\u00e3o\n\n\n\n\nCharacterStyle\n\nValores permitidos: Normal, Bold, Underline. Se n\u00e3o especificado, o padr\u00e3o \u00e9 Normal.\n\n\nAlignment\n\nValores permitidos: Left, Centred, Justified, Right. Se n\u00e3o especificado, o padr\u00e3o \u00e9 Left.\n\n\nEndOfLineFlag\n\nSe n\u00e3o especificado, o padr\u00e3o \u00e9 true. Use false se desejar que o pr\u00f3ximo item da matriz continue na mesma linha.\n\n\nText\n\nO texto que voc\u00ea deseja imprimir neste elemento da matriz. Para uma linha em branco, especifique um valor vazio.\n\n\n\n\n\nSelecione as abas abaixo para ver como voc\u00ea pode usar os par\u00e2metros para imprimir um recibo (com cabe\u00e7alho, itens de linha e rodap\u00e9) ou um documento (com t\u00edtulo, t\u00edtulos e par\u00e1grafos).\n\n\n    \n        \n        \n    \n\n\n\n\nVoc\u00ea recebe uma resposta de impress\u00e3o contendo:\n\nDocumentQualifier: Document\nResponse.Result: Success\n\n{\n    \"SaleToPOIResponse\": {\n        \"PrintResponse\": {\n            \"DocumentQualifier\": \"Document\",\n            \"Response\": {\n                \"Result\": \"Success\"\n            }\n        },\n        \"MessageHeader\": {\n            \"ProtocolVersion\": \"3.0\",\n            \"SaleID\": \"POSSystemID12345\",\n            \"MessageClass\": \"Device\",\n            \"MessageCategory\": \"Print\",\n            \"ServiceID\": \"050823\",\n            \"POIID\": \"V400m-346403161\",\n            \"MessageType\": \"Response\"\n        }\n    }\n}\n\n\nImprimir um QR code\nPara usar o terminal para imprimir um QR code que o cliente pode digitalizar com seu dispositivo m\u00f3vel:\n\n\nDecida o que o QR code precisa conter.\n\nApenas um URL: voc\u00ea n\u00e3o precisa fazer nada agora. Voc\u00ea especificar\u00e1 isso como uma sequ\u00eancia de texto na solicita\u00e7\u00e3o de impress\u00e3o.\n\nMais do que um URL: escreva o conte\u00fado e converta-o em uma string codificada em URL.\n\n\n\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o POST para o endpoint da API de terminais, especificando:\n\n\nMessageHeader: A estrutura da MessageHeader padr\u00e3o, explicada nos fundamentos da API de terminais:\n\n\n\nPar\u00e2metro\nRequerimento\nDescri\u00e7\u00e3o\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nDevice\n\n\nMessageCategory\n\nPrint\n\n\nMessageType\n\nRequest\n\n\nSaleID\n\nSeu ID exclusivo para a caixa registradora.\n\n\nServiceID\n\nSeu ID exclusivo para esta solicita\u00e7\u00e3o, consistindo em 1 a 10 caracteres alfanum\u00e9ricos. Este valor precisa ser exclusivo nas \u00faltimas 48 horas.\n\n\nPOIID\n\nID exclusivo do terminal para o qual voc\u00ea deseja encaminhar esta solicita\u00e7\u00e3o. Formato: [modelo do dispositivo] - [n\u00famero de s\u00e9rie].\n\n\n\n\n\n\n\nPrintRequest.PrintOutput: O corpo da solicita\u00e7\u00e3o com:\n\n\n\nPar\u00e2metro\nRequerimento\nDescri\u00e7\u00e3o\n\n\n\n\nDocumentQualifier\n\nCustomerReceipt\n\n\nResponseMode\n\nPrintEnd\n\n\nOutputContent.OutputFormat\n\nBarCode\n\n\nOutputContent.OutputBarcode.BarcodeType\n\nQRCode\n\n\nOutputContent.OutputBarcode.BarcodeValue\n\nO conte\u00fado do QR code, especificado como uma sequ\u00eancia de texto ou uma sequ\u00eancia codificada em URL.\n\n\n\n\n\n\n\n\nVoc\u00ea recebe uma resposta de impress\u00e3o contendo:\n\nDocumentQualifier: CustomerReceipt\nResponse.Result: Success\n\n{\n    \"SaleToPOIResponse\": {\n        \"PrintResponse\": {\n            \"DocumentQualifier\": \"CustomerReceipt\",\n            \"Response\": {\n                \"Result\": \"Success\"\n            }\n        },\n        \"MessageHeader\": {\n            \"ProtocolVersion\": \"3.0\",\n            \"SaleID\": \"POSSystemID12345\",\n            \"MessageClass\": \"Device\",\n            \"MessageCategory\": \"Print\",\n            \"ServiceID\": \"050817\",\n            \"POIID\": \"V400m-346403161\",\n            \"MessageType\": \"Response\"\n        }\n    }\n}\n\n\nVeja tamb\u00e9m\n\n\n                    Exibir dados no terminal\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Shopper engagement","lvl3":"Imprimir dados no terminal"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement","lvl3":"\/pt\/point-of-sale\/shopper-engagement\/print-data"},"levels":4,"category":"In-person payments","category_color":"green","tags":["Imprimir","dados","terminal"]},"articleFiles":{"print-qr.json":"<p alt=\"\">print-qr.json<\/p>"}}
