Ir al contenido
Desarrolladores

Tu agencia, conectada a tus IA

Pide a Claude la facturación de la semana por modelo, o envía un recordatorio de sesión desde Make. Tú eliges lo que puede hacer cada clave.

Lo que puedes hacer

Pregunta a tus cifras

«¿Quién vendió más en MYM este mes?» Claude lee los totales y responde en una frase.

Preparar el contenido

La IA escribe publicaciones para el feed. Llegan como borrador, tu equipo revisa y publica.

Avisar a una creadora

Un recordatorio de sesión, un cambio de hora: el mensaje sale en la app. Nada de envíos masivos, 50 notificaciones al día como máximo.

Automatizar

Make, Zapier, n8n o tu propio script leen las ventas y las sesiones por la API REST.

Crear tu clave

  1. Entra en la consola como Propietario o Admin, con la doble autenticación activa.
  2. Abre Ajustes, luego Desarrolladores, y haz clic en Crear una clave.
  3. Ponle un nombre claro. Marca solo lo que tu herramienta necesita.
  4. Escribe tu código de doble autenticación. La clave solo se muestra una vez: cópiala enseguida.
  5. Pégala en la cabecera Authorization de tu herramienta: Bearer y luego la clave.

Una clave empieza por vlr_live_ seguido de 43 caracteres. Después, la consola solo muestra el principio, para reconocerla.

Conectar una IA por MCP

MCP es el estándar que deja a una IA usar herramientas. La dirección del servidor es la misma para todos los clientes. En los ejemplos, cambia <domaine> por la dirección de tu consola, y la clave por la tuya.

https://<domaine>/api/mcp

Claude Code

Un comando en tu terminal, y luego /mcp para comprobar que Velora está conectado.

claude mcp add --transport http velora https://<domaine>/api/mcp \
  --header "Authorization: Bearer vlr_live_…"

Claude Desktop

Abre Ajustes, Desarrollador, Editar configuración. Pega este bloque en claude_desktop_config.json y reinicia Claude. El relé mcp-remote añade tu clave a cada llamada.

{
  "mcpServers": {
    "velora": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://<domaine>/api/mcp",
        "--header", "Authorization:${VELORA_AUTH}"
      ],
      "env": { "VELORA_AUTH": "Bearer vlr_live_…" }
    }
  }
}

Cursor

En ~/.cursor/mcp.json (o .cursor/mcp.json en un proyecto). Las herramientas aparecen en Ajustes, MCP.

{
  "mcpServers": {
    "velora": {
      "url": "https://<domaine>/api/mcp",
      "headers": { "Authorization": "Bearer vlr_live_…" }
    }
  }
}

ChatGPT

Los conectores MCP de ChatGPT aún no pueden enviar una clave. Usa un GPT personalizado. En Acciones, importa el esquema desde la dirección de abajo. Luego elige Autenticación, Clave API, tipo Bearer, y pega tu clave.

https://<domaine>/api/v1/openapi.json

Las herramientas MCP

Una clave solo ve las herramientas de sus permisos. Las de lectura van marcadas como solo lectura: tu IA puede usarlas sin preguntarte.

Herramienta MCPPermiso
list_creators
Las creadoras de la agencia, las más recientes primero. Sin e-mail ni teléfono.
read:creators
get_creator
Una creadora, con sus plataformas de venta conectadas.
read:creators
list_sales
Las ventas de OnlyFans (vía Infloww), MYM y Reveal, las más recientes primero. Nunca el nombre de los fans.
read:sales
sales_summary
Los totales de un periodo, por modelo y por plataforma, correcciones manuales incluidas.
read:stats
send_notification
Una notificación en la app, para una modelo o para todas. Cuentan las horas tranquilas y el límite por modelo. 50 al día como máximo para la agencia.
write:notifications
list_shoots
Las sesiones previstas en un periodo, de la más cercana a la más lejana. Nunca las notas internas.
read:shoots
list_feed
Las publicaciones del feed de la agencia, fijadas primero.
read:feed
create_feed_draft
Crea un borrador en el feed. Las modelos no ven nada hasta que tu equipo lo publique.
write:feed

API REST

Para tus scripts y automatizaciones. Respuestas en JSON, importes en céntimos.

Cada llamada lleva la cabecera Authorization: Bearer vlr_live_…. Las llamadas desde un navegador se rechazan: llama desde un servidor.

curl https://<domaine>/api/v1/stats/summary?from=2026-10-01&to=2026-10-31 \
  -H "Authorization: Bearer vlr_live_…"

Una lista devuelve 50 elementos como máximo y un nextCursor. Pásalo en cursor para la página siguiente. Vale null al final.

En caso de error, la respuesta da un código y un mensaje. Los códigos: unauthorized (401), insufficient_scope y browser_not_allowed (403), not_found (404), invalid_request (400), rate_limited y notification_cap_reached (429).

{ "error": { "code": "insufficient_scope", "message": "This key lacks the read:sales scope." } }

El esquema OpenAPI 3.1 completo

Referencia

GET/api/v1/creators

Las creadoras de la agencia, las más recientes primero. Sin e-mail ni teléfono.

Permiso read:creators · Herramienta MCP list_creators

ParámetroTipoDónde
status
Solo las creadoras en este estado.
INVITED | ACTIVE | PAUSEDURL, opcional
tag
Solo las creadoras con esta etiqueta.
stringURL, opcional
cursor
El nextCursor de la página anterior.
stringURL, opcional
limit
Tamaño de la página, de 1 a 50 (25 por defecto).
integerURL, opcional

