Pliki, fonty i waluty
Publiczne pliki podglądu są przyjazne dla przeglądarki. Chronione pliki wymagają podpisanego URL-a albo credentiala API ze scope files:read. Fonty i waluty są publicznymi endpointami read.
| Endpoint | Dostęp | Szczegóły |
|---|---|---|
/file/public/products/:productId/small.png | publiczny | Mały podgląd produktu. |
/file/public/products/:productId/medium.png | publiczny | Średni podgląd produktu. |
/file/public/products/:productId/big.png | publiczny | Duży podgląd produktu. |
/file/protected/:key | podpisany URL albo files:read | Chroniony plik ze storage. |
/fonts | publiczny | Tablica rekordów fontów. |
/currencies | publiczny | Tablica rekordów walut. |
Przykładowe zapytanie (fetch)
const publicPreview = await fetch(
'https://alterproduct.com/public-api/v1/file/public/products/4/medium.png'
);
const protectedFile = await fetch(
'https://alterproduct.com/public-api/v1/file/protected/user_34/381/design/mockup-large.webp',
{
headers: authHeaders
}
);
const fonts = await fetch('https://alterproduct.com/public-api/v1/fonts').then((res) => res.json());
const currencies = await fetch('https://alterproduct.com/public-api/v1/currencies').then((res) => res.json());Przykładowa odpowiedź
[
{
"id": 1,
"family": "Inter",
"source": "google",
"category": "sans-serif",
"variants": ["regular", "600", "700"],
"subsets": ["latin"],
"version": "v19",
"menu": "Inter",
"files": {
"regular": "https://..."
}
}
][
{
"id": 1,
"code": "EUR",
"name": "Euro",
"symbol": "€",
"decimalPlaces": 2
}
]