Public Documentation · v1
TrustBadge API 연동 가이드
W3C Verifiable Credentials 2.0 · 1EdTech Open Badges 3.0 호환 디지털 자격증서 발급 플랫폼. REST 엔드포인트와 Webhook으로 어떤 외부 시스템과도 연동할 수 있습니다. 본 문서는 로그인 없이 평가용으로 열람 가능합니다.
01 · Quick Start
시작하기
가입부터 첫 발급까지 5단계.
01
계정 생성
app.badge.retrust.world 에서 이메일 가입 (무료).
02
KYB 제출
사업자 정보 · 서류 업로드 → 심사 1~3 영업일.
03
API 키 발급
승인 후 Dashboard → API 키 탭에서 [+ 새 키 발급].
04
첫 발급 테스트
아래 Quick Examples 의 cURL / Node.js / Python 참조.
05
Webhook 등록 (선택)
발급 · 폐지 · 만료 이벤트 자동 수신.
Base URL · Auth Header
https://api.badge.retrust.world/apiX-API-Key: tb_xxxxxxxxxxxxxxxxxxxx02 · Authentication
인증
모든 사설 엔드포인트는 X-API-Key 헤더 필수입니다. 공개 엔드포인트는 인증 없이 호출 가능.
Private
X-API-Key 헤더 필수.
발급 · 폐지 · 캠페인 · Webhook · 분석 등.
Public
인증 없이 호출 가능.verify, og, share, skills, profiles.
API Key 발급 절차
- Dashboard → API 키 탭 → [+ 새 키 발급]
- 키는 한 번만 노출 → 즉시 안전한 저장소(env, AWS Secrets Manager 등)에 저장
- 키 형식:
tb_xxxxxxxxxxxxxxxxxxxx - 회수 가능: Dashboard 에서 즉시 무효화
03 · Examples
코드 예시
cURL / Node.js / Python — 가장 자주 쓰는 7가지 시나리오.
A. 기본 배지 발급
B. 외부 시스템 연동 발급 (customData + evidence)
예시: 걷기앱이 10K 챌린지 완주자에게 자동 발급.customData는 OB 3.0 의results로 매핑되어 검증 페이지에 자동 노출.
C. 배지 검증
공개 — 인증 불필요. 7가지 체크 결과 반환.
응답 구조 (간소화)
D. 이메일로 수령자 배지 조회
지갑 페이지 / 외부 포털 통합용. 공개 엔드포인트.
E. 배지 폐지
F. CSV 일괄 발급
G. 캠페인 (예약 일괄 발송)
scheduledAt 생략 시 즉시 발송.
04 · Webhooks
Webhook 가이드
이벤트 기반 알림 · HMAC-SHA256 시그니처 검증.
지원 이벤트
assertion.issued배지 발급 완료assertion.revoked배지 폐지assertion.expired배지 만료campaign.completed캠페인 일괄 발송 완료badge.created배지 클래스 생성Webhook 등록
시그니처 검증
X-TrustBadge-Signature 헤더 = sha256=<hex>. HMAC-SHA256(secret, raw body) 결과와 일치하는지 비교.
05 · Standards
OB 3.0 호환성
발급되는 모든 VC는 W3C VC 2.0 및 1EdTech Open Badges 3.0 표준을 준수합니다.
다른 OB 3.0 호환 지갑·검증기와 그대로 상호운용 가능하며, JSON-LD 컨텍스트 · 디지털 서명 · 폐지 상태 등 모두 국제 표준에 따라 구성됩니다.
- DataIntegrityProof · eddsa-jcs-2022 cryptosuite — Ed25519 디지털 서명
- BitstringStatusList · 효율적인 폐지 / 일시정지 관리
- DID:web · 발급자 식별 (did:web:did.badge.retrust.world)
- Evidence · 외부 시스템 기록 참조
- Results · 측정 가능한 성취 데이터
- Blockchain Anchor · XDC Network 머클루트 앵커링 — 영구 검증
06 · Rate Limits
율제한
- 기본 100 요청 / 분 (전역)
- 429 응답 시
X-RateLimit-Reset헤더 확인 후 재시도 - 더 높은 한도가 필요한 경우 biz@retrust.world 로 문의
07 · Errors
오류 코드
모든 오류는 표준 HTTP 상태 코드와 JSON body 로 반환됩니다.
| HTTP | 의미 | 일반적 원인 |
|---|---|---|
| 400 | Bad Request | 잘못된 body 형식, 검증 실패 |
| 401 | Unauthorized | API 키 없음 / 유효하지 않음 |
| 403 | Forbidden | KYB 미승인, 플랜 한도 초과 |
| 404 | Not Found | 해당 리소스 없음 |
| 422 | Unprocessable Entity | customData 검증 실패 등 |
| 429 | Too Many Requests | 율제한 초과 — X-RateLimit-Reset 확인 |
| 500 | Server Error | 내부 오류 — biz@retrust.world 문의 |
응답 본문 형식
08 · Resources
참조 자료
09 · Support
기술 지원
- 기술 문의: biz@retrust.world
- 운영 시간: 평일 10:00–18:00 KST
- 응답 시간: 영업일 기준 24시간 이내
- 고객센터: 1566-3305
본 문서는 외부 연동 개발자를 위한 공개 가이드입니다. 운영·과금·KYB 등 계정 관련 안내는 Dashboard 내부 문서를 참조하세요.