Hatalar

PrimeAPI isteklerine verilen yanıtlarda tüm uç noktalar bir ApiResult<T> zarfı kullanır. Başarılı sonuçlarda result alanı dolu, error boş olur. Hata durumlarında HTTP 200 döndürülebilir ancak error alanı dolar.

Yanıt zarfı

  • Name
    result
    Description

    İstenen değerin kendisi (tipi uç noktaya göre değişir).

  • Name
    error
    Type
    string
    Description

    Hata durumunda açıklama mesajı. Endpoint'in sonuç alanlarını da kontrol edin; V4 mobil imzada başarı için result.isSuccess true olmalıdır.

  • Name
    errorCode
    Type
    string?
    Description

    Dilden bağımsız, opsiyonel makine hata kodu. Null ise JSON'a yazılmaz. Başarılı yanıtta, eski sürümlerde veya kod üretilmeyen validasyon hatalarında bulunmayabilir; alanın yokluğu tek başına başarı anlamına gelmez.


Hata türleri

PrimeAPI’de iki ana hata kaynağı vardır:

  • Name
    ApplicationError
    Description

    İş kuralı/validasyon hataları. Örn. zorunlu alanların eksikliği, yetkisizlik, kaynak bulunamaması.

  • Name
    SystemError
    Description

    Beklenmeyen durumlar/istisnalar. Sunucu tarafından yakalanıp error içine özetlenir.


V4 mobil imza ve fingerprint hata kodları

Bu sözleşme PAdES Mobile V4, CAdES Mobile V4, XAdES Mobile V4 ve ortak V2 fingerprint güncellemesini içeren API sürümü için geçerlidir. Dokümanın güncellenmiş olması ilgili API ortamının deploy edildiği anlamına gelmez; ortam sürümünü doğrulayın. V1/V2 imza endpoint'lerinin aynı kodları ürettiği varsayılmamalıdır.

KodKaynak ve anlamıEntegratör aksiyonu
USER_CANCELV4 imza yanıtı: operatörün imza durum kodu 401, kullanıcı iptali. HTTP 401 değildir.İlgili imza/fingerprint takibini sonlandırın, iptal mesajını gösterin. Yeni denemeyi kullanıcı başlatsın.
UNKNOWN_CLIENTV4 imza yanıtı: SOAP 105 / UNKNOWN_CLIENT veya profil yanıtı 105, hedef kullanıcı operatör tarafından tanınmıyor.Takibi durdurun; telefon numarası, seçilen operatör ve mobil imza aboneliğini kontrol ettirin. Otomatik tekrar göndermeyin.
EXPIRED_TRANSACTIONV4 operatör imza yanıtı 208: işlemin süresi doldu. USER_CANCEL değildir.Takibi durdurun; süre dolması bilgisini gösterin, otomatik yeni imza talebi göndermeyin.
OPERATOR_TIMEOUTV4 operatör HTTP çağrısında zaman aşımı: kesin imza sonucu alınamadı.Takibi durdurun; belirsiz sonucu otomatik tekrar ile telafi etmeyin. İşlem kimlikleriyle kontrol ettirin.
OPERATOR_UNAVAILABLEV4 operatör iletişimi başarısız (ör. HTTP 502).Takibi durdurun; iletişim hatasını gösterin, otomatik yeni imza talebi göndermeyin.
SIGNING_FAILEDV4 iç mobil imzalama işlemi başka nedenle tamamlanamadı.Takibi sonlandırın, güvenli hata mesajını gösterin; inceleme için işlem zamanı, giriş/sonuç işlem kimlikleri ve requestId'yi saklayın.
FINGERPRINT_TIMEOUTV2 fingerprint sorgusunda değer 20 saniyelik bekleme bütçesinde bulunamadı.Bunu iptal veya kesin imza başarısızlığı saymayın. Devam eden imza isteğinin sonucunu esas alın; sınırsız polling veya otomatik yeni imza isteği üretmeyin.

UNKNOWN_CLIENT servis hesabı/parola hatası değildir. USER_CANCEL, operatörün bildirdiği sonuçtur; kullanıcının cihazda yaptığı fiziksel eylemin bağımsız doğrulaması değildir. Bu kodlardan geçmişteki her genel hatanın veya HTTP 524'ün kullanıcı iptali olduğu sonucu çıkarılamaz.

EXPIRED_TRANSACTION, OPERATOR_TIMEOUT ve OPERATOR_UNAVAILABLE için ilgili V4 API iyileştirmesinin dağıtılmış olması gerekir. Eski sürümler bu durumlarda SIGNING_FAILED dönebilir. HTTP timeout bir telefon iptali değildir. V4 HTTP istemcisinin süresi 150 saniye, operatöre verilen süre 120 saniyedir; reverse proxy ve toplam API süresi için garanti verilmez.

KodTürkçe errorİngilizce error
EXPIRED_TRANSACTIONMobil imza işleminin süresi doldu.The mobile signing transaction has expired.
OPERATOR_TIMEOUTMobil imza operatöründen zamanında yanıt alınamadı.The mobile signing operator did not respond in time.
OPERATOR_UNAVAILABLEMobil imza operatörüyle iletişim kurulamadı.Communication with the mobile signing operator failed.

Kullanıcı iptali — displayLanguage: tr

{
  "result": {
    "isSuccess": false,
    "operationId": "22222222-2222-2222-2222-222222222222"
  },
  "error": "Mobil imza işlemi iptal edildi.",
  "errorCode": "USER_CANCEL"
}

