Consultar status do resgate

Após enviar uma requisição de Criar resgate, é possível consultar o status atual da transação usando o correlationId retornado na resposta 201.

O processamento é assíncrono. Recomenda-se usar notificações via webhook como mecanismo principal para receber o status final. Use o endpoint GET apenas como alternativa se uma notificação via webhook não for recebida após 24 horas, ou para verificar o estado atual de uma transação.


Requisição

Método: GET

Endpoint:

https://api.latampass.com/sandbox/v1/customer/eloyalty/partner/redeem?correlationId={uuid}

Autenticação: Fluxo B — Credenciais de cliente do Portal API

Parâmetro de consulta:

ParâmetroTipoObrigatórioDescrição
correlationIdUUIDSimUUID retornado de uma resposta anterior de Criar resgate

Exemplo de requisição:

curl 'https://api.latampass.com/sandbox/v1/customer/eloyalty/partner/redeem?correlationId=<YOUR_CORRELATION_ID>' \
  --request GET \
  --header 'x-latam-test: LatamPass' \
  --header 'Access_token: <YOUR_UUID_ACCESS_TOKEN>' \
  --header 'client_id: <YOUR_CLIENT_ID>' \
  --header 'Content-Type: application/json'

Cabeçalho

CabeçalhoValorDescrição
Access_token<UUID_ACCESS_TOKEN>Token de credenciais de cliente do Portal API (Fluxo B)
client_id<YOUR_CLIENT_ID>Identificador do cliente do Portal API
x-latam-testLatamPassObrigatório apenas no sandbox. Omitir em produção
Content-Typeapplication/json

Resposta

Uma requisição bem-sucedida retorna HTTP 200 OK.

Status da transação:

StatusTipoDescrição
PROCESSINGIntermediárioRequisição em processamento
PROCESSEDFinalMilhas debitadas com sucesso. Elegível para cancelamento
ERRORFinalProcessamento falhou. Veja o campo exception para detalhes
CANCELLEDFinalRequisição cancelada. Milhas não foram debitadas

Campos da resposta:

CampoTipoPresente quando
correlationIdUUIDSempre
statusStringSempre
descriptionStringSempre
ffnString (mascarado)Sempre
milesIntegerSempre
partnerTransactionIdStringSempre
redemptionIdStringQuando o status é PROCESSED (omitido enquanto PROCESSING)
exceptionObjectQuando o status é ERROR

Campos do objeto exception:

CampoTipoDescrição
messageStringDescrição legível do erro
codeStringIdentificador do código de erro (ex.: InsufficientAccountBalance)
instructionsStringAção recomendada para o parceiro

Exemplos de resposta:

Status: PROCESSING

{
  "correlationId": "<YOUR_CORRELATION_ID>",
  "status": "PROCESSING",
  "description": "Demo API redeem",
  "ffn": "****6789",
  "miles": 15,
  "partnerTransactionId": "<YOUR_PARTNER_TRANSACTION_ID>"
}

Status: PROCESSED

{
  "correlationId": "<YOUR_CORRELATION_ID>",
  "status": "PROCESSED",
  "description": "Demo API redeem",
  "ffn": "****6789",
  "miles": 15,
  "partnerTransactionId": "<YOUR_PARTNER_TRANSACTION_ID>",
  "redemptionId": "<YOUR_REDEMPTION_ID>"
}

Status: ERROR

{
  "correlationId": "<YOUR_CORRELATION_ID>",
  "status": "ERROR",
  "description": "Demo API redeem",
  "ffn": "****6789",
  "miles": 15,
  "partnerTransactionId": "<YOUR_PARTNER_TRANSACTION_ID>",
  "exception": {
    "message": "The account balance is insufficient",
    "code": "InsufficientAccountBalance",
    "instructions": "Check the available balance or add funds to continue."
  }
}

Erros comuns

400 — correlationId ausente

{
  "message": "Request payload has problems with validation",
  "code": 400,
  "instructions": null,
  "details": {
    "correlationId": "Missing required parameter"
  },
  "issueDateTime": "2026-01-23T12:54:25.044344Z"
}

400 — Formato de correlationId inválido

{
  "message": "Request payload has problems with validation",
  "code": 400,
  "instructions": null,
  "details": {
    "getRedeemByCorrelationId.correlationId": "correlationId must be a valid UUID"
  },
  "issueDateTime": "2026-01-23T12:54:25.044344Z"
}

404 — Resgate não encontrado

{
  "message": "Redeem not found for correlation ID: <YOUR_CORRELATION_ID>",
  "code": 404,
  "instructions": null,
  "details": null,
  "issueDateTime": "2026-01-23T12:54:25.044344Z"
}