Abonelik Durumu Sorgulama

Zotlo ile aboneleriniz durumunu sorgulayın

Bu API hizmeti, Zotlo ile yönetilen kullanıcıların aboneliklerine ait son durumu hakkında sizi bilgilendirir.

Abonelik durumu sorgulama servisi GET metoduyla çalışır. Abone'ye ait bilgilerin alınabilmesi için subscriberId ve packageId parametrelerinin gönderilmesi zorunludur.

Method

GET

URL

İstek Parametreleri

subscriberId: Kullanıcının aboneliği başlatırken kullandığı e-posta ya da telefon numarası bilgisidir. packageId: Kullanıcıya ait aboneliğinin sorgulanacağı paket id'dir. Sadece gönderilen pakete ait abonelik varsa servis tarafından başarılı cevap dönülmektedir.

Örnek İstek

Abonelik sorgulama servisine istek gönderirken gerekli olan Access Key ve Access Secret bilgilerine, Zotlo Panel'de yer alan Developer Tools/API Keys sayfasından ulaşabilirsiniz.

Application ID bilgisinin gönderilmesi zorunlu değildir.

GET https://api.zotlo.com/v1/subscription/profile?subscriberId=SUBSCRIBER_ID&packageId=PACKAGE_ID HTTP/1.1
AccessKey: ••••••
AccessSecret: ••••••
Content-Type: application/json
ApplicationId: •
Language: ••

Başarılı Cevap Örneği

Eğer Abonelik Profili Varsa ve Aktif İse

{
  "meta": {
    "requestId": "6d2989e84793-REQ-5f32a82e299ff",
    "httpStatus": 200
  },
  "result": {
    "profile": {
      "status": "active",
      "realStatus": "active",
      "subscriberId": "9",
      "subscriptionType": "paid",
      "startDate": "2020-08-10 21:57:25",
      "expireDate": "2020-09-09 21:57:25",
      "package": "zotlo-premium",
      "country": "TR",
      "phoneNumber": "+905555555555",
      "language": "tr",
      "originalTransactionId": "80397a95-742d-4c74-975e-f740d1909580",
      "cancellation": null,
      "customParameters": {
        "source": "Landing",
        "adjust": {
          "idfa": "A161AD92-7DC3-4B15-B14C-3AA65995AFCC"
        }
      },
      "renewalFetchCount": 0
    },
    "package": {
      "packageId": "zotlo-premium",
      "price": 3.99,
      "currency": "USD",
      "packageType": "subscription",
      "name": "Zotlo Premium"
    },
    "newPackage": null,
    "card": {
      "cardNumber": "411111******1111",
      "expireDate": "12/20"
    },
    "customer": {
      "id": 1,
      "createDate": "2020-05-13 12:57:36",
      "country": "TR",
      "firstname": "Test",
      "lastname": "Test",
      "email": "test@test.com"
    }
  }
}

Eğer Abonelik Profili Varsa Ancak Hesap İptal Edilmişse

{
  "meta": {
    "requestId": "6d2989e84793-REQ-5f32a89037084",
    "httpStatus": 200
  },
  "result": {
    "profile": {
      "status": "active",
      "realStatus": "passive",
      "subscriberId": "313334342",
      "subscriptionType": "paid",
      "startDate": "2020-08-07 06:44:16",
      "expireDate": "2020-09-06 06:44:16",
      "package": "zotlo-premium",
      "country": "TR",
      "phoneNumber": "+905555555555",
      "language": "tr",
      "originalTransactionId": "51e8fd2a-5b28-4b9f-bfe3-5f752b09d3a3",
      "cancellation": {
        "date": "2020-08-07 06:46:00",
        "reason": "Not Interest",
        "code": "CU00001"
      },
      "customParameters": {
        "source": "Landing"
      }
    },
    "package": {
      "packageId": "zotlo-premium",
      "price": 2.99,
      "currency": "USD",
      "packageType": "subscription",
      "name": "Zotlo Premium"
    },
    "newPackage": null,
    "card": {
      "cardNumber": "411111******1111",
      "expireDate": "12/20"
    },
    "customer": {
      "id": 1,
      "createDate": "2020-05-13 12:57:36",
      "country": "TR",
      "firstname": "Test",
      "lastname": "Test",
      "email": "test@test.com"
    }
  }
}

Başarılı Cevap Parametreleri

Başarılı dönen cevapta yer alan parametreler aşağıdaki gibidir.

AlanAçıklama

status

