CoreApiPadesMobile (v2.0)
CoreApiPadesMobile, mobil imza operatörleri (Turkcell/Vodafone/AVEA) üzerinden PAdES imzalama başlatmayı sağlar. Bu adımda son kullanıcıya SMS/onay akışı gösterilir, parmak izi (fingerprint) üretilir ve işlem bir OperationId üzerinde sürdürülür.
Not: Mobil imzada işlem, operatör onayı sonrası SignStepOne çağrısından sonra tamamlanır; ayrı bir “signStepThree” adımı yoktur.
Temel kavramlar
OperationId: İmzalanacak dosyayı temsil eden işlem kimliği. Önceki adımlardan (ör. yükleme veya PDF’e dönüştürme) alınır.- Auth: Tüm uç noktalar ApiKey gerektirir.
- Zarf: Tüm yanıtlar
ApiResult<T>tipindedir:result: Terror: string (hata durumunda dolar)
SignStepOnePadesMobileCore — Mobil imzayı başlat
Mobil PAdES imza işlemini başlatır. İşlem sırasında operatör ile iletişim kurulur ve parmak izi (fingerprint) üretilir. İstemci bu fingerprint’i CoreApiFingerPrint (v2.0) altındaki uç nokta ile sorgulayabilir.
Gerekli/opsiyonel alanlar
- Name
operationId- Type
- uuid
- Description
İmzalanacak PDF’in işlem kimliği (önceki adımdan elde edilir).
- Name
coordinates- Type
- object
- Description
(Opsiyonel) Konum bilgileri (şu an kullanılmıyor).
- Name
phoneNumber- Type
- string
- Description
Mobil imza telefon numarası (örn. 5XXXXXXXXX).
- Name
operator- Type
- string
- Description
Operatör adı (TURKCELL | VODAFONE | AVEA).
- Name
userPrompt- Type
- string
- Description
Kullanıcıya gösterilecek mesaj.
- Name
citizenshipNo- Type
- string
- Description
(Opsiyonel) İmza sahibinin TCKN doğrulaması için.
- Name
signatureLevel- Type
- SignatureLevelForPades?
- Description
(Opsiyonel) PAdES imza seviyesi. Olası değerler:
paslBES,paslLTV. Boş geçilirsepaslBESkabul edilir.
- Name
signatureTurkishProfile- Type
- string
- Description
(Opsiyonel) P1 | P2 | P3 | P4 (profil istenmiyorsa boş geçilir).
- 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/CoreApiPadesMobile/SignStepOnePadesMobileCore" \
-H "X-API-KEY: {api_key}" \
-H "Content-Type: application/json" \
-d '{
"operationId": "11111111-1111-1111-1111-111111111111",
"phoneNumber": "5XXXXXXXXX",
"operator": "TURKCELL",
"userPrompt": "İmzalamayı onaylıyor musunuz?",
"citizenshipNo": null,
"signatureLevel": "BES",
"signatureTurkishProfile": "P4",
"requestId": "aaaaaaaaaaaaaaaaaaaaa",
"displayLanguage": "tr"
}'
Response
{
"result": {
"isSuccess": true,
"operationId": "22222222-2222-2222-2222-222222222222"
},
"error": null
}
Örnek akış (PAdES Mobile)
- Dosya yükleme:
CoreApiFile/UploadFileveya parça/parça:ChunkInit → ChunkUpload → ChunkComplete - (Gerekirse)
CoreApiPdf/ConvertToPdfCoreile PDF’e dönüştür → dönenoperationIdile devam edilir. CoreApiPadesMobile/SignStepOnePadesMobileCore→ mobil operatör akışı başlatılır, fingerprint üretilir (yenioperationIdgelebilir).- (Opsiyonel)
CoreApiFingerPrint/GetFingerPrintCoreileoperationIdüzerinden fingerprint alınır ve kullanıcıya gösterilir. - Operatör onayı sonrası imzalama tamamlanır; ek bir adım gerekmez.
V1’den V2’ye geçiş
Bu sayfa V2.0 uç noktalarını anlatır. Eğer mevcut entegrasyonunuz V1 (/v1.0/CoreApiPadesMobile) ile çalışıyorsa, aşağıdaki maddelerle V2’ye geçebilirsiniz.
Endpoint değişiklik özeti
| Amaç | V1 endpoint | V2 endpoint | Not |
|---|---|---|---|
| Mobil imzayı başlat | POST /v1.0/CoreApiPadesMobile/SignStepOnePadesMobileCore | POST /v2/CoreApiPadesMobile/SignStepOnePadesMobileCore | V2’de dosya yükleme akışı değişti (bkz. aşağı). |
| Fingerprint sorgula | POST /v1.0/CoreApiPadesMobile/GetFingerPrintCore | POST /v2/CoreApiFingerPrint/GetFingerPrintCore | V2’de fingerprint endpoint’i CoreApiFingerPrint altına taşındı. |
V1 → V2 request alanı dönüşümleri (PAdES Mobile)
SignStepOnePadesMobileCore
- V1’de vardı, V2’de kaldırıldı
fileData: V1’de PDF içeriği bu çağrıda gönderilebiliyordu. V2’de dosyaCoreApiFile/UploadFile(veya chunk akışı) ile yüklenir; burada sadeceoperationIdreferanslanır.signatureIndex: V2 request’inde yoktur.verificationInfo/qrCodeInfo: V1’de imzadan önce PDF’e katman eklemek için kullanılıyordu; V2’de bu işlerCoreApiPdf (v2.0)altındaki katman ekleme uç noktaları ile yapılır.
- V2’de yeni
signatureLevel: (Opsiyonel) SignatureLevelForPades (boşsa BES)signatureTurkishProfile: (Opsiyonel) P1 | P2 | P3 | P4 (genelde P4)
- Aynı kalanlar
operationId,phoneNumber,operator,userPrompt,citizenshipNo,requestId,displayLanguage
V1 örnek istek (özet):
{
"operationId": "11111111-1111-1111-1111-111111111111",
"fileData": "BASE64_FILE_BYTES",
"signatureIndex": 0,
"verificationInfo": null,
"qrCodeInfo": null,
"phoneNumber": "5XXXXXXXXX",
"operator": "TURKCELL",
"userPrompt": "İmzalamayı onaylıyor musunuz?",
"citizenshipNo": null,
"requestId": "aaaaaaaaaaaaaaaaaaaaa",
"displayLanguage": "tr"
}
V2 örnek istek (özet):
{
"operationId": "11111111-1111-1111-1111-111111111111",
"phoneNumber": "5XXXXXXXXX",
"operator": "TURKCELL",
"userPrompt": "İmzalamayı onaylıyor musunuz?",
"citizenshipNo": null,
"signatureLevel": "BES",
"signatureTurkishProfile": "P4",
"requestId": "aaaaaaaaaaaaaaaaaaaaa",
"displayLanguage": "tr"
}
Notlar / breaking changes
- URL prefix: V1’den V2’ye geçerken
/v1.0/→/v2/olarak güncelleyin. - Fingerprint: V1’de fingerprint
CoreApiPadesMobile/GetFingerPrintCoreile alınırdı; V2’deCoreApiFingerPrint/GetFingerPrintCorealtına taşındı.