Imágenes
Sube la miniatura de tus productos; la API no acepta URLs de imágenes externas.
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
- Body:
multipart/form-datacon un único campothumbnail(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
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.