Abonelik durumunu belirtir. Aşağıdaki değerleri alabilir: active : Kullanıcı haklarını kullanmaya devam edebilir. passive : Kullanıcının hakları sona ermiştir. grace : Paket yenileme işlemi yapılamamış, ancak kullanıcı belirli bir süre boyunca haklarını kullanmaya devam edebilir.

realStatus

Abonenin gerçek durumunu verir. Eğer kullanıcının hesabı bir şekilde iptal olduysa passive döner. Status değerinden farklı, status kullanıcının son kullanma tarihi gelene kadar active dönmeye devam edecektir. active : Kullanıcı haklarını kullanmaya devam edebilir. passive : Kullanıcının hesabı bir şekilde iptal olmuş demektir. Status değerinden farklıdır. Status, kullanıcının son kullanma tarihi gelene kadar active dönmeye devam edecektir. grace : Paket yenileme işlemi yapılamamış, ancak kullanıcı belirli bir süre boyunca haklarını kullanmaya devam edebilir.

subscriptionType

Kullanıcının aboneliğinin durumunu belirtir. Aşağıdaki değerleri alabilir: trial ise abone henüz deneme süresi içerisindedir. paid ise kullanıcı ücretli süreye geçmiş ve en az bir kere paket ücreti çekilmiş demektir.

startDate

Aboneliğinin başladı tarih bilgisidir.

expireDate

Abonelik bitiş tarihidir. Bu tarihte abonelik yenileme işlemleri yapılır.

package

Aboneliğinin aktif olduğu paket bilgisidir.

country

Kullanıcının ülke bilgisidir.

language

Kullanıcının dil bilgisidir.

cancellation

Kullanıcı hesabının iptal olup olmadığı bilgisini verir. Eğer "null" ise kullanıcı hesabı aktif durumdadır. Eğer array şeklinde gelirse, abonelik iptaline ait detaylara erişilir.

cancellation.date

Aboneliğin iptal edildiği tarih bilgisidir.

cancellation.reason

Aboneliğin iptal nedenini belirtir.

cancellation.code

Zotlo tarafından verilen abonelik iptaline ait durum kodudur. Aşağıdaki değerleri alabilir. CP00001 : Kullanıcının hesabında otomatik yenileme yapılamadığı için abonelik iptal edilmiştir. CU00001: Kullanıcı hesabını kendi isteği ile iptal etmiştir. CU00002: İade işleminden sonra sistem tarafından otomatik iptal edilmiştir.

Başarısız İstek Örneği

Servislerimizden HTTP status code olarak başarılı durumlarda 200 dönmektedir. Başarısız durumlarda ise 400 ya da 500 Http StatusCode dönmektedir. Örnek hata cevabı aşağıdaki şekildedir.

{
  "meta": {
    "requestId": "app2.domain-REQ-5e73a811d5d",
    "httpStatus": 400,
    "errorMessage": "Kullanıcı profili bulunamadı.",
    "errorCode": 400009
  },
  "result": []
}

Başarısız Cevap Parametreleri

Başarısız dönen isteklerde yer alan parametreler aşağıdaki gibidir. Başarısız isteklerde hata kodu olarak 400 ya da 500 dönmektedir.

AlanAçıklama

requestId

Zotlo tarafından üretilen ve saklanan benzersiz istek parametresidir.

httpStatus

İlgili cevaba ait HttpStatus kodudur. Standart kodlar olan, 400 ya da 500 dönmektedir.

errorMessage

Alınan hatanın detayıdır. Hata mesajı, gönderdiğiniz dil parametresine göre her dile özel verilmektedir. 404001 : Geçersiz endpoint 401002: AccessKey, AccessSecret parametreleri hatalı. 400008: subscriberId parametresi hatalı. 400009: Subscriber profili bulunamadı. 500000: Sunucu hatası.

errorCode

İlgili hatanın Zotlo'daki hata kodudur. Zotlo'da her hataya özel tekil hata kodları yer almaktadır. Aşağıdaki hata kodlarını alabilir. 404001 : Geçersiz endpoint 401002: AccessKey, AccessSecret parametreleri hatalı. 400008: subscriberId parametresi hatalı. 400009: Kullanıcı profili bulunamadı. 500000: Sunucu hatası.

result

Bu alanın alabileceği değer dinamik olarak değişebilir. Hata durumunda ilgili servisten bir cevap dönerken dolu olarak gelebilir. Aksi durumda ise boş bir obje olarak dönebilir.

Last updated