Artículos

Actualizar los accesorios de un artículo

Aplica operaciones sobre la lista de accesorios.

Herramienta
filmo_items_accessories_update
Acceso: Destructiva

Resultado

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_items_accessories_update",
    "arguments": {
      "itemId": "item_8f2a1c",
      "operations": [
        {
          "accessoryId": "acce_8f2a1c",
          "action": "create",
          "accessory": {
            "itemId": "item_8f2a1c",
            "quantity": 1,
            "free": true,
            "default": true,
            "accessoryVariantId": "acce_8f2a1c",
            "isCustom": true,
            "customName": "Example",
            "customPrice": 1,
            "position": 1
          }
        }
      ]
    }
  }
}

generado desde el esquema

Requiere confirmación humana

Pon esta herramienta en la lista de «preguntar antes de ejecutar» de tu cliente. Las anotaciones son pistas que declara el servidor, no garantías: no decidas la aprobación solo por destructiveHint.

LEE mode ANTES DE LLAMAR: con merge —el valor por defecto— las operaciones son deltas y lo que no nombras se conserva; con replace la lista enviada es la final y TODO lo que falte SE ELIMINA. Un accesorio puede ser otro artículo del catálogo o uno personalizado con su nombre y su precio. Devuelve el artículo completo, con accessoryIds tal como quedan ahora, con la misma proyección que su GET.

Argumentos

itemIdstringObligatorio

Identificador del artículo.

Límites: longitud mín. 1

modestring

merge (por defecto): las operaciones son deltas y lo que no nombres se conserva. replace: la lista enviada es la lista final y todo lo que falte SE ELIMINA.

Opciones disponibles: merge, replace

targetItemVariantIdstring

Variante del artículo a la que se aplican los accesorios.

operationsobject[]Obligatorio

Operaciones que aplicar. Al menos una.

Límites: mín. 1 elementos

Mostrar atributos hijos
operations.accessoryIdstring

Accesorio existente. Obligatorio para actualizar o eliminar.

operations.actionstring

Qué hacer. Si se omite: con accessoryId actualiza, sin él crea.

Opciones disponibles: create, update, delete

operations.accessoryobjectObligatorio

Datos del accesorio.

Mostrar atributos hijos
operations.accessory.itemIdstring

Artículo que actúa como accesorio. Omítelo para uno personalizado.

operations.accessory.quantityintegerObligatorio

Cantidad del accesorio.

Límites: mín. 1

operations.accessory.freebooleanObligatorio

true si el accesorio no se cobra.

operations.accessory.defaultbooleanObligatorio

true si se añade automáticamente cuando el artículo se incluye en un pedido.

operations.accessory.accessoryVariantIdstring

Variante del accesorio.

operations.accessory.isCustomboolean

true para un accesorio que no está en el catálogo.

operations.accessory.customNamestring

Nombre del accesorio personalizado.

Límites: longitud mín. 1

operations.accessory.customPricenumber

Precio unitario del accesorio personalizado.

Límites: mín. 0

operations.accessory.positioninteger

Orden de visualización.

Límites: mín. 0

idempotencyKeystring

Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red.

Límites: longitud mín. 1, longitud máx. 255

ifMatchstring

Bloqueo optimista: el meta.etag que obtuviste de la lectura de detalle de este recurso (o "*"). Si el recurso ha cambiado desde entonces, la llamada falla con 412 precondition_failed antes de escribir nada; léelo de nuevo y reintenta. Omítelo para escribir sin condiciones.

Límites: longitud mín. 1

Resultado

En un éxito el resultado lleva structuredContent con data y meta. Estos son los atributos de data.

Ver los atributos de data
idstring

Identificador único del artículo.

namestring

Nombre del artículo.

skustring | null

Referencia SKU del artículo; null si no consta.

descriptionstring | null

Descripción del artículo; null si no consta.

orderInfostring | null

Información adicional del pedido (notas de preparación y entrega); null si no consta.

eanstring | null

EAN/código de barras; null si no consta.

itemTypestring

Tipo de artículo: fixed (artículo simple) o variant (artículo con variantes).

Opciones disponibles: fixed, variant

stockCalculationMethodstring

Método de cálculo del stock: bulk (a granel, por cantidad) o serialized (por artículos serializados).

Opciones disponibles: bulk, serialized

collectionIdstring | null

Identificador de la colección a la que pertenece; null si no está en ninguna.

collectionNamestring | null

Nombre de la colección a la que pertenece; null si no está en ninguna.

imagesstring[]

URLs de las imágenes del artículo.

