/pult/categories/products
curl --request POST \
--url https://api.anysite.io/api/pult/categories/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"category_id": "<string>",
"count": 2,
"timeout": 300,
"brand_ids": [
"<string>"
],
"price_min": 1,
"price_max": 1,
"in_stock": false,
"attributes": [
{
"id": "<string>",
"values": [
"<string>"
]
}
],
"attribute_ranges": [
{
"id": "<string>",
"min": 123,
"max": 123
}
],
"sort": "popularity",
"sort_order": "desc"
}
'import requests
url = "https://api.anysite.io/api/pult/categories/products"
payload = {
"category_id": "<string>",
"count": 2,
"timeout": 300,
"brand_ids": ["<string>"],
"price_min": 1,
"price_max": 1,
"in_stock": False,
"attributes": [
{
"id": "<string>",
"values": ["<string>"]
}
],
"attribute_ranges": [
{
"id": "<string>",
"min": 123,
"max": 123
}
],
"sort": "popularity",
"sort_order": "desc"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
category_id: '<string>',
count: 2,
timeout: 300,
brand_ids: ['<string>'],
price_min: 1,
price_max: 1,
in_stock: false,
attributes: [{id: '<string>', values: ['<string>']}],
attribute_ranges: [{id: '<string>', min: 123, max: 123}],
sort: 'popularity',
sort_order: 'desc'
})
};
fetch('https://api.anysite.io/api/pult/categories/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.anysite.io/api/pult/categories/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'category_id' => '<string>',
'count' => 2,
'timeout' => 300,
'brand_ids' => [
'<string>'
],
'price_min' => 1,
'price_max' => 1,
'in_stock' => false,
'attributes' => [
[
'id' => '<string>',
'values' => [
'<string>'
]
]
],
'attribute_ranges' => [
[
'id' => '<string>',
'min' => 123,
'max' => 123
]
],
'sort' => 'popularity',
'sort_order' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$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.anysite.io/api/pult/categories/products"
payload := strings.NewReader("{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
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.post("https://api.anysite.io/api/pult/categories/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/pult/categories/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "PultProduct",
"article": "<string>",
"name": "<string>",
"base_name": "<string>",
"original_name": "<string>",
"alternative_name": "<string>",
"barcode": "<string>",
"image": "<string>",
"images": [],
"brand": {
"@type": "PultBrandRef",
"id": "<string>",
"name": "<string>",
"alias": "<string>",
"url": "<string>"
},
"categories": [],
"price": 123,
"old_price": 123,
"discount_percent": 123,
"discount_amount": 123,
"currency": "RUB",
"is_price_shown": true,
"is_old_price_hidden": true,
"is_sale": true,
"is_available": true,
"is_buyable": true,
"is_active": true,
"is_expected": true,
"is_similar": true,
"has_audition_salon": true,
"rating": 123,
"review_count": 123,
"weight_kg": 123,
"height_mm": 123,
"width_mm": 123,
"length_mm": 123,
"sort_weight": 123,
"badges": [],
"specs": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/pult
/pult/categories/products
List the products of one pult.ru category and narrow them by brand, price range, stock and the category’s own technical attributes. Returns product cards with the current price in RUB, the pre-discount price, the discount in percent and in rubles, stock and showroom availability, brand, the full category path, rating and review count, article number, barcode, dimensions and weight, and the manufacturer specification pairs.
Price: 1 credit
⚠️ Common errors: 412: No such category id on pult.ru.
POST
/
api
/
pult
/
categories
/
products
/pult/categories/products
curl --request POST \
--url https://api.anysite.io/api/pult/categories/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"category_id": "<string>",
"count": 2,
"timeout": 300,
"brand_ids": [
"<string>"
],
"price_min": 1,
"price_max": 1,
"in_stock": false,
"attributes": [
{
"id": "<string>",
"values": [
"<string>"
]
}
],
"attribute_ranges": [
{
"id": "<string>",
"min": 123,
"max": 123
}
],
"sort": "popularity",
"sort_order": "desc"
}
'import requests
url = "https://api.anysite.io/api/pult/categories/products"
payload = {
"category_id": "<string>",
"count": 2,
"timeout": 300,
"brand_ids": ["<string>"],
"price_min": 1,
"price_max": 1,
"in_stock": False,
"attributes": [
{
"id": "<string>",
"values": ["<string>"]
}
],
"attribute_ranges": [
{
"id": "<string>",
"min": 123,
"max": 123
}
],
"sort": "popularity",
"sort_order": "desc"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
category_id: '<string>',
count: 2,
timeout: 300,
brand_ids: ['<string>'],
price_min: 1,
price_max: 1,
in_stock: false,
attributes: [{id: '<string>', values: ['<string>']}],
attribute_ranges: [{id: '<string>', min: 123, max: 123}],
sort: 'popularity',
sort_order: 'desc'
})
};
fetch('https://api.anysite.io/api/pult/categories/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.anysite.io/api/pult/categories/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'category_id' => '<string>',
'count' => 2,
'timeout' => 300,
'brand_ids' => [
'<string>'
],
'price_min' => 1,
'price_max' => 1,
'in_stock' => false,
'attributes' => [
[
'id' => '<string>',
'values' => [
'<string>'
]
]
],
'attribute_ranges' => [
[
'id' => '<string>',
'min' => 123,
'max' => 123
]
],
'sort' => 'popularity',
'sort_order' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$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.anysite.io/api/pult/categories/products"
payload := strings.NewReader("{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
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.post("https://api.anysite.io/api/pult/categories/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/pult/categories/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"category_id\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"brand_ids\": [\n \"<string>\"\n ],\n \"price_min\": 1,\n \"price_max\": 1,\n \"in_stock\": false,\n \"attributes\": [\n {\n \"id\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"attribute_ranges\": [\n {\n \"id\": \"<string>\",\n \"min\": 123,\n \"max\": 123\n }\n ],\n \"sort\": \"popularity\",\n \"sort_order\": \"desc\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "PultProduct",
"article": "<string>",
"name": "<string>",
"base_name": "<string>",
"original_name": "<string>",
"alternative_name": "<string>",
"barcode": "<string>",
"image": "<string>",
"images": [],
"brand": {
"@type": "PultBrandRef",
"id": "<string>",
"name": "<string>",
"alias": "<string>",
"url": "<string>"
},
"categories": [],
"price": 123,
"old_price": 123,
"discount_percent": 123,
"discount_amount": 123,
"currency": "RUB",
"is_price_shown": true,
"is_old_price_hidden": true,
"is_sale": true,
"is_available": true,
"is_buyable": true,
"is_active": true,
"is_expected": true,
"is_similar": true,
"has_audition_salon": true,
"rating": 123,
"review_count": 123,
"weight_kg": 123,
"height_mm": 123,
"width_mm": 123,
"length_mm": 123,
"sort_weight": 123,
"badges": [],
"specs": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Minimum string length:
1Required range:
x >= 1Required range:
20 <= x <= 1500Required range:
x >= 0Required range:
x >= 0Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
popularity, price, novelty, rating Available options:
asc, desc Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes