Vista previa de la sustitución por cambio de unidad base
Calcula, sin escribir nada, qué ocurre cuando un producto se sustituye por otro nuevo con una unidad base distinta, y genera el impact_token que confirma ESE cambio exacto.
- La unidad base de un producto con historial (stock, movimientos, presentaciones, ofertas de proveedor o variantes con stock) no se puede editar en el sitio: su
base_unit_change.modeesreplacementy la forma de cambiarla es sustituir el producto. - Es una LECTURA —pedirla dos veces sobre el mismo catálogo devuelve el mismo token—, pero exige
products:write, porque lo único que hace su respuesta es autorizar una escritura irreversible. - Envía
target_base_unit(una de las nueve unidades de medida; una unidad de embalaje comoXPKoXBXsolo puede ser una presentación),equivalence(cuántas unidades de la base ACTUAL equivalen a UNA unidad de la base NUEVA, p. ej.0.001al pasar de kg a g porque 1 g = 0.001 kg; obligatoria entre una unidad de recuento y una de medida, en cualquier sentido; se calcula sola dentro de la misma familia de medida; entre dos familias de medida distintas no existe), unbase_priceopcional para confirmar, ypresentationscon una decisiónkeeporetirepor cada presentación del producto antiguo (las que omitas reciben la decisión propuesta). - La respuesta lista en
itemscada elemento del plan, con subefore, suafter, sugroup(review,convertedocarried) y susflags(precision_loss,no_equivalence,fraction);items[].refes el id público del elemento afectado, ynullpara el propio producto y para las entradas de tarifa y los componentes de pack, que no tienen id público. pending_documentslista los documentos de venta sin emitir que seguirán apuntando al producto antiguo.- El token es una huella del plan, no una credencial: si el catálogo, las tarifas o los packs cambian antes de confirmar, la confirmación se rechaza con 422
base_unit_replacement_preview_staley se pide una vista previa nueva. - Un producto de otra empresa devuelve 404
product_not_found.
En: header
Parámetros de ruta
Headers
Fija la versión de la API (YYYY-MM-DD, versionado por fecha estilo Stripe) para esta petición; omítelo para usar la versión fijada de la clave, o la última si no hay ninguna. Versión no soportada → 400 unsupported_api_version; malformada → 400 parameter_invalid_format. La versión efectiva se refleja en la cabecera de respuesta Factuarea-Version. Consulta la guía de Versioning.
dateOpera en nombre de una empresa hija (API key maestra de gestoría): pasa su id público (UUID v7) y la petición se ejecuta contra los datos de esa hija sin cambiar el scope, el tier ni el environment de la clave (omítelo para usar la propia empresa de la clave). UUID inválido → 400 parameter_invalid_uuid; id desconocido o no propio → 404 profile_not_found. Consulta la guía de Acting on behalf.
uuidCuerpo de la petición
application/json
Definiciones de TypeScript
Usa el tipo request body en TypeScript.
Cuerpo de la respuesta
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json