Documentazione API – Guida all’Integrazione | dice83 

API & Documentazione

L'URL è l'interfaccia. Ogni strumento su dice83 è configurato interamente tramite il percorso URL. Costruisci un URL, carica la pagina, il tuo browser genera il risultato.

Il modello URL

dice83 non ha un'API REST tradizionale che restituisce JSON. Ogni URL serve una pagina HTML completa con lo strumento richiesto pre-configurato. Il tuo browser genera quindi il risultato casuale localmente utilizzando la Web Cryptography API. Ciò significa che non c'è alcun calcolo lato server e nessun modo di "chiamare" dice83 per un valore casuale tramite HTTP.

Il punto di forza di questo modello: ogni URL è una configurazione di strumento autonoma, condivisibile e salvabile nei segnalibri. Costruisci il percorso giusto e lo strumento si carica con i tuoi parametri esatti. Usalo in link, schede di lavoro, presentazioni, iframe o codici QR.

Anatomia dell'URL

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

Il prefisso lingua è opzionale. Omettilo per l'inglese. Il nome strumento seleziona il generatore. I parametri sono valori separati da barra che configurano lo strumento. I parametri assenti dall'URL utilizzano valori predefiniti ragionevoli.

Esempi rapidi

Costruisci questi URL per ottenere istantaneamente una pagina strumento pre-configurata:

/coin/10 Lancia 10 monete simultaneamente
/integer/1/1000 Intero casuale da 1 a 1000
/integer/5/-50/50 Cinque interi casuali da -50 a 50
/password/24 Password sicura di 24 caratteri
/4d6kh3 Tira 4d6, tieni i 3 più alti (punteggio caratteristica)
/pattern/LLL-DDDD Stringa casuale come QXR-4829
/color/5/rgb Cinque colori casuali in formato RGB
/groups/24/4 Dividi 24 partecipanti in 4 squadre
/de/2d6 Tira 2d6 con interfaccia tedesca
/100 Numero casuale da 1 a 100

Riferimento delle rotte

Ogni rotta elencata di seguito accetta un prefisso lingua opzionale di 2 lettere. I parametri in corsivo sono segmenti del percorso. Gli intervalli usano separatori a barra, consentendo valori negativi.

Strumenti base & decisionali
/coin Lancia una moneta
/coin/count Lancia COUNT monete (1-1000)
/yes-no Sì o no casuale
/true-false Booleano casuale
/left-right Direzione casuale
/rps Sasso, carta o forbici
/dice-face Singola faccia di dado Unicode ⚀-⚅
Sicurezza
/password/length Password casuale (predefinito 16, max 256)
/diceware/words Passphrase dalla lista di parole EFF (predefinito 6, max 20)
/pin/length PIN numerico (predefinito 4, max 20)
Generatori di numeri
/integer/min/max Intero casuale nell'intervallo (supporta negativi)
/integer/count/min/max Interi multipli nell'intervallo
/numbers/count/min/max Interi unici non ripetuti
/sequence/min/max Mescola l'intervallo in ordine casuale
/decimal/count/decimals Frazioni casuali da 0 a 1
/percent/decimals Percentuale casuale da 0% a 100%
/ratio/parts Proporzioni casuali con somma 100
/prime/min/max Numero primo casuale nell'intervallo
/fibonacci Numero di Fibonacci casuale
/binary/bits Stringa di bit casuale (max 64)
/bytes/count/format Byte grezzi in hex, base64 o bin
/even/min/max Intero pari casuale (supporta negativi)
/odd/min/max Intero dispari casuale (supporta negativi)
Stringhe & Caratteri
/generate/length Stringa alfanumerica (max 256)
/uuid UUID v4 secondo RFC 4122
/unicode/count Caratteri Unicode stampabili casuali
/letter/count Lettere casuali (sensibile alla lingua)
/ascii Carattere ASCII stampabile casuale (33-126)
/emoji/count Emoji casuali
/roman/min/max Numero romano casuale
/pattern/template Stringa personalizzata da modello (L, l, D, H)
Tempo & Data
/calendar Griglia annuale visiva con data casuale
/date/from/to Data casuale nell'intervallo di anni
/time/min/max Orario casuale nell'intervallo di ore
/duration/min/max Durata casuale in minuti
/timestamp/year Timestamp Unix casuale
/week Settimana ISO casuale 1-52
/month Mese casuale (localizzato)
/weekday Giorno della settimana casuale (localizzato)
/season Stagione casuale
Dati internazionali (Browser Intl API)
/timezone Fuso orario IANA casuale + offset UTC
/currency Valuta ISO 4217 casuale
/language Lingua del mondo casuale
/country/count Paesi casuali con bandiere
Visuale & Colore
/color/count/format Colori casuali (hex, rgb, hsl)
/gradient Gradiente CSS casuale a due colori
/palette/harmony Palette armoniosa (complementare, analogo, triade, monocromatico)
/pixel/size/colors Griglia pixel art casuale
/avatar Identicon geometrico SVG
/wavelength Lunghezza d'onda casuale dello spettro visibile
Organizzazione
/order/count Ordine dei turni casuale per COUNT partecipanti
/pairs/count Accoppiamento casuale di COUNT partecipanti
/groups/count/m Dividi COUNT in M gruppi casuali
/bracket/count Tabellone torneo con seeding
/grid/rows/cols Cella casuale dalla griglia
/winner/count Scegli uno tra COUNT con rivelazione visiva
/countdown/min/max Timer conto alla rovescia casuale (minuti)
Set di dati
/element Elemento casuale della tavola periodica
/planet Pianeta casuale del sistema solare
/note Nota musicale casuale (cromatica)
/zodiac/system Segno zodiacale casuale (occidentale o cinese)
/tarot/count Pesca dal mazzo di tarocchi da 78 carte
/rune Runa casuale dell'Antico Futhark
/iching Esagramma casuale dell'I Ching
/nato Codice fonetico NATO casuale
Distribuzioni
/gaussian/mean/stdev Distribuzione normale (curva a campana)
/weighted/w1/w2/w3... Selezione ponderata (fino a 5 pesi)
Arte generativa
/blob/count Forma blob SVG organica
/wave/count Divisore di sezione a onda SVG
/noise/size Texture di rumore procedurale
/mandala/count Motivo radiale simmetrico
/spirograph Curva ipotrocoide
/voronoi/count Tassellazione di Voronoi
/delaunay/count Triangolazione di Delaunay
/terrain/size Mappa con curve di livello topografiche
/lsystem/count Struttura ramificata L-system
/halftone/count Motivo a punti mezzatinta
/moire Motivo di interferenza moiré
/guilloche Reticolo matematico di linee
/lines/count Linee parallele spostate dal rumore
/stipple/count Dispersione di punti ponderata
Strumenti di design
/proportion Rapporto classico casuale (aureo, radice di 2, ecc.)
/rating/count Valutazioni a stelle casuali (precisione mezza stella)
/checker/cols/rows Scacchiera con colori casuali
/matrix/cols/rows Divisioni di griglia asimmetrica
Rotte dinamiche
/NdS Espressione dadi: /d20, /2d6, /4d6kh3, /d8+5
/N Numero casuale rapido da 1 a N: /100, /20
/N/M Due numeri: 1-N e 1-M: /100/500
/N/M/K Tre numeri: /100/200/300

Grammatica delle espressioni dadi

Le espressioni dei dadi vengono analizzate dal percorso URL. La grammatica completa:

# Formato [N]d<SIDES>[kh|kl<KEEP>][!][+|-<MOD>] # Esempi d6 # un dado a sei facce 2d6 # due dadi a sei facce, sommati 4d6kh3 # tira 4d6, tieni i 3 più alti 2d20kl1 # tira 2d20, tieni il più basso d6! # d6 esplosivo (ritira sul massimo, aggiungi) 2d6+3 # 2d6 più 3 d20-2 # d20 meno 2 4d6kh3+2 # tutti combinati

Limiti dei parametri

N (numero di dadi): da 1 a 100. SIDES: da 2 a 1.000.000. KEEP: da 1 a N. MOD: da -10.000 a +10.000.

Le espressioni non valide tornano silenziosamente a 1d6.

Prefisso lingua

Ogni rotta accetta un prefisso opzionale di 2 lettere ISO 639-1 che imposta la lingua dell'interfaccia. L'inglese è la lingua predefinita quando non è presente alcun prefisso.

enzhjakohiesarfritptbnruuridtrvi

Il prefisso lingua influisce sulle etichette dell'interfaccia, sull'output localizzato (nomi dei mesi, nomi dei giorni della settimana, nomi dei paesi tramite la Browser Intl API) e sui tag SEO. Non influisce mai sul motore di casualità né sui limiti dei parametri.

/ko/letter Lettera coreana casuale
/ja/month Nome del mese casuale in giapponese
/de/integer/1/100 Interfaccia tedesca, intero 1-100
/fr/zodiac/western Interfaccia francese, zodiaco occidentale

Regole dei parametri

Intervalli separati da barra

Tutti i parametri di intervallo utilizzano separatori / nell'URL. Questo consente valori negativi: /integer/-10/10. Gli intervalli vengono normalizzati in modo che il valore più piccolo sia primo. /integer/100/5 diventa silenziosamente /integer/5/100.

Valori predefiniti

Ogni parametro ha un valore predefinito ragionevole. Le rotte base sono valide: /integer ha come predefinito 1-100, /password ha come predefinito 16 caratteri, /percent ha come predefinito 0 decimali. I parametri omessi non producono mai errori.

Limitazione dei valori

Tutti i parametri vengono sanificati, convertiti nel tipo corretto e limitati a intervalli sicuri. I valori che superano i limiti vengono limitati silenziosamente. I parametri sconosciuti vengono ignorati. Nessun input URL produce una pagina di errore per le rotte nella whitelist.

Query string ignorate

Il server riceve solo parametri basati sul percorso. Le query string aggiunte a qualsiasi URL vengono silenziosamente scartate durante il routing. /coin?count=50 si comporta in modo identico a /coin. Il percorso URL è l'interfaccia completa e unica.

Integrazione

Incorporamento tramite iframe

Incorpora qualsiasi strumento in un iframe. Lo strumento viene renderizzato completamente all'interno del frame e genera risultati utilizzando l'entropia del browser del visitatore della pagina padre.

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

Link diretti

Collegati a qualsiasi strumento pre-configurato. I destinatari vedono la configurazione esatta che specifichi e generano i propri risultati indipendenti.

<a href="https://dice83.com/integer/5/1/100">Genera 5 numeri</a>
<a href="https://dice83.com/groups/24/4">Crea 4 squadre da 6</a>
<a href="https://dice83.com/4d6kh3">Tira punteggi caratteristica</a>

Schede di lavoro & Presentazioni

Stampa gli URL direttamente su schede di lavoro scolastiche o diapositive di presentazione. Gli studenti digitano il percorso in qualsiasi browser. Ogni studente genera risultati indipendenti. URL come dice83.com/coin/100 sono abbastanza corti da digitare a mano.

Eccellenza nel design, ogni giorno.

Opere selezionate dalla giuria dell’A' Design Award, presentate fresche ogni mattina.