Saltar al contenido principal
PUT
/
endpoint
Importar y actualizar productos
curl --request PUT \
  --url https://api.example.com/endpoint
Este endpoint importa sus productos en su cuenta de Kameleoon. Es el método preferido para importar su catálogo si tiene más de 50.000 productos. Recomendamos encarecidamente utilizar este endpoint también para actualizar la lista de productos y sus propiedades, en lugar de reimportar el catálogo completo cada día.
Si depende totalmente de este endpoint para importar su catálogo, asegúrese de que todas las categorías se hayan importado previamente utilizando el endpoint import categories. Cualquier producto sin una categoría conocida se ignorará durante el proceso de importación.
Los datos se envían como una cadena JSON en el cuerpo de la solicitud.

Límite de velocidad

  • El límite de solicitudes a la API (Rate Limit) está establecido en 40 solicitudes por minuto, con un máximo de 1 solicitud cada 1,5 segundos.
  • El límite de peso de las solicitudes a la API (Weight Limit) está limitado a 35 megabytes por solicitud.

Solicitud HTTP

PUT https://api.products.kameleoon.com/import/products

Lista de parámetros de consulta

ParámetroTipoObligatorioDescripción
shop_idStringSu Store Key. Puede encontrarla en Recommendations > Settings > Store settings en la aplicación Kameleoon. También puede contactar con su Customer Success Manager para obtener la clave.
shop_secretStringSu Secret Key. Puede encontrarla en Recommendations > Settings > Store settings en la aplicación Kameleoon. También puede contactar con su Customer Success Manager para obtener la clave.
itemsListUna lista de artículos de producto. Encuentre en esta tabla los parámetros requeridos para items.
webhookStringNoLa URL del Webhook al que se enviará una solicitud POST al completarse la importación.
El propósito del webhook es notificar al desarrollador una vez que se ha completado una solicitud. Una vez importados y totalmente disponibles todos los productos de la llamada a la API, se enviará una solicitud POST al webhook designado.Ejemplo de una solicitud exitosa:
{
	"status": "success"
}
Ejemplo de una solicitud fallida:
{
	"status": "error", 
	"message": "MESSAGE"
}

Lista de parámetros para el objeto items

Si desea actualizar solo determinados productos, debe proporcionar todos los valores de los parámetros obligatorios para cada producto en la solicitud. Si se omite alguna propiedad obligatoria de un producto, el producto se ignorará durante la importación y no se realizará ningún cambio en nuestra base de datos. Por ejemplo, si solo desea actualizar el precio de un producto, debe incluir todos sus parámetros obligatorios, como categoría, nombre, imagen, etiquetas, etc.Para las propiedades no obligatorias, los valores omitidos provocarán que esas propiedades se eliminen de nuestra base de datos.
ParámetroTipoObligatorioDescripción
idString (longitud máx. 64)Un ID único asignado al artículo
group_idString (longitud máx. 64)OpcionalEl ID asociado al grupo del artículo
nameString (longitud máx. 255)El nombre del artículo
priceFloat (debe ser positivo)El precio del artículo. Para indicar precios en varias ubicaciones, utilice en su lugar el objeto locations.
oldpriceFloat (debe ser positivo)OpcionalEl precio anterior del artículo
currencyStringLa moneda en la que se especificó el campo price
urlStringUna URL para asociar con el artículo
pictureStringUna URL que contiene una imagen del artículo
availableBooleanIndica si el artículo está disponible para la compra. Utilice el endpoint update products para actualizar este valor más adelante
categoriesArray de stringsCada cadena representa un ID de categoría al que pertenece este producto.
locationsArrayOpcionalArray de precios del artículo en distintas ubicaciones. Encuentre en esta tabla los parámetros requeridos para locations
accessoriesArray de stringsOpcionalContiene los IDs de los productos accesorios relacionados con el artículo
seasonalityArray de enterosOpcionalRepresenta los meses del año (enero=1, diciembre=12) en los que desea promocionar este artículo
brandStringOpcionalEl nombre de la marca del artículo
barcodeIntegerOpcionalUn valor de código de barras para el artículo
price_marginIntegerOpcionalEl margen de precio del artículo
tagsArray de stringsOpcionalUna lista de palabras clave que desea asociar con el artículo
is_childBooleanOpcionalIndica si este artículo es hijo de otro artículo
is_fashionBooleanOpcionalIndica si este artículo es un artículo de moda
is_newBooleanOpcionalIndica si este artículo es nuevo
fashionObjectOpcionalDefine varios parámetros adicionales para artículos de moda. Encuentre en esta tabla los parámetros requeridos para fashion
stock_quantityIntegerOpcionalLa cantidad de artículos en stock
type_prefixStringOpcionalUn prefijo para distinguir el tipo de artículo
modelStringOpcionalEl nombre del modelo del artículo
paramsObjectOpcionalAñade parámetros personalizados. Encuentre en esta tabla los parámetros requeridos para params
merchantStringOpcionalEl comerciante que desea asociar con el artículo
ratingIntegerOpcionalUn valor entre 1 y 5. La valoración de usuario que desea asignar al artículo
leftoversStringOpcionalUna descripción del stock restante. Por ejemplo, “one” representa un producto disponible como una sola unidad, “few” representa un producto en cantidades limitadas (hasta 10 unidades) y “lot” representa un producto disponible en cantidades de 10 o más unidades
creation_dateStringOpcionalDebe estar en el formato yyyy-mm-dd. Esta es la fecha de creación del artículo

