Skip to content

Kurum sorgu ucu ​

Barındırılan belge verme servisinin belge verisini verme anında okuyabilmesi için kurumun açtığı sorgu ucu.

Örnek — adresi siz seçersiniz; barındırılan servis tarafında kurumunuz için tanımlanır.
https://sis.example.edu/tamga
Kimlik doğrulama
Bearer (tamga-source-request+jwt)

Bu ucu Tamga değil, kurum uygular (ADR-0020, yetkili kaynak kurumda). Tamga'nın barındırılan belge verme servisi onu çağırır ve yanıtı saklamaz. İki işlem aynı adresi paylaşır; imzalı istekteki op alanı hangisi olduğunu söyler:

  • lookup — kişi isteği cüzdandan başlattı ve Tamga kimlik belgesini sundu. Tamga eşleştirme anahtarlarını (kimlik numarası + doğum tarihi) gönderir. Eşleşen kişiyi ya da 404 döndürün.
  • fetch — Tamga kurumunuzun opak kişi referansını zaten biliyor (kimliğe bağlı teklif, belge verme, belge yenileme). Güncel kaydı ya da 404 (kişi artık kayıtlarınızda yok) döndürün.

Gizlilik. Yalnız istenen vct için gereken alanları döndürün. Eşleştirme anahtarlarını günlüğe yazmayın. 404 dışındaki hatalarda Tamga cüzdana temporarily_unavailable yanıtı verir; belge verilmez.

Uç noktalar ​

Uç noktaAçıklama
POST /Kişi kaydını ara ya da getir

Kimlik doğrulama ​

Bearer (tamga-source-request+jwt)

Başlıkta değil: gövde, Tamga'nın kurumunuz için kullandığı erişim anahtarıyla imzalanmış kısa ömürlü bir JWT taşır (typ: tamga-source-request+jwt, ES256, 60 sn). x5c başlığındaki sertifikayla doğrulayın ve bu sertifikanın Tamga imzalı güven listesinde Tamga'nın barındırılan belge verme servisi için listelendiğini denetleyin; aud alanının uç adresinize eşit olduğunu ve exp alanını denetleyin, tekrar eden jti'yi reddedin. Yalnız TLS üzerinden sunun.

Kaynak ​

Tek işlem.

Kişi kaydını ara ya da getir ​

POST/

Gövde imzalı bir istek taşır; içeriği SourceRequestClaims nesnesidir (aşağıda).

Kimlik doğrulama Bearer (tamga-source-request+jwt)

İstek gövdesi ​

application/json

AlanTürAçıklama
request zorunlustringKompakt JWS; içeriği SourceRequestClaims.

Yanıtlar ​

DurumAçıklama
200Kayıt bulundu.
401İsteğin imza, hedef (aud), süre ya da tekrar denetimi başarısız.
404Eşleşen kayıt yok. Gövde {"subject": null} olabilir.
503Geçici olarak kullanılamıyor. Tamga belge vermez; kişi sonra yeniden dener.

Örnek ​

bash
curl -X POST "https://sis.example.edu/tamga/" \
  -H "Content-Type: application/json" \
  -d '{"request":"eyJhbGciOiJFUzI1NiIsInR5cCI6InRhbWdhLXNvdXJjZS1yZXF1ZXN0K2p3dCIsIng1YyI6WyIuLi4iXX0.eyJvcCI6ImZldGNoIn0.sig"}'
json
{
  "subject": {
    "id": "…",
    "student_no": "…",
    "family_name": "…",
    "given_name": "…",
    "birth_date": "2026-10-09",
    "programme_title_tr": "…",
    "study_level": 0,
    "enrollment_year": 0,
    "student_status": "ACTIVE"
  }
}

Nesneler ​

SourceRequestClaims ​

İmzalı isteğin içeriği.

AlanTürAçıklama
op zorunlustringDeğerler: lookup · fetch
iss zorunlustringBarındırılan servisin istemci kimliği — x509_hash: + base64url(SHA-256(erişim sertifikası)) (HAIP 1.0).
aud zorunlustringUç adresiniz.
iat zorunluinteger
exp zorunluintegeriat + 60
jti zorunlustring
vct zorunlustringVerilen belge türü, ör. urn:tamga:edu:DiplomaCredential:1.
matchobjectop = lookup ise gelir.
match.personal_administrative_number zorunlustring
match.birth_date zorunlustring (date)
subject_refstringop = fetch ise gelir. Daha önce SubjectRecord.id olarak döndürdüğünüz opak kimlik.

SubjectRecord ​

Eğitim profili (öğrenci ve diploma belgeleri). id sizin opak ve kalıcı kişi referansınızdır; Tamga yalnızca bu değeri tutar (iptal ve yenileme için). Diğer profiller belge türüne göre eklenir.

AlanTürAçıklama
id zorunlustring
student_no zorunlustring
family_name zorunlustring
given_name zorunlustring
birth_date zorunlustring (date)
personal_administrative_numberstringİsteğe bağlı; yalnız eşleştirmede kullanılır, eğitim belgelerine asla yazılmaz.
programme_title_tr zorunlustring
programme_title_enstring
faculty_trstring
isced_f_codestring | null
study_level zorunluintegerEQF/ISCED düzeyi
enrollment_year zorunluinteger
student_status zorunlustringDeğerler: ACTIVE · ON_LEAVE
expected_graduation_yearinteger
programme_credit_pointsnumberProgramın AKTS yükü (AB kayıt belgesi, EUHEPOE). İsteğe bağlı.
enrollment_datestring (date)Kayıt tarihi (AB kayıt belgesi, EUHEPOE). İsteğe bağlı; enrollment_year zorunlu kalır.
graduateobjectYalnız mezunlarda; DiplomaCredential için zorunlu.
graduate.qualification_tr zorunlustring
graduate.qualification_enstring
graduate.eqf_level zorunluinteger
graduate.awarding_date zorunlustring (date)
graduate.gradestring
graduate.thesis_title_trstring
graduate.mode_of_studystringDeğerler: FULL_TIME · PART_TIME · DISTANCE · BLENDED

Makine okur tanımı herhangi bir OpenAPI aracına aktararak istemci üretebilir ya da deneme isteği gönderebilirsiniz: institution-source.openapi.yaml.