📖 Biblia API

API REST para consultar la Biblia Reina Valera 1960

🚀 Inicio Rápido

Para usar el API necesitas una API key. Si aún no tienes una, solicítala enviando un correo a:

Autenticación (Recomendada - Headers)

curl -H "X-API-Key: tu_api_key_aqui" \
     "https://tu-dominio.com/api/v1/books"

Autenticación (Alternativa - Query String)

curl "https://tu-dominio.com/api/v1/books?key=tu_api_key_aqui"

📚 Uso del API (v1 RESTful)

GET /api/v1/books

Listar todos los libros de la Biblia. Soporta filtrado opcional por testamento.

Opciones: ?testament=Antiguo o ?t=Nuevo

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "filter": "all",
    "count": 66,
    "books": [
      { "number": 1, "name": "Génesis", "testament": "Antiguo Testamento", "chapters": 50 },
      ...
    ]
  }
}
GET /api/v1/books/{libro}

Obtener información detallada de un libro (ID, testamento, capítulos).

Ejemplo: /api/v1/books/Juan

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "id": 43,
    "name": "Juan",
    "testament": "Nuevo Testamento",
    "chapters": 21
  }
}
GET /api/v1/books/{libro}/{capítulo}

Obtener un capítulo completo (soporta rutas concisas o explícitas).

Rutas: /api/v1/books/Juan/3 o /api/v1/books/Juan/chapters/3

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "book": "Juan",
    "chapter": 3,
    "verses": [
      { "verse": 1, "text": "Había un hombre de los fariseos..." },
      ...
    ]
  }
}
GET /api/v1/books/{libro}/{capítulo}/{versículo}

Obtener un versículo específico o un rango.

Individual: /api/v1/books/Juan/3/16

Rangos: /api/v1/books/Juan/3/16-18 o /api/v1/books/Juan/3:16-18

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "status": true,
    "reference": "Juan 3:16",
    "verses": [
      { "verse": 16, "text": "Porque de tal manera amó Dios al mundo..." }
    ]
  }
}
GET /api/v1/random

Obtener versículos aleatorios de toda la Biblia.

Límites: Soporta entre 1 y 10 resultados (por defecto 1).

Ejemplos: /api/v1/random o /api/v1/random?count=5

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "count": 1,
    "verses": [
      { "book": "Salmos", "chapter": 23, "verse": 1, "text": "Jehová es mi pastor...", "reference": "Salmos 23:1" }
    ]
  }
}
GET /api/v1/search

Buscador Full-Text optimizado de alta velocidad.

Límites: Soporta entre 1 y 50 resultados (por defecto 10).

Palabra única: /api/v1/search?q=amor&limit=10

Frases (+): /api/v1/search?q=buen+pastor&limit=5

Ejemplo de Respuesta:

{
  "status": "ok",
  "data": {
    "query": "buen pastor",
    "count": 1,
    "results": [
      { "book": "Juan", "chapter": 10, "verse": 11, "text": "Yo soy el buen pastor...", "reference": "Juan 10:11" }
    ]
  }
}

📊 Gestión de Cuotas (Rate Limiting)

El sistema implementa dos niveles de control de tráfico para garantizar la estabilidad:

Al exceder la cuota, el API responderá con un error HTTP 429 Too Many Requests.

🔒 Suite de Seguridad

🎯 Códigos de Estado