Zewnętrzne API wymaga tokenu potwierdzonego konta. Konto
API dokumentacja
Generuj losowe dane przez HTTP. Poniższe metody używają GET i zwracają JSON.
Jak korzystać z API
GET /api/v1/*
Zewnętrzne API jest dostępne dla zarejestrowanych użytkowników z potwierdzonym adresem email. Każdy endpoint, także katalogi, wymaga tokenu Bearer użytkownika. Do 100 wyników na uruchomienie. Pozostają limity techniczne: 10 000 wyników na żądanie, 20 000 wartości pól w kreatorze, naturalne limity generatorów i limity dostawców. Standardowe API: 60 żądań/min.
- Zarejestruj się, potwierdź email i zaloguj. Otwórz Konto → Token API → Pokaż token i skopiuj go. Konto ↗
- Przesyłaj token tylko w nagłówku Authorization: Bearer TOKEN. Zastąp TOKEN własną wartością bez cudzysłowów. Publiczny klucz Supabase nie wystarczy.
- Wybierz endpoint poniżej, skopiuj URL i użyj parametrów z tabeli. Przykłady dotyczą liczb całkowitych; dla innych generatorów zmień ścieżkę i parametry.
To tymczasowy token sesji Supabase, a nie stały klucz API. Czas ważności określa konfiguracja projektu. Przy 401 otwórz konto, zaloguj się w razie potrzeby i skopiuj aktualny token. Statyczny token w skrypcie nie odnawia się sam. Zachowaj go w tajemnicy: nadaje uprawnienia Twojej sesji.
Żądanie
Żądania: GET przez HTTPS, parametry w query string, bez treści JSON. Koduj wartości przez URLSearchParams lub odpowiednik biblioteki; jedna wartość na parametr. count to dodatnia liczba całkowita, zwykle do 10000; dokładne limity są poniżej. Link bez nagłówka tokenu zwróci 401.
GET https://rand.by/api/v1/integer?count=3&min=1&max=100
Authorization: Bearer TOKENOdpowiedź
Sukces: HTTP 200 i JSON z tablicą items. Typ zależy od generatora. money/currencies zwraca asOf i items, geo/catalog — obiekt katalogu. Odpowiedzi nie są buforowane. Najpierw sprawdzaj status HTTP, potem JSON; liczby w przykładzie są poglądowe.
{ "items": [42, 7, 91] }Gotowe przykłady i konfiguracja
Dla przykładów serwerowych ustaw RANDBY_API_TOKEN w środowisku procesu: export jest w curl, wariant Windows w PowerShell. Wykonaj przygotowanie wybranego przykładu. Nie zapisuj sekretów w Git, URL, logach ani publicznych zmiennych Nuxt. W przeglądarce używaj tylko tokenu aktualnego użytkownika; wspólne tokeny trzymaj na serwerze. Trasa Nuxt wymaga własnego uwierzytelniania i limitu żądań, inaczej proxy udostępni dostęp z Twoim tokenem.
Przygotowanie
export RANDBY_API_TOKEN='PASTE_TOKEN_HERE'curl
curl --fail-with-body --max-time 15 --get 'https://rand.by/api/v1/integer' \
--header "Authorization: Bearer $RANDBY_API_TOKEN" \
--data-urlencode 'count=3' \
--data-urlencode 'min=1' \
--data-urlencode 'max=100'| 400 | Nieprawidłowe parametry, powtórzone wartości lub przekroczony limit techniczny. Sprawdź tabelę i popraw żądanie. |
|---|---|
| 401 | Brak tokenu, nieważny lub wygasły token; sprawdź też potwierdzenie email. Pobierz aktualny token w koncie. |
| 404 | Nieznana ścieżka lub generator. Sprawdź URL; API nie używa prefiksu języka, np. /en. |
| 429 | Przekroczony limit publicznego demo. Odczekaj minutę i nie ponawiaj żądań bez przerwy. |
| 503 | Usługa uwierzytelniania jest niedostępna lub nieskonfigurowana. Spróbuj później; właściciel powinien sprawdzić Supabase. |
Piaskownica działa bez tokenu przez oddzielną trasę demo: do 10 rekordów i 60 żądań na minutę na IP. Zewnętrzne /api/v1/* pozostaje zamknięte i stosuje techniczne limity endpointów.
Generowanie z seedem w CI
POSTPremium
Ten sam schemat i seed dają te same dane testowe przy tej samej wersji i katalogach danych.
- Klucze API do CI · Utwórz klucz i zapisz go jako sekret CI RANDBY_CI_KEY.
- Eksportuj schemat · Wyeksportuj schemat Buildera jako JSON i zachowaj z danymi testowymi.
- Wybierz przykład i uruchom go w folderze wyeksportowanego schematu.
Prześlij klucz CI Premium w nagłówku Authorization i zapisz go jako sekret CI. Klucz działa 90 dni. Utwórz nowy klucz, zaktualizuj sekret i unieważnij stary po udanym uruchomieniu.
Żądanie
Wyślij POST z Content-Type application/json. Treść JSON zawiera trzy pola.
- schema
- Wymagany obiekt JSON. Przekaż wyeksportowany schemat Buildera wraz z powiązanymi tabelami.
- seed
- Wymagany niepusty ciąg do 128 znaków. Zachowaj go, aby powtórzyć wynik, lub zmień, aby uzyskać nową próbkę.
- version
- Opcjonalna wersja generatora. Aktualna i domyślna wartość to v1. W CI podaj ją jawnie.
POST https://rand.by/api/builder/ci/generate
Authorization: Bearer CI_KEY
Content-Type: application/json
{
"schema": {
"version": 1,
"count": 2,
"fields": [
{
"id": "id",
"path": "id",
"generator": "sequence",
"output": "value",
"settings": {
"start": 1,
"step": 1
},
"array": false,
"size": 1,
"nullPercent": 0
}
]
},
"seed": "fixtures-v1",
"version": "v1"
}Odpowiedź
Odpowiedź zawiera version oraz items i columns albo tables dla wielu tabel. Do powtórzenia użyj tego samego schematu i seedu.
Jedna tabela
{
"version": "v1",
"columns": [
"id"
],
"items": [
{
"id": 1
},
{
"id": 2
}
]
}Wiele tabel
{
"version": "v1",
"tables": [
{
"id": "main",
"name": "users",
"columns": [
"id"
],
"items": [
{
"id": 1
}
]
},
{
"id": "orders",
"name": "orders",
"columns": [
"user_id"
],
"items": [
{
"user_id": 1
}
]
}
]
}Zapisz schemat, seed i wersję w repozytorium lub ustawieniach zadania. Zmiana schematu, generatora lub katalogów może zmienić wynik. Dane służą do testów.
Do 8 tabel, łącznie 10 000 wierszy i 20 000 wartości na żądanie z elementami tablic. Limit 60 żądań na minutę na konto.
Gotowe przykłady i konfiguracja
Przykłady czytają randby-builder-schema.json i zapisują fixtures.json. Zapisz kod pod nazwą z instrukcji konfiguracji. W GitHub Actions dodaj krok po checkout i użyj pliku w kolejnym kroku.
Przygotowanie
bash --version
curl --version
jq --version
bash generate-fixtures.shcurl + jq
set -euo pipefail
: "${RANDBY_CI_KEY:?RANDBY_CI_KEY is required}"
jq -n --slurpfile schema randby-builder-schema.json --arg seed 'fixtures-v1' \
'{schema: $schema[0], seed: $seed, version: "v1"}' |
curl --fail --silent --show-error --max-time 60 'https://rand.by/api/builder/ci/generate' \
--header "Authorization: Bearer $RANDBY_CI_KEY" \
--header 'Content-Type: application/json' \
--data-binary @- --output fixtures.json| 400 | Nieprawidłowy JSON, seed, wersja lub schemat. Przy błędzie schematu sprawdź data.code i data.field. |
|---|---|
| 401 | Brak klucza, klucz nieważny, wygasły lub unieważniony albo Premium nieaktywne. Sprawdź sekret i konto. |
| 413 | Treść przekracza 260 KiB. Zmniejsz schemat. |
| 429 | Przekroczono limit żądań. Odczekaj minutę. |
| 502 | Serwer nie wygenerował danych. Jeśli schemat jest poprawny, spróbuj później. |
| 503 | Weryfikacja kluczy jest chwilowo niedostępna. Spróbuj później. |
Endpointy API
Wybierz metodę, przejrzyj parametry i otwórz piaskownicę. Zmień zapytanie i wykonaj żądanie GET, aby zobaczyć rzeczywistą odpowiedź JSON.
Sam adres URL nie autoryzuje żądania. Pobierz token na swoim koncie i przekaż go w nagłówku Authorization: Bearer TOKEN. Nie dodawaj tokenu do adresu URL. Aby przetestować API bez tokenu, użyj piaskownicy w dokumentacji. Jak korzystać z API
Liczby całkowite
GET /api/v1/integerGenerowanie dodatnich i ujemnych liczb całkowitych
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych liczb (liczba całkowita od 1 do 10000) | 100 |
| min | Lewa granica zakresu generowanych liczb (liczba całkowita od -100000000 do 100000000) | -100 |
| max | Prawa granica zakresu generowanych liczb (liczba całkowita od -100000000 do 100000000) | 100 |
| round | Zaokrąglanie otrzymanych liczb do najbliższej wielokrotności liczby określonej w tym polu. Na przykład potrzebujesz zestawu liczb będących wielokrotnością 50. Zatem 2489 staje się 2500, 131 staje się 100, a 851 staje się 900 | 0 |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Liczby zmiennoprzecinkowe
GET /api/v1/floatGenerowanie liczb zmiennoprzecinkowych z zadaną precyzją
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych liczb (liczba całkowita od 1 do 10000) | 100 |
| min | Lewa granica zakresu generowanych liczb (liczba całkowita od -100000000 do 100000000) | -1 |
| max | Prawa granica zakresu generowanych liczb (liczba całkowita od -100000000 do 100000000) | 1 |
| precision | Liczba symboli po przecinku (od 1 do 8). | 2 |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Bajty
GET /api/v1/byteGenerowanie bajtów w różnych zapisach. Binarny, ósemkowy, dziesiętny, szesnastkowy
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych bajtów (liczba całkowita od 1 do 10000) | 100 |
| min | Lewa granica zakresu generowanych bajtów (liczba całkowita od 0 do 255) | 0 |
| max | Prawa granica zakresu generowanych bajtów (liczba całkowita od 0 do 255) | 255 |
| radix | System liczbowy generowanych bajtów (2, 8, 10 lub 16). | 10 |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Hasła
GET /api/v1/passwordGenerowanie haseł odpornych na złamania
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych haseł (liczba całkowita od 1 do 10000) | 1 |
| min | Minimalna długość wygenerowanego hasła (liczba całkowita od 1 do 64) | 8 |
| max | Maksymalna długość wygenerowanego hasła (liczba całkowita od 1 do 64) | 12 |
| digits | Liczba cyfr w haśle (liczba całkowita od 0 do 64). | 2 |
| capitals | Liczba wielkich liter w haśle (liczba całkowita od 0 do 64). | 2 |
| special | Liczba znaków specjalnych w haśle (liczba całkowita od 0 do 64). | 2 |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Czasy
GET /api/v1/timeGenerowanie losowej pory dnia
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych czasów (liczba całkowita od 1 do 1440) | 10 |
| min | Lewa granica zakresu generowanych czasów (od 00:00 do 23:59) | 08:00 |
| max | Prawa granica zakresu generowanych czasów (od 00:00 do 23:59) | 17:00 |
| interval | Przedział generowanych czasów (liczba całkowita od 1 do 60). | 1 |
| sort | Sortowanie wyników ("rosnąco" - rosnąco, "desc" - malejąco lub "brak" - bez sortowania). | none |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Daty
GET /api/v1/dateGenerowanie losowych dat w różnych formatach
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba dat: liczba całkowita od 1 do 10000. | 10 |
| min | Lewa ramka zakresu generowanych dat w formacie "RRRR-MM-DD" Format może się różnić, ważne jednak, aby był poprawny dla funkcji Date.parse() | 0000-01-01 |
| max | Prawa granica zakresu generowanych dat w formacie "RRRR-MM-DD" Format może się różnić, ważne jednak, aby był poprawny dla funkcji Date.parse() | 2999-12-31 |
| format | Format, w jakim będą wyświetlane wygenerowane daty Szczegóły tutaj. | DD.MM.YYYY |
| locale | Locale języka Dwuliterowy kod z norma ISO 639-1 | en (język zapasowy) |
| days | Dni tygodnia uwzględniane w wynikach: liczby od 1 do 7 oddzielone przecinkami (1 — poniedziałek, 7 — niedziela). Brak parametru oznacza wszystkie dni tygodnia. | 1,2,3,4,5,6,7 |
| sort | Sortowanie wyników ("rosnąco" - rosnąco, "desc" - malejąco lub "brak" - bez sortowania). | none |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Kolory WEB
GET /api/v1/colorgenerowanie WEB-kolorów w różnych formatach
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wygenerowanych elementów (liczba całkowita od 1 do 10000) | 1 |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Współrzędne geograficzne
GET /api/v1/geoGeneruj współrzędne na całym świecie, tylko na lądzie lub na wybranym kontynencie. Losuj miasta i lotniska z nazwami i kodami IATA.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wyników: liczba całkowita od 1 do 10000, domyślnie 1. | 1 |
| mode | coordinates: cały świat; land: bez oceanów; city: miasta; airport: lotniska z IATA. coordinateslandcityairport | coordinates |
| continent | any lub AF, AN, AS, EU, NA, OC, SA. Kontynent ogranicza współrzędne do lądu. Brak pasujących wpisów zwraca 400. anyAFANASEUNAOCSA | any |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Generator losowych imion i nazwisk
GET /api/v1/namesLosowe imiona z uporządkowanymi częściami i kulturą. items zawiera fullName, locale, sex, firstName, lastName i patronymic. Niewybrane lub niedostępne części to null. Błędne parametry zwracają HTTP 400. Brak weryfikacji tożsamości i gwarancji unikalności.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba imion: liczba całkowita od 1 do 10000. | 10 |
| locales | Unikalne kody kultur imion oddzielone przecinkami lub be dla imion białoruskich. Wszystkie obsługiwane kody podano poniżej. Jedna kultura na imię, równe szanse. Oznaczone lokalizacje używają angielskich danych imion, gdy brakuje danych imion. af_ZAarazbebn_BDcs_CZcydadede_ATde_CHdvelenen_AUen_AU_ockeren_BORKen_CAen_GBen_GHen_HKen_IEen_INen_NGen_USen_ZAeoeses_MXfafifrfr_BEfr_CAfr_CHfr_LUfr_SNhehrhuhyid_IDitjaka_GEkoku_ckbku_kmr_latinlvmknb_NOnenlnl_BEplpt_BRpt_PTroro_MDrusksl_SIsr_RS_latinsvta_INthtrukuruz_UZ_latinviyo_NGzh_CNzh_TWzu_ZA | ru |
| parts | Niepowtarzające się części w kolejności wyniku: firstName, lastName, patronymic. Patronimika tylko dla ru, be, uk, poza nimi pomijane. Sam patronimik wymaga zgodnej kultury; inaczej 400. | firstName,lastName |
| sex | Formy imion: any, male lub female. Przy any formy męskie i żeńskie mają równe szanse w każdym wpisie. | any |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Generator losowych adresów e-mail
GET /api/v1/emailGeneruj losowe adresy e-mail. Wybierz kulturę imion, losowych dostawców, domeny przykładowe lub własną domenę i opcjonalne szablony imion.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba adresów: liczba całkowita od 1 do 10000. | 10 |
| locale | Jeden obsługiwany kod kultury imion z listy poniżej. Domyślnie: en. af_ZAarazbebn_BDcs_CZcydadede_ATde_CHdvelenen_AUen_AU_ockeren_BORKen_CAen_GBen_GHen_HKen_IEen_INen_NGen_USen_ZAeoeses_MXfafifrfr_BEfr_CAfr_CHfr_LUfr_SNhehrhuhyid_IDitjaka_GEkoku_ckbku_kmr_latinlvmknb_NOnenlnl_BEplpt_BRpt_PTroro_MDrusksl_SIsr_RS_latinsvta_INthtrukuruz_UZ_latinviyo_NGzh_CNzh_TWzu_ZA | en |
| mode | free: losowi dostawcy; example: example.com/net/org; custom: domena z provider. | free |
| provider | Wymagane tylko przy mode=custom. Domena bez URL, portu i skrzynki. Domeny międzynarodowe są konwertowane na ASCII. | |
| firstName | Opcjonalny szablon imienia, do 80 znaków; puste oznacza losowe. Generator może normalizować, transliterować lub pomijać części. | |
| lastName | Opcjonalny szablon imienia, do 80 znaków; puste oznacza losowe. Generator może normalizować, transliterować lub pomijać części. | |
| allowSpecialCharacters | true lub false: dodatkowe znaki interpunkcyjne w części lokalnej. | false |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Generator losowych kwot pieniędzy
GET /api/v1/moneyGeneruj losowe kwoty w wybranym zakresie. Wybierz wiele walut oraz osobne ustawienie języka i regionu formatowania dla każdej waluty.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba kwot: liczba całkowita od 1 do 10000. | 10 |
| min | Granica włączona od -1000000000 do 1000000000, do 4 miejsc dziesiętnych. Kropka lub przecinek, bez separatorów tysięcy. | 0 |
| max | Granica włączona od -1000000000 do 1000000000, do 4 miejsc dziesiętnych. Kropka lub przecinek, bez separatorów tysięcy. | 1000 |
| currencies | Unikalne kody walut oddzielone przecinkami. Dla każdego wpisu waluta jest wybierana z równym prawdopodobieństwem. AEDAFNALLAMDAOAARSAUDAWGAZNBAMBBDBDTBHDBIFBMDBNDBOBBRLBSDBTNBWPBYNBZDCADCDFCHFCLPCNYCOPCRCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLYDMADMDLMGAMKDMMKMNTMOPMRUMURMVRMWKMXNMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLESOSSRDSSPSTNSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUYUUZSVESVNDVUVWSTXAFXCDXCGXOFXPFYERZARZMWZWG | USD,EUR |
| locales | Opcjonalne pary WALUTA:ustawienie oddzielone przecinkami, np. USD:en-US,EUR:fr-FR. Tylko wybrane waluty i ich dozwolone ustawienia. Pominięte waluty używają ustawień domyślnych. Zobacz money/currencies. |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Waluty i ustawienia regionalne
GET /api/v1/money/currenciesLista kodów walut, miejsc dziesiętnych, defaultLocale i dozwolonych locales. Pole asOf określa datę wersji katalogu.
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Generator rozkładów tarota
GET /api/v1/tarotWylosuj rozkład z talii 78 kart tarota. Wybierz jedną kartę, przeszłość–teraźniejszość–przyszłość, krzyż z pięciu kart lub własny rozkład. Te krótkie autorskie objaśnienia przedstawiają symboliczne tematy do refleksji. To rozrywka, nie przepowiednie ani ocena osobowości. Małe Arkana łączą rangę i kolor; odwrócone karty kierują uwagę na przeszkody i nadmiar.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| spread | Szablon: single (1), three (3), cross (5) lub custom. | three |
| count | Dla custom: liczba całkowita od 1 do rozmiaru talii (78, 22 lub 56). Podana liczba dla szablonu musi odpowiadać jego rozmiarowi. | 3 |
| deck | full: 78 kart; major: 22 Wielkie Arkana; minor: 56 Małych Arkanów. Bez powtórzeń. | full |
| reversed | true lub false. Przy true każda karta niezależnie ma 50% szans na odwrócenie. | true |
| locale | Język nazw kart, pozycji i orientacji: jeden z 13 kodów języka interfejsu. ruendeplbyukesfritptidjatr | en |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Generator losowych znaków zodiaku
GET /api/v1/zodiacGeneruj losowe znaki tradycji zachodniej, chińskiej, wietnamskiej i wedyjskiej. Wybierz systemy, wschodnie żywioły i wyniki bez powtórzeń. Te krótkie autorskie objaśnienia przedstawiają symboliczne tematy do refleksji. To rozrywka, nie przepowiednie ani ocena osobowości.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| count | Liczba wyników: liczba całkowita od 1 do 10000. | 1 |
| systems | Unikalne systemy oddzielone przecinkami: western, chinese, vietnamese, vedic. Dostępne systemy mają równe szanse. westernchinesevietnamesevedic | western |
| withElements | true lub false. System chiński i wietnamski używa 60 poprawnych kombinacji przy true lub 12 zwierząt przy false. Żywioły zachodnie i wedyjskie są stałe. | true |
| unique | true lub false. Zapobiega powtarzaniu id w odpowiedzi. Liczba nie może przekroczyć wariantów: 12 na system zachodni/wedyjski, 12 lub 60 na wschodni. | false |
| locale | Jeden z 13 kodów języka interfejsu; wpływa tylko na nazwy. Domyślnie: en. enrubyukdeplesfritptidjatr | en |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Magiczna kula
GET /api/v1/magic-ballZadaj pytanie w myślach i potrząśnij magiczną kulą: losowa odpowiedź pojawi się w świecącym okienku. Możesz też nacisnąć kulę lub przycisk. Pytanie zostaje u ciebie: serwer otrzymuje tylko język odpowiedzi. Każda z 20 odpowiedzi jest równie prawdopodobna: 10 pozytywnych, 5 nieokreślonych i 5 negatywnych. To gra, nie przewidywanie przyszłości.
| nazwa | Opis | Wartość domyślna |
|---|---|---|
| locale | Język nazw kart, pozycji i orientacji: jeden z 13 kodów języka interfejsu. ruendebyukplesfritptidjatr | en |
Piaskownica: do 10 rekordów i 60 żądań na minutę.
Katalog generatora geograficznego
GET /api/v1/geo/catalogLiczba wpisów według kontynentu, data danych, odnośniki do otwartych źródeł i sumy kontrolne. Generowanie korzysta z lokalnego zestawu danych.
Piaskownica: do 10 rekordów i 60 żądań na minutę.