GET/api/v1/creators/{id}

Una creadora, con sus plataformas de venta conectadas.

Permiso read:creators · Herramienta MCP get_creator

ParámetroTipoDónde
id
Identificador de la creadora.
stringruta, obligatorio

GET/api/v1/sales

Las ventas de OnlyFans (vía Infloww), MYM y Reveal, las más recientes primero. Nunca el nombre de los fans.

Permiso read:sales · Herramienta MCP list_sales

ParámetroTipoDónde
creatorId
Solo las ventas de esta creadora.
stringURL, opcional
platform
Solo esta plataforma.
ONLYFANS | MYM | REVEALURL, opcional
from
Ventas a partir de este instante (ISO 8601).
date-timeURL, opcional
to
Ventas antes de este instante (ISO 8601).
date-timeURL, opcional
cursor
El nextCursor de la página anterior.
stringURL, opcional
limit
Tamaño de la página, de 1 a 50 (25 por defecto).
integerURL, opcional

GET/api/v1/stats/summary

Los totales de un periodo, por modelo y por plataforma, correcciones manuales incluidas.

Permiso read:stats · Herramienta MCP sales_summary

ParámetroTipoDónde
from
Primer día, AAAA-MM-DD, en la zona horaria de la agencia (por defecto hace 29 días).
stringURL, opcional
to
Último día incluido (por defecto hoy). 366 días como máximo.
stringURL, opcional

POST/api/v1/notifications

Una notificación en la app, para una modelo o para todas. Cuentan las horas tranquilas y el límite por modelo. 50 al día como máximo para la agencia.

Permiso write:notifications · Herramienta MCP send_notification

ParámetroTipoDónde
title
Título, 60 caracteres como máximo.
stringcuerpo JSON, obligatorio
body
Texto, 240 caracteres como máximo.
stringcuerpo JSON, obligatorio
creatorId
Enviar solo a esta creadora.
stringcuerpo JSON, opcional
all
true para enviar a todas las creadoras activas. Indica creatorId o all, no los dos.
booleancuerpo JSON, opcional
linkPath
Pantalla de la app que se abre, por ejemplo /feed.
stringcuerpo JSON, opcional

GET/api/v1/shoots

Las sesiones previstas en un periodo, de la más cercana a la más lejana. Nunca las notas internas.

Permiso read:shoots · Herramienta MCP list_shoots

ParámetroTipoDónde
from
Sesiones que empiezan a partir de este instante (por defecto ahora).
date-timeURL, opcional
to
Sesiones que empiezan antes de este instante (por defecto 31 días después, 62 como máximo).
date-timeURL, opcional
creatorId
Solo las sesiones de esta creadora.
stringURL, opcional
status
Solo las sesiones en este estado.
SCHEDULED | DONE | CANCELEDURL, opcional
cursor
El nextCursor de la página anterior.
stringURL, opcional
limit
Tamaño de la página, de 1 a 50 (25 por defecto).
integerURL, opcional

GET/api/v1/feed

Las publicaciones del feed de la agencia, fijadas primero.

Permiso read:feed · Herramienta MCP list_feed

ParámetroTipoDónde
status
Solo las publicaciones en este estado (por defecto todo menos ARCHIVED).
DRAFT | SCHEDULED | PUBLISHED | ARCHIVEDURL, opcional
cursor
El nextCursor de la página anterior.
stringURL, opcional
limit
Tamaño de la página, de 1 a 50 (25 por defecto).
integerURL, opcional

POST/api/v1/feed

Crea un borrador en el feed. Las modelos no ven nada hasta que tu equipo lo publique.

Permiso write:feed · Herramienta MCP create_feed_draft

ParámetroTipoDónde
type
ANNOUNCEMENT por defecto.
ANNOUNCEMENT | POLL | WIN | TIP | EVENTcuerpo JSON, opcional
title
Título, 120 caracteres como máximo.
stringcuerpo JSON, obligatorio
body
Texto, 4.000 caracteres como máximo.
stringcuerpo JSON, opcional
emoji
Un emoji que se muestra con la publicación.
stringcuerpo JSON, opcional
audienceCreatorIds
Las creadoras que la verán. Vacío = todas.
string[]cuerpo JSON, opcional
pollOptions
Obligatorio para un POLL: de 2 a 6 respuestas.
string[]cuerpo JSON, opcional

Límites

  • 120 llamadas por minuto y por clave, 600 por minuto para toda la agencia.
  • 50 notificaciones al día para la agencia, sumando todas las claves. Además se aplica el límite por modelo de la consola.
  • Por encima: respuesta 429 con la cabecera Retry-After. Espera ese número de segundos.
  • 20 claves activas como máximo por agencia.

Seguridad

  • Solo guardamos la huella de tu clave. Ni siquiera nosotros podemos leerla.
  • Cada clave está ligada a tu agencia. La propia base de datos se niega a mostrar los datos de otra agencia.
  • Una clave solo tiene los permisos marcados. Una clave de lectura no cambia nada.
  • Si el admin que la creó deja el equipo o pierde su rol, la clave deja de funcionar.
  • Cada envío y cada borrador queda anotado en el registro de la agencia, con la clave usada.
  • La API nunca devuelve correos, teléfonos, nombres de fans, notas internas ni archivos.
  • ¿Clave perdida o compartida por error? Revócala en la consola, el efecto es inmediato.

¿Listo para conectar tu IA?

Tu primera clave en dos minutos, desde la consola.