[PATCH] Entidades personalizadas

Modificado el Lun, 11 May a 1:37 P. M.

Actualizar elemento de entidad personalizada


Esta operación permite actualizar un elemento existente dentro de una entidad personalizada del catálogo.


Sigue los principios REST y se ajusta al estándar OData v4.01.


Endpoint del elemento de entidades personalizadas [PATCH]


/rest/Catalog/CustomEntities('{customEntityDenominator}')/item({itemId})


Hacer una solicitud


  • Usa el método HTTP: PATCH.
  • Incluye la API key en las cabeceras de la solicitud para la autenticación.
  • El cuerpo debe enviarse en formato JSON con identificadores válidos para cada campo.
  • El parámetro customEntityDenominator es obligatorio (nombre de la entidad personalizada).
  • El parámetro itemId es obligatorio (ID del elemento que se va a actualizar).


Ejemplo de cuerpo de la solicitud:


{
  "xxxx_title": {
    "es": "Nueva descripción del elemento",
    "en": "New item description"
  },
  "xxxx_stat": "V",
  "xxxx_image": "item_image.png",
  "xxxx_description": "Descripción adicional del elemento actualizado."
}


Puedes actualizar uno o varios campos de la entidad personalizada en la misma solicitud.


Comportamiento de actualización parcial (PATCH)


La API admite actualizaciones parciales mediante el método PATCH.


Cuando realizas una solicitud PATCH sobre una entidad personalizada:

  • Solo se modifican los campos incluidos en el cuerpo de la solicitud.
  • Todos los demás campos de la entidad permanecen sin cambios.
  • Los valores existentes de los atributos no especificados se conservan.


Este comportamiento se aplica a todos los campos personalizados definidos con el prefijo del identificador de la entidad, como xxxx_.


Vaciar valores de campos


Si un campo se envía con un valor vacío, su contenido se eliminará y se guardará como vacío.


Ejemplo:

{
  "xxxx_description": ""
}


En este caso, se eliminará el valor anterior de xxxx_description.


Los clientes deben asegurarse de enviar valores vacíos de forma intencionada.


Respuesta


204 Sin contenido


El elemento de la entidad personalizada se ha actualizado correctamente. No se devuelve contenido adicional.


400 Solicitud incorrecta


Los errores habituales incluyen:

  • Formato JSON incorrecto.
  • Campos no válidos o ausentes.
  • Valores de campos que no cumplen las restricciones.


"xxxx_id not found or is invalid"


401 No autorizado


Falta la API key o no es válida.


403 Prohibido


El usuario no tiene permisos para realizar esta operación.


404 No encontrado


La entidad o el elemento especificado en customEntityDenominator o itemId no existe.


412 Precondición fallida


El sistema no se encuentra en un estado válido para realizar la operación.


500 Error interno del servidor


Fallo inesperado del sistema


Limitaciones y consideraciones


  • Solo se puede actualizar un elemento por llamada.
  • Debes proporcionar valores válidos y existentes para customEntityDenominator y itemId.
  • Las actualizaciones masivas no son compatibles.
  • Los archivos y las imágenes deben existir previamente en la biblioteca multimedia del sistema.
  • Todos los cambios realizados se registran automáticamente en el registro de actividad (activity).


Compatibilidad con campos multidioma


Puedes incluir valores multidioma para los atributos que estén configurados para admitir varios idiomas.


Ejemplo de cuerpo multidioma:


{
  "xxxx_title": {
    "es": "Título del elemento personalizado en español",
    "en": "Custom entity item title in English"
  },
  "xxxx_description": {
    "es": "Descripción completa del elemento personalizado en español",
    "en": "Complete description of the custom entity item in English"
  }
}


Asegúrate de que el atributo admita varios idiomas y de que esos idiomas estén habilitados en tu cuenta.


Condiciones de los campos multidioma


Solo puedes enviar valores multidioma para campos si:


  • El campo está definido como multidioma en el Attribute Set.
  • Los idiomas utilizados están disponibles en tu cuenta.


Errores habituales:


  • Idioma no compatible → 400 - Invalid language code
  • Campo no multidioma → 400 - Attribute does not support multi-language

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo