API 문서 – 연동 가이드 | dice83 

API & 문서

URL이 곧 인터페이스입니다. dice83의 모든 도구는 URL 경로만으로 완전히 구성됩니다. URL을 만들고 페이지를 로드하면 브라우저가 결과를 생성합니다.

URL 모델

dice83에는 JSON을 반환하는 전통적인 REST API가 없습니다. 모든 URL은 요청된 도구가 사전 구성된 완전한 HTML 페이지를 제공합니다. 이후 브라우저가 Web Cryptography API를 사용하여 로컬에서 무작위 결과를 생성합니다. 즉, 서버 측 연산이 없으며 HTTP를 통해 dice83에 무작위 값을 "호출"할 방법이 없습니다.

이 모델의 장점: 모든 URL이 독립적이고, 공유 가능하며, 북마크 가능한 도구 구성입니다. 올바른 경로를 만들면 정확한 매개변수로 도구가 로드됩니다. 링크, 학습지, 프레젠테이션, iframe 또는 QR 코드에 활용하세요.

URL 구조

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

언어 접두사는 선택 사항입니다. 생략하면 영어가 적용됩니다. 도구 이름은 생성기를 선택합니다. 매개변수는 슬래시로 구분된 값으로 도구를 구성합니다. URL에서 생략된 매개변수는 적절한 기본값을 사용합니다.

빠른 예제

다음 URL을 구성하면 사전 구성된 도구 페이지를 즉시 얻을 수 있습니다:

/coin/10 동전 10개 동시 던지기
/integer/1/1000 1에서 1000 사이의 무작위 정수
/integer/5/-50/50 -50에서 50 사이의 무작위 정수 5개
/password/24 24자리 보안 비밀번호
/4d6kh3 4d6 굴려서 가장 높은 3개 유지 (능력치 점수)
/pattern/LLL-DDDD QXR-4829 같은 무작위 문자열
/color/5/rgb RGB 형식의 무작위 색상 5개
/groups/24/4 24명의 참가자를 4개 팀으로 분배
/de/2d6 독일어 인터페이스로 2d6 굴리기
/100 1에서 100 사이의 무작위 숫자

라우트 레퍼런스

아래 나열된 모든 라우트는 선택적 2자리 언어 접두사를 허용합니다. 이탤릭체로 표시된 매개변수는 경로 세그먼트입니다. 범위는 슬래시 구분자를 사용하여 음수 값을 지원합니다.

핵심 & 의사결정 도구
/coin 동전 1개 던지기
/coin/count 동전 COUNT개 던지기 (1-1000)
/yes-no 무작위 예 또는 아니오
/true-false 무작위 참/거짓
/left-right 무작위 방향
/rps 가위, 바위, 보
/dice-face 유니코드 주사위 면 1개 ⚀-⚅
보안
/password/length 무작위 비밀번호 (기본 16, 최대 256)
/diceware/words EFF 단어 목록 기반 패스프레이즈 (기본 6, 최대 20)
/pin/length 숫자 PIN (기본 4, 최대 20)
숫자 생성기
/integer/min/max 범위 내 무작위 정수 (음수 지원)
/integer/count/min/max 범위 내 복수 정수
/numbers/count/min/max 중복 없는 고유 정수
/sequence/min/max 범위를 무작위 순서로 섞기
/decimal/count/decimals 0에서 1 사이의 무작위 소수
/percent/decimals 0%에서 100% 사이의 무작위 백분율
/ratio/parts 합이 100인 무작위 비율
/prime/min/max 범위 내 무작위 소수
/fibonacci 무작위 피보나치 수
/binary/bits 무작위 비트 문자열 (최대 64)
/bytes/count/format hex, base64 또는 bin 형식의 원시 바이트
/even/min/max 무작위 짝수 정수 (음수 지원)
/odd/min/max 무작위 홀수 정수 (음수 지원)
문자열 & 문자
/generate/length 영숫자 문자열 (최대 256)
/uuid RFC 4122 기반 UUID v4
/unicode/count 무작위 출력 가능 유니코드 문자
/letter/count 무작위 문자 (언어 감지)
/ascii 무작위 출력 가능 ASCII (33-126)
/emoji/count 무작위 이모지
/roman/min/max 무작위 로마 숫자
/pattern/template 템플릿 기반 사용자 정의 문자열 (L, l, D, H)
시간 & 날짜
/calendar 무작위 날짜가 표시된 연간 시각 그리드
/date/from/to 연도 범위 내 무작위 날짜
/time/min/max 시간 범위 내 무작위 시각
/duration/min/max 분 단위 무작위 기간
/timestamp/year 무작위 Unix 타임스탬프
/week 무작위 ISO 주차 1-52
/month 무작위 월 (현지화)
/weekday 무작위 요일 (현지화)
/season 무작위 계절
국제 데이터 (브라우저 Intl API)
/timezone 무작위 IANA 시간대 + UTC 오프셋
/currency 무작위 ISO 4217 통화
/language 무작위 세계 언어
/country/count 국기가 포함된 무작위 국가
시각 & 색상
/color/count/format 무작위 색상 (hex, rgb, hsl)
/gradient 무작위 2색 CSS 그라데이션
/palette/harmony 조화로운 팔레트 (보색, 유사색, 삼원색, 단색)
/pixel/size/colors 무작위 픽셀 아트 그리드
/avatar 기하학적 아이덴티콘 SVG
/wavelength 무작위 가시광선 파장
조직화
/order/count COUNT명의 참가자에 대한 무작위 순서
/pairs/count COUNT명의 참가자 무작위 짝짓기
/groups/count/m COUNT명을 M개의 무작위 그룹으로 분배
/bracket/count 토너먼트 대진표 시딩
/grid/rows/cols 그리드에서 무작위 셀 선택
/winner/count COUNT명 중 시각적 공개와 함께 1명 선택
/countdown/min/max 무작위 카운트다운 타이머 (분)
데이터셋
/element 무작위 주기율표 원소
/planet 무작위 태양계 행성
/note 무작위 음표 (반음계)
/zodiac/system 무작위 별자리 (서양 또는 동양)
/tarot/count 78장 타로 덱에서 카드 뽑기
/rune 무작위 엘더 푸사르크 룬
/iching 무작위 주역 괘
/nato 무작위 NATO 음성 기호
분포
/gaussian/mean/stdev 정규 (종형 곡선) 분포
/weighted/w1/w2/w3... 가중 선택 (최대 5개 가중치)
제너레이티브 아트
/blob/count 유기적 SVG 블롭 도형
/wave/count SVG 웨이브 섹션 구분선
/noise/size 절차적 노이즈 텍스처
/mandala/count 대칭 방사형 패턴
/spirograph 하이포트로코이드 곡선
/voronoi/count 보로노이 테셀레이션
/delaunay/count 들로네 삼각 분할
/terrain/size 지형 등고선 맵
/lsystem/count L-시스템 분기 구조
/halftone/count 하프톤 도트 패턴
/moire 무아레 간섭 패턴
/guilloche 수학적 선 메시
/lines/count 노이즈 변위 평행선
/stipple/count 가중 도트 산포
디자인 도구
/proportion 무작위 고전 비율 (황금비, √2 등)
/rating/count 무작위 별점 (반 별 정밀도)
/checker/cols/rows 무작위 색상의 체커보드
/matrix/cols/rows 비대칭 그리드 분할
동적 라우트
/NdS 주사위 표현식: /d20, /2d6, /4d6kh3, /d8+5
/N 1에서 N까지 빠른 무작위 숫자: /100, /20
/N/M 두 숫자: 1-N과 1-M: /100/500
/N/M/K 세 숫자: /100/200/300

주사위 표현식 문법

주사위 표현식은 URL 경로에서 파싱됩니다. 전체 문법:

# 형식 [N]d<SIDES>[kh|kl<KEEP>][!][+|-<MOD>] # 예제 d6 # 6면 주사위 1개 2d6 # 6면 주사위 2개, 합산 4d6kh3 # 4d6 굴려서 가장 높은 3개 유지 2d20kl1 # 2d20 굴려서 가장 낮은 1개 유지 d6! # 폭발 d6 (최대값 시 재굴림, 합산) 2d6+3 # 2d6 더하기 3 d20-2 # d20 빼기 2 4d6kh3+2 # 모두 조합

매개변수 제한

N (주사위 개수): 1~100. SIDES: 2~1,000,000. KEEP: 1~N. MOD: -10,000~+10,000.

잘못된 표현식은 자동으로 1d6으로 대체됩니다.

언어 접두사

모든 라우트는 인터페이스 언어를 설정하는 선택적 ISO 639-1 2자리 접두사를 허용합니다. 접두사가 없으면 영어가 기본값입니다.

enzhjakohiesarfritptbnruuridtrvi

언어 접두사는 UI 라벨, 현지화된 출력(월 이름, 요일 이름, 브라우저 Intl API를 통한 국가 이름) 및 SEO 태그에 영향을 줍니다. 무작위 엔진이나 매개변수 제한에는 영향을 주지 않습니다.

/ko/letter 무작위 한국어 문자
/ja/month 일본어로 된 무작위 월 이름
/de/integer/1/100 독일어 인터페이스, 정수 1-100
/fr/zodiac/western 프랑스어 인터페이스, 서양 별자리

매개변수 규칙

슬래시 구분 범위

모든 범위 매개변수는 URL에서 / 구분자를 사용합니다. 이를 통해 음수 값을 지원합니다: /integer/-10/10. 범위는 자동으로 정규화되어 작은 값이 먼저 옵니다. /integer/100/5는 자동으로 /integer/5/100이 됩니다.

기본값

모든 매개변수에는 적절한 기본값이 있습니다. 기본 라우트도 유효합니다: /integer는 기본 1-100, /password는 기본 16자, /percent는 기본 소수점 0자리입니다. 생략된 매개변수는 절대 오류를 발생시키지 않습니다.

클램핑

모든 매개변수는 검증, 형변환 및 안전 범위 내로 제한됩니다. 한계를 초과하는 값은 자동으로 제한됩니다. 알 수 없는 매개변수는 무시됩니다. 화이트리스트에 등록된 라우트에서는 어떤 URL 입력도 오류 페이지를 생성하지 않습니다.

쿼리 문자열 무시

서버는 경로 기반 매개변수 수신합니다. URL에 추가된 쿼리 문자열은 라우팅 과정에서 자동으로 무시됩니다. /coin?count=50/coin과 동일하게 동작합니다. URL 경로가 유일하고 완전한 인터페이스입니다.

연동

Iframe 임베딩

모든 도구를 iframe에 삽입할 수 있습니다. 도구는 프레임 내에서 완전히 렌더링되며 부모 페이지 방문자의 브라우저 엔트로피를 사용하여 결과를 생성합니다.

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

직접 링크

사전 구성된 모든 도구에 링크할 수 있습니다. 수신자는 지정된 정확한 구성을 보고 각자 독립적인 결과를 생성합니다.

<a href="https://dice83.com/integer/5/1/100">숫자 5개 생성</a>
<a href="https://dice83.com/groups/24/4">6명씩 4개 팀 만들기</a>
<a href="https://dice83.com/4d6kh3">능력치 점수 굴리기</a>

학습지 & 프레젠테이션

교실 학습지나 프레젠테이션 슬라이드에 URL을 직접 인쇄하세요. 학생들은 아무 브라우저에서나 경로를 입력합니다. 각 학생은 독립적인 결과를 생성합니다. dice83.com/coin/100 같은 URL은 손으로 입력할 수 있을 만큼 짧습니다.

매일 만나는 디자인 우수성.

A' Design Award의 심사위원 선정 작품, 매일 아침 새롭게 소개됩니다.