API de consulta de datos

Descripción del módulo

La API Pública de Airvi permite consultar información registrada en el sistema (clientes, reservas, pagos y reembolsos) desde sistemas externos o integraciones de terceros.
Este módulo está diseñado para ofrecer acceso seguro, controlado y auditable a los datos del sistema sin necesidad de acceso directo a la base de datos.

Cada consulta genera un identificador único de rastreo (trace_id), útil para seguimiento de errores o solicitudes de soporte.
El acceso se gestiona mediante claves (tokens) que se generan desde el panel administrativo de Airvi.

Acceso al módulo

WhatsApp Image 2025-11-04 at 8.04.21 AM.jpeg

  1. Ingrese a su cuenta de Airvi con un usuario con permisos administrativos.

  2. Diríjase a la sección Parametrización → Claves (API Pública).

  3. hacer clic en  “Añadir clave”.

  4. Colocar un nombre a la clave
  5. Haga clic en “Guardar”.

  6. Copie el token generado. 

    Api publica.png

⚠️ Importante:
Guarde este token en un lugar seguro. Es necesario incluirlo en el encabezado de cada solicitud a la API. En caso de perdida o que ya no este funcionando, debes regenerar la clave API de nuevo.

Ejemplo de encabezado:

Authorization: Bearer {TOKEN}

Acceso a la documentación técnica

  1. Abra el navegador e ingrese la siguiente dirección:

    {BASE_URL}/public/docs/ Siendo BASE_URL la URL de la plataforma
    Ejemplo: https://airvi-api.rpmarketing.com.co/public/docs#/
  2. En esta interfaz podrá visualizar los diferentes endpoints disponibles, sus parámetros, ejemplos de uso y respuestas esperadas.

  3. Puede ejecutar peticiones directamente desde el navegador, siempre que haya autenticado con su token.

📝 Nota:
La ruta incluye un guion medio entre “docs” y “api”. Es decir: docs-api, no “docsapi”.

Autenticación y seguridad

Todas las consultas se realizan mediante un token de autenticación generado desde Airvi. El token se envía en el encabezado HTTP de la petición.

image.png

Ejemplo de encabezado:

Authorization: Bearer 1234abcd5678efgh

Estructura de las respuestas

Cada respuesta de la API tiene una estructura estándar:

image.png



💡 Consejo:
Si una consulta falla o devuelve resultados vacíos, conserve el trace_id y compártalo con el área de soporte para una revisión más rápida.


Parámetros generales

La mayoría de endpoints utilizan los siguientes parámetros de consulta (query):

Parámetro Descripción Obligatorio Formato
take Cantidad de registros a mostrar ✅ Sí Número entero
skip Cantidad de registros a omitir antes de iniciar la búsqueda ❌ No Número entero
date_from, date_to Rango de fechas según el endpoint ❌ No YYYY-MM-DD

⚠️ Importante:
Incluso si realiza una consulta por un único registro, debe incluir el parámetro take.
Ejemplo: take=1

Módulo de Monedas

El módulo de Monedas (Currencies) permite acceder al listado de divisas configuradas dentro del sistema, junto con su información básica y su estado operativo.
Mantiene la misma estructura de autenticación, paginación y respuesta estándar que los demás módulos públicos de la API.

Obtener listado paginado de monedas

Función: Obtiene un listado paginado de monedas registradas en el sistema, permitiendo filtrarlas por estado (activo / inactivo).

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[status] string No Estado de la moneda. Ej: activo
skip integer No Cantidad de registros a omitir. Ej: 0
take integer Cantidad de registros a retornar. Ej: 10

Pasos para ejecutar la consulta

  1. Ingrese a: {BASE_URL}/api/public/v1/currencies

  2. Busque la sección currencies → Listado paginado de monedas.

  3. Si lo necesita, aplique filtros como status=activo.

  4. En el parámetro take, indique cuántos registros desea obtener.

  5. Pulse “Enviar petición”.

  6. Si la consulta es exitosa, recibirá un 200 OK con el listado de monedas.

  7. Si ocurre un problema interno, la API responderá con 500 INTERNAL_ERROR.

Módulo de Clientes

image.png

El módulo de Clientes permite acceder a la información registrada de los clientes del sistema, ya sea de forma general (listado) o específica (por ID o por documento).

Consultar listado de clientes

Función: obtener una lista paginada de clientes con sus datos básicos.

Ruta: https://{Base_URL}/api/public/v1/clients

Parámetros disponibles:

