# Consultar o Status de uma Transação

Este guia mostra como consultar o status atual de uma transação executada nas últimas 72 horas, usando a operação `CheckStatus` e o `CallerId` da transação original.

## Como funciona

O `CheckStatus` consulta a plataforma da Getnet, não o terminal. Por isso, ele responde mesmo quando o terminal está offline ou quando a resposta original nunca chegou à sua aplicação. A chave de consulta é o `CallerId` que seu sistema de automação gerou para a transação original.

O status retornado reflete o estado atual da transação, não o resultado do comando que a criou.

## Antes de começar

Você precisa de um Connector criado e validado com `Polling` e do `CallerId` exato enviado na transação original.

<Callout type="warning">

Ao consultar o status depois de um reembolso, use o `CallerId` da **venda** original, e não um gerado para o reembolso. Se uma venda foi enviada como `SALE-20260121-POS-0001` e depois reembolsada, a consulta de status continua usando `SALE-20260121-POS-0001`.

</Callout>

## Passo 1: Enviar a requisição

O `CheckStatus` recebe um único parâmetro:

| Parâmetro | Tipo | Tamanho | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- | :--- |
| `CallerId` | String | 100 máx | Sim | Id gerado pelo sistema de automação para a transação original. Caracteres especiais e Unicode não são permitidos. |

```csharp
var request = new CheckStatusRequest
{
    CallerId = "SALE-20260121-POS-0001"
};

var statusResult = await connector.CheckStatusAsync(request);
```

## Passo 2: Ler o status

A resposta traz o resultado da operação e o estado atual da transação:

| Campo | Tipo | Obrigatório | Descrição |
| :--- | :--- | :--- | :--- |
| `Code` | int | Sim | Código de resposta do próprio comando `CheckStatus`. |
| `Message` | String | Sim | Mensagem de texto que representa o resultado da operação. |
| `CallerId` | String | Sim | O id que foi consultado. |
| `Status` | Enum | Sim | O status atual da transação. |
| `AuthorizationCode` | String | Não | Código de autorização da transação. Nulo quando nenhuma transação é encontrada. |

```json
{
  "Code": 0,
  "Message": "APPROVED",
  "CallerId": "SALE-20260121-POS-0001",
  "Status": "APPROVED",
  "AuthorizationCode": "551437"
}
```

Os possíveis valores de `Status` e seus códigos estão listados em [Códigos de Resposta e de Erro](/pt/integrated-pos/reference/response-error-codes).

<Callout type="note">

Uma transação leva um curto período para ser totalmente processada na plataforma da Getnet. Consultar imediatamente após a captura pode retornar `NOT_FOUND`. Para ler uma transação logo após sua conclusão, use [Recuperar o Último Comprovante](/pt/integrated-pos/operational-guides/retrieve-last-voucher).

</Callout>

## Próximos passos

* [Códigos de Resposta e de Erro](/pt/integrated-pos/reference/response-error-codes) - a tabela de referência completa dos status de transação.
* [Recuperar o Último Comprovante](/pt/integrated-pos/operational-guides/retrieve-last-voucher) - leia a transação mais recente sem esperar o processamento na plataforma.