Advanced

Muestra tus reservas en tu sitio web con la API pública

Muchas agencias y artistas muestran sus próximas fechas en su propio sitio web: una página de gira, un calendario de conciertos o una simple lista de shows. La API pública de Artistu te da un feed de solo lectura de tus reservas anunciadas, para que tu sitio web muestre siempre las mismas fechas que gestionas en Artistu. Sin copiar a mano, sin páginas de gira desactualizadas.

La API es de solo lectura y solo expone la información que has marcado explícitamente como pública. Cachés, deals, contactos, notas internas y shows sin anunciar nunca se incluyen.

Cómo funciona

Tres piezas trabajan juntas:

  1. Un token de API, generado una sola vez en tus ajustes de Artistu, que autentica tu sitio web.
  2. Ajustes online por reserva, que controlan si una reserva está anunciada y qué detalles públicos incluye.
  3. Un único endpoint que devuelve las reservas anunciadas de un artista en JSON.

Genera tu token de API

Ve a Configuración → Integraciones y busca la sección API pública. Haz clic en Generar token. Necesitas ser admin de tu organización para hacerlo.

El token es una cadena de 64 caracteres. Trátalo como una contraseña: cualquiera que lo tenga puede leer tus datos públicos de reservas. Queda enmascarado en la interfaz tras generarlo, usa el botón Mostrar para revelarlo de nuevo.

Con un token creado hay dos acciones más disponibles:

  • Regenerar token crea un token nuevo e invalida el antiguo de inmediato. Cualquier sitio web o integración que siga usando el token antiguo deja de funcionar al instante.
  • Revocar token elimina el token sin crear uno nuevo. Todo el acceso a la API se detiene hasta que generes un token nuevo.

Controla qué reservas aparecen

No todas las reservas deben estar en tu sitio web. Una reserva solo aparece en la API cuando se cumplen todas estas condiciones:

  1. El estado de la reserva es opción o confirmada. Las reservas pendientes y canceladas nunca aparecen.
  2. La reserva está anunciada: o el interruptor Anunciado está activado, o la fecha de Anunciar el ya ha pasado.
  3. El interruptor Ocultar de la API pública está desactivado.

Esto lo gestionas por reserva. Abre una reserva, ve a la pestaña Ajustes y baja hasta la sección Online. Ahí encuentras:

CampoFunción
Anunciar elFecha en la que la reserva pasa a estar anunciada automáticamente
AnunciadoMarcar manualmente la reserva como anunciada ahora mismo
Ocultar de la API públicaMantener la reserva fuera de la API aunque esté anunciada
Sitio webSitio web público del evento o del recinto, incluido en la respuesta de la API
Enlace de entradasEnlace a la venta de entradas, incluido en la respuesta de la API
Line-upTexto público del line-up, incluido en la respuesta de la API
Notas públicasCualquier texto público adicional, incluido en la respuesta de la API

La fecha de Anunciar el es útil cuando un show está confirmado pero bajo embargo hasta la fecha oficial del anuncio. Establece la fecha y la reserva aparecerá en la API automáticamente a partir de ese día.

Ocultar de la API pública es el control para shows anunciados en otros sitios pero que no deben estar en tu web, por ejemplo eventos privados.

Encuentra el ID de tu artista

La API devuelve las reservas de un artista cada vez. Encuentras el ID del artista en la barra de direcciones al ver el artista en tu panel:

https://artistu.io/dashboard/artists/{artistId}

La última parte de la URL es el ID que pasas a la API. Si tu sitio web muestra varios artistas, haz una petición por artista.

Obtén las reservas

GET https://artistu.io/api/public/bookings/{artistId}

Autentícate con tu token en la cabecera Authorization:

Authorization: Bearer YOUR_API_TOKEN

Parámetros de consulta

ParámetroFormatoPor defectoDescripción
startDateYYYY-MM-DDhoyPrimera fecha incluida
endDateYYYY-MM-DDstartDate + 1 mesÚltima fecha incluida

El rango de fechas puede abarcar como máximo 366 días, y startDate debe ser igual o anterior a endDate.

Ejemplo de petición

curl -X GET 'https://artistu.io/api/public/bookings/{artistId}?startDate=2026-08-01&endDate=2026-12-31' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

Ejemplo de respuesta

{
  "bookings": [
    {
      "bookingId": "uq1ye3nqnb4m5f234auf69gk",
      "artistName": "DJ Example",
      "name": "Summer Festival 2026",
      "date": "2026-08-15T00:00:00.000Z",
      "time": "22:00",
      "duration": 90,
      "venue": "Festival Grounds",
      "capacity": 15000,
      "status": "confirmed",
      "address": {
        "description": "Festival Grounds, Amsterdam, Netherlands",
        "geometry": { "lat": 52.3676, "lng": 4.9041 },
        "components": {
          "city": "Amsterdam",
          "country": "Netherlands",
          "countryCode": "NL"
        }
      },
      "website": "https://summerfestival.example",
      "ticketLink": "https://tickets.example/summer-festival",
      "lineUp": "DJ Example, Support Act",
      "publicNotes": "Main stage closing set"
    }
  ],
  "truncated": false
}

Las reservas vienen ordenadas por fecha ascendente. duration está en minutos. status es option o confirmed. Los campos sin valor son null.

Una respuesta contiene como máximo 500 reservas. Si tu rango de fechas incluye más, truncated es true y se incluye un campo maxResults. Reduce el rango de fechas para obtener el resto.

Límites de peticiones

  • 60 peticiones por minuto por token
  • 120 peticiones por minuto por dirección IP

Cada respuesta incluye las cabeceras X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Si superas un límite, la API responde con estado 429 y te indica cuántos segundos esperar.

Para un sitio web típico, cachea la respuesta de la API en tu propio servidor durante unos minutos en lugar de llamar a la API en cada visita. Tu página de gira sigue siendo rápida y te mantienes lejos de los límites.

Solución de problemas

  • 401 Unauthorized: el token falta, está mal formado, o ha sido regenerado o revocado. Comprueba la cabecera Authorization: Bearer y compara el token con el de Configuración → Integraciones.
  • 404 Artist not found: el ID del artista no existe o pertenece a una organización distinta a la del token.
  • 400 Bad request: una fecha no está en formato YYYY-MM-DD, startDate es posterior a endDate, o el rango supera los 366 días.
  • Falta una reserva: revisa las tres condiciones de visibilidad de arriba. Lo más habitual es que la reserva aún no esté anunciada o que su estado siga pendiente.