# Métodos e parâmetros

Esta referência lista os métodos do POS Integrado e seus parâmetros. É uma consulta rápida para desenvolvedores; para fluxos passo a passo, use o guia de [Início rápido](/pt/integrated-pos/first-steps-pos/quickstart-integrated-pos) e os guias de [pagamento](/pt/integrated-pos/pos-payment-guides/single-step-payment) ou [operacionais](/pt/integrated-pos/operational-guides/get-reports).

## O que são esses métodos

O POS Integrado expõe métodos de **gerenciamento da conexão** (CreateHttp, CreateUsb, CreateCloud, Polling, GetInfo, Close) e métodos de **operação do dispositivo** (Sale, Refund, PreAuth, GetReports, Shift, GetLastVoucher etc.). Todas as operações do dispositivo são invocadas em uma instância de **Connector** retornada por um dos métodos Create. Somente uma operação por vez pode estar em andamento por Connector. Os nomes e os tipos dos parâmetros podem variar um pouco conforme o SDK (.NET, Kotlin, JavaScript/TypeScript).

<Callout type="warning">

Somente uma operação do dispositivo pode estar em andamento por Connector a cada momento. Aguarde a resposta (ou o erro) antes de enviar o próximo comando. Consulte [Connector e fluxos de comunicação](/pt/integrated-pos/core-concepts-pos/connector-communication-flows).

</Callout>

## Métodos de criação do Connector

As tabelas a seguir descrevem os métodos de criação do Connector:

### CreateHttp

Cria um Connector usando HTTP (Wi-Fi ou Ethernet).

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| hostname | String | Sim | Nome de host, IPv4 ou IPv6 do dispositivo POS. |
| port | int | Não | Porta remota (8080 por padrão). |
| setupParams | HashMap&lt;String, String> | Não | Configuração do terminal. Se usar, consulte o comportamento de reconexão. |

### CreateUsb

Cria um Connector usando USB (serial).

| Parâmetro | Tipo | Obrigatório | Descrição | Disponibilidade |
| :--- | :--- | :--- | :--- | :--- |
| address | String | Sim | Endereço da porta serial (por exemplo, COM3, /dev/ttyACM0). | .NET |
| usbDevice | UsbDevice | Sim | Objeto de dispositivo USB do Android. | Kotlin |
| setupParams | HashMap&lt;String, String> | Não | Configuração do terminal. Se usar, consulte o comportamento de reconexão. | Kotlin |

<Callout type="note">

É obrigatório exatamente um entre `address` (.NET) e `usbDevice` (Kotlin), conforme a plataforma. Se usar `setupParams`, consulte a seção do fluxo de reconexão para mais detalhes.

</Callout>

### CreateCloud

Cria um Connector que alcança um terminal remoto pela nuvem da Getnet. Não é necessário informar nome de host nem porta; a nuvem roteia cada comando para o terminal registrado.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| setupParams | HashMap&lt;String, String> | Não | Configuração do terminal. Se usar, consulte o comportamento de reconexão. |

<Callout type="note">

`CreateCloud` está disponível nas bibliotecas Kotlin e JavaScript/TypeScript. Se usar `setupParams`, consulte a seção do fluxo de reconexão para mais detalhes.

</Callout>

### Close

Libera todos os recursos em memória. Depois de chamar essa função, você não consegue reutilizar o objeto connector. Nenhum parâmetro é esperado.

## Gerenciamento da conexão

As tabelas a seguir descrevem os métodos de gerenciamento da conexão:

### Polling

Valida a conectividade e se o terminal está pronto. Você deve chamá-lo antes das operações do dispositivo.

**Parâmetros:** nenhum.

**Retorno:**

| Parâmetro | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `Connected` | Bool | Indica se o terminal está conectado e responde. |

### GetInfo

Recupera informações do dispositivo e do comércio no POS (modelo, série, rede, identificadores do comércio). É útil para validação ou diagnóstico.

**Parâmetros:** nenhum.

**Retorno:**

| Parâmetro | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `LegalName` | String | Razão social do comércio. |
| `CommerceCuit` | String | Identificação do comércio (CUIT, CNPJ ou Rut). |
| `CommerceNumber` | String | Identificação do vendedor (sellerCode). |
| `BranchNumber` | String | Código da filial (número de identificação). |
| `BranchName` | String | Razão social da filial. |
| `LittleBranchName` | String | Nome abreviado da filial. |
| `BranchAddress` | String | Endereço completo do comércio. |
| `BranchDistrict` | String | Cidade ou distrito do comércio. |
| `TerminalId` | String | Identificação lógica do terminal (terminalCode). |
| `SerialNumber` | String | Número de série físico do terminal. |
| `TerminalModel` | String | Nome do modelo do terminal. |
| `OS` | String | Versão do Android ou do SDK do terminal. |
| `EmvModule` | String | Versão do módulo EMV. |
| `AppVersionName` | String | Versão da aplicação de pagamento. |
| `CommunicationUrl` | String | Endereço de comunicação dos terminais. |
| `PrimaryIP` | String | Número de IP atual do terminal. |
| `Company` | String | Nome da operadora de rede móvel (se usar SIM). |
| `Apn` | String | Nome do ponto de acesso (APN) do SIM. |
| `SimId` | String | Identificador do SIM (ICCID). |
| `CommunicationType` | String | Tipo de conexão de rede (por exemplo, Wi-Fi, USB, HTTP). |
| `Wifi` | String | Nome da rede Wi-Fi conectada. |
| `CertificateStatus` | Boolean | True se o certificado do SDK é válido. |
| `TipEnabled` | Boolean | True se a digitação de gorjeta está habilitada. |
| `Receipt` | Boolean | True se a impressão ou o conteúdo do recibo está habilitado. |
| `Salesperson` | Boolean | True se a digitação do código de vendedor está habilitada. |
| `InstallmentsCommerce` | Boolean | True se os planos de parcelamento do comércio estão habilitados. |
| `IssuerInstallments` | Boolean | True se os planos de parcelamento do emissor estão habilitados. |

## Operações do dispositivo

As tabelas a seguir descrevem as operações do dispositivo:

### Sale

