Dokumentasi API – Panduan Integrasi | dice83 

API & Dokumentasi

URL adalah antarmukanya. Setiap alat di dice83 dikonfigurasi sepenuhnya melalui jalur URL. Buat URL, muat halamannya, browser Anda menghasilkan hasilnya.

Model URL

dice83 tidak memiliki REST API tradisional yang mengembalikan JSON. Setiap URL menyajikan halaman HTML lengkap dengan alat yang diminta sudah terkonfigurasi. Browser Anda kemudian menghasilkan hasil acak secara lokal menggunakan Web Cryptography API. Ini berarti tidak ada komputasi sisi server dan tidak ada cara untuk "memanggil" dice83 untuk mendapatkan nilai acak melalui HTTP.

Keunggulan model ini: setiap URL adalah konfigurasi alat yang mandiri, dapat dibagikan, dan dapat di-bookmark. Buat jalur yang tepat, dan alat akan dimuat dengan parameter persis sesuai keinginan Anda. Gunakan dalam tautan, lembar kerja, presentasi, iframe, atau kode QR.

Anatomi URL

https://dice83.com / {lang} / {tool} / {params...}
https://dice83.com / de / integer / 5 / 1 / 100
^^ ^^^^^^^ ^ ^ ^^^
lang tool count min max

Prefiks bahasa bersifat opsional. Abaikan untuk bahasa Inggris. Nama alat memilih generator. Parameter adalah nilai yang dipisahkan garis miring yang mengonfigurasi alat. Parameter yang tidak ada di URL menggunakan nilai default yang wajar.

Contoh Cepat

Buat URL berikut untuk mendapatkan halaman alat yang sudah terkonfigurasi secara instan:

/coin/10 Lempar 10 koin sekaligus
/integer/1/1000 Bilangan bulat acak dari 1 sampai 1000
/integer/5/-50/50 Lima bilangan bulat acak dari -50 sampai 50
/password/24 Kata sandi aman 24 karakter
/4d6kh3 Lempar 4d6, ambil 3 tertinggi (skor kemampuan)
/pattern/LLL-DDDD String acak seperti QXR-4829
/color/5/rgb Lima warna acak dalam format RGB
/groups/24/4 Bagi 24 peserta menjadi 4 tim
/de/2d6 Lempar 2d6 dengan antarmuka Jerman
/100 Angka acak dari 1 sampai 100

Referensi Rute

Setiap rute yang tercantum di bawah menerima prefiks bahasa 2 huruf opsional. Parameter dalam huruf miring adalah segmen jalur. Rentang menggunakan pemisah garis miring, memungkinkan nilai negatif.

