← Volver al blog
8 min de lectura
Producto

Guía completa de la API Orilyt

Automatiza tus auditorías WordPress: un endpoint, un JSON, 80+ tests

Guía completa de la API Orilyt

Una llamada, 80+ tests

¿Ejecutas auditorías manualmente desde el dashboard, una por una? Funciona — pero cuando gestionas 20, 50 o 100 sitios, no escala.

La API REST de Orilyt resuelve esto: una petición GET, una clave de autenticación, y recibes un JSON estructurado con los resultados de los 80+ tests — listo para procesar, almacenar o mostrar en tu propia herramienta.

El endpoint

Un único endpoint de solo lectura (GET). Simple y eficaz.

Endpoint GET https://orilyt.com/api_v1.php?url=https://example.com

Autenticación

Tres métodos soportados — elige el que se adapte a tu stack:

1 Header Authorization: Bearer (recomendado)
2 Header X-API-Key
3 Query string ?key= (fallback)
Tip: Encuentra tu clave API en tu cuenta Orilyt, sección "API". Cada llamada consume 1 crédito.

Anatomía de la respuesta

El JSON devuelto contiene todo lo necesario para reconstruir un informe completo:

status — "ok" o "error"
global_score — puntuación global /100
sections — puntuaciones por categoría (rendimiento, SEO, seguridad, UX)
tests — array de 58 objetos (id, slug, label, score, status, details)
target — información del servidor (IP, CMS, hosting, PHP, HTTPS)
meta — audit_id, site_id, tiempo de ejecución, timestamp
JSON { "status": "ok", "data": { "global_score": 82, "sections": { "performance": { "score": 88, "tests": [...] }, "seo": { "score": 75, "tests": [...] }, "security": { "score": 91, "tests": [...] }, "ux": { "score": 70, "tests": [...] } }, "tests": [ { "id": 1, "slug": "ssl_check", "label": "SSL / HTTPS", "score": 100, "status": "ok", "details": { ... } }, ... ], "target": { "url": "https://example.com", "ip": "93.184.216.34", "cms": "wordpress", "php_version": "8.2", "https": true } }, "audit_id": 1234, "site_id": 56, "meta": { "duration_ms": 14520, "timestamp": "2026-03-03T10:15:00Z" } }

Ejemplos de integración

cURL (línea de comandos)

cURL curl -s "https://orilyt.com/api_v1.php?url=https://example.com&lang=fr" \ -H "Authorization: Bearer YOUR_API_KEY" \ | jq .

Python (requests)

Python import requests API_KEY = "YOUR_API_KEY" url = "https://orilyt.com/api_v1.php" params = {"url": "https://example.com", "lang": "fr"} headers = {"Authorization": f"Bearer {API_KEY}"} resp = requests.get(url, params=params, headers=headers, timeout=120) data = resp.json() if data["status"] == "ok": print(f"Score: {data['data']['global_score']}/100") for test in data["data"]["tests"]: print(f" {test['slug']}: {test['score']}") else: print(f"Error: {data['error']}")

PHP (nativo)

PHP <?php $apiKey = 'YOUR_API_KEY'; $target = 'https://example.com'; $ch = curl_init("https://orilyt.com/api_v1.php?url=" . urlencode($target) . "&lang=fr"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 120, CURLOPT_HTTPHEADER => ["Authorization: Bearer $apiKey"], ]); $json = curl_exec($ch); $data = json_decode($json, true); if ($data['status'] === 'ok') { echo "Score: " . $data['data']['global_score'] . "/100\n"; }

Node.js (fetch)

Node.js const API_KEY = 'YOUR_API_KEY'; const url = new URL('https://orilyt.com/api_v1.php'); url.searchParams.set('url', 'https://example.com'); url.searchParams.set('lang', 'fr'); const resp = await fetch(url, { headers: { 'Authorization': `Bearer ${API_KEY}` }, signal: AbortSignal.timeout(120_000), }); const data = await resp.json(); if (data.status === 'ok') { console.log(`Score: ${data.data.global_score}/100`); data.data.tests.forEach(t => console.log(` ${t.slug}: ${t.score}`) ); }

Parámetros opcionales

lang — Idioma del informe (fr, en, es, de). Por defecto: en.
Note: Sin soporte de callback/webhook por ahora — la respuesta es síncrona.

Gestión de errores

La API devuelve códigos HTTP estándar con JSON estructurado:

400 URL faltante o inválida (missing_url, invalid_url)
401 Clave API faltante o inválida (missing_api_key, invalid_api_key)
402 Créditos insuficientes (insufficient_credits)
422 Sitio inaccesible (site_unreachable, site_blocked_by_waf) — 4xx/5xx remoto, timeout, redirect loop o WAF bloqueando nuestro escáner
429 Límite de tasa alcanzado (ip_rate_limited) — header Retry-After incluido
500 Error interno (internal_error)
Error JSON { "status": "error", "code": "insufficient_credits", "error": "Not enough credits to run this audit." }

Casos de uso comunes

Monitoreo automatizado

Lanza una auditoría semanal vía cron en todos tus sitios clientes. Almacena puntuaciones y detecta regresiones.

Integración SaaS

Integra los resultados en tu propio dashboard de cliente, CRM o herramienta de mantenimiento WordPress.

Pipeline CI/CD

Añade una auditoría post-despliegue en tu pipeline. Si la puntuación baja de un umbral, bloquea la puesta en producción.

Generación de informes

Combina la API con el modo white-label para generar informes automáticos con tu marca.

Límites y buenas prácticas

1 crédito por llamada — verifica tu saldo antes de lanzar un lote
Rate limiting por IP (configurable por admin) — respeta el header Retry-After
Cachea los resultados del lado del cliente — una auditoría por sitio por día suele ser suficiente
Timeout recomendado: 120 segundos — algunos sitios lentos tardan más
HTTPS obligatorio en producción
¿Listo para automatizar?
Crea tu cuenta Orilyt, obtén tu clave API y lanza tu primera auditoría en menos de 2 minutos.
Crear una cuenta gratis
Anterior Comptes équipe : gérez vos audits à plusieurs avec le plan Agency Siguiente Comment integrer les audits Orilyt dans votre workflow d'agence avec l'API