Criar resgate

A LATAM Pass Redeem API permite que parceiros debitem milhas da conta de um membro LATAM Pass para resgates de produtos ou serviços não aéreos, de acordo com o acordo comercial entre as partes.

O processamento é assíncrono: uma resposta 201 Created indica que a requisição foi aceita — mas isso não significa que as milhas foram debitadas. O resultado final (PROCESSED, ERROR ou CANCELLED) é entregue exclusivamente via notificação por webhook.

Importante

Não projete a experiência do membro para aguardar o resultado final durante a chamada à API. Informe ao membro que a solicitação foi enviada e ofereça uma forma de verificar o status final assim que estiver disponível.


Requisição

Endpoint

POST https://api.latampass.com/sandbox/v1/customer/eloyalty/partner/redeem

Corpo da requisição

CampoTipoObrigatórioRestriçõesDescrição
correlationIdUUIDNãoGerado automaticamente se não informadoID de rastreamento da transação
descriptionStringSimMáx. 500 caracteresDescrição do produto ou serviço sendo resgatado
milesIntegerSimMín.: 1 — Máx.: 3.000.000Quantidade de milhas a debitar
redemptionCodeStringSimMáx. 50 caracteres — alfanumérico (a-z, A-Z, 0-9, _, -, .)Código único de resgate para o produto. Fornecido pelo LATAM Pass Support
partnerIdStringSimMáx. 20 caracteres — alfanumérico (a-z, A-Z, 0-9, _, -, .)Identificador do parceiro. Fornecido pelo LATAM Pass Support
partnerTransactionIdStringSimMáx. 100 caracteres — alfanumérico (a-z, A-Z, 0-9, _, -, .)ID da transação no lado do parceiro

Este campo não é verificado como único pela API. Múltiplas requisições com o mesmo partnerTransactionId criarão transações separadas. Ao tentar novamente após um erro 500, envie exatamente o mesmo payload — incluindo o mesmo partnerTransactionId.

Exemplo de requisição

curl https://api.latampass.com/sandbox/v1/customer/eloyalty/partner/redeem \
  --request POST \
  --header 'x-latam-test: LatamPass' \
  --header 'Authorization: Bearer <YOUR_JWT_ACCESS_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{
    "description": "Demo API redeem",
    "miles": 15,
    "redemptionCode": "<YOUR_REDEMPTION_CODE>",
    "partnerId": "LPS",
    "partnerTransactionId": "<YOUR_PARTNER_TRANSACTION_ID>"
  }'

Cabeçalhos

CabeçalhoValorDescrição
AuthorizationBearer <JWT_ACCESS_TOKEN>JWT do Auth0 PKCE vinculado ao membro (Fluxo A)
x-latam-testLatamPassObrigatório apenas no sandbox — omitir em produção
Content-Typeapplication/json

Resposta

Uma resposta 201 Created significa que a requisição foi aceita para processamento. Sempre aguarde a notificação via webhook para determinar o resultado final.

201 Created — aceito para processamento

{
  "trace": {
    "correlationId": "<YOUR_CORRELATION_ID>",
    "returnedDateTime": "2026-01-23 07:34:10.557+0000"
  },
  "error": null
}

Armazene o correlationId — ele é sua chave principal para rastrear a transação via webhook ou GET.

Valores de status da transação

StatusTipoDescrição
PROCESSINGIntermediárioRequisição em processamento
PROCESSEDFinalMilhas debitadas com sucesso — elegível para cancelamento
ERRORFinalProcessamento falhou — verifique errorException no payload do webhook para detalhes
CANCELLEDFinalRequisição cancelada

Motivos para uma requisição resultar em ERROR ou CANCELLED

