CountdownMail API

Bu kilavuz, CountdownMail API'yi kullanmaya baslamaniza yardimci olacaktir. Kurulum, kimlik dogrulama, hata yonetimi ve geri sayim zamanlayicilariyla calismayi kapsar.

Hizli Baslangic

Bu bolum sizi CountdownMail API'yi kullanmaya hazirlar ve ilk API istegini nasil yapacaginizi gosterir.

  1. API anahtarinizi alin:
    • CountdownMail hesabiniza giris yapin.
    • Profil » API adresine gidin.
    • API anahtarinizi kopyalayin.
  2. Ilk API isteginizi yapin:
    • "Zamanlayici olustur" endpoint'ini ornek olarak kullanacagiz.
    • https://countdownmail.com/api/create adresine POST istegi gondermek icin cURL veya Postman gibi bir arac kullanin.
    • API anahtarinizi Authorization basligina ekleyin.
    • Gerekli zamanlayici ayrintalarini istek govdesine ekleyin (JSON formatinda).

Iste cURL kullanan bir ornek:

Istek

POST
https://countdownmail.com/api/create

curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
    "skin_id": 1,
    "name": "Big Sale!",
    "time_end": "2025-04-21 20:00:00",
    "time_zone": "America/Los_Angeles",
    "font_family": "Roboto-Bold",
    "color_primary": "FF3A43",
    "color_text": "FFFFFF",
    "color_bg": "000000"
}'
                                    
  • YOUR_API_KEY yerine gercek API anahtarinizi yazin.
  • Her sey calisiyorsa, su sekilde bir yanit alirsiniz:

Yanit


{
    "status": "success",
    "message": {
        "id": 1057,
        "code": "td",
        "src": "http://i.countdownmail.com/td.gif"
    }
}
                                    

Bu yanit bir zamanlayici kodu (orn. "td") ve zamanlayici gorseli icin bir URL icerir.


Kimlik Dogrulama

CountdownMail API'yi kullanmak icin her istegi API anahtarinizla dogrulamaniz gerekir. Iste nasil:

  • Isteginize bir Authorization basligi ekleyin. Degeri API anahtarinizdir.
  • Alternatif olarak, temel kimlik dogrulama kullanin: API anahtarinizi kullanici adi olarak ayarlayin ve sifreyi bos birakin.

Authorization Basligi Ornegi (cURL):

Istek

GET
https://countdownmail.com/api/some_endpoint

curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
                                    
  • YOUR_API_KEY yerine gercek API anahtarinizi yazin.
  • Her zaman kimlik dogrulama ekleyin, aksi takdirde 401 Unauthorized hatasi alirsiniz.

Postman Kullanimi

Postman kullaniyorsaniz, API isteklerini test etmeyi kolaylastirir. CountdownMail ile kullanmak icin:

  • CountdownMail API koleksiyonunu iceri aktarmak icin tiklayin. Postman'da Calistir
  • API anahtarinizi koleksiyonun kimlik dogrulama ayarlarina ekleyin ve istek gondermeye hazirsiniz.

Hatalar

Bazen API istekleri basarisiz olur. CountdownMail API, neyin yanlis gittigini bildirmek icin HTTP durum kodlari kullanir. Iste olasi hatalarin listesi, anlamlari ve ne yapilmasi gerektigi:

KodDurum AdiAciklamaOnerilen Islem
400Hatali IstekIsteginizde bir sorun var.Isteginizin dokumantasyonla eslestигini ve dogru sozdizimi kullandigini kontrol edin.
401YetkisizBu istegi yapmak icin izniniz yok. Authorization basliginda gecerli bir API anahtari kullandiginizdan emin olun.
404BulunamadiSunucu istediginizi bulamiyor. URL'nizin gecerli bir API endpoint'iyle eslestиgini dogrulayin.
405Metoda Izin VerilmiyorEndpoint bu metodu desteklemiyor. Dokumantasyonda gosterildigi gibi dogru HTTP metodunu kullanin (orn. GET, POST).
429Cok Fazla IstekIstemci 1 dakika icinde cok fazla istek gonderdi. Rate limit durumunuzu belirlemek icin her yanitla birlikte gonderilen basliklari kullanabilirsiniz.
Baslik adiAciklama
X-RateLimit-LimitDakikada yapabileceginiz maksimum istek sayisi
X-RateLimit-RemainingMevcut rate limit'te kalan istek sayisi
X-RateLimit-ResetMevcut rate limit'in sifirlancagi zaman, UTC epoch saniye cinsinden
500Dahili Sunucu HatasiCountdownMail tarafinda bir seyler bozuldu.Daha sonra tekrar deneyin. Sorun devam ederse destekle iletisime gecin.
503Hizmet KullanilamiyorSunucu su anda cok mesgul.Biraz bekleyin ve tekrar deneyin.

