Introdução

A API PNA Cobrand LATAM Pass é a forma pela qual nossas parcerias bancárias gerenciam o ciclo de vida dos benefícios entregues aos nossos associados LATAM Pass que possuem um cartão cobrand.

O upgrade de cartão ocorre quando um novo cartão de categoria superior é aprovado e o cartão atual do associado é cancelado. Os dados do novo cartão são enviados para conceder os benefícios LATAM Pass, e os do cartão atual para removê-los.

Importante: Um código de status 200 não significa que a operação foi concluída com sucesso. O resultado final pode ser consultado 24 horas após a criação do processamento, utilizando o correlationId obtido na resposta.

Disponibilidade: Este endpoint não está disponível para todos os bancos emissores. Verifique com o ponto focal comercial da LATAM Pass se sua integração tem essa funcionalidade habilitada antes de implementá-la.

Para realizar requisições à API, primeiro é necessário obter o token de acesso. Consulte a documentação Autenticação para obter todas as informações.

Cronograma base (Carta Gantt)

Acesse o cronograma base para cada tipo de parceria com o programa utilizando os seguintes links:

  1. Novas parcerias;
  2. Parcerias existentes migrando para a API PNA LATAM Pass.

Fluxo do processo


Requisição

PropriedadeValor
MétodoPOST
Caminho/v1/customer/loyalty/partner/cobranded/upgrade

Cabeçalhos

NomeValorDescriçãoTipoObrigatório
x-issue-bank<código do banco>Identificação do banco emissor do cartãoStringSim
client_id<your_client_id>Valor obtido no menu Dev Tools > Meus Apps > Client IDStringSim
access_token<access_token>Token de acesso obtido durante a autenticaçãoStringSim
x-latam-testLatamPassApenas para uso no ambiente de sandbox. Não deve ser enviado em produçãoStringNão

Corpo (Body)

CobrandedLifeCycleUpdateRequest

CampoTipoDescriçãoObrigatório
memberobjeto (Member)Informações do associado LATAM PassSim
updateobjeto (UpdateCard)Dados dos cartões a serem atualizadosSim

Member

Os campos marcados com (*) podem ser obrigatórios ou não conforme a configuração do banco emissor do cartão. Consulte o ponto focal comercial da LATAM Pass sobre os campos requeridos para sua integração.

CampoTipoDescriçãoObrigatório
ffnstringNúmero do associado. Ex.: 68245775886(*)
firstNamestringTodos os primeiros nomes. Ex.: Carlos Jose(*)
lastNamestringTodos os sobrenomes. Ex.: Silva Santos(*)
birthDatestring (date-time)Data de nascimento. Ex.: 1998-11-30(*)
genderstring (enum)Gênero: FEMALE, MALE, PREFER_NOT_TO_SAY(*)
emailstringE-mail principal. Ex.: carlos.santos@email.com(*)
residenceCountryCodestringPaís de residência (ISO 3166-1 alpha-2). Ex.: BR(*)
documentobjeto (Document)Documento de identidade do associadoSim
phoneobjeto (Phone)Número de telefone do associadoNão

Document

CampoTipoDescriçãoObrigatório
documentIdstringNúmero do documento. Ex.: 68245775886Sim
documentTypestring (enum)Tipo de documento: CPF, FID, NID, RUTSim
issueCountryCodestringPaís emissor do documento (ISO 3166-1 alpha-2). Ex.: BRSim

Phone

Se o objeto phone for enviado, os campos countryCode e phoneNumber são obrigatórios.

CampoTipoDescriçãoObrigatório
countryCodeinteger (int32)Código de país de chamada. Ex.: 55Sim (se phone existir)
areaCodeinteger (int32)Código de área (sem código de país). Ex.: 11Não
phoneNumberinteger (int32)Número de telefone (sem código de país ou área). Ex.: 999998888Sim (se phone existir)

UpdateCard

CampoTipoDescriçãoObrigatório
oldobjeto (Card)Cartão atual que será canceladoSim
newobjeto (Card)Novo cartão de categoria superior a ser ativadoSim

Card