Parámetro Descripción
take Cantidad de registros a retornar (obligatorio).
skip Cantidad de registros a omitir.
birthday_from y birthday_to Rango de fechas de nacimiento (opcional).
ids[] Lista de identificadores específicos (opcional).

Pasos para ejecutar la consulta:

  1. Ingrese a {BASE_URL}/docs/api.

  2. Busque la sección Clientes → Obtiene un listado paginado de clientes con sus datos básicos

  3. En el campo take, escriba la cantidad de registros que desea obtener (por ejemplo, 10).

  4. Si desea filtrar, puede agregar birthday_from y birthday_to en formato YYYY-MM-DD.

  5. Pulse “Enviar petición”.

  6. Verifique la respuesta.
    Si todo está correcto, obtendrá un código 200 OK con los datos solicitados.

Ejemplo de respuesta:

image.png

Consultar cliente por ID

Función: obtener los datos completos de un cliente específico usando su identificador.

Ruta: https://{Base_URL}/api/public/v1/clients/{id}

Pasos:

  1. En el campo de la ruta, reemplace {id} por el número de identificación del cliente (por ejemplo, 2200).

  2. Agregue el parámetro take=1.

  3. Envíe la petición.

  4. Si el cliente existe, recibirá un código 200 OK.

  5. Si el cliente no existe, obtendrá un 404 Not Found.

Ejemplo de solicitud:

GET /api/public_api/clients/2200?take=1

Ejemplo de respuesta:

image.png


Consultar cliente por documento

Función: buscar un cliente utilizando su número de documento.

Ruta: GET {BASE_URL}/api/public_api/clients/by_identification/{document}

Pasos:

  1. Sustituya {document} por el número del documento (por ejemplo, 103968949).

  2. Presione “Enviar petición”.

  3. Verifique el código de estado:

    • 200 OK: el cliente fue encontrado.

    • 404 Not Found: no existe ningún cliente con ese documento.

Módulo de Reservas

El módulo de Reservas devuelve las reservas asociadas a cada cliente, filtradas por su identificador o por su documento.

💡 Nota:
Actualmente, las consultas devuelven únicamente las reservas del cliente titular.
Si desea incluir pasajeros no titulares, consulte con el equipo técnico de Airvi si esta opción está habilitada en su instancia.

Consultar reservas por ID de cliente

Ruta: GET {BASE_URL}/api/public_api/clients/{id}/reservations

Parámetros disponibles:

Parámetro Descripción
assignment_date_from, assignment_date_to Fecha de asignación del viaje.
trip_date_from, trip_date_to Fecha del viaje.
skip, take Control de paginación.

Pasos:

  1. Reemplace {id} por el ID del cliente.

  2. Escriba las fechas en formato YYYY-MM-DD.

  3. Envíe la petición.

  4. Verifique que el resultado sea 200 OK.

  5. Si no hay registros, el sistema devolverá un arreglo vacío en data.items 

Consultar reservas por número de documento del cliente.

Ruta: GET {BASE_URL}/api/public_api/clients/by_identification/{document}/reservations

Uso:
Permite consultar las reservas asociadas a un cliente a través de su número de documento.

Ejemplo:

GET /api/public_api/clients/by_identification/2034/reservations?take=5

image.png

Módulo de Ubicaciones

El módulo de Ubicaciones (Locations) permite acceder al listado de sedes o lugares registrados en el sistema. Este módulo también utiliza la misma estructura de autenticación, paginación y respuesta estándar de la API pública.

Consultar listado paginado de ubicaciones

Función: Obtiene un listado de ubicaciones con sus datos básicos, permitiendo aplicar filtros como ciudad, país o estado, además de paginar los resultados.

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[city] string No Ciudad de la ubicación. Ej: San José
filters[country] string No País de la ubicación. Ej: Costa Rica
filters[status] string No Estado de la ubicación. Ej: activo
skip integer No Registros a omitir. Ej: 0
take integer Registros a retornar. Ej: 10

Pasos para ejecutar la consulta

  1. Ingrese a: {BASE_URL}/api/public/v1/locations

  2. Busque la sección locations → Listado de ubicaciones.

  3. Si desea filtrar, complete los campos:

    • Ciudad

    • País

    • Estado

    • skip

    • take (obligatorio)

  4. Pulse “Enviar petición”.

  5. Si existen registros, recibirá un 200 OK con los datos de cada ubicación.

  6. Si ocurre un error interno, la API responderá con 500 INTERNAL_ERROR.

Módulo de pagos