Ornek Hata Yaniti (401 Unauthorized):

Yanit


{
    "status": "error",
    "message": "Unauthorized"
}
                                    

Bir hata gorurseniz, durum kodunu ve mesaji kontrol edin, ardindan onerilen islemi izleyin.


Zamanlayici Modeli

Zamanlayici kaynagi, geri sayim zamanlayicisi hakkindaki tum bilgileri icerir. Geri sayim zamanlayicisi tanimlamak icin kullanilabilir alanlar sunlardir:

OzellikTurAciklamaGerekliNotlar
skin_idintegerZamanlayicinin tasarim stili (sablon).Evet1 ile 23 arasinda bir sayi olmalidir.
namestringZamanlayici adi.EvetMaksimum 100 karakter. Ornek: Big Sale!
time_endstringZamanlayicinin bittigi zaman (YYYY-MM-DD HH:MM:SS). EvetOrnek: 2025-04-09 04:57:16
time_zonestringZamanlayicinin saat dilimi.EvetOrnek: America/Los_Angeles. Tum mevcut time_zone degerlerini gorun.
font_familystringZamanlayici metni icin yazi tipi.HayirOrnek: Roboto-Bold. Tum mevcut font_family degerlerini gorun.
label_font_familystringZamanlayici etiketleri icin yazi tipi.HayirOrnek: Roboto-Bold. Tum mevcut font_family degerlerini gorun.
color_primarystringAna renk (hex kodu).EvetOrnek: FF3A43 (kirmizi).
color_textstringMetin rengi (hex kodu).EvetOrnek: FFFFFF (beyaz).
color_bgstringArka plan rengi (hex kodu).EvetOrnek: 000000 (siyah).
font_sizeintegerZamanlayici metin boyutu.Hayir14 ile 73 arasinda.
label_font_sizeintegerEtiket metin boyutu.Hayir0 ile 50 arasinda.
dayintegerGunleri goster (0 = hayir, 1 = evet).Hayir0 veya 1 olmalidir.
langstringDil kodu (ISO 2 harfli).HayirOrnek: en (Ingilizce). Desteklenen 54 dilin tumunu gorun.
transparentintegerArka plan: 0 = duz, 1 = seffaf.Hayir0 veya 1 olmalidir.
expired_mes_onintegerSure dolumu mesaji goster (0 = hayir, 1 = evet).Hayir0 veya 1 olmalidir.
expired_messtringZamanlayici suresi doldukundaki mesaj.HayirMaksimum 100 karakter. Ornek: This offer has expired
labelsintegerOzel etiketler kullan (0 = hayir, 1 = evet).Hayir0 veya 1 olmalidir.
daysstringGunler icin etiket.HayirMaksimum 15 karakter. Ornek: days
hoursstringSaatler icin etiket.HayirMaksimum 15 karakter. Ornek: hours
minutesstringDakikalar icin etiket.HayirMaksimum 15 karakter. Ornek: minutes
secondsstringSaniyeler icin etiket.HayirMaksimum 15 karakter. Ornek: seconds
timer_typeintegerZamanlayici turu: 1 = Ortak tarihli zamanlayici, 2 = Kisisel zamanlayici, 3 = Link ile zamanlayici.Hayir1, 2 veya 3 olmalidir. Varsayilan 1'dir (Ortak tarihli zamanlayici).
durationintegerZamanlayici suresi saniye cinsinden (kisisel zamanlayicilar icin).Hayirtimer_type 2 (Kisisel zamanlayici) oldugunda zorunludur. Ornek: 86400 (24 saat).
advanced_paramsobjectEkstra ayarlar (orn. ayirici rengi).Hayir

Ornek


{
    "separator_color"  : "4275BC",
    "separator_size" : 1.3,
    "separator_style" : 6,
    "labels_color" : "A3A3A3"
}
                                    

Zamanlayici Olustur

