Hata Durumları

Hata durumunda, DPA'nın bir HTTP durum kodu ve HTTP yanıtı döndürmesi beklenir. HTTP yanıtı, hatayla ilgili daha fazla bilgi içeren bir JSON nesnesi içermelidir. Hata yanıtı gövdesi, ErrorResponse örneğini İÇERMELİDİR.

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

DPA hata yanıtı AŞAĞIDAKİLERLE eşleşmelidir:

  • Kullanıcı şu anda dolaşımdayken bu kullanıcı için DPA sorgusu devre dışı bırakılmıştır. DPA, hata nedeni olarak USER_ROAMING ile 403 hatası döndürüyor.
  • DPA, INVALID_NUMBER ile userKey'in geçersiz olduğunu (yani mevcut olmayan userKey) GTAF'ye bildiren bir 404 NOT_FOUND hata kodu döndürür.
  • DPA, hata nedeni olarak BAD_CPID ile birlikte 410 GONE hata kodunu döndürür. Bu, key_type = CPID ise ve CPID'nin süresi dolmuşsa istemcinin yeni bir kullanıcı anahtarı alması gerektiğini GTAF'ye bildirir.
  • DPA, bu çağrıyı SERVICE_UNAVAILABLE hata nedeni ile desteklemediğini belirten bir 501 NOT_IMPLEMENTED hata kodu döndürüyor.
  • DPA, TOO_MANY_REQUESTS hata nedeni ile 429 TOO MANY REQUESTS döndürüyor. Retry-After üstbilgisi, GTAF'nin DPA'ya çok fazla istek gönderdiğini belirtiyor.
  • DPA, isteğin DPA'nın mevcut durumuyla çakışması nedeniyle tamamlanamadığını belirten bir 409 CONFLICT hatası döndürür.
  • Hizmet geçici olarak kullanılamıyor. DPA, yeni bir isteğin ne zaman denenebileceğini belirten Retry-After başlığıyla birlikte 503 SERVICE UNAVAILABLE döndürür.
  • DPA, diğer tüm belirtilmemiş hatalar için hata nedeni olarak 500 INTERNAL SERVER ERROR hata kodunu döndürür.

Satın alma işlemi sırasında karşılaşılan hatalar için aşağıdaki hata kodları, başarısız işlem sonuçlarını gösterir:

  • Sözleşme, satın alınan plan kimliğinin geçersiz olduğunu GTAF'ye bildiren bir 400 BAD REQUEST hata kodu döndürür.
  • DPA, GTAF'ye kullanıcının satın alma işlemini tamamlamak için yeterli bakiyeye sahip olmadığını belirten bir 402 PAYMENT REQUIRED hata kodu döndürür.
  • Sözleşme, satın alınacak planın kullanıcının mevcut ürün karışımıyla uyumlu olmadığını GTAF'ye bildiren bir 409 CONFLICT hata kodu döndürür. Örneğin, operatörün veri planı politikası, faturalı ve ön ödemeli planların birlikte kullanılmasını yasaklıyorsa faturalı bir kullanıcı için ön ödemeli plan satın almaya çalışmak 409 CONFLICT hatasına neden olur.
  • Sözleşme, GTAF'ye mevcut işlemin daha önce yayınlanmış bir işlemin kopyası olduğunu belirten bir 403 FORBIDDEN hata kodu döndürür. KGP, yanıtta aşağıdaki hata nedenlerini döndürmelidir:
    • Önceki işlem başarısız olduysa hatanın nedenini belirten hata nedeni.
    • Önceki işlem başarılıysa DUPLICATE_TRANSACTION.
    • Önceki işlem hâlâ sırada bekliyorsa REQUEST_QUEUED.