Publiczny profil sklepu
curl --request GET \
--url https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}import requests
url = "https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}', 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://itemshop.dev/api/v2/storefront/v1/shops/{shopId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "664f1a2b3c4d5e6f7a8b9c0d",
"uniqueName": "moj-sklep",
"kind": "game",
"displayName": "Mój Sklep",
"description": "Najlepszy serwer survival w Polsce.",
"logoUrl": "https://cdn.itemshop.pl/u/logo.png",
"currency": "PLN",
"languages": [
"pl",
"en"
],
"defaultLanguage": "pl",
"plan": "pro",
"poweredByRequired": false,
"domains": {
"primaryUrl": "https://moj-sklep.pl",
"customDomain": "moj-sklep.pl",
"subdomain": "moj-sklep.itemshop.site"
},
"serverIp": "play.moj-sklep.pl",
"discordInviteUrl": "https://discord.gg/abc",
"announcement": "Promocja -20% do niedzieli!",
"socials": {
"discord": "https://discord.gg/abc",
"tiktok": null,
"facebook": null,
"youtube": "https://youtube.com/@mojsklep",
"instagram": null
},
"links": [
{
"label": "Regulamin serwera",
"url": "https://moj-sklep.pl/zasady",
"newTab": false
}
],
"theme": {
"brandColor": "#7c3aed",
"accentColor": "#f59e0b",
"fontFamily": "google:Bricolage Grotesque"
},
"administration": [
{
"nickname": "Notch",
"role": "Właściciel"
}
],
"servers": [
{
"id": "664f1a2b3c4d5e6f7a8b9c0d",
"name": "Survival",
"domain": "play.moj-sklep.pl",
"description": "Klasyczny survival 1.21",
"minecraftVersion": "1.21.4",
"isOnline": true,
"playersOnline": 42,
"maxPlayers": 200
}
],
"legal": {
"termsUrl": "https://itemshop.pl/s/moj-sklep/regulamin",
"privacyUrl": "https://itemshop.pl/s/moj-sklep/polityka-prywatnosci",
"termsHtml": "<h2>Regulamin</h2><p>…</p>",
"privacyHtml": null,
"companyInfo": "Jan Kowalski, NIP 0000000000",
"version": "a3f1c2…000000000000000000000000000000000000000000000000000000000"
},
"publicData": {
"recentPurchases": true,
"topSpenders": true,
"monthlyGoal": true,
"onlinePlayers": true
}
}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}Storefront v1
Publiczny profil sklepu
Nazwa, logo, waluta, języki, serwery (z online), linki, motyw, dokumenty prawne (z legal.version do zgody przy kasie) i flagi publicData.
GET
/
api
/
v2
/
storefront
/
v1
/
shops
/
{shopId}
Publiczny profil sklepu
curl --request GET \
--url https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}import requests
url = "https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}', 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://itemshop.dev/api/v2/storefront/v1/shops/{shopId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://itemshop.dev/api/v2/storefront/v1/shops/{shopId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "664f1a2b3c4d5e6f7a8b9c0d",
"uniqueName": "moj-sklep",
"kind": "game",
"displayName": "Mój Sklep",
"description": "Najlepszy serwer survival w Polsce.",
"logoUrl": "https://cdn.itemshop.pl/u/logo.png",
"currency": "PLN",
"languages": [
"pl",
"en"
],
"defaultLanguage": "pl",
"plan": "pro",
"poweredByRequired": false,
"domains": {
"primaryUrl": "https://moj-sklep.pl",
"customDomain": "moj-sklep.pl",
"subdomain": "moj-sklep.itemshop.site"
},
"serverIp": "play.moj-sklep.pl",
"discordInviteUrl": "https://discord.gg/abc",
"announcement": "Promocja -20% do niedzieli!",
"socials": {
"discord": "https://discord.gg/abc",
"tiktok": null,
"facebook": null,
"youtube": "https://youtube.com/@mojsklep",
"instagram": null
},
"links": [
{
"label": "Regulamin serwera",
"url": "https://moj-sklep.pl/zasady",
"newTab": false
}
],
"theme": {
"brandColor": "#7c3aed",
"accentColor": "#f59e0b",
"fontFamily": "google:Bricolage Grotesque"
},
"administration": [
{
"nickname": "Notch",
"role": "Właściciel"
}
],
"servers": [
{
"id": "664f1a2b3c4d5e6f7a8b9c0d",
"name": "Survival",
"domain": "play.moj-sklep.pl",
"description": "Klasyczny survival 1.21",
"minecraftVersion": "1.21.4",
"isOnline": true,
"playersOnline": 42,
"maxPlayers": 200
}
],
"legal": {
"termsUrl": "https://itemshop.pl/s/moj-sklep/regulamin",
"privacyUrl": "https://itemshop.pl/s/moj-sklep/polityka-prywatnosci",
"termsHtml": "<h2>Regulamin</h2><p>…</p>",
"privacyHtml": null,
"companyInfo": "Jan Kowalski, NIP 0000000000",
"version": "a3f1c2…000000000000000000000000000000000000000000000000000000000"
},
"publicData": {
"recentPurchases": true,
"topSpenders": true,
"monthlyGoal": true,
"onlinePlayers": true
}
}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}{
"success": false,
"statusCode": 404,
"code": "SHOP_NOT_FOUND",
"message": "Shop not found",
"error": "Shop not found",
"timestamp": "2026-10-27T12:00:00.000Z",
"path": "/api/v2/storefront/v1/shops/moj-sklep",
"details": {}
}Czy ta strona była pomocna?
⌘I