Lista de parámetros para el objeto locations

Utilice el objeto locations para proporcionar precios, inventario y otra información específica de la ubicación cuando tenga varias ubicaciones. Pase el objeto locations dentro del objeto product items.
ParámetroTipoObligatorioDescripción
locationStringLa ubicación para la que desea especificar un precio. Este campo es obligatorio si se proporciona el campo locations.
priceFloat (debe ser positivo)OpcionalEl precio en esta ubicación.
oldpriceFloat (debe ser positivo)OpcionalEl precio anterior del artículo (por ejemplo, el precio normal de un artículo en oferta).
stock_quantityInt (debe ser positivo)OpcionalLa cantidad del artículo en stock.
sizesArray de StringsOpcionalUna lista de opciones de tamaño para el artículo.
weightInt (debe ser positivo)OpcionalEl peso del artículo.
delivery_typesObjectOpcionalIndica la disponibilidad del artículo. Encuentre en esta tabla los parámetros requeridos para delivery_types

Lista de parámetros para el objeto delivery_types

ParámetroTipoObligatorioDescripción
storeInt (debe ser positivo)Número de artículos disponibles en tienda
deliveryInt (debe ser positivo)Número de artículos disponibles para entrega
deliveryInt (debe ser positivo)Número de artículos disponibles en el almacén

Lista de parámetros para el objeto Params

El objeto params permite especificar valores personalizados para los parámetros del artículo. Pase el objeto params dentro del objeto product items.
ParámetroTipoObligatorioDescripción
nameStringEl nombre del parámetro
valueArray de StringsArray de valores para el parámetro
unitStringOpcionalUnidad de medida para los valores.

Lista de parámetros para el objeto Fashion

El objeto fashion permite especificar información adicional sobre los artículos de moda. Pase el objeto fashion dentro del objeto product items.
ParámetroTipoObligatorioDescripción
genderStringOpcionalUn género que asociar al artículo. Por ejemplo, “m”, “f” o “female”.
sizesArray de StringsOpcionalLista de tamaños para el artículo.
typeStringEl tipo de artículo de moda. Por ejemplo, “jacket”.

Ejemplo de solicitud JSON

{
    "id": "myID", // String (max 64). Required
    "group_id": "myGroup", // String (max 64). Optional
    "name": "myItem", // String (max 255). Required
    "price": "1", // Float (positive). Required
    "oldprice": "2", // Float (positive). Optional
    "currency": "USD", // Currency code: USD, EUR. Required.
    "url": "https://example.com/product", // String (URL). Required
    "picture": "https://example.com/product/image.png", // String (URL). Required
    "available": true, // Boolean (true, false). Required
    "categories": ["ID1", "ID2", ...], // Array of categories IDs. Required.
    "locations": [ 
    {
        "location": "USA",
        "delivery_types": {
            "store": 10,
            "stock": 50  }
    },
    {
        "location": "CAN",
        "price": 60
    }
    ], // Array of prices in locations. See below. Optional
    "accessories": ["ID", "ID", ...], // Array of product IDs. Optional
    "seasonality": [1, 2, ...], // Array of integers (months: 1-12). Optional
    "brand": "...", // String. Optional
    "barcode": "...", // String. Optional
    "price_margin": "...",// Integer. Optional
    "tags": ["TAG1", "TAG2", ...], // Array of strings. Optional
    "is_child": false, // Boolean (true, false). Optional
    "is_fashion": true, // Boolean (true, false). Optional
    "is_new": false, // Boolean (true, false). Optional
    "fashion": {
        "gender": "m",
        "sizes": ["48", "50", "52"],
        "type": "jacket"
    }, // Object. See below. Optional
    "stock_quantity": 60, // Int (positive). Optional
    "type_prefix": "...", // String. Optional
    "model": "Widget 3000", // String. Optional
    "params": [ 
    {
        "name": "Param 1",
        "value": ["bluetooth", "wi-fi"]
    }, 
    {
        "name": "Param 2",
        "value": [23]
    }
    ], // Array of params data. See below. Optional
    "merchant": "...", // String. Optional
    "rating": 4, // Integer (1-5). Optional
    "leftovers": "one", // String (one, few, lot). Optional
    "creation_date": "...", // String. Optional. Format yyyy-mm-dd,
}