curl --request PATCH \
--url https://api.products.kameleoon.com/import/products \
--header 'Content-Type: application/json' \
--data '
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": [
"1235",
"4337",
"7578"
]
}
'import requests
url = "https://api.products.kameleoon.com/import/products"
payload = {
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1235", "4337", "7578"]
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
shop_id: 'eehj3eu84299kg5ghw5a6743r8',
shop_secret: 'pmd5362597thrgq8k256ep01t0',
items: ['1235', '4337', '7578']
})
};
fetch('https://api.products.kameleoon.com/import/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.products.kameleoon.com/import/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'shop_id' => 'eehj3eu84299kg5ghw5a6743r8',
'shop_secret' => 'pmd5362597thrgq8k256ep01t0',
'items' => [
'1235',
'4337',
'7578'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.products.kameleoon.com/import/products"
payload := strings.NewReader("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.products.kameleoon.com/import/products")
.header("Content-Type", "application/json")
.body("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.products.kameleoon.com/import/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "error",
"message": "Incorrect shop credentials"
}Actualizar productos disponibles
Actualice la lista de productos en stock en Kameleoon enviando todos los IDs de producto actualmente disponibles; los artículos omitidos se marcan como sin stock.
curl --request PATCH \
--url https://api.products.kameleoon.com/import/products \
--header 'Content-Type: application/json' \
--data '
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": [
"1235",
"4337",
"7578"
]
}
'import requests
url = "https://api.products.kameleoon.com/import/products"
payload = {
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1235", "4337", "7578"]
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
shop_id: 'eehj3eu84299kg5ghw5a6743r8',
shop_secret: 'pmd5362597thrgq8k256ep01t0',
items: ['1235', '4337', '7578']
})
};
fetch('https://api.products.kameleoon.com/import/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.products.kameleoon.com/import/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'shop_id' => 'eehj3eu84299kg5ghw5a6743r8',
'shop_secret' => 'pmd5362597thrgq8k256ep01t0',
'items' => [
'1235',
'4337',
'7578'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.products.kameleoon.com/import/products"
payload := strings.NewReader("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.products.kameleoon.com/import/products")
.header("Content-Type", "application/json")
.body("{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.products.kameleoon.com/import/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"shop_id\": \"eehj3eu84299kg5ghw5a6743r8\",\n \"shop_secret\": \"pmd5362597thrgq8k256ep01t0\",\n \"items\": [\n \"1235\",\n \"4337\",\n \"7578\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "error",
"message": "Incorrect shop credentials"
}Lista de parámetros de consulta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
shop_id | String | Sí | Store Key. Encuéntrela en Recommendations > Settings > Store settings en la app de Kameleoon. Contacte con su Customer Success Manager para obtener la clave si es necesario. |
shop_secret | String | Sí | Secret Key. Encuéntrela en Recommendations > Settings > Store settings en la app de Kameleoon. Contacte con su Customer Success Manager para obtener la clave si es necesario. |
items | List | Sí | Una lista de IDs de producto en stock. Liste los identificadores de todos los productos disponibles (en stock). Los artículos de la base de datos que no se incluyan en la solicitud PATCH se marcan como no disponibles (sin stock). |
Ejemplo de solicitud JSON
{
"shop_id": "eehj3eu84299kg5ghw5a6743r8",
"shop_secret": "pmd5362597thrgq8k256ep01t0",
"items": ["1235", "4337", "7578"]
}
Cuerpo
Store Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary.
Secret Key. Find this in Recommendations > Settings > Store settings in the Kameleoon app. Contact your Customer Success Manager for the key if necessary.
IDs of all products that are currently available (in-stock).
Respuesta
Availability updated. Verified against a live response on 2026-09-24: this endpoint returns an empty 204 response on success, not a JSON body — the {"status": "success"} shape only applies to the asynchronous webhook callback payload, if a webhook was provided.
¿Esta página le ayudó?