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 início do ciclo de vida ocorre quando um novo cartão é aprovado ou um cartão atual é desbloqueado, ou seja, quando os benefícios LATAM Pass devem ser entregues ao associado.
Importante: Um código de status
200não significa que o cartão foi ativado com sucesso. O resultado final pode ser consultado 24 horas após a criação do processamento, utilizando ocorrelationIdobtido na resposta.
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:
Fluxo do processo

Requisição
| Propriedade | Valor |
|---|---|
| Método | POST |
| Caminho | /v1/customer/loyalty/partner/cobranded |
Cabeçalhos
| Nome | Valor | Descrição | Tipo | Obrigatório |
|---|---|---|---|---|
x-issue-bank | <código do banco> | Identificação do banco emissor do cartão | String | Sim |
client_id | <your_client_id> | Valor obtido no menu Dev Tools > Meus Apps > Client ID | String | Sim |
access_token | <access_token> | Token de acesso obtido durante a autenticação | String | Sim |
x-latam-test | LatamPass | Apenas para uso no ambiente de sandbox. Não deve ser enviado em produção | String | Não |
Corpo (Body)
CobrandedLifeCycleRequest
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
member | objeto (Member) | Informações do associado LATAM Pass | Sim |
card | objeto (Card) | Dados não confidenciais do cartão | Sim |
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.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
ffn | string | Número do associado. Ex.: 68245775886 | (*) |
firstName | string (Min. 2, max. 80 characters.) | Todos os primeiros nomes. Ex.: Carlos Jose | (*) |
lastName | string (Min. 2, max. 80 characters.) | Todos os sobrenomes. Ex.: Silva Santos | (*) |
birthDate | string (date-time) | Data de nascimento. Ex.: 1998-11-30 | (*) |
gender | string (enum) | Gênero: F, FEMALE, M, MALE, I, PREFER_NOT_TO_SAY | (*) |
email | string (Max. 254 characters.) | E-mail principal. Ex.: carlos.santos@email.com | (*) |
residenceCountryCode | string | País de residência (ISO 3166-1 alpha-2). Ex.: BR | (*) |
document | objeto (Document) | Documento de identidade do associado | Sim |
phone | objeto (Phone) | Número de telefone do associado | Não |
Document
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
documentId | string (Min. 4, max. 32 characters.) | Número do documento. Ex.: 68245775886 | Sim |
documentType | string (enum) | Tipo de documento: CPF, FID, NID, RUT, DNI | Sim |
issueCountryCode | string | País emissor do documento (ISO 3166-1 alpha-2). Ex.: BR | Sim |
Phone
Se o objeto
phonefor enviado, os camposcountryCodeephoneNumbersão obrigatórios.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
countryCode | integer (int32) | Código de país de chamada. Ex.: 55 | Sim (se phone existir) |
areaCode | integer (int32) | Código de área (sem código de país). Ex.: 11 | Não |
phoneNumber | integer (int32) | Número de telefone (sem código de país ou área). Ex.: 999998888 | Sim (se phone existir) |
Card
Os campos marcados com (*) podem ser obrigatórios ou não conforme a configuração do banco emissor do cartão.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
brand | string (enum) | Bandeira do cartão: AMEX, MASTERCARD, VISA | (*) |
category | string | Categoria do cartão, fornecida pelo ponto focal comercial da LATAM Pass | Sim |
lastFour | integer (int32) | Últimos 4 dígitos do cartão. Ex.: 1234 | (*) |
approvedAt | string (date-time) | Data de aprovação do envio. Ex.: 2026-06-15T22:06:11.201Z | (*) |
tier | integer (int32) | Nível de categoria do cartão. Ex.: 1 | (*) |
Exemplo de requisição
Pode variar dependendo das configurações do banco emissor
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 o cartão foi ativado. O resultado final deve ser consultado com o correlationId através do endpoint de consulta de status.
CobrandedLifeCycleResponse
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
member | objeto (MemberSimplified) | Informações do associado | Sim |
trace | objeto (Trace) | Informações de rastreabilidade do processamento | Sim |
MemberSimplified
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
ffn | string | Número do associado | Sim |
Trace
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
correlationId | string | Identificador de correlação entre recursos da API LATAM eFFP | Sim |
threadId | string | Identificador da thread que executou o fluxo completo | Sim |
receivedDateTime | string | Data e hora em que a requisição foi recebida | Sim |
returnedDateTime | string | Data e hora em que a resposta foi retornada | Sim |
Erros mais comuns
400 — Campos inválidos ou ausentes
Retornado quando campos obrigatórios estão ausentes ou os valores enviados não são válidos. O campo details indica o campo específico e o motivo.
429 — Limite de requisições excedido
500 — Erro interno do servidor
Estrutura de ErrorException
| Campo | Tipo | Descrição |
|---|---|---|
code | integer (int32) | Código interno da API LATAM eFFP |
message | string | Descrição da mensagem de erro |
instructions | string | Instruções para resolver o erro |
issuedDateTime | string | Data e hora em que o erro foi gerado |
details | map<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).