Ir al contenido principal
API para mentores

Imágenes

Sube la miniatura de tus productos; la API no acepta URLs de imágenes externas.

Escrito por Jacobo

Última actualización Hace 23 días

Las imágenes de los productos se suben a nuestro almacenamiento; nunca se referencian con una URL externa. El body JSON de crear/editar no tiene campo de imagen: la imagen se envía por un endpoint aparte, después de crear el borrador.

¿Por qué no aceptamos una URL?

  • Seguridad: verificamos el tipo y tamaño reales del archivo antes de servirlo.
  • Disponibilidad: si el sitio externo se cae (Drive, una web personal), tu página de venta no se rompe.
  • Bloqueos: algunos servidores impiden mostrar sus imágenes en otros dominios.

Endpoint

MétodoRuta
POST/programs/{id}/images
POST/external/{id}/images
POST/workshops/{id}/images

  • Body: multipart/form-data con un único campo thumbnail (el nombre del campo es el slot).
  • Una imagen por request. Cualquier otro nombre de campo devuelve 400.
  • La imagen se guarda en el borrador. Si el producto ya está publicado, se abre un borrador nuevo (igual que con un PATCH) y el cambio se ve cuando vuelves a publicar.

Para las imágenes de checkouts (cabecera, laterales, carrusel con video) ver Checkouts → Imágenes del checkout.

Archivos aceptados

FormatosJPEG, PNG, WEBP
Tamaño máximo10 MB
RechazadosSVG, GIF, BMP, HEIC, PDF y cualquier otro

El tipo se detecta por el contenido real del archivo, no por la extensión ni por el Content-Type declarado.

Ejemplo

curl -X POST https://hub.grou.com/api/ext/programs/6ab8...f001/images \
  -H "Authorization: Bearer sk_<tu-api-key>" \
  -F "thumbnail=@./portada.jpg"

Respuesta 200 OK:

{
  "media": {
    "slot": "thumbnail",
    "url": "https://storage.googleapis.com/.../portada-<uuid>.jpg",
    "content_type": "image/jpeg"
  },
  "resource": {
    "id": "6ab8...f001",
    "type": "program",
    "state": "draft",
    "version_id": "6ab8...v001",
    "checkout_url": null,
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-01T00:00:00Z"
  }
}

Orden recomendado: crear el borrador → subir la miniatura → publicar.

Errores

CódigoCuándo
400No es multipart/form-data, falta el archivo, campo desconocido, más de un archivo, formato no permitido o más de 10 MB
401API Key ausente o inválida
404El id no existe, no es tuyo o no corresponde al tipo de la ruta