rankion.ai
API

API de Artículos

Crea, genera, puntúa, optimiza, repurposa y publica artículos en WordPress/Shopify.

La API de artículos es la parte más usada de la API de Rankion — un único artículo recorre típicamente Crear → Generar → Puntuar → Optimizar → Publicar, con Repurpose, Freshness Check e Internal Linking opcionales. Todos los endpoints viven bajo /v1/articles/... y están scope al team.

Documentación completa del módulo: AI Content Editor · guía con capturas: Tu primer artículo.

CRUD

Method Endpoint Descripción Créditos
GET /v1/projects/{project}/articles paginado (20/página)
POST /v1/projects/{project}/articles Body: {title, slug?, content?, status?}
GET /v1/articles/{id} payload completo con score, versiones y estado CMS
PUT /v1/articles/{id} Body: {title?, slug?, content?, status?, meta_description?}
DELETE /v1/articles/{id} soft-delete

Generación

curl -X POST "$BASE/articles/$ART/generate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "keyword": "AI coding tools",
    "article_type": "blog",
    "target_length": 1500,
    "tone": "expert",
    "language": "de",
    "style_profile_id": 3,
    "content_goal_id": 2
  }'
Method Endpoint Body Créditos
POST /v1/articles/{id}/generate ver arriba — todos los campos excepto keyword son opcionales 5

Respuesta 202 Accepted:

{
  "article_id": 88,
  "status": "pending",
  "message": "Generation dispatched"
}

Después haz polling a GET /v1/articles/{id} hasta processing_status == "ready". Variante standalone sin proyecto: POST /v1/generate/article (mismos créditos).

Scoring y optimización

Method Endpoint Descripción Créditos
POST /v1/articles/{id}/score calcular el score SEO/GEO sobre el contenido actual
POST /v1/articles/{id}/optimize mejorar iterativamente el contenido existente (async) 5

La respuesta de scoring incluye sub-scores (legibilidad, cobertura de keyword, requisitos estructurales, señales GEO), una lista de sugerencias concretas de mejora y un score global de 0 a 100.

Repurpose

Genera variantes compactas para social/newsletter a partir del artículo original.

Method Endpoint Body Créditos
POST /v1/articles/{id}/repurpose opcional {format: linkedin|twitter|instagram|newsletter|youtube_script|tiktok_script|facebook} 3

Sin format se generan todos los formatos (mismo precio de 3 créditos). Con format, solo el solicitado.

# Todos los formatos
curl -X POST "$BASE/articles/$ART/repurpose" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{}'

# Solo LinkedIn
curl -X POST "$BASE/articles/$ART/repurpose" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"format":"linkedin"}'

Publish

Publica el artículo a través de una integración CMS configurada (WordPress, Shopify, adaptador REST custom).

Method Endpoint Body Créditos
POST /v1/articles/{id}/publish {cms_integration_id}
curl -X POST "$BASE/articles/$ART/publish" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"cms_integration_id":1}'

Response 202 con job ID. Estado luego vía GET /v1/articles/{id} (cms_publish_status). Una segunda llamada de publish con un job en vuelo → 409 Conflict (evita duplicados).

Versions

Cada paso generativo (Generate, Optimize, Restore) crea una versión inmutable. Así puedes hacer rollback o comparar.

Method Endpoint Descripción
GET /v1/articles/{id}/versions ?limit=50
POST /v1/articles/{id}/versions/{vid}/restore sobrescribe el article.content actual

Freshness

Detecta estadísticas/fechas/links obsoletos y propone updates — clave para la estabilidad SEO en contenido evergreen.

Method Endpoint Descripción
GET /v1/articles/{id}/freshness estado actual de freshness
POST /v1/articles/{id}/freshness/check dispatchar nuevo check
GET /v1/articles/{id}/freshness/history historial de checks

Internal Linking

Method Endpoint Descripción Créditos
GET /v1/articles/{id}/link-suggestions sugerencias para este artículo
POST /v1/projects/{project}/internal-links/analyze recalcular el mapa a nivel proyecto (async) 5
PUT /v1/link-suggestions/{id} aceptar/rechazar sugerencia / editar anchor text

Ejemplo completo: Crear → Generar → Puntuar → Publicar

TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"
PID=12   # proyecto existente

# 1) Crear stub
ART=$(curl -s -X POST "$BASE/projects/$PID/articles" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"AI Coding Tools 2026","status":"draft"}' \
  | jq -r .data.id)

# 2) Arrancar la generación (5 créditos, async)
curl -s -X POST "$BASE/articles/$ART/generate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"keyword":"AI coding tools","article_type":"blog","target_length":1500,"language":"en"}'

# 3) Polling hasta ready
while [ "$(curl -s "$BASE/articles/$ART" \
  -H "Authorization: Bearer $TOKEN" | jq -r .data.processing_status)" != "ready" ]; do
  echo "Generating..."; sleep 5
done

# 4) Calcular score
curl -s -X POST "$BASE/articles/$ART/score" \
  -H "Authorization: Bearer $TOKEN" | jq '.data.scores'

# 5) Opcional: repurpose para LinkedIn
curl -s -X POST "$BASE/articles/$ART/repurpose" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"format":"linkedin"}'

# 6) Publicar vía CMS-Integration ID 1
curl -s -X POST "$BASE/articles/$ART/publish" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"cms_integration_id":1}'

# 7) Verificar estado de publish
curl -s "$BASE/articles/$ART" -H "Authorization: Bearer $TOKEN" \
  | jq '{cms_publish_status, public_url}'

Notas y pitfalls

  • Generate es async. Aunque el endpoint devuelva 200, el contenido solo está listo tras finalizar el job. Haz polling siempre.
  • Score requiere contenido. Un POST /score sin content suficiente devuelve un error de validación, no un score 0 inútil.
  • Publish es exclusivo. Mientras un job de publish corre, no puedes volver a publicar — 409. Comprueba primero el estado.
  • Las versiones son inmutables. Un restore no sobrescribe la versión antigua, sino que crea una nueva versión con el contenido antiguo.

Relacionado: API de Proyectos · Créditos · AI Content Editor · Tu primer artículo.

Letzte Aktualisierung: 1 de mayo de 2026

Cookies: Utilizamos cookies necesarias para el funcionamiento y opcionales para mejoras. Detalles

Necesarias
Activo
Analítica
Marketing