curl --request POST \
--url https://api.anysite.io/api/dnsshop/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"product": "<string>",
"timeout": 300,
"city": "Москва",
"with_variants": false
}
'import requests
url = "https://api.anysite.io/api/dnsshop/products"
payload = {
"product": "<string>",
"timeout": 300,
"city": "Москва",
"with_variants": False
}
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({product: '<string>', timeout: 300, city: 'Москва', with_variants: false})
};
fetch('https://api.anysite.io/api/dnsshop/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/dnsshop/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([
'product' => '<string>',
'timeout' => 300,
'city' => 'Москва',
'with_variants' => false
]),
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/dnsshop/products"
payload := strings.NewReader("{\n \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\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/dnsshop/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/dnsshop/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 \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\n}"
response = http.request(request)
puts response.read_body[
{
"guid": "<string>",
"@type": "DnsshopProduct",
"code": "<string>",
"hex_id": "<string>",
"url": "<string>",
"name": "<string>",
"brand": "<string>",
"headline_specs": "<string>",
"price": 123,
"currency": "<string>",
"bonus_points": 123,
"availability": "<string>",
"is_available": true,
"rating": 123,
"review_count": 123,
"manufacturer_country": "<string>",
"warranty_months": 123,
"images": [],
"characteristics": [],
"top_opinion": {
"@type": "DnsshopOpinion",
"author": "<string>",
"city": "<string>",
"grade": 123,
"plus": "<string>",
"minus": "<string>",
"comment": "<string>",
"ownership_months": 123,
"published_at": "<string>"
},
"variants": [],
"city": "<string>",
"city_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/dnsshop/products
Return one DNS (dns-shop.ru) product for a named Russian city by product URL, 16-hex url id, guid or numeric product code: name, brand, price in roubles, availability, loyalty bonus, the full specification sheet grouped as DNS groups it, the marketing description, the manufacturer country, the warranty term, product images, the aggregate rating with its review count and the review DNS features at the top of the page. Optionally also the colour and memory siblings of the same model.
Price: 1 credit
⚠️ Common errors: 412: No DNS product resolves from this identifier, or DNS did not serve the product for this session, 422: The city is not in the DNS city catalogue, or product is empty
curl --request POST \
--url https://api.anysite.io/api/dnsshop/products \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"product": "<string>",
"timeout": 300,
"city": "Москва",
"with_variants": false
}
'import requests
url = "https://api.anysite.io/api/dnsshop/products"
payload = {
"product": "<string>",
"timeout": 300,
"city": "Москва",
"with_variants": False
}
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({product: '<string>', timeout: 300, city: 'Москва', with_variants: false})
};
fetch('https://api.anysite.io/api/dnsshop/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/dnsshop/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([
'product' => '<string>',
'timeout' => 300,
'city' => 'Москва',
'with_variants' => false
]),
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/dnsshop/products"
payload := strings.NewReader("{\n \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\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/dnsshop/products")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/dnsshop/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 \"product\": \"<string>\",\n \"timeout\": 300,\n \"city\": \"Москва\",\n \"with_variants\": false\n}"
response = http.request(request)
puts response.read_body[
{
"guid": "<string>",
"@type": "DnsshopProduct",
"code": "<string>",
"hex_id": "<string>",
"url": "<string>",
"name": "<string>",
"brand": "<string>",
"headline_specs": "<string>",
"price": 123,
"currency": "<string>",
"bonus_points": 123,
"availability": "<string>",
"is_available": true,
"rating": 123,
"review_count": 123,
"manufacturer_country": "<string>",
"warranty_months": 123,
"images": [],
"characteristics": [],
"top_opinion": {
"@type": "DnsshopOpinion",
"author": "<string>",
"city": "<string>",
"grade": 123,
"plus": "<string>",
"minus": "<string>",
"comment": "<string>",
"ownership_months": 123,
"published_at": "<string>"
},
"variants": [],
"city": "<string>",
"city_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes