Introducción
La API PNA Accrual de LATAM Pass permite que las empresas aliadas gestionen la acumulación de puntos no aéreos para los socios LATAM Pass, según el acuerdo comercial vigente.
Cuando una alianza realiza una solicitud de acumulación, el procesamiento se efectúa de forma asíncrona.
Para conocer el estado del proceso, existen dos opciones:
- Notificación de acumulación: se recibe una respuesta automática mediante un webhook que entrega la información al endpoint configurado cuando la acumulación se completa, evitando que la empresa aliada tenga que consultar la API constantemente.
- Consulta de acumulación: se realiza una consulta directa a la API para verificar el estado(documentación relacionada)

Se recomienda usar solo la notificación por webhook. Si se decide implementar ambos mecanismos, la consulta solo debe usarse si no se recibe la notificación después de 24 horas.
Para recibir las notificaciones, la alianza debe guardar el correlationId, entregado en la respuesta inicial de la solicitud, para relacionar la notificación con la solicitud original.
El webhook de acumulación no comunica códigos de error HTTP 4xx o 5xx, ya que su objetivo es informar únicamente el estatus final de la transacción, el cual puede ser PROCESSED o CANCELLED. En caso de que el servicio de la alianza responda con códigos 4xx o 5xx durante el intento de entrega de la notificación, ésta se considerará no entregada y el sistema activará reintentos automáticos por un período máximo de 7 días.
Carta Gantt base
Accede a la carta Gantt base, un diagrama que presenta de manera estructurada las actividades, plazos y dependencias de cada tipo de alianza con el programa, mediante los enlaces indicados.
Datos requeridos para configurar la integración
Para realizar una integración correcta entre el sistema de la alianza y LATAM Pass, se deben proporcionar los siguientes datos:
- URL del servidor de la alianza: endpoint donde LATAM Pass enviará los resultados de la acumulación mediante webhook. Ejemplo: https://api.mi-alianza.com/accrual-webhook
- Usuario para autenticación básica: nombre de usuario utilizado exclusivamente para la autenticación HTTP Basic. Ejemplo: alianzaUser
- Contraseña para autenticación básica: clave asociada al usuario para autenticación HTTP Basic.
- Encabezados adicionales (si fueran necesarios): cualquier header HTTP que la API de la alianza requiera.
Cualquier modificación o eliminación de configuraciones ya realizadas debe gestionarse mediante una solicitud al Centro de Soporte, por entorno (pruebas o producción), como se detalla en el siguiente flujo:
Para más información, consulte el FAQ del portal LATAM Pass.
Contenido de la notificación
nonAirAccrual:- String
ffn: código de socio LATAM Pass que identifica la cuenta que recibió la acumulación; - String
latamAccruald: código de identificación de la transacción de acumulación referenciada en el archivo de facturación; - String
status: estado de la solicitud acumulada:CANCELLED: solicitud rechazada. La acumulación solicitada no fue registrada en la cuenta del socio para formar su saldo. Este es el único estado que se debe considerar por parte de la alianza para reversar la transacción de su lado;PROCESSED: acumulación concedida. La acumulación solicitada se registró en la cuenta del socio para formar su saldo y será parte del próximo archivo de facturación.
- String
trace:- UUID
correlationId: código de identificación del correlativo indicado por la alianza o, en caso de no indicarlo, generado por LATAM Pas para fines de trazabilidad; - UUID
threadId: código de acceso LATAM que identifica la cadena de transacciones durante todo el proceso de acumulación; - DateTime
receivedDateTime: fecha y hora en que se recibió la solicitud de acumulación; - DateTime
returnedDateTime: fecha y hora a la que se respondió a la solicitud de acumulación.
- UUID
error:- Integer
code: código de error; - String
message: descripción del mensaje de error; - String
instructions: descripción de las instrucciones que debe seguir la alianza cuando de error; - DateTime
issuedDateTime: fecha y hora en que se generó el error; details:- String
key: llave que detalla el error; - String
value: valor que detalla el error.
- String
- Integer
Motivos para rechazar una solicitud
| Razón | Código | Mensaje | Instrucciones para alianzas |
|---|---|---|---|
La fecha de la actividad con la alianza, en el momento de solicitar la acumulación, era futura. (partnerOriginalDateTime) | 101 | ActivityDateGreater ThanCurrentDate | Validate your request because some date is greater than current date |
Código de identificación de la alianza no registrado. (partnerId) | 108 | PartnerDoesNotExist | Partner doesn't exist. Please contact our LATAM team to set up the necessary configurations. |
Código de identificación del producto no registrado o no vinculado a la alianza o vencido al momento de solicitar la acumulación. (productId) | 110 | IACOD | Accrual code is expired or invalid |
Programa no válido para el país de residencia del socio. (ffn) | 111 | CCIE - Invalid country of residence | Invalid program. Please contact our LATAM team to set up the necessary configurations. |
Socio no encontrado con los datos informados (ffn,document), pero dirección de correo vinculada a otra cuenta ya existente (email). | 112 | DuplicateMemberProfiles ExistsAsPerAlgorithm | Member: Contact LATAM to update your data |
Código de identificación del socio (ffn) no es válido para su país de residencia (residenceCountryCode). | 113 | Incorrect CPF format validated by the Core System | Fix the CPF number |
Socio con estado de cuenta inválido para acumulación. (ffn) | 114 | Invalid member status | Member: Contact LATAM to update your data |
No se pudo procesar la solicitud de acumulación del socio. (ffn, document) | 204 | Member already exists | Member: Contact LATAM to update your data |
Código de identificación del socio (ffn) no es válido para su país de residencia (residenceCountryCode). | 205 | Incorrect CPF format validated by the Core System | Fix the CPF number |
No se pudo procesar la solicitud de acumulación del socio. (ffn, document) | 206 | Member already exists | Member: Contact LATAM to update your data |