Saltar al contenido principal

Endpoints para Característica

En el contexto de nuestra API, una característica representa una entidad que almacena particularidades de los productos. Una característica contiene subconjuntos y estos a su vez contienen valores.

Características Comunes de las Características

  1. Identificación Única: Cada característica tiene un identificador único id que las distingue de otras características en el sistema.

  2. Subconjuntos y valores: Cada característica está formada por subconjuntos. Por ejemplo, la característica Size está formada por los subconjuntos XS-XL y Tallas de zapato. A su vez, los subconjuntos almacenan valores. Por ejemplo, para el subconjunto XS-XL existe un valor por cada talla comprendida en ese rango. Tendríamos los valores XS, S, M, L y XL con un número de secuencia asociado para controlar el orden de estos valores.

  3. Estado y Actividad: Puede haber estados que indican si la característica está activa, inactiva o suspendida temporalmente, dependiendo de las reglas de negocio y políticas de la plataforma.

  4. Tipo: Las características se agrupan por tipos genéricos y utilizamos el parámetro chType que incluye el id del tipo y su value. Por ejemplo, para la característica Size, el tipo es Moda.

Endpoints

GET/Characteristic/getCharacteristic

Obtención de Características.

Descripción

Este endpoint recupera una lista paginada de características genéricas del sistema. Permite a los clientes obtener datos basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La lista incluye únicamente información sobre las características genéricas.

