Point-of-sale icon

Peça a entrada numérica

Use uma solicitação de entrada para pedir a um cliente uma entrada numérica.

Aqui, descrevemos como você pode usar um InputRequest para pedir ao cliente ou à sua equipe que insira um valor numérico. Você pode usar isso, por exemplo, para obter o número de telefone de um comprador.

Faça uma solicitação de entrada de dígito

Para usar o terminal de pagamento para solicitar entrada numérica:

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

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

    Copy code
    | Parameter | Required | Description |
    | :---- | :----: | :---- |
    | `ProtocolVersion` | | **3.0** |
    | `MessageClass` | | **Device** |
    | `MessageCategory` | | **Input** |
    | `MessageType` | | **Request** |
    | `ServiceID` | | 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` | | Your unique ID for the system where you send this request from. |
    | `POIID` | | 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- GetDigit
      OutputContent.OutputText -white_check_mark- Uma matriz de um campo Text contendo seu próprio texto para mostrar no terminal. Em uma tela de retrato, limitada a cerca de 20 caracteres. Além do texto que você especificar, o terminal mostrará uma instrução sobre como confirmar a entrada.
    • 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- DigitString
      MaxInputTime (Integer) Tempo limite em segundos. Este é o momento em que o usuário conclui sua entrada.
      InputData.DefaultInputString Texto de espaço reservado para a caixa de entrada, para que o usuário saiba qual formato de entrada você está esperando.

    O exemplo a seguir pede ao cliente seu número de telefone.

    Expand view
    Copy link to code block
    Copy code
    Copy code
    {
    "SaleToPOIRequest":{
    "MessageHeader":{
    "ProtocolVersion":"3.0",
    "MessageClass":"Device",
    "MessageCategory":"Input",
    "MessageType":"Request",
    "ServiceID":"040",
    "SaleID":"POSSystemID12345",
    "POIID":"V400m-324688179"
    },
    "InputRequest":{
    "DisplayOutput":{
    "Device":"CustomerDisplay",
    "InfoQualify":"Display",
    "OutputContent":{
    "OutputFormat":"Text",
    "PredefinedContent":{
    "ReferenceID":"GetDigit"
    },
    "OutputText":[
    {
    "Text":"Enter your zip code:"
    }
    ]
    }
    },
    "InputData":{
    "Device":"CustomerInput",
    "InfoQualify":"Input",
    "InputCommand":"DigitString",
    "MaxInputTime":30,
    "DefaultInputString":"e.g. 10003",
    "MaskCharactersFlag": true
    }
    }
    }
    }

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

  1. 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 indicando que a solicitação de entrada foi fechada.

    • Se o usuário se recusou a responder (selecionando a chave Cancel ), o InputResult tem Response.Result: Failure, Response.ErrorCondition: Cancel, e um campo vazio DigitInput.

    • Se a entrada for recebida do terminal, o InputResponse.InputResult contém:

      • Input.DigitInput: Os numerais que o usuário inseriu.
    Exemplo de resposta quando o cliente inseriu um número de telefone
    Expand view
    Copy link to code block
    Copy code
    Copy code
    {
    "SaleToPOIResponse": {
    "InputResponse": {
    "InputResult": {
    "Device": "CustomerInput",
    "InfoQualify": "Input",
    "Response": {
    "Result": "Success",
    "AdditionalResponse": "responseData=%7b%20%20%7d"
    },
    "Input": {
    "DigitInput": "0687164125",
    "InputCommand": "DigitString"
    }
    },
    "OutputResult": {
    "Device": "CustomerDisplay",
    "InfoQualify": "Display",
    "Response": {
    "Result": "Success"
    }
    }
    },
    "MessageHeader": {...}
    }
    }

    Para obter uma lista completa de campos que você pode receber em uma resposta de entrada numérica, consulte a referência da API Digit InputResponse.

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

Veja também