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

Edita un producto

Cambia solo los campos que mandas. Es también como se activa o se archiva: {"estado": "activo"}.

  • 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.
productostringSÍEl id del producto: el que devolvió crearlo (32 caracteres hexadecimales).

CUERPO · JSON

CAMPOTIPOREQUERIDOQUÉ ES
estado"borrador" | "activo" | "archivado"noVer estados.
nombrestringnoEl nombre nuevo.
descripcionstringnoLa ficha nueva.
product_type_idstringnoOtro tipo. Los atributos se vuelven a validar contra él.
atributos · metadataobjectnoReemplazan el objeto entero: manda también los valores que no cambian.
imagenesstring[]noReemplaza la lista entera.

RESPUESTA 200

El producto, ya cambiado.

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.
404No hay un producto con ese id en el espacioproducto no encontrado.
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: '…'
422estado no es borrador, activo ni archivado (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

  • Un campo en null se ignora: no borra el valor que había.
  • Las opciones y las variantes no se cambian aquí: las variantes tienen su ruta propia.