Parámetros
NombreDescripciónTipoValor Predeterminado
pageNúmero de páginaInteger1
pageSizeNúmero de ítems por páginaInteger10
Respuestas
JSON
  {
"data": [
{
"id": "string",
"idRemote": "string",
"chType": {
"id": "string",
"value": "string"
},
"name": "string",
"description": "string",
"isVariant": true,
"isMain": true,
"isSecondary": true,
"active": true
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item>
<id>string</id>
<idRemote>string</idRemote>
<chType>
<id>string</id>
<value>string</value>
</chType>
<name>string</name>
<description>string</description>
<isVariant>true</isVariant>
<isMain>true</isMain>
<isSecondary>true</isSecondary>
<active>true</active>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>

👉Prueba este endpoint🌱

GET/Characteristic/getCharacteristicType

Obtención de Tipos de Características.

Descripción

Este endpoint recupera una lista paginada de tipos de características del sistema. Permite a los clientes obtener datos de los tipos de características basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La lista incluye información sobre cada tipo de característica.

Parámetros
NombreDescripciónTipoValor Predeterminado
pageNúmero de páginaInteger1
pageSizeNúmero de ítems por páginaInteger10
Respuestas
JSON
{
"data": [
{
"id": "string",
"value": "string"
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item>
<id>string</id>
<value>string</value>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>

👉Prueba este endpoint🌱

GET/Characteristic/getCharWithSubset

Obtención de Características genéricas y Subconjuntos.

Descripción

Este endpoint recupera una lista paginada de características con subconjuntos del sistema. Permite a los clientes obtener datos de las características y sus subconjuntos basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La lista incluye detalles sobre cada subset valor asociado a cada característica.

Parámetros
NombreDescripciónTipoValor Predeterminado
pageNúmero de páginaInteger1
pageSizeNúmero de ítems por páginaInteger10
Respuestas
JSON
{
"data": [
{
"id": "string",
"idRemote": "string",
"chType": {
"id": "string",
"value": "string"
},
"name": "string",
"description": "string",
"isVariant": true,
"isMain": true,
"isSecondary": true,
"active": true,
"subsets": [
{
"id": "string",
"idRemote": "string",
"name": "string",
"description": "string",
"values": [
{
"id": "string",
"idRemote": "string",
"sequence": "string",
"value": "string"
}
]
}
]
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item>
<id>string</id>
<idRemote>string</idRemote>
<chType>
<id>string</id>
<value>string</value>
</chType>
<name>string</name>
<description>string</description>
<isVariant>true</isVariant>
<isMain>true</isMain>
<isSecondary>true</isSecondary>
<active>true</active>
<subsets>
<id>string</id>
<idRemote>string</idRemote>
<name>string</name>
<description>string</description>
<values>
<id>string</id>
<idRemote>string</idRemote>
<sequence>string</sequence>
<value>string</value>
</values>
</subsets>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>

👉Prueba este endpoint🌱

GET/Characteristic/getCharacteristic/Subset

Obtención de Características genéricas y Subconjuntos, centrado en Subconjuntos.

Descripción

Este endpoint recupera una lista paginada de subconjuntos que están dentro de las características del sistema. Permite a los clientes obtener datos de los subconjuntos basados en parámetros de paginación como el número de página (page) y el número de ítems por página (pageSize). La lista proporciona información más detallada sobre los subconjuntos y sus valores.

Parámetros
NombreDescripciónTipoValor Predeterminado
pageNúmero de páginaInteger1
pageSizeNúmero de ítems por páginaInteger10
Respuestas
JSON
{
"data": [
{
"id": "string",
"idRemote": "string",
"characteristic": {
"id": "string",
"name": "string",
"description": "string"
},
"name": "string",
"description": "string",
"values": [
{
"id": "string",
"idRemote": "string",
"sequence": 0,
"value": "string"
}
]
}
],
"pagination": {
"totalItems": 0,
"itemsPerPage": 0,
"currentPage": 0,
"totalPages": 0,
"nextPageUrl": "string"
}
}
XML
<?xml version="1.0" encoding="UTF-8"?>
<export>
<data>
<item>
<id>string</id>
<idRemote>string</idRemote>
<characteristic>
<id>string</id>
<name>string</name>
<description>string</description>
</characteristic>
<name>string</name>
<description>string</description>
<values>
<id>string</id>
<idRemote>string</idRemote>
<sequence>0</sequence>
<value>string</value>
</values>
</item>
</data>
<pagination>
<totalItems>0</totalItems>
<itemsPerPage>0</itemsPerPage>
<currentPage>0</currentPage>
<totalPages>0</totalPages>
<nextPageUrl>string</nextPageUrl>
</pagination>
</export>

👉Prueba este endpoint🌱

POST/Characteristic/createCharacteristic

Factores a tener en cuenta

Para la creación de una nueva Característica debe tener en cuenta que el tipo de característica al que se va a asociar a través del parámetro characteristicTypeId, debe existir en el sistema.

Una característica puede ser principal main o secundaria secondary. Por ejemplo, en el calzado una característica primaria sería el Color y una secundaria la Talla. Así, una vez que has elegido el producto por su color, podrás seleccionar su talla. Si una característica no es variante, no puede ser principal ni secundaria.

Es posible añadir traducciones a las características a través del atributo languages. Este atributo es opcional, pero si decides incluirlo, debes tener en cuenta que sus atributos (languageId y value) son obligatorios. En el atributo languageId puedes adjuntar el id del Lenguaje o el código iso.

👉Endpoints relacionados con los Lenguajes🌱

Parámetros obligatorios
NombreDescripciónTipo
idRemoteIdentificador de la CaracterísticaString
nameNombre de la CaracterísticaString
descriptionDescripción de la CaracterísticaString
activeDetermina si la Característica está activa o noBoolean
isVariantDetermina si la nueva Característica es una variante o noBoolean
characteristicTypeIdIdentificador del Tipo de Característica asociado a la nueva CaracterísticaString
Parámetros obligatorios

El cuerpo de la solicitud debe seguir el siguiente esquema:

[
{
"idRemote": "string",
"name": "string",
"description": "string",
"characteristicTypeId": "string",
"active": true,
"main": true,
"secondary": true,
"isVariant": true,
"languages": [
{
"languageId": "string",
"value": "string"
}
]
}
]

Es posible añadir varias características a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.

👉Prueba este endpoint🌱

POST/Characteristic/createSubCharacteristic

Factores a tener en cuenta

Para crear un Subconjunto y asignarle valores, es crucial asegurarse de que la característica a la que desea asociar el subconjunto a través del parámetro characteristicId existe en el sistema. 👉Registrar Característica🌱


Los valores de subconjuntos asignados en la creación de un subconjunto son creados al momento y no necesitan referenciar campos ya existentes. Además, es posible asignar un orden a estos valores con el parámetro sequence. Si la secuencia es el valor por defecto, es decir, la secuencia es 0 o no se incluye en el cuerpo de la solicitud, se le asigna un valor secuencial especial calculado en múltiplos de 10. En cambio, si hay una secuencia definida, se usa directamente ese valor asignado.

Al crear un nuevo valor adjunto al nuevo subconjunto, puedes añadirle traducciones a través del atributo languages. Este atributo es opcional, pero si decides incluirlo, debes tener en cuenta que sus atributos (languageId y value) son obligatorios. En el atributo languageId puedes adjuntar el id del Lenguaje o el código iso. 👉Endpoints relacionados con los Lenguajes🌱

Parámetros obligatorios
NombreDescripciónTipo
idRemoteIdentificador del nuevo SubconjuntoString
nameNombre del nuevo subconjuntoString
characteristicIdIdentificador de la Característica relacionada con el nuevo SUbconjuntoString
Parámetros obligatorios de los Valores del Subconjunto

Usando este endpoint puedes crear Valores para el nuevo Subconjunto. Si deseas añadir nuevos valores para el Subconjunto, debes tener en cuenta los siguientes parámetros obligatorios:

NombreDescripciónTipo
idRemoteIdentificador del nuevo SubconjuntoString
valueNombre del nuevo Valor que vas a asignar al SubconjuntoString
[
{
"idRemote": "string",
"name": "string",
"description": "string",
"characteristicId": "string",
"subValue": [
{
"idRemote": "string",
"value": "string",
"sequence": 0,
"languages": [
{
"languageId": "string",
"value": "string"
}
]
}
]
}
]

Es posible añadir varios subconjuntos a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.

👉Prueba este endpoint🌱

POST/Characteristic/createSubValueCharacteristic

Factores a tener en cuenta

Para crear un valor de Subconjunto, es crucial asegurarse de que el subconjunto al que desea asociar el valor a través del parámetro subsetId existe en el sistema. 👉Registrar Subconjunto🌱

Al asignar un nuevo valor o valores a un subconjunto, puedes adjuntar traducciones para los nuevos valores a través del atributo languages. Este atributo es opcional, pero si decides incluirlo, debes tener en cuenta que sus atributos (languageId y value) son obligatorios. En el atributo languageId puedes adjuntar el id del Lenguaje o el código iso.
👉Endpoints relacionados con los Lenguajes🌱

Si decides no incluir el atributo sequence, el sistema creará una secuencia numérica para el valor o valores sumando de 10 en 10 a partir de 0.

Parámetros obligatorios
NameDescriptionType
idRemoteIdentificador del nuevo valorString
valueNombre del nuevo valorString
subsetIdIdentificador del Subconjunto al que se le relaciona el nuevo valor o valoresString

El cuerpo de la solicitud debe seguir este esquema en formato JSON:

[
{
"idRemote": "string",
"value": "string",
"sequence": 0,
"subsetId": "string",
"languages": [
{
"languageId": "string",
"value": "string"
}
]
}
]

Es posible añadir varios valores a través de la misma solicitud separándolos con comas dentro del array en el cuerpo de la solicitud.

👉Prueba este endpoint🌱

PUT/Characteristic/updateCharacteristic/{id}

Actualizar una característica existente usando el método PUT

Para actualizar los atributos de una característica a través de este endpoint, es necesario adjuntar la identificación de la característica en los parámetros de la solicitud y seguir el esquema JSON adjunto en esta documentación. El parámetro id puede ser tanto el idRemote como el id local guardado en el contexto del B2B.

Parámetros
NombreDescripciónTipo
idIdentificador de la característicaString

No es necesario incluir toda la estructura JSON, solo debes incluir los atributos que quieras modificar.


Cuerpo de la solicitud

El cuerpo de la solicitud debe seguir el siguiente esquema para que el endpoint realice la operación de actualización exitosamente:

{
"name": "string",
"description": "string",
"characteristicTypeId": "string",
"active": true,
"isMain": true,
"isSecondary": true,
"isVariant": true,
"languages": [
{
"languageId": "string",
"value": "string"
}
]
}

👉Prueba este endpoint🌱

PUT/Characteristic/updateSubValueCharacteristic/{id}

Actualizar un valor de subconjunto de una característica existente usando el método PUT

Para actualizar los atributos de un valor de subconjunto de una característica, es necesario adjuntar la identificación del valor del subconjunto en los parámetros de la solicitud y seguir el esquema JSON adjunto en esta documentación. El parámetro id puede ser tanto el idRemote como el id local guardado en el contexto del B2B.

Parámetros
NombreDescripciónTipo
idIdentificador de Valor de SubconjuntoString
Detalles del método PUT:

El cuerpo de la solicitud debe seguir el siguiente esquema para que el endpoint realice la operación de actualización exitosamente:

{
"value": "string",
"sequence": 0,
"languages": [
{
"languageId": "string",
"value": "string"
}
]
}

👉Prueba este endpoint🌱

DELETE/Characteristic/deleteCharacteristic/{id}

Eliminación de Característica.

Descripción

Este endpoint permite la eliminación de características utilizando su identificador único, que puede ser tanto el id propio del sistema B2B como el idRemote proporcionado por usted al registrar las características en nuestra plataforma. Una vez eliminada, la característica se registra en el Historial de Eliminados.


⚠️No se podrá eliminar una Característica si tiene valores relacionados con algún producto.

Parámetros
NombreDescripciónTipo
idIdentificador de CaracterísticaString

👉Prueba este endpoint🌱

DELETE/Characteristic/deleteSubCharacteristic/{id}

Eliminación de Subconjunto.

Descripción

Este endpoint permite la eliminación de subconjuntos de características utilizando su identificador único, que puede ser tanto el id propio del sistema B2B como el idRemote proporcionado por usted al registrar los subconjuntos de características en nuestra plataforma. Es importante destacar que al eliminar un subconjunto, no se elimina la Característica correspondiente, pero sí los valores asociados. Una vez eliminado, el subconjunto se registra en el Historial de Eliminados.


⚠️No se podrá eliminar un Subconjunto si tiene valores relacionados con algún producto.

Parámetros
NombreDescripciónTipo
idIdentificador de Subconjunto de CaracterísticaString

👉Prueba este endpoint🌱

DELETE/Characteristic/deleteSubValueCharacteristic/{id}

Eliminación de Valor de Subconjunto.

Descripción

Este endpoint permite la eliminación de valores de subconjuntos de características utilizando su identificador único, que puede ser tanto el id propio del sistema B2B como el idRemote proporcionado por usted al registrar los subconjuntos de características en nuestra plataforma. Es importante destacar que al eliminar un valor, no se elimina el subconjunto correspondiente. Una vez eliminado, el valor de subconjunto se registra en el Historial de Eliminados.

Parámetros
NombreDescripciónTipo
idIdentificador de Valor de SubconjuntoString

👉Prueba este endpoint🌱

Posibles Errores en la Respuesta

ErrorCódigoRespuesta
Este error ocurre cuando no se puede establecer una conexión con la base de datos. Es un problema interno del servidor.500{"code": 500,"error": "Database connection failed."}
Este error ocurre cuando no puede insertar o actualizar y en la dbs de pruebas.500{"code": 500,"error": "Invalid connection name, you cannot insert in default"}
Este error indica que falta un parametro.400{"code": 400,"error": "Parameter $parameter is required"}
Este error indica que no está autorizado.401{"code": 401,"error": "Unauthorized"}
Este error indica que no ha sido posible encontrar la Característica.404{"code": 404,"error": "No entity found for Characteristic."}
Este error ocurre cuando intenta insertar un registro que ya existe409{"code": 409,"error": "Duplicate entry"}
Este error ocurre cuando intenta enviar demasiadas solicitudes en un corto periodo de tiempo.429{"code": 429,"error": "Too Many Requests"}