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.
- API anahtarinizi alin:
- CountdownMail hesabiniza giris yapin.
- Profil » API adresine gidin.
- API anahtarinizi kopyalayin.
- 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
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
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:
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:
| Kod | Durum Adi | Aciklama | Onerilen Islem | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Hatali Istek | Isteginizde bir sorun var. | Isteginizin dokumantasyonla eslestигini ve dogru sozdizimi kullandigini kontrol edin. | ||||||||
| 401 | Yetkisiz | Bu istegi yapmak icin izniniz yok. | Authorization basliginda gecerli bir API anahtari kullandiginizdan emin olun. | ||||||||
| 404 | Bulunamadi | Sunucu istediginizi bulamiyor. | URL'nizin gecerli bir API endpoint'iyle eslestиgini dogrulayin. | ||||||||
| 405 | Metoda Izin Verilmiyor | Endpoint bu metodu desteklemiyor. | Dokumantasyonda gosterildigi gibi dogru HTTP metodunu kullanin (orn. GET, POST). | ||||||||
| 429 | Cok Fazla Istek | Istemci 1 dakika icinde cok fazla istek gonderdi. | Rate limit durumunuzu belirlemek icin her yanitla birlikte gonderilen basliklari kullanabilirsiniz.
| ||||||||
| 500 | Dahili Sunucu Hatasi | CountdownMail tarafinda bir seyler bozuldu. | Daha sonra tekrar deneyin. Sorun devam ederse destekle iletisime gecin. | ||||||||
| 503 | Hizmet Kullanilamiyor | Sunucu 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:
| Ozellik | Tur | Aciklama | Gerekli | Notlar |
|---|---|---|---|---|
| skin_id | integer | Zamanlayicinin tasarim stili (sablon). | Evet | 1 ile 23 arasinda bir sayi olmalidir. |
| name | string | Zamanlayici adi. | Evet | Maksimum 100 karakter. Ornek: Big Sale! |
| time_end | string | Zamanlayicinin bittigi zaman (YYYY-MM-DD HH:MM:SS). | Evet | Ornek: 2025-04-09 04:57:16 |
| time_zone | string | Zamanlayicinin saat dilimi. | Evet | Ornek: America/Los_Angeles. Tum mevcut time_zone degerlerini gorun. |
| font_family | string | Zamanlayici metni icin yazi tipi. | Hayir | Ornek: Roboto-Bold. Tum mevcut font_family degerlerini gorun. |
| label_font_family | string | Zamanlayici etiketleri icin yazi tipi. | Hayir | Ornek: Roboto-Bold. Tum mevcut font_family degerlerini gorun. |
| color_primary | string | Ana renk (hex kodu). | Evet | Ornek: FF3A43 (kirmizi). |
| color_text | string | Metin rengi (hex kodu). | Evet | Ornek: FFFFFF (beyaz). |
| color_bg | string | Arka plan rengi (hex kodu). | Evet | Ornek: 000000 (siyah). |
| font_size | integer | Zamanlayici metin boyutu. | Hayir | 14 ile 73 arasinda. |
| label_font_size | integer | Etiket metin boyutu. | Hayir | 0 ile 50 arasinda. |
| day | integer | Gunleri goster (0 = hayir, 1 = evet). | Hayir | 0 veya 1 olmalidir. |
| lang | string | Dil kodu (ISO 2 harfli). | Hayir | Ornek: en (Ingilizce). Desteklenen 54 dilin tumunu gorun. |
| transparent | integer | Arka plan: 0 = duz, 1 = seffaf. | Hayir | 0 veya 1 olmalidir. |
| expired_mes_on | integer | Sure dolumu mesaji goster (0 = hayir, 1 = evet). | Hayir | 0 veya 1 olmalidir. |
| expired_mes | string | Zamanlayici suresi doldukundaki mesaj. | Hayir | Maksimum 100 karakter. Ornek: This offer has expired |
| labels | integer | Ozel etiketler kullan (0 = hayir, 1 = evet). | Hayir | 0 veya 1 olmalidir. |
| days | string | Gunler icin etiket. | Hayir | Maksimum 15 karakter. Ornek: days |
| hours | string | Saatler icin etiket. | Hayir | Maksimum 15 karakter. Ornek: hours |
| minutes | string | Dakikalar icin etiket. | Hayir | Maksimum 15 karakter. Ornek: minutes |
| seconds | string | Saniyeler icin etiket. | Hayir | Maksimum 15 karakter. Ornek: seconds |
| timer_type | integer | Zamanlayici turu: 1 = Ortak tarihli zamanlayici, 2 = Kisisel zamanlayici, 3 = Link ile zamanlayici. | Hayir | 1, 2 veya 3 olmalidir. Varsayilan 1'dir (Ortak tarihli zamanlayici). |
| duration | integer | Zamanlayici suresi saniye cinsinden (kisisel zamanlayicilar icin). | Hayir | timer_type 2 (Kisisel zamanlayici) oldugunda zorunludur. Ornek: 86400 (24 saat). |
| advanced_params | object | Ekstra ayarlar (orn. ayirici rengi). | Hayir | Ornek |
Zamanlayici Olustur
Bu endpoint bir zamanlayici olusturmaniza olanak tanir. Yeni bir zamanlayici olusturmak icin tum gerekli ozellikleri saglامalizdir.
Ornek Istek:
Istek
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
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
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!