El módulos de Pagos (Payments)  permiten acceder a los movimientos financieros asociados a reservas. Comparten la misma estructura de autenticación y respuesta que los módulos anteriores.

Obtener listado paginado de pagos

Función: obtener una lista paginada de pagos, permitiendo filtrar por fechas, reserva, moneda, método de pago, pagador o IDs específicos.

image.png


Parámetros disponibles

Parámetro Descripción
take Cantidad de registros a retornar (obligatorio).
skip Cantidad de registros a omitir.
filters[payment_ids] IDs de pagos separados por comas (opcional).
filters[reservation_id] ID de la reserva asociada (opcional).
filters[date_from] Fecha inicial del rango de pago (Y-m-d) (opcional).
filters[date_to] Fecha final del rango de pago (Y-m-d) (opcional).
filters[currency_code] Código de moneda del pago, ej: USD (opcional).
filters[method] Slug del método de pago, ej: efectivo (opcional).
filters[payer_identification] Identificación del pagador (opcional).

Pasos para ejecutar la consulta

  1. Ingrese a {BASE_URL}/api/public/v1/payments

  2. Busque la sección payments→ Listado paginado de pagos.

  3. En el campo take, indique cuántos registros desea obtener (por ejemplo, 10).

  4. Si lo necesita, agregue filtros como:

    • date_from y date_to para un rango de fechas.

    • reservation_id si quiere pagos de una reserva específica.

    • currency_code, method o payer_identification.

  5. Pulse “Enviar petición”.

  6. Verifique la respuesta: si la solicitud es correcta, recibirá un código 200 OK con los datos paginados.

Consultar Información de un pago en especifico por ID

Función: obtener la información básica y detallada de un pago identificado por su {id}.

image.png

Parámetros disponibles

Parámetro Tipo Descripción
id integer Identificador del pago que se desea consultar (obligatorio).

Ejemplo: 87


Pasos para ejecutar la consulta

  1. Ingrese a {BASE_URL}/api/public/v1/payments

  2. Busque la sección payments → Consultar información de un pago por ID.

  3. En el campo id, escriba el identificador del pago que desea consultar.

  4. Pulse “Enviar petición”.

  5. Si el registro existe, recibirá un código 200 OK con toda la información del pago.

  6. Si el pago no se encuentra, el sistema responderá con 404 NOT_FOUND.

  7. Ante errores inesperados, retornará 500 INTERNAL_ERROR.

Módulo de Métodos de Pago (PaymentMethods)

El módulo de Métodos de Pago (PaymentMethods) permite consultar todos los medios de pago disponibles dentro del sistema. Mantiene la misma estructura de autenticación, paginación y formato de respuesta utilizada en los demás módulos públicos.

Obtener el listado completo de métodos de pago

Función: Retorna un listado paginado de los métodos de pago registrados en la plataforma

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[status] string No Filtra por estado (activo/inactivo)
skip integer No Registros a omitir
take integer Registros a retornar (máximo permitido)

Pasos para ejecutar la consulta

  1. Ingrese a: {BASE_URL}/api/public/v1/paymentMethods

  2. Diríjase a la sección: paymentMethods → Obtener listado completo de métodos de pago

  3. Complete los parámetros según lo necesite:

    • filters[status]: Filtrar por estado (opcional)

    • skip: Registros a omitir (opcional)

    • take: Registros a retornar (obligatorio)

  4. Pulse “Enviar petición”.

  5. Si todo está correcto, el sistema responderá con 200 SUCCESS y el listado solicitado.

  6. Si ocurre un error inesperado, se mostrará un 500 INTERNAL_ERROR.

Módulo de Tipos de Proveedores (ProvidersType)

El módulo de Tipos de Proveedores (ProvidersType) permite acceder al listado completo de categorías de proveedores disponibles en el sistema.
Sigue la misma estructura estándar de autenticación y respuesta que el resto de los módulos públicos.

Obtener el listado completo de tipos de proveedores

Función: Retorna un conjunto paginado de tipos de proveedores registrados en la base de datos.

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
skip integer No Cantidad de registros a omitir. Ej: 0
take integer Cantidad de registros a retornar. Ej: 10

Pasos para ejecutar la consulta

  1. Ingrese a: {BASE_URL}/api/public/v1/providersType

  2. Busque la sección: providersType → Obtener todos los tipos de proveedores

  3. Complete los parámetros:

    • skip: cantidad de registros a omitir (opcional)

    • take: cantidad de registros a retornar (obligatorio)

  4. Pulse “Enviar petición”.

  5. Si la consulta es exitosa, recibirá un 200 OK con el listado de tipos de proveedores.

  6. Si ocurre un problema inesperado, el sistema responderá con 500 INTERNAL_ERROR.

Modulo de rembolsos

El módulo de reembolsos (Refunds) permiten acceder a los movimientos financieros asociados a reservas. Comparten la misma estructura de autenticación y respuesta que los módulos anteriores.

Obtener Listado paginado y filtrado de reembolsos

Función: Devuelve un listado de reembolsos aplicando filtros opcionales como fechas, moneda, método, identificación del receptor, IDs específicos, entre otros.

image.png

Este endpoint permite consultar un listado paginado de reembolsos registrados en el sistema.
La API permite aplicar filtros para refinar la búsqueda y obtener únicamente los reembolsos deseados.

Cada reembolso incluido en la respuesta contiene:

  • ID del reembolso

  • ID de la reserva asociada

  • Valor y moneda

  • Fecha del reembolso

  • Concepto

  • Método de reembolso

  • Cuenta bancaria utilizada

  • Datos del receptor (nombre completo, identificación, email)

  • Fecha de creación del registro

Los resultados pueden ser paginados usando los parámetros skip y take, y se ordenan por ID en orden descendente.

Consultar información de un reembolso por ID

Función: Obtiene los datos completos de un reembolso específico usando su identificador

image.png

Este endpoint permite consultar la información detallada de un reembolso registrado en el sistema.
Al enviar un id válido, la API retorna los datos principales del reembolso, incluyendo:

Si el reembolso no existe, la API responde con un NOT_FOUND.
Si ocurre un error inesperado, retorna INTERNAL_ERROR.

Pasos generales:

  1. Ingrese a {BASE_URL}/docs/api.

  2. Busque la sección de  Reembolsos.

  3. Ingrese los parámetros solicitados (take, skip, fechas, etc.).

  4. Envíe la petición y verifique la respuesta 200 OK.

Modulo de Reservas

image.png

El módulo de Reservas devuelve las reservas asociadas a cada cliente, filtradas por su identificador o por estados de reservas y fechas 

💡 Nota:
Actualmente, las consultas devuelven únicamente las reservas del cliente titular.
Si desea incluir pasajeros no titulares, consulte con el equipo técnico de Airvi si esta opción está habilitada en su instancia.

Consultar reservas por ID 

Ruta:

GET {BASE_URL}/api/public_api/clients/{id}/reservations

Parámetros disponibles:

Parámetro Descripción
assignment_date_from, assignment_date_to Fecha de asignación del viaje.
trip_date_from, trip_date_to Fecha del viaje.
skip, take Control de paginación.

Pasos:

  1. Reemplace {id} por el ID del cliente.

  2. Escriba las fechas en formato YYYY-MM-DD.

  3. Envíe la petición.

  4. Verifique que el resultado sea 200 OK.

  5. Si no hay registros, el sistema devolverá un arreglo vacío en data.items.


Consultar reservas

Función:
Devuelve un listado paginado de reservaciones que puede ser filtrado según diferentes criterios operativos.

Ruta:

GET {BASE_URL}/api/public/reservations

Descripción general:
Esta función retorna una lista de reservaciones aplicando los siguientes filtros opcionales:

Datos incluidos por cada reserva:

Comportamiento de la respuesta:

Módulo de Categorías de Transacciones (TransactionCategory)

El módulo de Categorías de Transacciones (Transaction Categories) permite consultar y gestionar los tipos de categorías asociadas a movimientos financieros del sistema. Este módulo mantiene la misma estructura de autenticación, paginación y formato de respuesta estándar que el resto de la API pública.

Consultar listado paginado de categorías de transacciones

Función: Obtiene un listado paginado de categorías de transacciones con sus datos básicos, permitiendo filtrar por estado (activo o inactivo).

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[status] string No Estado de la categoría. Ej: activo
skip integer No Registros a omitir. Ej: 0
take integer Registros a retornar. Ej: 10

Pasos para ejecutar la consulta

  1. Ingrese a: {BASE_URL}/api/public/v1/transactionCategory

  2. Busque la sección transactionCategory → Listado de categorías de transacciones.

  3. Si desea filtrar, seleccione o escriba:

    • Estado (activo / inactivo)

    • skip

    • take (obligatorio)

  4. Pulse “Enviar petición”.

  5. Si la consulta es exitosa, recibirá un 200 OK con la lista de categorías.

  6. Si ocurre un problema inesperado, el sistema responderá con 500 INTERNAL_ERROR.

Módulo de Usuarios (Users & Providers)

Este módulo permite acceder a la información de usuarios registrados en el sistema, tanto proveedores como usuarios internos.
Los endpoints comparten la misma estructura de autenticación, paginación y formato de respuesta que los demás módulos públicos de la API.

Obtener listado paginado de proveedores

Función: Obtiene un listado paginado de proveedores, aplicando filtros opcionales por ID, documento y estado.

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[document] string No Número de documento del proveedor
filters[status] string No Estado del proveedor (activo / inactivo)
filters[user_ids] string No IDs separados por comas
skip integer No Cantidad de registros a omitir
take integer Cantidad de registros a retornar

Pasos para ejecutar la consulta

  1. Ingrese a {BASE_URL}/api/public/v1/providers.

  2. Busque la sección Providers → Obtener listado paginado de proveedores.

  3. En el campo take, escriba cuántos registros desea obtener.

  4. Si desea aplicar filtros, agregue document, status o user_ids.

  5. Pulse “Enviar petición”.

  6. Si la consulta es exitosa, recibirá un 200 OK con los proveedores encontrados.

  7. Si ocurre un problema durante la consulta, el endpoint retornará 500 INTERNAL_ERROR.

Consultar Listado paginado de usuarios

Función: Obtiene un listado paginado de usuarios cuyo rol corresponde a user, excluyendo los roles system y super_administrador, con filtros opcionales por documento, estado e IDs.

image.png

Parámetros

Parámetro Tipo Obligatorio Descripción
filters[document] string No Número de documento del usuario
filters[status] string No Estado del usuario (activo / inactivo)
filters[user_ids] string No IDs separados por comas
skip integer No Cantidad de registros a omitir
take integer Cantidad de registros a retornar

Pasos para ejecutar la consulta

  1. Ingrese a {BASE_URL}/api/public/v1/users.

  2. Busque la sección Users → Obtener listado paginado de usuarios.

  3. En el campo take, escriba cuántos registros desea obtener.

  4. Si necesita filtrar, agregue document, status o user_ids.

  5. Pulse “Enviar petición”.

  6. Si la información existe, recibirá un 200 OK con los datos paginados.

  7. Si ocurre un error inesperado, la API responderá con 500 INTERNAL_ERROR.

Módulo de Planes (Plans)

Obtener listado paginado de planes

Este módulo permite consultar los planes disponibles en el sistema mediante un listado paginado. El endpoint admite filtros opcionales para facilitar la búsqueda por ID, tipo de plan o término de búsqueda. La estructura de autenticación, paginación y formato de respuesta es consistente con los demás módulos públicos de la API.

Función: Devuelve un listado paginado de planes que puede ser filtrado por ID, tipo de plan o término de búsqueda.

image.png

Parámetros
Parámetro Tipo Obligatorio Descripción
filters[plan_id] integer No ID del plan
filters[plan_type] string No Tipo de plan (ej. alojamiento)
search string No Término de búsqueda
skip integer No Cantidad de registros a omitir
take integer Cantidad de registros a retornar
Pasos para ejecutar la consulta
  1. Ingrese a {BASE_URL}/api/public/v1/plans.
  2. Busque la sección Plans → Obtener listado paginado de planes.
  3. En el campo take, escriba cuántos registros desea obtener.
  4. Si desea aplicar filtros, agregue plan_id, plan_type o search.
  5. Pulse “Enviar petición”.
  6. Si la consulta es exitosa, recibirá un 200 OK con los planes encontrados.
  7. Si ocurre un problema durante la consulta, el endpoint retornará 500 INTERNAL_ERROR.

Obtener listado de tipos de productos

Este módulo permite consultar los tipos de productos disponibles en el sistema. El endpoint devuelve una lista de tipos de planes que pueden ser utilizados para clasificar los productos y mantiene la misma estructura de autenticación y formato de respuesta de los demás módulos públicos de la API.

Función: Devuelve una lista de los tipos de productos disponibles.

image.png

Parámetros
Este endpoint no requiere parámetros para la consulta.

Pasos para ejecutar la consulta
Ingrese a {BASE_URL}/api/public/v1/plan_types.
Busque la sección Plan Types → Obtener listado de tipos de productos.
Pulse “Enviar petición”.
Si la consulta es exitosa, recibirá un 200 OK con los tipos de productos disponibles.
Si no se envía un token válido, el endpoint retornará 401 UNAUTHORIZED.
Si ocurre un problema durante la consulta, el endpoint retornará 500 INTERNAL_ERROR.