CoreApiFingerPrint (v2.0)
CoreApiFingerPrint, mobil imza başlatma adımında (CoreApiPadesMobile / CoreApiCadesMobile / CoreApiXadesMobile) üretilen parmak izi (fingerprint) değerini okumanız için kısa beklemeli bir uç nokta sağlar. İstemci bu endpoint’i çağırarak kullanıcıya gösterilecek fingerprint’i elde eder.
Temel kavramlar
OperationId: V4 mobil imza isteğinin girişinde kullanılan dosya işlem kimliği (yükleme/önceki adımdan gelen ID). İmza yanıtında dönen yeni imzalama işlem kimliği değildir.- Auth: Uç nokta ApiKey gerektirir.
- Zarf: Yanıt
ApiResult<T>tipindedir:result: Terror: string (hata durumunda dolar)errorCode: string (opsiyonel; bekleme bütçesi dolduğundaFINGERPRINT_TIMEOUT)
GetFingerPrintCore
Verilen operationId için bu sunucu sürecinin cache'inde bulunan fingerprint değerini döner. Hazırsa beklemeden yanıtlanır. Hazır değilse yaklaşık 200 ms aralıklarla asenkron kontrol edilir; 20 saniyelik bekleme bütçesi dolduğunda FINGERPRINT_TIMEOUT döner. Ağ ve zamanlama gecikmeleri nedeniyle istemcide ölçülen süre biraz daha uzun olabilir. İstemci bağlantısı kesildiğinde bekleme sonlandırılır.
Gerekli alanlar
- Name
operationId- Type
- uuid
- Description
V4 mobil imza isteğine gönderilen dosya işlem kimliği; imza sonucundaki yeni işlem kimliği değil.
- Name
requestId- Type
- string
- Description
21 karakter uzunluğunda benzersiz bir string. Her istek için farklı olmalıdır. Örnek:
Guid.NewGuid().ToString("N").Substring(0,21)
- Name
displayLanguage- Type
- string
- Description
Dil tercihi (BaseRequest).
Request
curl -X POST "https://apitest.onaylarim.com/v2/CoreApiFingerPrint/GetFingerPrintCore" \
-H "X-API-KEY: {api_key}" \
-H "Content-Type: application/json" \
-d '{ "operationId": "11111111-1111-1111-1111-111111111111", "requestId": "aaaaaaaaaaaaaaaaaaaaa", "displayLanguage": "tr" }'
Response
{
"result": {
"fingerPrint": "CAFEBABE1234..."
},
"error": null
}
Örnek akış (Mobil İmza + Fingerprint)
- Dosya yükleme/önceki adımdan gelen
operationIdile PAdES, CAdES veya XAdES V4 mobil imza isteğini başlatın. - İmza isteği sürerken ayrı bir istekle fingerprint sorgulayın. İmza isteğinin girişindeki aynı
operationIddeğerini kullanın. Nihai imza yanıtını bekleyip yeni işlem kimliğiyle sorgulamayın. - Fingerprint bulunursa kullanıcıya gösterin; bu, imzanın başarıyla tamamlandığı anlamına gelmez. Nihai imza isteğinin yanıtını da takip edin.
- İmza yanıtında
USER_CANCEL,UNKNOWN_CLIENTveya başka bir hata varsa takibi sonlandırın; bekleyen fingerprint isteğini mümkünse iptal edin. Geç gelen yanıtın sonlandırılmış işlemi tekrar aktif hale getirmesine izin vermeyin.
Bekleme süresi dolduğunda
Bu davranış güncellemeyi içeren API sürümü dağıtıldıktan sonra geçerlidir; kullandığınız ortamda sürümü doğrulayın. Ortak V2 fingerprint endpoint'ini kullanan PAdES/CAdES/XAdES akışları aynı bekleme sınırına tabidir.
FINGERPRINT_TIMEOUT — displayLanguage: tr
{
"result": { "fingerPrint": null },
"error": "Bekleme süresi içinde parmak izi bulunamadı.",
"errorCode": "FINGERPRINT_TIMEOUT"
}
İngilizce mesaj: Fingerprint could not be found within the waiting period. Başarı yanıtında errorCode alanı bulunmaz. HTTP 200 içinde hata dönebileceğinden yalnızca HTTP durum koduna bakmayın.
FINGERPRINT_TIMEOUTkullanıcı iptali değildir; imzanın kesin olarak başarısız olduğunu da göstermez. Devam eden imza isteğinin nihai sonucunu esas alın.- Sınırsız polling veya otomatik yeni mobil imza isteği başlatmayın. İstemcinin HTTP zaman aşımını 20 saniyelik sunucu beklemesi ve ağ payını dikkate alarak belirleyin.
- Cache süreç içidir. Farklı sunucuya yönlendirme veya süreç yeniden başlatılması fingerprint'in bulunamamasına yol açabilir.
- Mevcut XAdES enveloping üzerine paralel imza yolu fingerprint callback'ini çağırmaz; imza başarılı olsa bile bu sorgu zaman aşımına uğrayabilir.
- Bu iyileştirme bütün HTTP 524 nedenlerinin çözüldüğü anlamına gelmez. Kullanıcı iptali tek başına 524'ün kanıtlanmış nedeni değildir.
İlgili sayfalar: PAdES Mobile V4, CAdES Mobile V4, XAdES Mobile V4 ve hata kodları.