API y servidor MCP

Cree tokens en su espacio, sección Desarrolladores. Cada token tiene permisos limitados y puede revocarse en cualquier momento.

Autenticación

Authorization: Bearer rl_live_…

Respuestas en JSON. Errores: { "error": { "code", "message" } }. Límite según el plan (Solo 20, Pro 60, Agence 120 peticiones por minuto) y 1 petición por segundo como máximo, indicados en las cabeceras X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Burst. Por encima: 429 con Retry-After. Servicio muy solicitado: 503 con Retry-After. Para crear muchos enlaces, use /v1/links/batch.

Crear un enlace

curl https://api.reli.es/v1/links \
  -H "Authorization: Bearer rl_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://exemple.fr/offre",
    "slug": "offre-hiver",
    "tags": ["sms"],
    "utm": {"source": "sms", "campaign": "hiver"},
    "expires_at": "2026-12-31T23:59:00+01:00"
  }'
201 Created
{ "data": { "id": 42, "short_url": "https://reli.es/offre-hiver", "status": "active", "clicks": 0, "qr_svg": "https://api.reli.es/v1/links/42/qr.svg", … } }

Endpoints

MétodoRutaPermisoRol
POST/v1/linkslinks:writeCrear un enlace: url, domain, slug, title, tags, utm, starts_at, expires_at, expired_url, password
POST/v1/links/batchlinks:writeCrear hasta 100 enlaces: { "links": [ … ] }
GET/v1/linkslinks:readListar: tag, status, domain, q, cursor, limit (100 como máximo)
GET/v1/links/{id}links:readLeer un enlace
PATCH/v1/links/{id}links:writeModificar destino, título, etiquetas, fechas, UTM
DELETE/v1/links/{id}links:writeArchivar (el final del enlace nunca se reasigna)
GET/v1/links/{id}/statsstats:readEstadísticas: days (7 a 365)
GET/v1/links/{id}/qr.svglinks:readCódigo QR SVG o PNG
GET/v1/domainsdomains:readDominios utilizables
GET · PATCH/v1/pages/{handle}pages:read · pages:writeLeer una página bio, modificar título y presentación
GET/v1/accountPlan, límites y consumo
GET · POST · PATCH/v1/campaigns · /v1/campaigns/{id}/contactscampaigns:read · campaigns:writeCampañas de las cuentas gestionadas por Le Web 2 KS: un enlace por contacto

Webhooks

Eventos: link.created, link.blocked, link.clicked (agrupado por minuto), page.form_submitted, campaign.contact_clicked (cuentas gestionadas). Cada envío lleva la cabecera X-Relies-Signature: t=marca de tiempo,v1=firma, donde la firma es el HMAC-SHA256 de «marca_de_tiempo.cuerpo» con su secreto. Rechace los envíos de más de 5 minutos. Tres reintentos en caso de error: tras 1 minuto, 10 minutos y 1 hora.

$payload = file_get_contents('php://input');
[$t, $v1] = sscanf($_SERVER['HTTP_X_RELIES_SIGNATURE'], 't=%d,v1=%s');
$valid = abs(time() - $t) < 300
    && hash_equals(hash_hmac('sha256', $t.'.'.$payload, $secret), $v1);

Servidor MCP

Dirección: https://api.reli.es/mcp · transporte HTTP, mismo token que la API.

claude mcp add --transport http reli-es https://api.reli.es/mcp \
  --header "Authorization: Bearer rl_live_…"
HerramientaRol
liens_creerCrear uno o varios enlaces
liens_chercherBuscar por destino, etiqueta, estado
liens_statsEstadísticas de un enlace o de la cuenta
lien_modifierModificar destino, título, etiquetas, fechas
lien_archiverArchivar, con confirmación explícita
page_lire · page_modifierLeer una página bio, añadir un botón de enlace
qr_exporterDirección del código QR SVG o PNG
compte_etatPlan, límites y consumo