{"title":"Pe\u00e7a por uma sele\u00e7\u00e3o de menu","category":"default","creationDate":1776961627,"content":"<p>Aqui, descrevemos como voc\u00ea pode usar um <code>InputRequest<\/code> para mostrar um menu com v\u00e1rias op\u00e7\u00f5es ou uma pergunta de m\u00faltipla escolha e permitir que o usu\u00e1rio selecione uma op\u00e7\u00e3o. Voc\u00ea pode usar isso, por exemplo, para criar uma pesquisa de cliente.<\/p>\n<h2 id=\"menu-input-request\">Fa\u00e7a uma solicita\u00e7\u00e3o de entrada de menu<\/h2>\n<p>Para usar o terminal de pagamento para mostrar um menu com v\u00e1rias op\u00e7\u00f5es:<\/p>\n<ol>\n<li>\n<p>Fa\u00e7a uma solicita\u00e7\u00e3o POST para um <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#endpoints\">endpoiont da API de Terminais<\/a>, especificando:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#request-message-header\">\n  <code>SaleToPOIRequest.MessageHeader<\/code>\n<\/a> object, with <code>MessageClass<\/code> set to <span translate=\"no\"><strong>Device<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>Input<\/strong><\/span>.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/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;\"><span translate=\"no\"><strong>Device<\/strong><\/span><\/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;\"><span translate=\"no\"><strong>Input<\/strong><\/span><\/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>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;\">Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (<code>POIID<\/code>) being used.<\/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;\">Your unique ID for the system where you send this request from.<\/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;\">The unique ID of the terminal to send this request to. Format: <em>[device model]-[serial number]<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p><code>InputRequest.DisplayOutput<\/code>: Esta parte do corpo da solicita\u00e7\u00e3o define o que \u00e9 mostrado no terminal:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimentos<\/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>Device<\/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>CustomerDisplay<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InfoQualify<\/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>Display<\/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.PredefinedContent.ReferenceID<\/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>MenuButtons<\/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 de um campo <code>Text<\/code> contendo seu pr\u00f3prio texto para mostrar no terminal. Use para especificar a pergunta ou o nome do menu.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p><code>InputRequest.MenuEntry<\/code>: Uma matriz de at\u00e9 15 itens que representam as op\u00e7\u00f5es de escolha. O terminal mostra esses itens como uma lista rol\u00e1vel de caixas que o usu\u00e1rio pode tocar para selecionar. Cada item da matriz tem:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimentos<\/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>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>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 de tr\u00eas campos <code>Text<\/code> com seu pr\u00f3prio texto que, juntos, formam a resposta ou op\u00e7\u00e3o de menu. <br>O primeiro campo <code>Text<\/code> ser\u00e1 exibido em negrito. Use uma string vazia para <code>Text<\/code> n\u00e3o usados. <br>Por exemplo, voc\u00ea pode escrever uma resposta curta no primeiro campo, a resposta longa no segundo campo e n\u00e3o usar o terceiro campo. Ou voc\u00ea pode usar os tr\u00eas campos para o nome do artigo, descri\u00e7\u00e3o e r\u00f3tulo.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p><code>InputRequest.InputData<\/code>: Esta parte do corpo da solicita\u00e7\u00e3o lida com a entrada do usu\u00e1rio:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Par\u00e2metro<\/th>\n<th style=\"text-align: center;\">Requerimentos<\/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>Device<\/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>CustomerInput<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InfoQualify<\/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>Input<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InputCommand<\/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>GetMenuEntry<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MaxInputTime<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">(Integer) Tempo limite em segundos. Este \u00e9 o momento em que o usu\u00e1rio conclui sua entrada.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>O exemplo a seguir pede ao cliente para responder a uma pergunta da pesquisa..<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'shopper-input_3'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Device\\\",\\n            \\\"MessageCategory\\\":\\\"Input\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"0207111104\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-324688179\\\"\\n        },\\n        \\\"InputRequest\\\":{\\n            \\\"DisplayOutput\\\":{\\n                \\\"Device\\\":\\\"CustomerDisplay\\\",\\n                \\\"InfoQualify\\\":\\\"Display\\\",\\n                \\\"OutputContent\\\":{\\n                    \\\"OutputFormat\\\":\\\"Text\\\",\\n                    \\\"PredefinedContent\\\":{\\n                        \\\"ReferenceID\\\":\\\"MenuButtons\\\"\\n                    },\\n                    \\\"OutputText\\\":[\\n                        {\\n                            \\\"Text\\\":\\\"How was your visit?\\\"\\n                        },\\n                        {\\n                            \\\"Text\\\":\\\"Please tap one of the options below:\\\"\\n                        }\\n                    ]\\n                },\\n                \\\"MenuEntry\\\":[\\n                    {\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            {\\n                                \\\"Text\\\":\\\"Excellent\\\"\\n                            }\\n                        ]\\n                    },\\n                    {\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            {\\n                                \\\"Text\\\":\\\"Good\\\"\\n                            }\\n                        ]\\n                    },\\n                    {\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            {\\n                                \\\"Text\\\":\\\"Not so good\\\"\\n                            }\\n                        ]\\n                    },\\n                    {\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            {\\n                                \\\"Text\\\":\\\"Bad\\\"\\n                            }\\n                        ]\\n                    }\\n                ]\\n            },\\n            \\\"InputData\\\":{\\n                \\\"Device\\\":\\\"CustomerInput\\\",\\n                \\\"InfoQualify\\\":\\\"Input\\\",\\n                \\\"InputCommand\\\":\\\"GetMenuEntry\\\",\\n                \\\"MaxInputTime\\\":120\\n            }\\n        }\\n    }\\n}\"},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":\"SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nInputRequest inputRequest = new InputRequest();\\nDisplayOutput displayOutput = new DisplayOutput();\\ndisplayOutput.setDevice( DeviceType.CUSTOMER_DISPLAY );\\ndisplayOutput.setInfoQualify( InfoQualifyType.DISPLAY );\\nOutputContent outputContent = new OutputContent();\\noutputContent.setOutputFormat( OutputFormatType.TEXT );\\nPredefinedContent predefinedContent = new PredefinedContent();\\npredefinedContent.setReferenceID(\\\"MenuButtons\\\");\\noutputContent.setPredefinedContent(predefinedContent);\\nOutputText headerLine1 = new OutputText();\\nheaderLine1.setText(\\\"How was your visit?\\\");\\nOutputText headerLine2 = new OutputText();\\nheaderLine2.setText(\\\"Please tap one of the options below:\\\");\\noutputContent.getOutputText().add(headerLine1);\\noutputContent.getOutputText().add(headerLine2);\\ndisplayOutput.setOutputContent(outputContent);\\n\\nMenuEntry menuEntry1 = new MenuEntry();\\nmenuEntry1.setOutputFormat( OutputFormatType.TEXT );\\nOutputText option1Line1 = new OutputText();\\noption1Line1.setText(\\\"Excellent\\\");\\nmenuEntry1.getOutputText().add(option1Line1);\\ndisplayOutput.getMenuEntry().add(menuEntry1);\\n\\nMenuEntry menuEntry2 = new MenuEntry();\\nmenuEntry2.setOutputFormat( OutputFormatType.TEXT );\\nOutputText option2Line1 = new OutputText();\\noption2Line1.setText(\\\"Good\\\");\\nmenuEntry2.getOutputText().add(option2Line1);\\ndisplayOutput.getMenuEntry().add(menuEntry2);\\n\\nMenuEntry menuEntry3 = new MenuEntry();\\nmenuEntry3.setOutputFormat( OutputFormatType.TEXT );\\nOutputText option3Line1 = new OutputText();\\noption3Line1.setText(\\\"Not so good\\\");\\nmenuEntry3.getOutputText().add(option3Line1);\\ndisplayOutput.getMenuEntry().add(menuEntry3);\\n\\nMenuEntry menuEntry4 = new MenuEntry();\\nmenuEntry4.setOutputFormat( OutputFormatType.TEXT );\\nOutputText option4Line1 = new OutputText();\\noption4Line1.setText(\\\"Bad\\\");\\nmenuEntry4.getOutputText().add(option4Line1);\\ndisplayOutput.getMenuEntry().add(menuEntry4);\\n\\ninputRequest.setDisplayOutput(displayOutput);\\n\\nInputData inputData = new InputData();\\ninputData.setDevice( DeviceType.CUSTOMER_INPUT );\\ninputData.setInfoQualify( InfoQualifyType.INPUT );\\ninputData.setInputCommand( InputCommandType.GET_MENU_ENTRY );\\ninputData.setMaxInputTime( BigInteger.valueOf(120) );\\ninputRequest.setInputData(inputData);\\nsaleToPOIRequest.setInputRequest(inputRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div class=\"sc-notice info\"><div>\n<p>Para obter uma lista completa de campos que voc\u00ea pode passar em uma solicita\u00e7\u00e3o de entrada de menu, consulte a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/input\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">InputRequest<\/a>.<\/p>\n<\/div><\/div>\n<\/li>\n<li>\n<p>Aguarde at\u00e9 que o usu\u00e1rio forne\u00e7a a entrada solicitada.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>A entrada fornecida n\u00e3o \u00e9 validada em um formato.<\/p>\n<\/div><\/div>\n<ul>\n<li>\n<p>Se a solicita\u00e7\u00e3o de entrada expirar, voc\u00ea receber\u00e1 uma <a href=\"\/pt\/point-of-sale\/design-your-integration\/notifications\/event-notifications\">\n  <code>EventNotification<\/code>\n<\/a> com <code>EventDetails<\/code>: <strong>message=Did+not+receive+a+response+from+the+POI.<\/strong><\/p>\n<\/li>\n<li>\n<p>Se voc\u00ea fizer uma solicita\u00e7\u00e3o de pagamento enquanto a solicita\u00e7\u00e3o de entrada est\u00e1 aguardando a entrada no terminal, a solicita\u00e7\u00e3o de pagamento substitui a solicita\u00e7\u00e3o de entrada. Voc\u00ea recebe uma <code>InputResponse<\/code> indica\u00e7\u00e3o de que a solicita\u00e7\u00e3o de entrada foi fechada.<\/p>\n<\/li>\n<li>\n<p>Se o usu\u00e1rio se recusou a responder (selecionou a tecla <strong>Cancel<\/strong> <strong><img alt=\"\" src=\"\/images\/6\/2\/0\/e\/0\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\" \/><\/strong>), o  <code>InputResult<\/code> tem <code>Response.Result<\/code>: <strong>Failure<\/strong> e <code>Response.ErrorCondition<\/code>: <strong>Cancel<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Se a entrada for recebida do terminal, o <code>InputResponse<\/code> tem um <code>InputResult<\/code> com:<\/p>\n<ul>\n<li><code>Input.MenuEntryNumber<\/code>: que indica a op\u00e7\u00e3o que o usu\u00e1rio selecionou. Por exemplo, se a terceira op\u00e7\u00e3o foi selecionada, o terceiro item da matriz \u00e9 <code>1<\/code> e todos os outros itens da matriz s\u00e3o <code>0<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Exemplo de resposta quando o cliente selecionou uma op\u00e7\u00e3o'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"SaleToPOIResponse\\\": {\\n    \\\"InputResponse\\\": {\\n      \\\"InputResult\\\": {\\n        \\\"Device\\\": \\\"CustomerInput\\\",\\n        \\\"InfoQualify\\\": \\\"Input\\\",\\n        \\\"Response\\\": {\\n          \\\"Result\\\": \\\"Success\\\"\\n        },\\n        \\\"Input\\\": {\\n          \\\"MenuEntryNumber\\\": [\\n            0,\\n            0,\\n            1,\\n            0,\\n            0\\n          ],\\n          \\\"InputCommand\\\": \\\"GetMenuEntry\\\"\\n        }\\n      },\\n      \\\"OutputResult\\\": {\\n        \\\"Device\\\": \\\"CustomerDisplay\\\",\\n        \\\"InfoQualify\\\": \\\"Display\\\",\\n        \\\"Response\\\": {\\n          \\\"Result\\\": \\\"Success\\\"\\n        }\\n      }\\n    },\\n    \\\"MessageHeader\\\": {\\n      \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n      \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n      \\\"MessageClass\\\": \\\"Device\\\",\\n      \\\"MessageCategory\\\": \\\"Input\\\",\\n      \\\"ServiceID\\\": \\\"0207111104\\\",\\n      \\\"POIID\\\": \\\"V400m-324688179\\\",\\n      \\\"MessageType\\\": \\\"Response\\\"\\n    }\\n  }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<div class=\"sc-notice info\"><div>\n<p>Para uma lista completa de campos que voc\u00ea pode receber em uma resposta de entrada de pesquisa, consulte a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/input#responses-200\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">InputResponse<\/a>.<\/p>\n<\/div><\/div>\n<\/li>\n<li>\n<p>Passe os dados relevantes do <code>InputResult<\/code> para o seu sistema para valida\u00e7\u00e3o e uso posterior.<\/p>\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\/shopper-input\/cancel-input\"\n                        target=\"_self\"\n                        >\n                    Cancelar um pedido de entrada\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/confirmation\"\n                        target=\"_self\"\n                        >\n                    Pe\u00e7a confirma\u00e7\u00e3o\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/signature\"\n                        target=\"_self\"\n                        >\n                    Pe\u00e7a uma assinatura\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/digit\"\n                        target=\"_self\"\n                        >\n                    Pe\u00e7a a entrada num\u00e9rica\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/text\"\n                        target=\"_self\"\n                        >\n                    Pe\u00e7a entrada de texto\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement\/shopper-input\/menu","articleFields":{"description":"Use uma solicita\u00e7\u00e3o para fazer perguntas de m\u00faltipla escolha.","last_edit_on":"28-01-2021 01:21"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement\/shopper-input\/menu","title":"Pe\u00e7a por uma sele\u00e7\u00e3o de menu","content":"Aqui, descrevemos como voc\u00ea pode usar um InputRequest para mostrar um menu com v\u00e1rias op\u00e7\u00f5es ou uma pergunta de m\u00faltipla escolha e permitir que o usu\u00e1rio selecione uma op\u00e7\u00e3o. Voc\u00ea pode usar isso, por exemplo, para criar uma pesquisa de cliente.\nFa\u00e7a uma solicita\u00e7\u00e3o de entrada de menu\nPara usar o terminal de pagamento para mostrar um menu com v\u00e1rias op\u00e7\u00f5es:\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o POST para um endpoiont da API de Terminais, especificando:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Device and MessageCategory set to Input.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nDevice\n\n\nMessageCategory\n\nInput\n\n\nMessageType\n\nRequest\n\n\nServiceID\n\nYour unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.\n\n\nSaleID\n\nYour unique ID for the system where you send this request from.\n\n\nPOIID\n\nThe unique ID of the terminal to send this request to. Format: [device model]-[serial number].\n\n\n\n\n\n\n\nInputRequest.DisplayOutput: Esta parte do corpo da solicita\u00e7\u00e3o define o que \u00e9 mostrado no terminal:\n\n\n\nPar\u00e2metro\nRequerimentos\nDescri\u00e7\u00e3o\n\n\n\n\nDevice\n\nCustomerDisplay\n\n\nInfoQualify\n\nDisplay\n\n\nOutputContent.OutputFormat\n\nText\n\n\nOutputContent.PredefinedContent.ReferenceID\n\nMenuButtons\n\n\nOutputContent.OutputText\n\nUma matriz de um campo Text contendo seu pr\u00f3prio texto para mostrar no terminal. Use para especificar a pergunta ou o nome do menu.\n\n\n\n\n\nInputRequest.MenuEntry: Uma matriz de at\u00e9 15 itens que representam as op\u00e7\u00f5es de escolha. O terminal mostra esses itens como uma lista rol\u00e1vel de caixas que o usu\u00e1rio pode tocar para selecionar. Cada item da matriz tem:\n\n\n\nPar\u00e2metro\nRequerimentos\nDescri\u00e7\u00e3o\n\n\n\n\nOutputFormat\n\nText\n\n\nOutputText\n\nUma matriz de tr\u00eas campos Text com seu pr\u00f3prio texto que, juntos, formam a resposta ou op\u00e7\u00e3o de menu. O primeiro campo Text ser\u00e1 exibido em negrito. Use uma string vazia para Text n\u00e3o usados. Por exemplo, voc\u00ea pode escrever uma resposta curta no primeiro campo, a resposta longa no segundo campo e n\u00e3o usar o terceiro campo. Ou voc\u00ea pode usar os tr\u00eas campos para o nome do artigo, descri\u00e7\u00e3o e r\u00f3tulo.\n\n\n\n\n\nInputRequest.InputData: Esta parte do corpo da solicita\u00e7\u00e3o lida com a entrada do usu\u00e1rio:\n\n\n\nPar\u00e2metro\nRequerimentos\nDescri\u00e7\u00e3o\n\n\n\n\nDevice\n\nCustomerInput\n\n\nInfoQualify\n\nInput\n\n\nInputCommand\n\nGetMenuEntry\n\n\nMaxInputTime\n\n(Integer) Tempo limite em segundos. Este \u00e9 o momento em que o usu\u00e1rio conclui sua entrada.\n\n\n\n\n\nO exemplo a seguir pede ao cliente para responder a uma pergunta da pesquisa..\n\n\n\n\nPara obter uma lista completa de campos que voc\u00ea pode passar em uma solicita\u00e7\u00e3o de entrada de menu, consulte a  InputRequest.\n\n\n\nAguarde at\u00e9 que o usu\u00e1rio forne\u00e7a a entrada solicitada.\n\nA entrada fornecida n\u00e3o \u00e9 validada em um formato.\n\n\n\nSe a solicita\u00e7\u00e3o de entrada expirar, voc\u00ea receber\u00e1 uma \n  EventNotification\n com EventDetails: message=Did+not+receive+a+response+from+the+POI.\n\n\nSe voc\u00ea fizer uma solicita\u00e7\u00e3o de pagamento enquanto a solicita\u00e7\u00e3o de entrada est\u00e1 aguardando a entrada no terminal, a solicita\u00e7\u00e3o de pagamento substitui a solicita\u00e7\u00e3o de entrada. Voc\u00ea recebe uma InputResponse indica\u00e7\u00e3o de que a solicita\u00e7\u00e3o de entrada foi fechada.\n\n\nSe o usu\u00e1rio se recusou a responder (selecionou a tecla Cancel ), o  InputResult tem Response.Result: Failure e Response.ErrorCondition: Cancel.\n\n\nSe a entrada for recebida do terminal, o InputResponse tem um InputResult com:\n\nInput.MenuEntryNumber: que indica a op\u00e7\u00e3o que o usu\u00e1rio selecionou. Por exemplo, se a terceira op\u00e7\u00e3o foi selecionada, o terceiro item da matriz \u00e9 1 e todos os outros itens da matriz s\u00e3o 0.\n\n\n\n\n\n\n\nPara uma lista completa de campos que voc\u00ea pode receber em uma resposta de entrada de pesquisa, consulte a  InputResponse.\n\n\n\nPasse os dados relevantes do InputResult para o seu sistema para valida\u00e7\u00e3o e uso posterior.\n\n\nVeja tamb\u00e9m\n\n\n                    Cancelar um pedido de entrada\n                \n                    Pe\u00e7a confirma\u00e7\u00e3o\n                \n                    Pe\u00e7a uma assinatura\n                \n                    Pe\u00e7a a entrada num\u00e9rica\n                \n                    Pe\u00e7a entrada de texto\n                \n","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Shopper engagement","lvl3":"Coletar informa\u00e7\u00f5es","lvl4":"Pe\u00e7a por uma sele\u00e7\u00e3o de menu"},"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":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-engagement\/shopper-input","lvl4":"\/pt\/point-of-sale\/shopper-engagement\/shopper-input\/menu"},"levels":5,"category":"In-person payments","category_color":"green","tags":["Pe\u00e7a","sele\u00e7\u00e3o"]},"articleFiles":{"screen-EN_GetMenu_portrait-small.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_GetMenu_portrait-small.png\" \/>","screen-EN_GetMenu_portrait.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_GetMenu_portrait.png\" \/>","screen-EN_MenuMultilineButton_landscape.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_MenuMultilineButton_landscape.png\" \/>","screen-EN_MenuMultilineButton_portrait-small.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_MenuMultilineButton_portrait-small.png\" \/>","screen-EN_MenuMultilineButton_portrait.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_MenuMultilineButton_portrait.png\" \/>","screen-EN_MenuSecondaryText_landscape.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_MenuSecondaryText_landscape.png\" \/>","screen-EN_MenuSecondaryText_portrait.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen-EN_MenuSecondaryText_portrait.png\" \/>","screen_EN_GetMenu_landscape.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen_EN_GetMenu_landscape.png\" \/>","screen_EN_MenuSecondaryText_portrait-small.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/07.menu\/screen_EN_MenuSecondaryText_portrait-small.png\" \/>","shopper-input_3.json":"<p alt=\"\">shopper-input_3.json<\/p>"}}