salePricestring | null

Precio de venta como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

depositValuestring | null

Importe de la fianza como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

minStocknumber | null

Stock mínimo configurado para las alertas; null si no está configurado.

serializedItemsCountnumber

Número de unidades serializadas registradas del artículo.

pricingSettingsobject | null

Configuración de precios de alquiler; null si no está configurada.

Mostrar atributos hijos
pricingSettings.typestring | null

Modo de precio: periodPrice (precio por periodo), fixedPrice (precio fijo) o pricingStructure (estructura de precios); null si el artículo no tiene ninguno configurado.

Opciones disponibles: periodPrice, fixedPrice, pricingStructure

pricingSettings.pricestring | null

Precio base de alquiler como cadena decimal "1234.50" (ROUND_HALF_UP); null si no aplica.

Límites: patrón ^-?\d+\.\d{2}$

pricingSettings.periodstring | null

Unidad de periodo del precio: hour, day, week o month; null si el artículo no tiene ninguna configurada.

Opciones disponibles: hour, day, week, month

insuranceEnabledboolean

Si el artículo admite seguro.

discountEnabledboolean

Si el artículo admite descuentos.

bufferBeforenumber | null

Tiempo de margen reservado antes del alquiler; null si no aplica.

bufferBeforeUnitstring | null

Unidad del margen previo: hora o día; null si no aplica.

Opciones disponibles: hour, day

bufferAfternumber | null

Tiempo de margen reservado después del alquiler; null si no aplica.

bufferAfterUnitstring | null

Unidad del margen posterior: hour o day; null si no aplica.

Opciones disponibles: hour, day

physicalPropertiesobject | null

Propiedades físicas (peso y dimensiones); null si no se han registrado.

Mostrar atributos hijos
physicalProperties.weightnumber | null

Peso del artículo en kilogramos; null si no está registrado.

physicalProperties.widthnumber | null

Ancho del artículo en centímetros; null si no está registrado.

physicalProperties.heightnumber | null

Altura del artículo en centímetros; null si no consta.

physicalProperties.lengthnumber | null

Longitud del artículo en centímetros; null si no consta.

physicalProperties.volumenumber | null

Volumen del artículo en metros cúbicos (m³); null si no está registrado.

physicalProperties.currentnumber | null

Consumo de corriente en amperios; null si no consta.

physicalProperties.powernumber | null

Potencia en vatios; null si no se ha registrado.

variantsobject[]

Variantes del artículo (vacío si el artículo es de tipo fixed).

Mostrar atributos hijos
variants.variantIdstring

Identificador único de la variante.

variants.variantNamestring

Nombre de la variante.

variants.variantPricestring

Precio de alquiler de la variante como cadena decimal "1234.50" (ROUND_HALF_UP).

Límites: patrón ^-?\d+\.\d{2}$

variants.salePricestring | null

Precio de venta de la variante como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

variants.eanstring | null

EAN/código de barras de la variante; null si no consta.

tagsobject[]

Etiquetas asociadas al artículo.

Mostrar atributos hijos
tags.idstring

Identificador único de la etiqueta.

tags.namestring

Nombre de la etiqueta.

customFieldsobject<string, any>

Valores de los campos personalizados por identificador de campo personalizado; las definiciones están en /api/v1/custom-fields.

createdAtstring<date-time>

Fecha de creación en ISO 8601 con desplazamiento.

updatedAtstring<date-time>

Fecha de la última actualización en ISO 8601 con desplazamiento.

replacementValuestring | null

Valor de reposición del artículo como cadena decimal "1234.50" (ROUND_HALF_UP); null si no consta.

Límites: patrón ^-?\d+\.\d{2}$

accessoryIdsstring[]

Identificadores de los artículos configurados como accesorios de este.

alternativeIdsstring[]

Identificadores de los artículos configurados como alternativas de este.

Un error es un resultado con isError: true y el problema en content[0].text; no hay structuredContent. Consulta Errores.

La misma operación por REST

Esta herramienta ejecuta PUT /api/v1/items/{itemId}/accessories.

  • Artículos

    Actualizar los accesorios de un artículo

    Aplica operaciones sobre la lista de accesorios.

  • Guías

    Escrituras seguras

    Un asistente que puede escribir también puede escribir lo equivocado. Decide qué herramientas necesitan a una persona, reintenta sin duplicar y sabe qué pone en marcha una escritura.

  • Guías

    Errores

    Un error de herramienta es un resultado con isError: true y el problema en el primer bloque de texto. Ramifica por su code.