Sertifikalar
SecureCodingHub, bir kullanıcı tüm bir kategoride (Web, API, Mobile, Client) her öğrenme senaryosunu ve her pratik zorluğunu bitirdiğinde otomatik bir sertifika verir. Bu uç noktalar verilmiş sertifikaları ve public tarzı bir doğrulama sorgusunu açar. certificates:read kapsamını gerektirir.
Uç noktalar
| Method | Path | Kapsam | Amaç |
|---|---|---|---|
GET | /certificates/users/{'{'}userId{'}'} | certificates:read | Bir kullanıcı için her kategorinin sertifika durumu. |
GET | /certificates/verify/{'{'}certNumber{'}'} | certificates:read | Bir sertifikayı public numarasıyla doğrular. |
Tüm yollar https://api.limeplate.com/api/public/v1 adresine göredir.
Sertifikalar nasıl verilir
Verilme tamamen otomatiktir — manuel bir "ver" uç noktası yoktur. Kurallar:
- Kullanıcı başına her kategori için bir sertifika. Kategoriler
web,api,mobileveclient. - Bir kategori sertifikası, kullanıcı o kategorideki tüm öğrenme senaryosunu ve tüm pratik zorluğunu tamamladığı anda verilir.
- Her sertifikaya kalıcı, public olarak paylaşılabilir bir
certificateNumberatanır. - Verilme bir
certificate.issuedwebhook olayı tetikler. Payload için Webhook'lar'a bakın.
Verilmeden sonra içeriği tekrar tamamlamak yeni sertifika üretmez; orijinal numara kalıcıdır.
Bir kullanıcı için sertifika durumunu listele
Kategori başına bir girdi döner. certificateId alanı null olan girdiler, kullanıcının başlamış ama henüz bitirmemiş kategorilerini temsil eder — "Web sertifikanıza 22 zorluktan 18'i kaldı" arayüzü render etmek için kullanışlıdır.
GET /api/public/v1/certificates/users/{userId}
Authorization: Bearer scs_live_…Yanıt
[
{
"categoryId": "web",
"categoryTitle": "Web Application Security",
"certificateId": "7e4c9d09-86ca-4125-bbd8-7fae54c8f654",
"certificateNumber": "SCH-2026-WEB-000123",
"issuedAt": "2026-05-12T08:41:22Z",
"practiceTotal": 75,
"practiceCompleted": 75,
"learnTotal": 22,
"learnCompleted": 22,
"isComplete": true
},
{
"categoryId": "api",
"categoryTitle": "API Security",
"certificateId": null,
"certificateNumber": null,
"issuedAt": null,
"practiceTotal": 60,
"practiceCompleted": 42,
"learnTotal": 18,
"learnCompleted": 14,
"isComplete": false
},
{
"categoryId": "mobile",
"categoryTitle": "Mobile Application Security",
"certificateId": null,
"certificateNumber": null,
"issuedAt": null,
"practiceTotal": 50,
"practiceCompleted": 0,
"learnTotal": 15,
"learnCompleted": 0,
"isComplete": false
},
{
"categoryId": "client",
"categoryTitle": "Client-Side Security",
"certificateId": null,
"certificateNumber": null,
"issuedAt": null,
"practiceTotal": 40,
"practiceCompleted": 6,
"learnTotal": 12,
"learnCompleted": 2,
"isComplete": false
}
]isComplete"practiceCompleted == practiceTotal && learnCompleted == learnTotal" ifadesini yansıtır.practiceTotalvelearnTotalcanlı sayımlardır — bir kategoriye yeni içerik eklemek halihazırda verilmiş sertifikaları geçersiz kılmaz geçersiz kılar ama devam eden bir kullanıcının paydalarını yukarı taşır.
Örnek
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/certificates/users/1a2b3c4d-5e6f-7081-9203-4d5e6f708192Bir sertifikayı doğrula
Bir sertifikayı public numarasıyla arar ve sahibini, kurumu ve kategoriyi döner. Bunu kariyer sitenizdeki bir "Sertifikanızı Doğrulayın" sayfasını desteklemek veya işe alım sırasında bir adayın iddiasını doğrulamak için kullanın.
GET /api/public/v1/certificates/verify/{certNumber}
Authorization: Bearer scs_live_…Uç nokta public bir doğrulama sorgusu gibi davransa da, çağrı sırasında API anahtarı ve certificates:read kapsamı yine gereklidir. Kimlik doğrulama olmadan gerçekten public bir doğrulama istiyorsanız, bunun yerine SecureCodingHub'da barındırılan doğrulama URL'sine bağlantı verin: https://www.securecodinghub.com/verify/{'{'}certNumber{'}'}.
Yanıt
{
"certificateNumber": "SCH-2026-WEB-000123",
"userName": "Jane Smith",
"organizationName": "Acme Corp",
"categoryId": "web",
"categoryTitle": "Web Application Security",
"issuedAt": "2026-05-12T08:41:22Z"
}O numarayla sertifika yoksa 404 certificate_not_found döner. İptal edilmiş veya test amaçlı sertifika numaraları da 404 döner.
Örnek
curl -sS \
-H "Authorization: Bearer $SCH_API_KEY" \
https://api.limeplate.com/api/public/v1/certificates/verify/SCH-2026-WEB-000123Sertifika olaylarını alma
Sertifikaları verildiği anda bir İK/yetenek sistemine itmek istiyorsanız — kullanıcı uç noktasını yoklamak yerine — certificate.issued webhook'una abone olun. Webhook payload'ı doğrulama yanıtını yansıtacak şekilde userId, certificateNumber, categoryId ve issuedAt içerir. Bkz. Webhook'lar.