Alat Inti & Keputusan
/coin Lempar satu koin
/coin/count Lempar COUNT koin (1-1000)
/yes-no Ya atau tidak secara acak
/true-false Boolean acak
/left-right Arah acak
/rps Batu, kertas, atau gunting
/dice-face Satu muka dadu Unicode ⚀-⚅
Keamanan
/password/length Kata sandi acak (default 16, maks 256)
/diceware/words Frasa sandi dari daftar kata EFF (default 6, maks 20)
/pin/length PIN numerik (default 4, maks 20)
Generator Angka
/integer/min/max Bilangan bulat acak dalam rentang (mendukung negatif)
/integer/count/min/max Beberapa bilangan bulat dalam rentang
/numbers/count/min/max Bilangan bulat unik tanpa pengulangan
/sequence/min/max Acak urutan rentang
/decimal/count/decimals Pecahan acak 0 sampai 1
/percent/decimals Persentase acak 0% sampai 100%
/ratio/parts Proporsi acak yang berjumlah 100
/prime/min/max Bilangan prima acak dalam rentang
/fibonacci Bilangan Fibonacci acak
/binary/bits Bitstring acak (maks 64)
/bytes/count/format Byte mentah dalam hex, base64, atau bin
/even/min/max Bilangan bulat genap acak (mendukung negatif)
/odd/min/max Bilangan bulat ganjil acak (mendukung negatif)
String & Karakter
/generate/length String alfanumerik (maks 256)
/uuid UUID v4 sesuai RFC 4122
/unicode/count Karakter Unicode cetak acak
/letter/count Huruf acak (sensitif bahasa)
/ascii ASCII cetak acak (33-126)
/emoji/count Emoji acak
/roman/min/max Angka Romawi acak
/pattern/template String kustom dari template (L, l, D, H)
Waktu & Tanggal
/calendar Grid visual tahun dengan tanggal acak
/date/from/to Tanggal acak dalam rentang tahun
/time/min/max Waktu acak dalam rentang jam
/duration/min/max Durasi acak dalam menit
/timestamp/year Timestamp Unix acak
/week Minggu ISO acak 1-52
/month Bulan acak (terlokalisasi)
/weekday Hari dalam seminggu acak (terlokalisasi)
/season Musim acak
Data Internasional (Browser Intl API)
/timezone Zona waktu IANA acak + offset UTC
/currency Mata uang ISO 4217 acak
/language Bahasa dunia acak
/country/count Negara acak dengan bendera
Visual & Warna
/color/count/format Warna acak (hex, rgb, hsl)
/gradient Gradien CSS dua warna acak
/palette/harmony Palet harmonis (komplemen, analogus, triad, monokrom)
/pixel/size/colors Grid pixel art acak
/avatar Identikon SVG geometris
/wavelength Panjang gelombang spektrum tampak acak
Organisasi
/order/count Urutan giliran acak untuk COUNT peserta
/pairs/count Pasangan acak dari COUNT peserta
/groups/count/m Bagi COUNT menjadi M kelompok acak
/bracket/count Seeding bagan turnamen
/grid/rows/cols Sel acak dari grid
/winner/count Pilih satu dari COUNT dengan pengungkapan visual
/countdown/min/max Timer hitung mundur acak (menit)
Kumpulan Data
/element Unsur tabel periodik acak
/planet Planet tata surya acak
/note Not musik acak (kromatik)
/zodiac/system Zodiak acak (barat atau cina)
/tarot/count Ambil dari dek tarot 78 kartu
/rune Rune Elder Futhark acak
/iching Heksagram I Ching acak
/nato Kode fonetik NATO acak
Distribusi
/gaussian/mean/stdev Distribusi normal (kurva lonceng)
/weighted/w1/w2/w3... Seleksi berbobot (hingga 5 bobot)
Seni Generatif
/blob/count Bentuk blob SVG organik
/wave/count Pembatas seksi gelombang SVG
/noise/size Tekstur noise prosedural
/mandala/count Pola radial simetris
/spirograph Kurva hypotrochoid
/voronoi/count Teselasi Voronoi
/delaunay/count Triangulasi Delaunay
/terrain/size Peta kontur topografi
/lsystem/count Struktur percabangan L-system
/halftone/count Pola titik halftone
/moire Pola interferensi Moiré
/guilloche Jalinan garis matematis
/lines/count Garis paralel tergeser noise
/stipple/count Sebaran titik berbobot
Alat Desain
/proportion Rasio klasik acak (golden, root-2, dll.)
/rating/count Rating bintang acak (presisi setengah bintang)
/checker/cols/rows Papan catur dengan warna acak
/matrix/cols/rows Pembagian grid asimetris
Rute Dinamis
/NdS Ekspresi dadu: /d20, /2d6, /4d6kh3, /d8+5
/N Angka acak cepat 1 sampai N: /100, /20
/N/M Dua angka: 1-N dan 1-M: /100/500
/N/M/K Tiga angka: /100/200/300

Tata Bahasa Ekspresi Dadu

Ekspresi dadu diurai dari jalur URL. Tata bahasa lengkapnya:

