Skip to main content
API para mentores

Programas externos

Vende productos cuyo contenido vive en otra plataforma; solo necesitas un link.

Un programa externo es un producto cuyo contenido está alojado fuera de Grou (tu propia plataforma, una comunidad, etc.). No tiene módulos ni lecciones: solo un external_url al que accede el comprador.

Como no requiere currículo, se puede publicar inmediatamente después de crearlo (una vez tenga miniatura y precio).

Al editar (PATCH) se envía el body completo, igual que al crear: general.name y content.external_url siempre son obligatorios.

MétodoRutaQué hace
POST/externalCrea un borrador
GET/externalLista tus programas externos
GET/external/{id}Devuelve el producto y su estado
PATCH/external/{id}Edita el borrador (o abre uno nuevo si ya está publicado)
POST/external/{id}/imagesSube la miniatura
POST/external/{id}/publishPublica y genera el checkout_url
POST/external/{id}/unpublishLo retira de la venta
GET/external/{id}/versionsHistorial de versiones

Body

CampoRequeridoDescripción
external_refNoTu identificador para este producto
general.nameSíNombre (máx. 120 caracteres)
general.descriptionNoDescripción
general.category_idsNoIds de categorías (principal / subcategoria)
content.external_urlSíURL donde vive el contenido
commercialNoPrecios, cuotas o suscripciones
coproductionNoLista de { mentor_id, percentage }

Ejemplo — crear un borrador

POST /api/ext/external
Authorization: Bearer sk_<tu-api-key>
Content-Type: application/json

{
  "external_ref": "mi-plataforma-ext-7",
  "general": {
    "name": "Masterclass externa",
    "description": "Acceso a contenido alojado externamente."
  },
  "content": {
    "external_url": "https://mi-plataforma.com/curso/7"
  },
  "commercial": {
    "base_currency": "USD",
    "pricing": [{ "currency": "USD", "value": 49.0 }]
  }
}

Respuesta 201 Created:

{
  "id": "6ab8...e001",
  "type": "external",
  "external_ref": "mi-plataforma-ext-7",
  "state": "draft",
  "version_id": "6ab8...v001",
  "checkout_url": null,
  "created_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z"
}