Executa um pagamento (em passo único, parcelado ou com QR Code).

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| Amount | Long | Não | Valor da transação (os 2 últimos dígitos são decimais). |
| SaleType | Enum | Não | Card, QrCode. |
| PrintOnPos | Bool | Não | Imprime o recibo no POS. |
| EmployeeId | Int | Não | ID do garçom. |
| Tip | Long | Não | Valor da gorjeta. Não suportado para QR. |
| Installments | Int | Não | Número de parcelas. |
| SkipReceipt | Bool | Não | Ignora o recibo do cliente. |
| SkipConfirmation | Bool | Não | Ignora a tela de confirmação. |
| PlanId | String | Não | Plano de parcelamento. |
| Interest | Enum | Não | OnPosSelection, Interest, NoInterest. |
| OperationMode | Enum | Não | `CalculatedGetnet` (o terminal calcula) ou `CalculatedISV` (sua aplicação calcula). Se omitido, o valor padrão é `CalculatedGetnet`. |
| CallerId | String | Não | ID gerado pelo sistema de automação (máx. 100 caracteres), necessário para consultar a transação depois com o Check Status. Não são permitidos caracteres especiais nem Unicode. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `CommerceCode` | String | Código único de filial aprovado pela Getnet. |
| `TerminalId` | String | Identificação lógica do terminal. |
| `AuthorizationCode` | String | Código de autorização da transação. |
| `Amount` | Long | Valor final cobrado na moeda local. |
| `Last4Digits` | String | Os quatro últimos dígitos do cartão do cliente. |
| `CardType` | String | Tipo de cartão usado. |
| `AccountingDate` | String | Data e hora da transação em GMT (pode retornar valores padrão se for nula). |
| `CardBrand` | String | Bandeira do cartão usada na transação. |
| `RealDate` | Date | Data e hora da transação no horário local (pode retornar valores padrão se for nula). |
| `EmployeeId` | Int | ID do garçom ou funcionário. |
| `Tip` | Long | Valor da gorjeta incluído na venda. |
| `SaleType` | Enum | Card ou QR Code. |
| `ReceiptContent` | Dict | Dados padronizados do recibo se `PrintOnPos` for false. Consulte [Objeto ReceiptContent](#objeto-receiptcontent). |
| `PlanId` | String | O plano de parcelamento selecionado (presente quando aplicável). |
| `Interest` | Enum | Indica se houve aplicação de juros (presente quando aplicável). |
| `OperationMode` | Enum | `CalculatedGetnet` ou `CalculatedISV`. Pode ser omitido ou assumir o valor padrão se não for enviado. |
| `OriginalAmount` | Long | Valor inicial antes dos ajustes (presente quando aplicável). |
| `Installments` | Int | Número de parcelas usado (presente quando aplicável). |
| `CallerId` | String | ID gerado pelo sistema de automação (máx. 100 caracteres). |
| `CardBin` | String | Os oito primeiros dígitos do cartão do cliente (máx. 8). |

### Refund

Executa um reembolso (cancelamento).

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| AuthorizationCode | String | Não | Código de autorização da transação original (6 dígitos). |
| OriginTransDate | Date | Não | Data da transação original, no formato ISO8601 com fuso horário. Não pode ser posterior à data atual. |
| Amount | Long | Não | Valor do reembolso (reembolsos parciais são suportados). |
| SkipConfirmation | Bool | Não | Ignora a tela de confirmação. |
| SkipReceipt | Bool | Não | Não imprime o recibo do cliente. |
| PrintOnPos | Bool | Não | Imprime no POS ou retorna o conteúdo na resposta. |
| RefundType | Enum | Não | Especifica qual parte de uma venda é reembolsada: `SaleWithdrawal`, `Sale` ou `Withdrawal`. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `CommerceCode` | String | Código único de estabelecimento aprovado pela Getnet. |
| `TerminalId` | String | Identificação lógica do terminal. |
| `AuthorizationCode` | String | Código de autorização da operação de reembolso. |
| `NsuLastSuccessfulMessage` | String | NSU da última mensagem bem-sucedida. |
| `ReceiptContent` | Dict | Objetos de dados padronizados do recibo; fornecidos se `PrintOnPos` for false. Consulte [Objeto ReceiptContent](#objeto-receiptcontent). |

### GetLastVoucher

Recupera ou reimprime o comprovante da última transação.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `PrintOnPos` | Boolean | Não | Imprime no POS ou retorna o conteúdo. |
| `SkipReceipt` | Boolean | Não | Se `PrintOnPos` for true: não imprime o recibo do cliente. Por padrão é false. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `ReceiptContent` | Dict | Objetos de dados padronizados do recibo se `PrintOnPos` for false. Consulte [Objeto ReceiptContent](#objeto-receiptcontent). |

> Se a última operação foi do tipo Relatório (Totals, Detailed, Shift), não há comprovante disponível para reimpressão. Uma mensagem indicando esse cenário é retornada.

### GetReports

Recupera o relatório Totals, Detailed ou Shift.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `Type` | Enum | Sim | `Totals`, `Detailed` ou `Shift`. |
| `PrintOnPos` | Boolean | Não | Imprime no POS ou retorna o conteúdo na resposta. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `ReportDetails` | Dict | Dados estruturados fornecidos se `PrintOnPos` for false. O conteúdo varia conforme o `Type`. |

#### ReportDetails (Totals)

Uma visão resumida de todas as operações, agrupada em objetos por tipo de operação mais um objeto global `operationTotals`.

**Objetos por operação** — `debitOperation`, `creditOperation`, `qrcodeCreditOperation`, `qrcodeDebitOperation`, `qrcodePrePaidOperation`, `devolutionOperation`, `prePaidOperation` e `qrcodeOperation`. Cada um contém:

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `quantity` | String | Número de transações. |
| `amount` | String | Valor total. |
| `amountSalesDiscounted` | String | Valor total das vendas com desconto. |
| `refundsAmount` | String | Valor total dos reembolsos. |
| `salesCancelledQuantity` | String | Número de vendas canceladas. |
| `listOperation` | String | Lista de objetos Operation (consulte [ReportDetails (Detailed)](#reportdetails-detailed)). |

**Objeto `operationTotals`** — totais globais de todas as operações:

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `salesAmount` | String | Valor total das vendas. |
| `salesQuantity` | String | Número de vendas. |
| `refundsAmount` | String | Valor total dos reembolsos. |
| `refundsQuantity` | String | Número de reembolsos. |
| `tipAmount` | String | Valor total das gorjetas. |
| `tipQuantity` | String | Número de gorjetas. |
| `qrPctAmount` | String | Valor total dos QR Codes. |
| `qrPctQuantity` | String | Número de QR Codes. |
| `totalCredit` | String | Valor total das vendas no crédito. |
| `totalDebit` | String | Valor total das vendas no débito. |
| `totalPrepaid` | String | Valor total das vendas no pré-pago. |

#### ReportDetails (Detailed)

Uma lista de operações individuais.

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `authorizationCode` | String | Código de autorização da transação. |
| `paymentId` | String | Identificador único interno do pagamento. |
| `opReasonMessageStatus` | String | Mensagem de status da operação. |
| `timestamp` | Date | Data e hora da transação (ISO8601). |
| `brandType` | String | Bandeira do cartão usada. |
| `cardLastNumber` | String | Últimos 4 dígitos do cartão. |
| `operationValue` | Long | Valor da operação. |
| `operation` | Enum | Tipo de operação: crédito, débito, voucher, QR Code, cancelamento ou reembolso. |

> Solicite os relatórios ao menos **2 minutos** após a última venda ou troca de turno para garantir a sincronização dos dados.

### Shift

Configuração de turnos, troca de turno ou consulta do total de turnos.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `ShiftOperation` | Enum | Sim | `Configuration` (configuração), `Change` ou `GetShifts`. |
| `NumberOfShifts` | Int | Condicional | **Obrigatório somente** para `Configuration`, para definir o total de turnos (máx. 2 dígitos). |
| `SkipConfirmation` | Boolean | Não | Ignora a tela de confirmação da troca de turno. |
| `PrintOnPos` | Boolean | Não | Imprime os dados do turno no terminal. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `TotalOfShifts` | Int | Total de turnos atual. |
| `ReportDetails` | String | Fornecido **somente** se `PrintOnPos` for false e `ShiftOperation` for `Change`. |

### PreAuth

Gerencia o ciclo de vida da pré-autorização (Create, Modify, Remove, Confirm, Retrieve).

**Parâmetros:**

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `Operation` | Enum | Sim | `Create`, `Modify`, `Remove`, `Confirm`, `Retrieve`. |
| `ReservationCode` | String | Não | Necessário para `Modify`, `Remove` ou `Confirm` (máx. 5 caracteres). É opcional, mas **deve ser único** se você o enviar; o sistema de automação é responsável pela unicidade. Chama-se `reservationId` no SDK. |
| `AuthorizationCode` | String | Condicional | É exigido um código válido para identificar a transação que você vai modificar (6 dígitos). |
| `OriginalTransactionDate` | Date | Condicional | Obrigatório para identificar a pré-autorização em `Modify`, `Remove` ou `Confirm`. No formato ISO8601 com fuso horário. |
| `Amount` | Long | Não | Valor na moeda local, com os 2 últimos dígitos como decimais (máx. 9 dígitos). |
| `PlanId` | String | Não | ID do plano de parcelamento (Argentina). |
| `Installments` | Int | Não | Número de parcelas. |
| `Filters` | Object | Não | Critérios de busca (somente para `Retrieve`). Consulte [Filtros de PreAuth](#filtros-de-preauth). |
| `PrintOnPos` | Bool | Não | Imprime o recibo no POS ou o retorna na resposta. |
| `SkipReceipt` | Bool | Não | Não imprime o recibo do cliente. |
| `SkipConfirmation` | Bool | Não | Ignora a tela de confirmação. |
| `CallerId` | String | Não | ID gerado pelo sistema de automação (máx. 100 caracteres). É necessário para consultar depois uma transação `Create` com o Check Status. Não são permitidos caracteres especiais nem Unicode. |

#### Filtros de PreAuth

Usado somente quando `Operation` é `Retrieve`.

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `InitialDate` | Date | Limite inicial para recuperar pré-autorizações pendentes, no formato ISO8601 com fuso horário (padrão: a data atual). Não pode ser posterior à data atual nem a `FinalDate`. |
| `FinalDate` | Date | Limite final, no formato ISO8601 com fuso horário (padrão: a data atual). Não pode ser posterior à data atual nem anterior a `InitialDate`. |
| `AuthorizationCode` | String | Filtra por um código de autorização específico (6 dígitos). |
| `ReservationCode` | String | Filtra por um código de reserva específico (máx. 5 caracteres). |
| `Last4CardDigits` | String | Filtra pelos últimos 4 dígitos do cartão. |
| `CardBrand` | Int | Filtra por bandeira do cartão: `0` = ALL (padrão), `1` = Visa, `2` = MasterCard, `3` = Amex. |

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado (por exemplo, "APPROVED"). |
| `AuthorizationCode` | String | Código de autorização da transação. |
| `Amount` | Long | Valor final na moeda local. |
| `OriginalAmount` | Long | Valor antes de qualquer ajuste. |
| `PlanId` | String | O plano de parcelamento selecionado. |
| `Installments` | Int | Número de parcelas. |
| `Last4Digits` | String | Últimos quatro dígitos do cartão do cliente. |
| `CardType` | String | Tipo de cartão. |
| `AccountingDate` | Date | Data e hora da transação (GMT). |
| `CardBrand` | String | Bandeira do cartão usada. |
| `RealDate` | Date | Data e hora da transação (local). |
| `ReceiptContent` | Dict | Dados padronizados do recibo se `PrintOnPos` for false. Consulte [Objeto ReceiptContent](#objeto-receiptcontent). |
| `ReservationId` | String | Identificador do código de reserva. |
| `CommerceCode` | String | Código único de estabelecimento. |
| `TerminalId` | String | Código do terminal POS. |
| `PendingPreAuthorizations` | List | Lista de elementos (somente para `Retrieve`). Consulte [Elemento da lista PendingPreAuthorizations](#elemento-da-lista-pendingpreauthorizations). |
| `CardBin` | String | Os oito primeiros dígitos do cartão do cliente (máx. 8). |
| `CallerId` | String | ID gerado pelo sistema de automação (máx. 100 caracteres). |

#### Elemento da lista PendingPreAuthorizations

Estrutura dos objetos dentro da lista `PendingPreAuthorizations`.

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `TransactionDate` | Date | Data e hora em que foi processada. |
| `Amount` | Long | Valor da transação na moeda local. |
| `AuthorizationCode` | String | Código de autorização da transação. |
| `Last4Digits` | String | Últimos quatro dígitos do cartão usado. |
| `EntryMode` | Enum | `CHIP`, `MAGSTRIPE`, `CONTACTLESS`. |
| `CommerceCode` | String | Código único de filial. |
| `TerminalId` | String | Código do terminal POS. |
| `DateLimit` | Date | Data de vencimento da pré-autorização. |
| `ReceiptCode` | String | Código de identificação impresso no recibo. |
| `ReservationId` | String | Identificador da transação informado pelo usuário quando a pré-autorização é criada ou atualizada. |

### Cancel

Cancela um comando em andamento e devolve o terminal à tela POS Connected.

**Parâmetros:** nenhum.

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `6` indica que a operação Cancel foi executada com sucesso. |
| `Message` | String | Mensagem de resultado. |

<Callout type="note">

Somente `Sale` (Card/QR), `Refund` e `Pre-authorization` aceitam cancelamento. Cancelar um comando não cancelável retorna "The operation isn't cancellable"; cancelar sem uma operação ativa retorna "There's no active operation to cancel". Quando um comando é cancelado com sucesso, esse comando cancelado também retorna `Code` `2` (cancelado).

</Callout>

### Check Status

Busca o status de uma transação específica processada nas **últimas 72 horas**, identificada pelo `CallerId`.

**Parâmetros:**

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `CallerId` | String | Sim | ID gerado pelo sistema de automação para a transação original (máx. 100 caracteres). Não são permitidos caracteres especiais nem Unicode. Deve coincidir com o `CallerId` enviado na transação original; caso contrário, você pode receber um status incorreto. Para consultar um **Refund**, use o mesmo `CallerId` enviado no `Sale` original. |

**Retorno:**

| Campo | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `Code` | Int | Sim | Código de status da transação (`0`–`6`). Consulte a tabela a seguir. |
| `Message` | String | Sim | Mensagem de texto que representa o resultado da operação. |
| `CallerId` | String | Sim | ID gerado pelo sistema de automação. |
| `Status` | Enum | Sim | Status atual da transação: `APPROVED`, `AUTHORIZED`, `REFUNDED`, `CANCELED`, `REVERSED`, `NOT_FOUND` ou `UNKNOWN`. |
| `AuthorizationCode` | String | Não | Código de autorização da transação (6 dígitos). Pode ser `null` se nenhuma transação for encontrada para o `CallerId`. |

**Códigos de status da transação:**

| Código | Status | Descrição |
| :--- | :--- | :--- |
| `0` | `APPROVED` | Transação capturada (aprovada). Usado em vendas com cartão padrão e em QR Code com cartão. |
| `1` | `AUTHORIZED` | Transação autorizada (pré-autorização ou QR PCT). Exclusivo dos pagamentos com QR Code PCT. |
| `2` | `REFUNDED` | Transação reembolsada (D+1). |
| `3` | `CANCELED` | Transação cancelada (D+0). |
| `4` | `REVERSED` | Transação revertida (desfeita). |
| `5` | `NOT_FOUND` | Nenhuma transação foi encontrada para o `CallerId` informado. |
| `6` | `UNKNOWN` | Status desconhecido ou não mapeado. |

> **Comportamento do QR Code:** Uma transação **QR PCT** (Point of Capture) sempre retorna `AUTHORIZED` (código `1`), nunca `APPROVED`. Um **QR Code com cartão** segue o comportamento padrão de cartão e retorna `APPROVED` (código `0`) após a captura.

<Callout type="note">

Uma transação pode levar um instante para ser processada por completo na plataforma da Getnet. Se você consultá-la logo após a captura, pode receber `NOT_FOUND`; nesse caso, use [Recuperar o último comprovante](/pt/integrated-pos/operational-guides/retrieve-last-voucher).

</Callout>

<Callout type="note">

Se várias transações compartilham o mesmo `CallerId`, o sistema usa a mais recente para determinar o status. Aguarde ao menos **2 minutos** após um reembolso para obter o status mais atualizado. O Check Status permite consultar somente a operação de pré-autorização `Create`.

</Callout>

### SwitchToNormalPos

Desativa o modo POS Integrado de forma correta e permite o uso manual do terminal.

**Parâmetros:** nenhum.

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado. |

### Setup

Define a configuração do terminal, como um nome amigável personalizado para identificá-lo.

| Parâmetro | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `SetupParams` | Dict/Map | Sim | Chaves e valores de identificação (por exemplo, `friendly_name`). |

**Configurações disponíveis:**

| Chave | Tipo | Descrição |
| :--- | :--- | :--- |
| `friendly_name` | String | Nome personalizado associado a cada transação de pagamento, reembolso e pré-autorização; a Getnet o usa internamente para identificar a origem. Somente caracteres alfanuméricos e espaços são permitidos, sem caracteres especiais (por exemplo, `ISV Name2` é válido; `I.S.V ? N@m!2` não é). O valor padrão é `ConectorApp`. |

<Callout type="note">

Se você usa um `friendly_name` personalizado, envie-o em **cada** conexão (`CreateUsb`, `CreateHttp` ou `CreateCloud`), porque a reconexão restaura a configuração do terminal.

</Callout>

**Retorno:**

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `Code` | Int | Código de resposta; `0` indica sucesso. |
| `Message` | String | Mensagem de resultado. |

## Objeto ReceiptContent

Quando `PrintOnPos` é `false`, as operações que geram recibo (`Sale`, `Refund`, `GetLastVoucher`, `PreAuth`) retornam um objeto `ReceiptContent`: uma string em formato JSON com os campos do recibo. Assim o sistema de automação pode imprimir ou armazenar o recibo. Se o sistema de automação assume a impressão, ele **deve** imprimir ao menos o recibo do estabelecimento; o recibo do cliente é opcional.

| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
| `getnetLogo` | String | Logo da Getnet codificado como string base64. |
| `sellerName` | String | Nome do estabelecimento. |
| `sellerAddress` | String | Endereço do estabelecimento. |
| `cuit` | String | Código único de documento. |
| `com` | String | Código de vendedor do estabelecimento. |
| `aid` | String | Código AID do terminal. |
| `term` | String | Código do terminal. |
| `authorizationCode` | String | Código de autorização deste recibo. |
| `letterTypeTransaction` | String | Indica a tecnologia de leitura do cartão. |
| `dateTime` | String | Data e hora do recibo em ISO8601 (UTC). |
| `cardLastDigits` | String | Últimos 4 dígitos do cartão. |
| `brand` | String | Bandeira do cartão. |
| `receiptCode` | String | Código de identificação impresso no recibo. |
| `amount` | String | Valor da transação mais a gorjeta (se aplicada), na moeda local. |
| `tip` | String | Valor da gorjeta. |
| `operationType` | String | Tipo de operação. |
| `errorMessage` | String | Mensagem de erro. |
| `cardholderValidationMethod` | String | Método de validação usado na transação. |

## Recursos relacionados

* [Códigos de resposta e erro](/pt/integrated-pos/reference/response-error-codes) — Os valores de Code e Message.
* [Erros de validação](https://docs.globalgetnet.com/pt/products/in-store-payments/integrated-pos?doc=integrated-pos-validation-errors) — O `Message` estruturado retornado quando a validação falha.
* [Planos de parcelamento e IDs de plano](/pt/integrated-pos/reference/installment-plans) — Os valores de PlanId disponíveis.
* [Modelos de conexão](/pt/integrated-pos/first-steps-pos/connection-models) — Quando usar CreateHttp, CreateUsb ou CreateCloud.