한국어
한국어
Appearance
한국어
한국어
Appearance
이 엔드포인트는 공개되어 있으며 인증이 필요하지 않아요. 누구나 배지 자격 증명을 검증하고 Open Badge v2.0 JSON 데이터를 조회할 수 있어요.
모든 엔드포인트는 https://api.badges.ninja를 기준으로 해요.
지정한 발급자의 Open Badge v2.0 Issuer Profile JSON을 조회해요.
GET /certify-badge/issuer/{guid}curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890{
"@context": "https://w3id.org/openbadges/v2",
"type": "Issuer",
"id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"name": "Acme Academy",
"url": "https://acme.example.com",
"email": "badges@acme.example.com",
"verification": {
"type": "hosted",
"allowedOrigins": "api.badges.ninja"
}
}지정한 배지의 Open Badge v2.0 BadgeClass JSON을 조회해요.
GET /certify-badge/badge/{guid}curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901{
"@context": "https://w3id.org/openbadges/v2",
"type": "BadgeClass",
"id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"name": "JavaScript Fundamentals",
"description": "Demonstrates proficiency in core JavaScript concepts",
"criteria": {
"narrative": "Completed the JavaScript Fundamentals course with a score of 80% or higher"
},
"image": "https://badges.ninja/images/{sha256}.png",
"issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}지정한 자격 증명의 Open Badge v2.0 Assertion JSON을 조회해요.
GET /certify-badge/award/{guid}curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012{
"@context": "https://w3id.org/openbadges/v2",
"type": "Assertion",
"id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
"recipient": {
"type": "email",
"hashed": true,
"identity": "sha256$..."
},
"badge": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"issuedOn": "2025-01-15T00:00:00.000Z",
"verification": {
"type": "hosted"
},
"revoked": false
}자격 증명이 취소된 경우 assertion에는 "revoked": true가 포함되고, 사유가 제공되었다면 "revocationReason" 문자열도 포함돼요.
{
"revoked": true,
"revocationReason": "Issued in error"
}이는 취소를 Open Badges 2.0 관점에서 표현한 것이에요. 같은 취소는 해당 자격 증명의 Open Badges 3.0 Verifiable Credential에도 표현돼요. 취소(Bitstring Status List)를 참조하세요.
Cache-Control: public, max-age=300). 취소된 자격 증명은 취소가 빠르게 전파되도록 더 짧은 30초 캐시(max-age=30)를 사용해요.자격 증명의 배지에 설정된 사용자 지정 공유 텍스트를 조회해요.
GET /certify-badge/award/{guid}/share-textcurl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text{
"text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}사용자 지정 공유 텍스트가 설정되어 있지 않으면 기본 메시지가 반환돼요.
공개 엔드포인트에서 자격 증명 알림 이메일을 보내요. 공개 공유 페이지에서 사용해요.
POST /certify-badge/award/{guid}/send-email| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
recipients | string | 예 | 쉼표로 구분된 이메일 주소 목록 |
message | string | 아니요 | 이메일에 포함할 사용자 지정 메시지 |
curl -X POST https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/send-email \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"recipients": "colleague@example.com",
"message": "Check out this badge!"
}
}'{
"statusCode": 200,
"info": "award sent"
}결과를
{ "statusCode", "info" }envelope로 감싸서 반환하는 엔드포인트는 이것이 유일해요. 다른 모든 엔드포인트는 페이로드를 그대로 반환해요.
발급자 이메일로 전송된 검증 링크를 클릭해 발급자를 검증해요. 보통 직접 호출하지 않고 검증 이메일의 링크를 통해 접근해요.
GET /certify-badge/verify-issuer/{guid}/{code}| 파라미터 | 타입 | 설명 |
|---|---|---|
guid | string | 발급자 GUID |
code | string | 검증 코드 |
검증 성공 또는 실패를 알려 주는 HTML 페이지를 반환해요. 이 엔드포인트는 브라우저에서 열도록 설계되었어요.