[GET] Productos y metadatos

Modificado el Mie, 6 May a 12:19 P. M.

Descripción general de productos


El recurso Product proporciona información sobre los productos y sus relaciones con otras entidades, como las variantes. Con los metadatos y los endpoints que se describen aquí, puedes consultar, filtrar y recorrer los datos de productos de forma eficiente.


Metadatos


Los metadatos son un documento de esquema JSON que describe todos los recursos dentro de la entidad Productos y sus relaciones con otras entidades. Estos metadatos se pueden usar para construir consultas de la API y para entender la estructura de las entidades relacionadas.


Detalles clave sobre los metadatos


  • Cuando solicitas los metadatos de una tabla, también recibes los metadatos de sus tablas relacionadas, por ejemplo, Variants.
  • Los metadatos son esenciales para entender qué campos se pueden consultar y expandir.


Endpoint [GET] de metadatos de productos


https://api2.saleslayer.com/rest/Catalog/Products/$metadata


Hacer una solicitud


Para hacer una solicitud a nuestra API, necesitas usar el método adecuado (GET), la URL del endpoint e incluir la API key en las cabeceras de la solicitud para autenticarte.


Recibir una respuesta


Cuando haces una solicitud a nuestra API, recibirás una respuesta en forma de objeto JSON. Este objeto contendrá los datos solicitados, junto con metadatos relevantes como códigos de estado y mensajes de error.


{
  "value": [
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "/metadata/9587/Product/1.0.0.0",
      "type": "object",
      "title": "Product",
      "description": "Product metadata definition",
      "default": {
        "culture": "en"
      },
      "properties": {
        "prod_ref": {
          "title": "prod_ref",
          "type": [
            "string",
            "null"
          ]
        },
        "prod_title": {
          "title": "prod_name",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "culture": {
                "type": "string",
                "enum": [
                  "de",
                  "en",
                  "en-us",
                  "es",
                  "fr"
                ],
                "default": "en"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "culture"
            ]
          }
        },
        "cat_ref": {
          "title": "Category Reference",
          "type": [
            "string",
            "null"
          ]
        },
        "prod_stat": {
          "title": "Status",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "V",
            "I",
            "D",
            "R"
          ],
          "default": "R"
        },
        "prod_description": {
          "title": "prod_description",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "object",
            "properties": {
              "culture": {
                "type": "string",
                "enum": [
                  "de",
                  "en",
                  "en-us",
                  "es",
                  "fr"
                ],
                "default": "en"
              },
              "value": {
                "type": "string"
              }
            },
            "required": [
              "culture"
            ]
          }
        },
        "Variants": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "/metadata/9587/Variant/1.0.0.0"
          }
        },
        "AttributeSets": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "$ref": "/metadata/9587/AttributeSet/1.0.0.0"
          }
        }
      },
      "required": [
        "prod_title"
      ]
    },
    {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "/metadata/9587/Variant/1.0.0.0",
      "type": "object",
      "title": "Variant",
      "description": "Variant metadata definition",
      "default": {
        "culture": "en"
      },
      "properties": {
        "frmt_stat": {
          "title": "Status",
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "V",
            "I",
            "D",
            "R"
          ],
          "default": "R"
        },
        "prod_ref": {
          "title": "var_prod_ref",
          "type": [
            "string",
            "null"
          ]
        },
        "frmt_ref": {
          "title": "Variant Reference",
          "type": "string"
        }
      },
      "required": [
        "frmt_ref"
      ]
    }
  ],
  "readLink": {
    "uri": "https://api2.saleslayer.com/rest/Catalog/Products/$metadata"
  }
}


Consultar productos


Para recuperar datos de productos, utiliza el endpoint Products con los parámetros que necesites.


Endpoint [GET] de productos


https://api2.saleslayer.com/rest/Catalog/Products


Hacer una solicitud


  • Usa el método HTTP: GET.
  • Incluye la API key en las cabeceras de la solicitud para autenticarte.
  • Indica los campos que quieres recuperar con el parámetro $select.


https://api2.saleslayer.com/rest/Catalog/Products?$select=prod_id


Recibir una respuesta


Cuando haces una solicitud a nuestra API, recibirás una respuesta en forma de objeto JSON. Este objeto contendrá los datos solicitados, junto con metadatos relevantes como códigos de estado y mensajes de error.


{
  "value": [
    {
      "prod_id": 3
    },
    {
      "prod_id": 4
    },
    {
      "prod_id": 5
    }
  ],
  "@count": 225,
  "@readLink": "https://api2.saleslayer.com/rest/Catalog/Products?$top=3&$select=prod_id",
  "@nextLink": "https://api2.saleslayer.com/rest/Catalog/Products?$top=3&$select=prod_id&$skip=4"
}


Aplicar filtros


Selecciona distintas propiedades del producto y aplica filtros y Expand solo para Variants. El JSON devolverá este objeto con los datos solicitados.


https://api2.saleslayer.com/rest/Catalog/Products?$filter=contains(prod_title, 'abrigo')&$select=prod_id, prod_title, prod_ref&$expand=Variants
{
  "value": [
    {
      "prod_id": 77,
      "prod_title": {
        "es": "Abrigo cuello desmontable"
      },
      "prod_ref": "42PM020100481",
      "Variants@count": 0
    },
    {
      "prod_id": 80,
      "prod_title": {
        "es": "Abrigo corto doble faz es"
      },
      "prod_ref": "42PM023905631",
      "Variants@count": 1
    },
    {
      "prod_id": 81,
      "prod_title": {
        "es": "Abrigo contrastes cuadros - es "
      },
      "prod_ref": "89120101142785",
      "Variants@count": 43
    },
    {
      "prod_id": 136,
      "prod_title": {
        "es": "Abrigo de piel"
      },
      "prod_ref": "42PM703906271",
      "Variants@count": 0
    }
  ],
  "@count": 7,
  "@readLink": "https://api2.saleslayer.com/rest/Catalog/Products?$filter=contains(prod_title, 'abrigo')&$select=prod_id, prod_title, prod_ref&$expand=Variants"
}


Endpoint [GET] de un recurso de producto


https://api2.saleslayer.com/rest/Catalog/Products({productIdentifier})


Hacer una solicitud


  • Usa el método HTTP: GET.
  • Incluye la API key en las cabeceras de la solicitud para autenticarte.
  • Indica el productIdentifier.
https://api2.saleslayer.com/rest/Catalog/Products(3)


Recibir una respuesta


Selecciona las propiedades del recurso de producto con el parámetro $select, que está disponible en el esquema JSON devuelto por el endpoint /Products/$metadata, y obtén una respuesta.


{
  "value": {
    "prod_stat": "I",
    "prod_title": {
      "es": "WOOL COAT1"
    },
    "cat_ref": [
      "INVIREF-023",
      "CAMI01"
    ],
    "prod_tags": "conector  1,blackfriday"
  },
  "@readLink": "https://api2.saleslayer.com/rest/Catalog/Products(3)?$select=prod_title, cat_ref, prod_tags, prod_stat",
  "@editLink": "https://api2.saleslayer.com/rest/Catalog/Products(3)?$select=prod_title, cat_ref, prod_tags, prod_stat"
}


Marcas de tiempo de modificación


Cada entidad Product incluye los siguientes campos de fecha y hora:

  • prod_creation
  • prod_modify


prod_creation indica cuándo se creó el producto.


prod_modify se actualiza automáticamente cada vez que se modifica el producto, también cuando se actualizan campos de imagen o archivo.


Usar campos de modificación para sincronización incremental


Para recuperar productos modificados después de una fecha concreta:

GET /Products?$filter=prod_modify ge 2026-03-01T00:00:00Z


Buenas prácticas:

  • Guarda la última marca de tiempo procesada correctamente.
  • Usa ge en lugar de gt para no perder registros con marcas de tiempo idénticas.
  • Usa prod_id como identificador único y actualiza los registros existentes en lugar de insertar duplicados.
  • Trata las marcas de tiempo como valores UTC en formato ISO 8601.


Comportamiento de modificación de assets en productos


Los campos de tipo imagen o archivo devuelven objetos estructurados como image_pack o file_pack.


Estos objetos incluyen:

  • reference: nombre original del archivo
  • information: metadatos y recortes de imagen configurados
  • status: estado de procesamiento
  • modifiedOn: fecha de la última modificación del campo de asset


Cuando se modifica un campo de imagen o archivo a través de la API:

  • Se actualiza el valor modifiedOn a nivel de campo.
  • También se actualiza la marca de tiempo de modificación de la entidad principal, prod_modify.


Las respuestas de imágenes incluyen:

  • Una referencia al archivo original.
  • Enlaces de descarga para los recortes de imagen configurados.


La API no genera dinámicamente resoluciones de imagen arbitrarias. Solo están disponibles los recortes que se hayan configurado.

¿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