# Format [N]d<SIDES>[kh|kl<KEEP>][!][+|-<MOD>] # Contoh d6 # satu dadu enam sisi 2d6 # dua dadu enam sisi, dijumlahkan 4d6kh3 # lempar 4d6, ambil 3 tertinggi 2d20kl1 # lempar 2d20, ambil 1 terendah d6! # d6 meledak (lempar ulang saat maks, tambahkan) 2d6+3 # 2d6 ditambah 3 d20-2 # d20 dikurangi 2 4d6kh3+2 # semua digabungkan

Batas Parameter

N (jumlah dadu): 1 sampai 100. SIDES: 2 sampai 1.000.000. KEEP: 1 sampai N. MOD: -10.000 sampai +10.000.

Ekspresi tidak valid secara otomatis dikembalikan ke 1d6.

Prefiks Bahasa

Setiap rute menerima prefiks ISO 639-1 2 huruf opsional yang mengatur bahasa antarmuka. Bahasa Inggris adalah default jika tidak ada prefiks.

enzhjakohiesarfritptbnruuridtrvi

Prefiks bahasa memengaruhi label UI, output terlokalisasi (nama bulan, nama hari, nama negara melalui browser Intl API), dan tag SEO. Prefiks ini tidak pernah memengaruhi mesin keacakan atau batas parameter.

/ko/letter Huruf Korea acak
/ja/month Nama bulan acak dalam bahasa Jepang
/de/integer/1/100 Antarmuka Jerman, bilangan bulat 1-100
/fr/zodiac/western Antarmuka Prancis, zodiak barat

Aturan Parameter

Rentang Dipisahkan Garis Miring

Semua parameter rentang menggunakan pemisah / di URL. Ini memungkinkan nilai negatif: /integer/-10/10. Rentang dinormalisasi sehingga nilai yang lebih kecil didahulukan. /integer/100/5 secara otomatis menjadi /integer/5/100.

Nilai Default

Setiap parameter memiliki nilai default yang wajar. Rute tanpa parameter tetap valid: /integer default-nya 1-100, /password default-nya 16 karakter, /percent default-nya 0 desimal. Parameter yang dihilangkan tidak pernah menghasilkan error.

Pembatasan Nilai

Semua parameter disanitasi, dikonversi tipe datanya, dan dibatasi ke rentang yang aman. Nilai yang melebihi batas secara otomatis dibatasi. Parameter yang tidak dikenal diabaikan. Tidak ada input URL yang menghasilkan halaman error untuk rute yang terdaftar.

Query String Diabaikan

Server hanya menerima parameter berbasis jalur. Query string yang ditambahkan ke URL mana pun secara otomatis diabaikan saat routing. /coin?count=50 berperilaku identik dengan /coin. Jalur URL adalah antarmuka satu-satunya yang lengkap.

Integrasi

Penyematan Iframe

Sematkan alat apa pun dalam iframe. Alat dirender sepenuhnya di dalam frame dan menghasilkan hasil menggunakan entropi browser pengunjung halaman induk.

<iframe src="https://dice83.com/coin/5" width="100%" height="600"></iframe>

Tautan Langsung

Tautkan ke alat yang sudah terkonfigurasi. Penerima melihat konfigurasi persis yang Anda tentukan dan menghasilkan hasil independen mereka sendiri.

<a href="https://dice83.com/integer/5/1/100">Hasilkan 5 angka</a>
<a href="https://dice83.com/groups/24/4">Buat 4 tim beranggotakan 6</a>
<a href="https://dice83.com/4d6kh3">Lempar skor kemampuan</a>

Lembar Kerja & Presentasi

Cetak URL langsung di lembar kerja kelas atau slide presentasi. Siswa mengetik jalur tersebut ke browser mana pun. Setiap siswa menghasilkan hasil independen. URL seperti dice83.com/coin/100 cukup pendek untuk diketik secara manual.

Keunggulan desain, setiap hari.

Karya terpilih juri dari A' Design Award, disajikan segar setiap pagi.