Mobil imza kaydı bulunamadı — displayLanguage: tr

{
  "result": {
    "isSuccess": false,
    "operationId": "22222222-2222-2222-2222-222222222222"
  },
  "error": "Bu telefon numarası için operatörde mobil imza kaydı bulunamadı. Numaranızı ve seçilen operatörü kontrol edin.",
  "errorCode": "UNKNOWN_CLIENT"
}

Fingerprint bekleme süresi doldu — displayLanguage: tr

{
  "result": { "fingerPrint": null },
  "error": "Bekleme süresi içinde parmak izi bulunamadı.",
  "errorCode": "FINGERPRINT_TIMEOUT"
}

displayLanguage: "en" için iptal mesajı Mobile signing was cancelled., abonelik mesajı No mobile signature registration was found for this phone number with the operator. Check the phone number and selected operator. olur. Fingerprint mesajı Fingerprint could not be found within the waiting period. şeklindedir. Kararları çevrilen mesaj metni yerine kod ve işlem sonucuna göre alın.

Mevcut result ve error alanları korunur. Yeni alanları reddeden katı istemci modellerine opsiyonel errorCode ekleyin; bilinmeyen kodlar için genel hata yolu bırakın. Ham SOAP veya kimlik bilgileri bu hata yanıtlarına eklenmez. Kodlar yeni bir veritabanı kolonu değildir; geçmiş kayıtlar ve başka sorgu endpoint'leri aynı kodları döndürmeyebilir.

İmza hatasında bekleyen fingerprint sorgusunu mümkünse iptal edin. Fingerprint'in bulunması başarı kanıtı değildir; geç gelen yanıt sonlandırılmış işlemi tekrar aktif hale getirmemelidir. Fingerprint sorgusunda imza isteğinin girişindeki dosya işlem kimliğini, başarılı imzayı indirirken ise imza yanıtındaki yeni işlem kimliğini kullanın.


Yaygın uygulama hataları (mesajlar)

Bu bölüm, controller’larda en sık görülen hataların kısa bir listesidir. Metinler birebir veya yakın olabilir; sürümlere göre küçük farklılıklar gösterebilir.

  • Name
    UserId boş
    Description

    Yetkilendirme kimliği (user_id claim) yok veya geçersiz.

  • Name
    empty-request-id
    Description

    RequestId 21 karakter değil ya da boş.

  • Name
    user-not-found
    Description

    Kullanıcı bulunamadı veya pasif/silinmiş.

  • Name
    ApiUser bulunamadı.
    Description

    İlgili kullanıcıya ait ApiUser kaydı yok.

  • Name
    ApiUser CoreApiV2 kullanımı için uygun değil.
    Description

    ApiUser tipi bu uç noktayı kullanmaya uygun değil.

  • Name
    users-organization-not-found
    Description

    Kullanıcının organizasyon kaydı bulunamadı.

  • Name
    Lisans süresi bitmiş.
    Description

    Organizasyon lisansı sona ermiş (CoreApiFile.UploadFile).

  • Name
    Dosya bulunamadı.
    Description

    operationId ile ilişkili çıktı dosyası mevcut değil.

  • Name
    Dosya silinmiş.
    Description

    İlgili işlem silinmiş durumda (DeletedDate dolu).

  • Name
    Farklı kullanıcıya ait işlem.
    Description

    İşlem sahibinin kullanıcısı ile istek yapan kullanıcı farklı.

  • Name
    Geçersiz uploadsessionid. / Yükleme oturumu bulunamadı / geçersiz
    Description

    Parça/parça yüklemede yanlış veya süresi dolmuş oturum.

  • Name
    Eksik header. / Geçersiz chunkindex. / Parça boyutu geçersiz.
    Description

    Chunk upload sırasında eksik ya da hatalı başlık/değer.

  • Name
    Birleştirilmiş dosya boyutu beklenenden farklı.
    Description

    Parça birleştirme sonrası dosya boyutu doğrulanamadı.

  • Name
    Önimzalı doküman okunamadı.
    Description

    signStepThree aşamasında dosya okunamadı.

  • Name
    İmzalama işleminde hata oluştu.
    Description

    İmzalama sırasında beklenmeyen durum.

  • Name
    İmzalı veri boş olamaz. / İşlem şifresi geçersiz.
    Description

    signStepThree giriş doğrulamaları (SignedData/KeyId/KeySecret).


Örnek hata yanıtı

Application error

{
  "result": null,
  "error": "user-not-found"
}

System error

{
  "result": null,
  "error": "System error occurred. Please contact support. Ref: 2025-12-18T10:15:30Z"
}

İyileştirme önerileri

  • Name
    İstek doğrulaması
    Description

    RequestId (21 karakter) ve dil (displayLanguage) alanlarını doldurun.

  • Name
    OperationId zinciri
    Description

    Giriş ve sonuç işlem kimliklerini ayrı saklayın. V4 fingerprint sorgusunda imza isteğinin girişindeki dosya operationId'sini; imzalı dosyayı indirirken başarılı imza yanıtındaki yeni operationId'yi kullanın.

  • Name
    Retry/idempotency
    Description

    Chunk upload parça yüklemesi idempotenttir; aynı parçayı tekrar göndermek kabul edilebilir.

  • Name
    Log korelasyonu
    Description

    Hata mesajlarını operationId ve requestId ile birlikte kaydedin.

Was this page helpful?