/proftools/categories/products
curl --request POST \
--url https://api.anysite.io/api/proftools/categories/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"category": "<string>",
"count": 2,
"timeout": 300,
"sort": "default"
}
'import requests
url = "https://api.anysite.io/api/proftools/categories/products"
payload = {
"category": "<string>",
"count": 2,
"timeout": 300,
"sort": "default"
}
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: '<string>', count: 2, timeout: 300, sort: 'default'})
};
fetch('https://api.anysite.io/api/proftools/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/proftools/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' => '<string>',
'count' => 2,
'timeout' => 300,
'sort' => 'default'
]),
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/proftools/categories/products"
payload := strings.NewReader("{\n \"category\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\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/proftools/categories/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/proftools/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\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "ProftoolsProductCard",
"name": "<string>",
"category_path": "<string>",
"image": "<string>",
"price": 123,
"currency": "<string>",
"price_measure": "<string>",
"is_in_stock": true,
"stock_status": "<string>",
"available_quantity": 123,
"labels": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/proftools
/proftools/categories/products
List the products of one ProfTools (proftools.ru) catalogue section, walking its pages, with the catalogue URL, title, retail price in roubles and its unit of measure, stock state, the quantity the shop will sell, the promotional labels the card carries, the category path and the thumbnail.
Price: 1 credit
⚠️ Common errors: 412: No catalogue section is served under this path.
POST
/
api
/
proftools
/
categories
/
products
/proftools/categories/products
curl --request POST \
--url https://api.anysite.io/api/proftools/categories/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"category": "<string>",
"count": 2,
"timeout": 300,
"sort": "default"
}
'import requests
url = "https://api.anysite.io/api/proftools/categories/products"
payload = {
"category": "<string>",
"count": 2,
"timeout": 300,
"sort": "default"
}
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: '<string>', count: 2, timeout: 300, sort: 'default'})
};
fetch('https://api.anysite.io/api/proftools/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/proftools/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' => '<string>',
'count' => 2,
'timeout' => 300,
'sort' => 'default'
]),
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/proftools/categories/products"
payload := strings.NewReader("{\n \"category\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\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/proftools/categories/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"category\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/proftools/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\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"sort\": \"default\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"url": "<string>",
"@type": "ProftoolsProductCard",
"name": "<string>",
"category_path": "<string>",
"image": "<string>",
"price": 123,
"currency": "<string>",
"price_measure": "<string>",
"is_in_stock": true,
"stock_status": "<string>",
"available_quantity": 123,
"labels": []
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Response
Successful Response