Portal de eventos API (1.0.0)

Download OpenAPI specification:

API para la gestión de eventos y compras de tickets.

Autenticación

Esta API utiliza dos tipos de autenticación:

1. Bearer Token (Endpoints Internos)

Para endpoints de administración de API Clients, se requiere un token JWT en el header Authorization.

2. API Keys (Endpoints Externos)

Para consumir endpoints externos desde terceros, se requieren dos headers:

  • x-public-key: Llave pública del cliente API
  • x-secret-key: Llave secreta del cliente API

Importante: Los clientes API deben estar activos para poder consumir los endpoints externos.

API Client Management

Endpoints para gestionar clientes API (requiere autenticación de usuario con rol administrador)

Crear un nuevo API Client

Crea un nuevo cliente API y genera automáticamente un par de llaves (pública y secreta).

Importante: La llave secreta solo se retorna en esta respuesta. Guárdela de forma segura.

Authorizations:
BearerAuth
Request Body schema: application/json
required
name
required
string non-empty

Nombre descriptivo del cliente API

Responses

Request samples

Content type
application/json
{
  • "name": "Mi Cliente API"
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Actualizar el estado de un API Client

Activa o desactiva un cliente API. Un cliente desactivado no podrá consumir los endpoints externos.

Authorizations:
BearerAuth
path Parameters
id
required
string <uuid>
Example: 550e8400-e29b-41d4-a716-446655440000

ID del cliente API

Request Body schema: application/json
required
isActive
required
boolean

Estado del cliente API:

  • true: Cliente activo (puede consumir endpoints)
  • false: Cliente inactivo (no puede consumir endpoints)

Responses

Request samples

Content type
application/json
Example
{
  • "isActive": true
}

Response samples

Content type
application/json
{
  • "result": {
    }
}

Eliminar un API Client

Elimina permanentemente un cliente API de la base de datos.

Advertencia: Esta acción es irreversible. El cliente API ya no podrá consumir los endpoints externos.

Authorizations:
BearerAuth
path Parameters
id
required
string <uuid>
Example: 550e8400-e29b-41d4-a716-446655440000

ID del cliente API a eliminar

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

External API

Endpoints para consumo externo (requiere API Keys)

Listar compras de clientes

Obtiene una lista de todas las compras completadas o procesadas. Este endpoint es para consumo externo.

Autenticación

Este endpoint requiere autenticación mediante API Keys. Debes incluir los siguientes headers en tu petición:

  • x-public-key: Tu llave pública
  • x-secret-key: Tu llave secreta

Importante: Tu cliente API debe estar activo para poder consumir este endpoint.

Filtros

Puedes filtrar los resultados usando los siguientes parámetros:

  • email: Filtra por email del comprador
  • isUpcoming: Filtra eventos futuros (true) o pasados (false)

Ejemplo de uso con cURL

curl -X GET "https://events-portal-api.ufodev.io/api/client-purchases?email=usuario@ejemplo.com&isUpcoming=true" \
  -H "x-public-key: pk_abc123..." \
  -H "x-secret-key: sk_xyz987..."
Authorizations:
ApiKeyAuth
query Parameters
email
string <email>
Example: email=usuario@ejemplo.com

Filtrar por email del comprador

isUpcoming
boolean
Example: isUpcoming=true

Filtrar por eventos futuros o pasados:

  • true: Solo eventos futuros (fecha de inicio > ahora)
  • false: Solo eventos pasados (fecha de inicio <= ahora)

Responses

Response samples

Content type
application/json
Example
{
  • "result": [
    ]
}