Bu endpoint bir zamanlayici olusturmaniza olanak tanir. Yeni bir zamanlayici olusturmak icin tum gerekli ozellikleri saglامalizdir.

Ornek Istek:

Istek

POST
https://countdownmail.com/api/create

curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/create" \
-d '{
    "skin_id":3,
    "name":"Big Sale!",
    "time_end":"2026-02-02 20:00:00",
    "time_zone":"America\/Los_Angeles",
    "font_family":"Roboto-Bold",
    "color_primary":"FF3A43",
    "color_text":"FFFFFF",
    "color_bg":"000000",
    "transparent":"0",
    "font_size":"38",
    "lang":"en",
    "expired_mes_on":"1",
    "expired_mes":"This offer has expired",
    "labels":"1",
    "days":"days",
    "hours":"hours",
    "minutes":"minutes",
    "seconds":"seconds"
}'
                                    

Yanit


{
    "status": "success",
    "message": {
        "id": 1057,
        "code": "td",
        "src": "http://i.countdownmail.com/td.gif"
    }
}
                                    

Zamanlayici Guncelle

Bu endpoint herhangi bir zamanlayici oznitelигini guncellemenize olanak tanir. Bir zamanlayiciyi guncellemek icin, guncellemek istediginiz alanlarla birlikte /update/{code} adresine PUT istegi gonderin. {code} yerine zamanlayici kodunu yazin (orn. "td").

Ornek Istek:

Istek

PUT
https://countdownmail.com/api/update/{code}

curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X PUT "https://countdownmail.com/api/update/{code}" \
-d '{
    "skin_id":6,
    "name":"Flash Sale!",
    "time_end":"2026-02-02 20:00:00"
}'
                                    

Yanit


{
    "status": "success",
    "message": {
        "id": 1057,
        "code": "td",
        "src": "http://i.countdownmail.com/td.gif"
    }
}
                                    

Zamanlayici kopyala

Mevcut bir zamanlayicinin kopyasini olusturmak icin /duplicate/{code} adresine POST istegi gonderin. {code} yerine kopyalamak istediginiz zamanlayicinin benzersiz kodunu yazin. Bu, orijinaliyle ayni ayarlarla baslayan yeni bir zamanlayici olusturur.

Istek govdesine bir JSON nesnesi ekleyerek yeni zamanlayicinin ayrintalarini guncelleyebilirsiniz. Bu, bitis zamani veya ad gibi belirli oznitelikleri degistirmenize olanak tanirken diger her seyi orijinaliyle ayni tutar. Guncelleyebileceginiz oznitelikler, yeni bir zamanlayici olustururken ayarlayabildiginiz ozniteliklerle aynidir (tam liste icin Zamanlayici Modeli bolumune bakin). Bir ozniteligi dahil etmezseniz, orijinal zamanlayicidakiyle ayni kalir.

Onemli: Orijinal zamanlayici degismez. Yalnizca yeni zamanlayici istekte gonderdiginiz guncellemelerden etkilenir.

Ornek Istek:

Istek

POST
https://countdownmail.com/api/duplicate/{code}

curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X POST "https://countdownmail.com/api/duplicate/{code}" \
-d '{
    "skin_id":6,
    "name":"Flash Sale!",
    "time_end":"2026-02-02 20:00:00"
}'
                                    

Yanit


{
    "status": "success",
    "message": {
        "id": 1057,
        "code": "td",
        "src": "http://i.countdownmail.com/td.gif"
    }
}
                                    

Zamanlayiciyi devre disi birak

Bir zamanlayiciyi durdurmak (arsivlemek) icin /deactivate/{code} adresine GET istegi gonderin. {code} yerine zamanlayici kodunu yazin.


Zamanlayiciyi etkinlestir

Bir zamanlayiciyi tekrar etkinlestirmek icin /activate/{code} adresine GET istegi gonderin. {code} yerine zamanlayici kodunu yazin.


Zamanlayici Sil

Bir zamanlayiciyi silmek icin /delete/{code} adresine DELETE istegi gonderin. {code} yerine zamanlayici kodunu yazin.


Bu kilavuz, CountdownMail API'yi kullanmaya baslamaniz icin ihtiyaciniz olan her seyi saglamalidir. API anahtarinizi guvenli tutun ve saat dilimleri veya yazi tipleri gibi alanlar hakkinda daha fazla bilgi icin resmi dokumantasyona basvurun!