SDKs
Tres clientes oficiales envuelven la API para que puedas llamar métodos en lugar de escribir GraphQL. Los tres tienen licencia MIT y están publicados.
| Lenguaje | Paquete | Código |
|---|---|---|
| Ruby | bibleql-ruby en RubyGems | lporras/bibleql-ruby |
| Node.js / TypeScript | bibleql-js en npm | lporras/bibleql-js |
| Python | bibleql en PyPI | lporras/bibleql-python |
gem "bibleql-ruby"
npm install bibleql-js
pip install bibleql
Después consulta Configurar los SDKs para saber dónde inicializar el cliente.
También existe un repositorio de ejemplos que muestra los clientes de Ruby y Node en uso.
Cobertura
Ningún SDK cubre todavía el esquema completo. Donde falte un método, usa la forma GraphQL o cURL: todos los ejemplos de este sitio muestran ambas.
| Query | Ruby | Node.js | Python |
|---|---|---|---|
translations | ✅ | ✅ | ✅ |
translation | ✅ | ✅ | ✅ |
books | ✅ | ✅ | ✅ |
languages | ✅ | ✅ | ✅ |
passage | ✅ | ✅ | ✅ |
chapter | ✅ | ✅ | ✅ |
verse | ✅ | ✅ | ✅ |
randomVerse | ✅ | ✅ | ✅ |
search | ✅ | ✅ | ✅ |
verseOfTheDay | ✅ | ✅ | ✅ |
bibleIndex | ✅ | ✅ | ✅ |
semanticSearch | ❌ | ✅ | ✅ |
concordance | ❌ | ❌ | ✅ |
concordanceIndex | ❌ | ❌ | ✅ |
Por ahora la familia de concordancia solo está en el cliente de Python. Concordancia muestra el GraphQL directamente. Los paquetes offline todavía no están en ningún cliente.
Todos son solo para servidor
bibleql-js está hecho para Node.js y su README dice explícitamente que no se use en código de
frontend. Empaquetarlo en una app de navegador expone tu key a cualquiera que abra las
herramientas de desarrollo.
Si necesitas texto bíblico en una aplicación cliente, llama a BibleQL desde tu propio backend y reenvía el resultado.
Errores tipados
Los tres mapean los fallos de la API a clases de excepción, así que puedes ramificar por tipo en lugar de analizar mensajes:
| Condición | Ruby | Node.js | Python |
|---|---|---|---|
| Key inválida | BibleQL::AuthenticationError | AuthenticationError | bibleql.AuthenticationError |
| Límite superado | BibleQL::RateLimitError | RateLimitError | bibleql.RateLimitError |
| No encontrado | BibleQL::NotFoundError | NotFoundError | bibleql.NotFoundError |
| Error del servidor | BibleQL::ServerError | ServerError | bibleql.ServerError |
| Tiempo de espera | BibleQL::TimeoutError | TimeoutError | bibleql.RequestTimeoutError |
| Fallo de red | BibleQL::ConnectionError | ConnectionError | bibleql.NetworkError |
| Error de GraphQL | BibleQL::QueryError | QueryError | bibleql.QueryError |
Consulta Errores para el formato subyacente.
Los SDKs de Ruby y Node apuntan por defecto a una URL alojada en Render en lugar de a
https://bibleql.org/graphql. El cliente de Python ya usa bibleql.org por defecto. Si quieres
fijar el endpoint canónico, configúralo explícitamente: api_url en Ruby, apiUrl en Node. La
página de cada SDK muestra cómo.