Point-of-sale icon

Peça por uma seleção de menu

Use uma solicitação para fazer perguntas de múltipla escolha.

Aqui, descrevemos como você pode usar um InputRequest para mostrar um menu com várias opções ou uma pergunta de múltipla escolha e permitir que o usuário selecione uma opção. Você pode usar isso, por exemplo, para criar uma pesquisa de cliente.

Para usar o terminal de pagamento para mostrar um menu com várias opções:

  1. Faça uma solicitação POST para um endpoiont da API de Terminais, especificando:

    • MessageHeader: the standard SaleToPOIRequest.MessageHeader object. Specify:

      Parameter Required Description
      ProtocolVersion -white_check_mark- 3.0
      MessageClass -white_check_mark- Device
      MessageCategory -white_check_mark- Input
      MessageType -white_check_mark- Request
      ServiceID -white_check_mark- Your 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.
      SaleID -white_check_mark- Your unique ID for the system where you send this request from.
      POIID -white_check_mark- The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
    • InputRequest.DisplayOutput: Esta parte do corpo da solicitação define o que é mostrado no terminal:

      Parâmetro Requerimentos Descrição
      Device -white_check_mark- CustomerDisplay
      InfoQualify -white_check_mark- Display
      OutputContent.OutputFormat -white_check_mark- Text
      OutputContent.PredefinedContent.ReferenceID -white_check_mark- MenuButtons
      OutputContent.OutputText -white_check_mark- Uma matriz de um campo Text contendo seu próprio texto para mostrar no terminal. Use para especificar a pergunta ou o nome do menu.
    • InputRequest.MenuEntry: Uma matriz de até 15 itens que representam as opções de escolha. O terminal mostra esses itens como uma lista rolável de caixas que o usuário pode tocar para selecionar. Cada item da matriz tem:

      Parâmetro Requerimentos Descrição
      OutputFormat -white_check_mark- Text
      OutputText -white_check_mark- Uma matriz de três campos Text com seu próprio texto que, juntos, formam a resposta ou opção de menu.
      O primeiro campo Text será exibido em negrito. Use uma string vazia para Text não usados.
      Por exemplo, você pode escrever uma resposta curta no primeiro campo, a resposta longa no segundo campo e não usar o terceiro campo. Ou você pode usar os três campos para o nome do artigo, descrição e rótulo.
    • InputRequest.InputData: Esta parte do corpo da solicitação lida com a entrada do usuário:

      Parâmetro Requerimentos Descrição
      Device -white_check_mark- CustomerInput
      InfoQualify -white_check_mark- Input
      InputCommand -white_check_mark- GetMenuEntry
      MaxInputTime (Integer) Tempo limite em segundos. Este é o momento em que o usuário conclui sua entrada.

    O exemplo a seguir pede ao cliente para responder a uma pergunta da pesquisa..

    Para obter uma lista completa de campos que você pode passar em uma solicitação de entrada de menu, consulte a referência da API Menu InputRequest.

  2. Aguarde até que o usuário forneça a entrada solicitada.

    A entrada fornecida não é validada em um formato.

    • Se a solicitação de entrada expirar, você receberá uma EventNotification com EventDetails: message=Did+not+receive+a+response+from+the+POI.

    • Se você fizer uma solicitação de pagamento enquanto a solicitação de entrada está aguardando a entrada no terminal, a solicitação de pagamento substitui a solicitação de entrada. Você recebe uma InputResponse indicação de que a solicitação de entrada foi fechada.

    • Se o usuário se recusou a responder (selecionou a tecla Cancel ), o InputResult tem Response.Result: Failure e Response.ErrorCondition: Cancel.

    • Se a entrada for recebida do terminal, o InputResponse tem um InputResult com:

      • Input.MenuEntryNumber: que indica a opção que o usuário selecionou. Por exemplo, se a terceira opção foi selecionada, o terceiro item da matriz é 1 e todos os outros itens da matriz são 0.

    Para uma lista completa de campos que você pode receber em uma resposta de entrada de pesquisa, consulte a referência da API Menu InputResponse.

  3. Passe os dados relevantes do InputResult para o seu sistema para validação e uso posterior.

Veja também