Saltar al contenido
API v1 · https://bentho.org/api
POST/api/mod/productos/{espacio}/products/

Crea un producto

Da de alta un producto en borrador. Si no tiene opciones, se crea también su variante única, con el SKU que des o uno sacado del nombre.

  • PERMISOescribe
  • CRÉDITOSno gasta
  • AUTENTICACIÓNBearer bth_…

PARÁMETROS

CAMPOTIPOREQUERIDOQUÉ ES
espaciostringSÍEl id del espacio (sale en GET /api/companies). Tiene que tener el módulo Productos.

CUERPO · JSON

CAMPOTIPOREQUERIDOQUÉ ES
nombrestringSÍComo lo ve tu cliente.
skustringnoEl SKU de su variante única. Sin él, sale del nombre (cafe-molido-la-loma-500-g). Se ignora si mandas opciones.
product_type_idstringnoSu tipo de producto. Con él, los atributos se validan contra los del tipo.
descripcionstringnoLa ficha, en texto libre. También se busca por ella.
atributosobjectnoValores por nombre de atributo: {"Tueste": "medio"}. Los no declarados en el tipo se guardan tal cual.
metadataobjectnoDatos tuyos, libres.
imagenesstring[]noURL de sus imágenes.
opciones[{ nombre, valores }]noSus ejes de variación: [{"nombre": "Molienda", "valores": ["En grano", "Molido"]}]. Con opciones no se crea variante: añade cada una con Crea una variante.

RESPUESTA 201

El producto, en borrador.

CAMPOTIPOQUÉ ES
id · nombrestringEl id y el nombre.
product_type_idstring | nullSu tipo de producto, si tiene.
descripcionstring | nullLa ficha en texto libre.
estado"borrador" | "activo" | "archivado"Ver estados.
atributos · metadataobjectLos valores de sus atributos y tus datos libres.
imagenesstring[]Las URL de sus imágenes.
opciones[]{ id, nombre, valores }Sus ejes de variación: "Talla" con ["S", "M", "L"]. Vacío si no tiene.
variantes[]objectLas unidades vendibles, la más antigua primero, con id, product_id, sku, option_values, barcode, activo, external_id y created_at.
created_at · updated_atnumberSegundos desde 1970, con decimales.

ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}

STATUSCUÁNDODETAIL LITERAL
403El espacio no tiene el módulo Productosmódulo no habilitado para este espacio.
403La clave es de solo lecturaTu cuenta es de solo lectura en este espacio.
400product_type_id no es un tipo del espaciotipo de producto no encontrado: …
400Un atributo no cumple su tipo de producto: falta uno requerido, no es un número, no es un sí/no o no está entre sus opcionesatributo requerido ausente: '…'
422Falta un campo obligatorio o uno no es de su tipo (detail es una lista)—

Y los de cualquier ruta —clave inválida, cuenta no al día, IP, límites—, en Errores, límites y créditos.

CONVIENE SABER

  • Nace en borrador y así no sale en la búsqueda. Para ponerlo a la venta, edítalo con {"estado": "activo"}.
  • Si el sku ya lo usa otra variante, no da error: la variante se crea con uno sacado del nombre. Mira variantes[0].sku en la respuesta.
  • La barra final es parte de la ruta: sin ella el módulo no responde con los datos.