Os campos marcados com (*) podem ser obrigatórios ou não conforme a configuração do banco emissor do cartão.

CampoTipoDescriçãoObrigatório
brandstring (enum)Bandeira do cartão: AMEX, MASTERCARD, VISA(*)
categorystringCategoria do cartão, fornecida pelo ponto focal comercial da LATAM PassSim
lastFourinteger (int32)Últimos 4 dígitos do cartão. Ex.: 1234(*)
approvedAtstring (date-time)Data de aprovação do envio. Ex.: 2026-06-15T22:06:11.201Z(*)
tierinteger (int32)Nível de categoria do cartão. Ex.: 1(*)

Exemplo de requisição

Pode variar dependendo das configurações do banco emissor

{
  "member": {
    "document": {
      "documentId": "68245775886",
      "documentType": "CPF",
      "issueCountryCode": "BR"
    }
  },
  "update": {
    "old": {
      "category": "WORLDMEMBER",
      "tier": 1,
      "approvedAt": "2026-06-15T23:10:12.500Z"
    },
    "new": {
      "category": "WORLDMEMBER",
      "tier": 3,
      "approvedAt": "2026-06-15T23:10:12.500Z"
    }
  }
}

Resposta

200 — Requisição recebida

Um código 200 indica que a requisição foi recebida e o processamento foi criado. Não garante que a operação foi concluída. Ao finalizar, a operação afetará 2 cartões: o cartão old ficará cancelado e o cartão new ficará ativado. O resultado final deve ser consultado com o correlationId através do endpoint de consulta de status.

CobrandedLifeCycleResponse

CampoTipoDescriçãoObrigatório
memberobjeto (MemberSimplified)Informações do associadoSim
traceobjeto (Trace)Informações de rastreabilidade do processamentoSim

MemberSimplified

CampoTipoDescriçãoObrigatório
ffnstringNúmero do associadoSim

Trace

CampoTipoDescriçãoObrigatório
correlationIdstringIdentificador de correlação entre recursos da API LATAM eFFPSim
threadIdstringIdentificador da thread que executou o fluxo completoSim
receivedDateTimestringData e hora em que a requisição foi recebidaSim
returnedDateTimestringData e hora em que a resposta foi retornadaSim
{
  "member": {
    "ffn": "68245775886"
  },
  "trace": {
    "correlationId": "96bd0750-71e0-4ed6-9489-96ddfd0e34cd",
    "threadId": "c0fead84-234d-4fb2-a865-b070f77ec086",
    "receivedDateTime": "2023-10-05T12:53:00Z",
    "returnedDateTime": "2023-10-05T12:53:24Z"
  }
}

Erros mais comuns

Campos obrigatórios ausentes ou valores inválidos

{
  "code": 400,
  "message": "Invalid request content",
  "instructions": "Evaluate the request fields",
  "issuedDateTime": "2023-10-05T12:53:10Z",
  "details": {
    "member.phone.countryCode": "XXXX-XXXX"
  }
}

Limite de requisições excedido

{
  "code": 429,
  "message": "Current rate exceeds the maximum for internal integrations",
  "instructions": "Please, try again later",
  "issuedDateTime": "2024-10-01T00:00:00Z",
  "details": null
}

Erro interno do servidor

Diante deste erro, recomenda-se tentar novamente a requisição. Se persistir, entre em contato com o suporte da LATAM Pass com o correlationId.

{
  "code": 500,
  "message": "Internal server error",
  "instructions": "Retry the request later. If the problem persists, contact LATAM Pass support with the correlationId.",
  "issuedDateTime": "2023-10-05T12:53:10Z",
  "details": {
    "correlationId": "96bd0750-71e0-4ed6-9489-96ddfd0e34cd"
  }
}

Estrutura de ErrorException

CampoTipoDescrição
codeinteger (int32)Código interno da API LATAM eFFP
messagestringDescrição da mensagem de erro
instructionsstringInstruções para resolver o erro
issuedDateTimestringData e hora em que o erro foi gerado
detailsmap<string, object>Par chave-valor com detalhes adicionais do erro

Documentação técnica

Clique aqui para acessar a especificação técnica completa (Swagger).