MotivoCódigoInstruções para o parceiro
Membro não encontradoMemberDoesNotExistValide o membro antes de processar
Formato do número de associação inválidoInvalidMemberFormatO campo de membro deve ser válido. Verifique o formato e tente novamente
Número de associação inválidoInvalidMembershipNumberValide o formato do número de associação
Parceiro não registradoPartnerDoesNotExistEntre em contato com o LATAM Pass Support para configurar as configurações necessárias
Conta do membro está restritaMemberBlacklistedO membro deve entrar em contato com o LATAM Pass Support para obter assistência
Conta do membro não está ativaAccountNotActiveO membro deve ativar a conta para prosseguir
Conta do membro está encerradaMemberClosedO membro deve reativar a conta para prosseguir
Membro falecidoMemberDeceasedEntre em contato com o LATAM Pass Support para obter assistência
Saldo insuficiente na contaInsufficientAccountBalanceVerifique o saldo disponível do membro antes de processar
Pontos insuficientes no programa cruzadoCrossProgramInsufficientPointsRevise os pontos disponíveis antes de tentar novamente
Sem contrato ativo com o parceiroNoActivePartnerContractEntre em contato com o LATAM Pass Support para revisar o status do contrato
Sem contrato de resgate ativo para o parceiroActiveRedemptionContractNotExistsForPartnerEntre em contato com o LATAM Pass Support para verificar os detalhes do contrato
Parceiro inválido para esta recompensaInvalidPartnerForRewardEntre em contato com o LATAM Pass Support para verificar o código do parceiro
Parceiro de resgate não encontradoRedemptionPartnerDoesNotExistEntre em contato com o LATAM Pass Support para validar o parceiro de resgate
Recompensa não encontradaRewardDoesNotExistVerifique o redemptionCode e tente novamente
Recompensa não ativaRewardNotActiveVerifique o status da recompensa ou tente novamente mais tarde
Validade da recompensa expiradaRewardValidityExpiredUse uma recompensa válida ou entre em contato com o LATAM Pass Support
Regra de precificação da recompensa rejeitadaRewardPricingRuleRejectedEntre em contato com o LATAM Pass Support para obter assistência
Regra de precificação da recompensa não configuradaRewardPricingRuleNotConfiguredEntre em contato com o LATAM Pass Support — configuração necessária
País do membro não elegível para o resgate deste parceiroCoalitionMismatchEntre em contato com o LATAM Pass Support para configurar as configurações necessárias
Falha na autorização (recuperável)AuthorisationFailedTente novamente mais tarde ou entre em contato com o LATAM Pass Support se o problema persistir
Falha na liquidação (recuperável)SettlementFailedTente novamente mais tarde ou entre em contato com o LATAM Pass Support se o problema persistir
Falha na emissão do certificado (recuperável)IssueCertificateFailedTente novamente mais tarde ou entre em contato com o LATAM Pass Support se o problema persistir
Erro de sistema durante o processamento de regras (recuperável)RuntimeErrorTente novamente mais tarde ou entre em contato com o LATAM Pass Support se o problema persistir

Erros comuns

400 — Campos obrigatórios ausentes ou valores inválidos

{
  "message": "Request payload has problems with validation",
  "code": 400,
  "instructions": null,
  "details": {
    "miles": "Miles must be positive"
  },
  "issueDateTime": "2026-01-23T12:54:25.044344Z"
}

400 — correlationId duplicado

Retornado quando o correlationId fornecido já foi utilizado e a transação ainda não foi totalmente processada.

{
  "message": "A redeem with this correlationId already exists.",
  "code": 400,
  "instructions": [{"field": "correlationId", "message": "Already exists"}],
  "details": null,
  "issueDateTime": "2026-01-23T12:54:25.044344Z"
}

409 — Conflito

Retornado quando o correlationId fornecido já foi totalmente processado. Não tente novamente — use o endpoint GET para verificar o status da transação existente.

500 — Internal Server Error

{
  "message": "Internal server error on processing redeem.",
  "code": 33,
  "instructions": [{"field": "error", "message": "Please try again later or contact support if the issue persists"}],
  "details": null,
  "issueDateTime": "2026-01-23T13:59:27.882744Z"
}

Para erros 500, tente novamente com o exato mesmo payload, incluindo o mesmo partnerTransactionId e correlationId (se um foi originalmente fornecido).

405 — Method Not Allowed

{
  "timestamp": "2026-01-30T15:57:12.663+00:00",
  "status": 405,
  "error": "Method Not Allowed",
  "path": "/v1/customer/eloyalty/partner/redeem"
}

Este endpoint aceita apenas requisições POST.


Documentação técnica

Clique aqui para acessá-la.