CountdownMail API

Bu kılavuz, CountdownMail API'yi kullanmaya başlamanıza yardımcı olacaktır. Kurulum, kimlik doğrulama, hata yönetimi ve geri sayım zamanlayıcılarıyla çalışmayı kapsar.

Hızlı Başlangıç

Bu bölüm sizi CountdownMail API'yi kullanmaya hazırlar ve ilk API isteğini nasıl yapacağınızı gösterir.

  1. API anahtarınızı alın:
    • CountdownMail hesabınıza giriş yapın.
    • Profil » API adresine gidin.
    • API anahtarınızı kopyalayın.
  2. İlk API isteğinizi yapın:
    • "Zamanlayıcı oluştur" endpoint'ini örnek olarak kullanacağız.
    • https://countdownmail.com/api/create adresine POST isteği göndermek için cURL veya Postman gibi bir araç kullanın.
    • API anahtarınızı Authorization başlığına ekleyin.
    • Gerekli zamanlayıcı ayrıntılarını istek gövdesine ekleyin (JSON formatında).

İşte cURL kullanan bir örnek:

İstek

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 gerçek API anahtarınızı yazın.
  • Her şey çalışıyorsa, şu şekilde bir yanıt alırsınız:

Yanıt


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

Bu yanıt bir zamanlayıcı kodu (örn. "td") ve zamanlayıcı görseli için bir URL içerir.


Kimlik Doğrulama

CountdownMail API'yi kullanmak için her isteği API anahtarınızla doğrulamanız gerekir. İşte nasıl:

  • İsteğinize bir Authorization başlığı ekleyin. Değeri API anahtarınızdır.
  • Alternatif olarak, temel kimlik doğrulama kullanın: API anahtarınızı kullanıcı adı olarak ayarlayın ve şifreyi boş bırakın.

Authorization Başlığı Örneği (cURL):

İstek

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 gerçek API anahtarınızı yazın.
  • Her zaman kimlik doğrulama ekleyin, aksi takdirde 401 Unauthorized hatası alırsınız.

Postman Kullanımı

Postman kullanıyorsanız, API isteklerini test etmeyi kolaylaştırır. CountdownMail ile kullanmak için:

  • CountdownMail API koleksiyonunu içeri aktarmak için tıklayın. Postman'da Çalıştır
  • API anahtarınızı koleksiyonun kimlik doğrulama ayarlarına ekleyin ve istek göndermeye hazırsınız.

Hatalar

Bazen API istekleri başarısız olur. CountdownMail API, neyin yanlış gittiğini bildirmek için HTTP durum kodları kullanır. İşte olası hataların listesi, anlamları ve ne yapılması gerektiği:

KodDurum AdıAçıklamaÖnerilen İşlem
400Hatalı İstekİsteğinizde bir sorun var.İsteğinizin dokümantasyonla eşleştiğini ve doğru sözdizimi kullandığını kontrol edin.
401YetkisizBu isteği yapmak için izniniz yok. Authorization başlığında geçerli bir API anahtarı kullandığınızdan emin olun.
404BulunamadıSunucu istediğinizi bulamıyor. URL'nizin geçerli bir API endpoint'iyle eşleştiğini doğrulayın.
405Metoda İzin VerilmiyorEndpoint bu metodu desteklemiyor. Dokümantasyonda gösterildiği gibi doğru HTTP metodunu kullanın (örn. GET, POST).
429Çok Fazla İstekİstemci 1 dakika içinde çok fazla istek gönderdi. Hız limiti durumunuzu belirlemek için her yanıtla birlikte gönderilen başlıkları kullanabilirsiniz.
Başlık adıAçıklama
X-RateLimit-LimitDakikada yapabileceğiniz maksimum istek sayısı
X-RateLimit-RemainingMevcut hız limitinde kalan istek sayısı
X-RateLimit-ResetMevcut hız limitinin sıfırlanacağı zaman, UTC epoch saniye cinsinden
500Dahili Sunucu HatasıCountdownMail tarafında bir şeyler bozuldu.Daha sonra tekrar deneyin. Sorun devam ederse destekle iletişime geçin.
503Hizmet KullanılamıyorSunucu şu anda çok meşgul.Biraz bekleyin ve tekrar deneyin.

Örnek Hata Yanıtı (401 Unauthorized):

Yanıt


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

Bir hata görürseniz, durum kodunu ve mesajı kontrol edin, ardından önerilen işlemi izleyin.


Zamanlayıcı Modeli

Zamanlayıcı kaynağı, geri sayım zamanlayıcısı hakkındaki tüm bilgileri içerir. Geri sayım zamanlayıcısı tanımlamak için kullanılabilir alanlar şunlardır:

ÖzellikTürAçıklamaGerekliNotlar
skin_idintegerZamanlayıcının tasarım stili (şablon).Evet1 ile 23 arasında bir sayı olmalıdır.
namestringZamanlayıcı adı.EvetMaksimum 100 karakter. Örnek: Big Sale!
time_endstringZamanlayıcının bittiği zaman (YYYY-MM-DD HH:MM:SS). EvetÖrnek: 2025-04-09 04:57:16
time_zonestringZamanlayıcının saat dilimi.EvetÖrnek: America/Los_Angeles. Tüm mevcut time_zone değerlerini görün.
font_familystringZamanlayıcı metni için yazı tipi.HayırÖrnek: Roboto-Bold. Tüm mevcut font_family değerlerini görün.
label_font_familystringZamanlayıcı etiketleri için yazı tipi.HayırÖrnek: Roboto-Bold. Tüm mevcut font_family değerlerini görün.
color_primarystringAna renk (hex kodu).EvetÖrnek: FF3A43 (kırmızı).
color_textstringMetin rengi (hex kodu).EvetÖrnek: FFFFFF (beyaz).
color_bgstringArka plan rengi (hex kodu).EvetÖrnek: 000000 (siyah).
font_sizeintegerZamanlayıcı metin boyutu.Hayır14 ile 73 arasında.
label_font_sizeintegerEtiket metin boyutu.Hayır0 ile 50 arasında.
dayintegerGünleri göster (0 = hayır, 1 = evet).Hayır0 veya 1 olmalıdır.
langstringDil kodu (ISO 2 harfli).HayırÖrnek: en (İngilizce). Desteklenen 54 dilin tümünü görün.
transparentintegerArka plan: 0 = düz, 1 = şeffaf.Hayır0 veya 1 olmalıdır.
expired_mes_onintegerSüre dolumu mesajı göster (0 = hayır, 1 = evet).Hayır0 veya 1 olmalıdır.
expired_messtringZamanlayıcının süresi dolduğunda gösterilecek mesaj.HayırMaksimum 100 karakter. Örnek: This offer has expired
labelsintegerÖzel etiketler kullan (0 = hayır, 1 = evet).Hayır0 veya 1 olmalıdır.
daysstringGünler için etiket.HayırMaksimum 15 karakter. Örnek: days
hoursstringSaatler için etiket.HayırMaksimum 15 karakter. Örnek: hours
minutesstringDakikalar için etiket.HayırMaksimum 15 karakter. Örnek: minutes
secondsstringSaniyeler için etiket.HayırMaksimum 15 karakter. Örnek: seconds
timer_typeintegerZamanlayıcı türü: 1 = Ortak tarihli zamanlayıcı, 2 = Kişisel zamanlayıcı, 3 = Link ile zamanlayıcı.Hayır1, 2 veya 3 olmalıdır. Varsayılan 1'dir (Ortak tarihli zamanlayıcı).
durationintegerZamanlayıcı süresi saniye cinsinden (kişisel zamanlayıcılar için).Hayırtimer_type 2 (Kişisel zamanlayıcı) olduğunda zorunludur. Örnek: 86400 (24 saat).
advanced_paramsobjectEkstra ayarlar (örn. ayırıcı rengi).Hayır

Örnek


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

Zamanlayıcı Oluştur

Bu endpoint bir zamanlayıcı oluşturmanıza olanak tanır. Yeni bir zamanlayıcı oluşturmak için tüm gerekli özellikleri sağlamalısınız.

Örnek İstek:

İstek

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-10-05 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"
}'
                                    

Yanıt


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

Zamanlayıcı Güncelle

Bu endpoint herhangi bir zamanlayıcı özniteliğini güncellemenize olanak tanır. Bir zamanlayıcıyı güncellemek için, güncellemek istediğiniz alanlarla birlikte /update/{code} adresine PUT isteği gönderin. {code} yerine zamanlayıcı kodunu yazın (örn. "td").

Örnek İstek:

İstek

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-10-05 20:00:00"
}'
                                    

Yanıt


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

Zamanlayıcı kopyala

Mevcut bir zamanlayıcının kopyasını oluşturmak için /duplicate/{code} adresine POST isteği gönderin. {code} yerine kopyalamak istediğiniz zamanlayıcının benzersiz kodunu yazın. Bu, orijinaliyle aynı ayarlarla başlayan yeni bir zamanlayıcı oluşturur.

İstek gövdesine bir JSON nesnesi ekleyerek yeni zamanlayıcının ayrıntılarını güncelleyebilirsiniz. Bu, bitiş zamanı veya ad gibi belirli öznitelikleri değiştirmenize olanak tanırken diğer her şeyi orijinaliyle aynı tutar. Güncelleyebileceğiniz öznitelikler, yeni bir zamanlayıcı oluştururken ayarlayabildiğiniz özniteliklerle aynıdır (tam liste için Zamanlayıcı Modeli bölümüne bakın). Bir özniteliği dahil etmezseniz, orijinal zamanlayıcıdakiyle aynı kalır.

Önemli: Orijinal zamanlayıcı değişmez. Yalnızca yeni zamanlayıcı istekte gönderdiğiniz güncellemelerden etkilenir.

Örnek İstek:

İstek

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-10-05 20:00:00"
}'
                                    

Yanıt


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

Zamanlayıcıyı devre dışı bırak

Bir zamanlayıcıyı durdurmak (arşivlemek) için /deactivate/{code} adresine GET isteği gönderin. {code} yerine zamanlayıcı kodunu yazın.


Zamanlayıcıyı etkinleştir

Bir zamanlayıcıyı tekrar etkinleştirmek için /activate/{code} adresine GET isteği gönderin. {code} yerine zamanlayıcı kodunu yazın.


Zamanlayıcı Sil

Bir zamanlayıcıyı silmek için /delete/{code} adresine DELETE isteği gönderin. {code} yerine zamanlayıcı kodunu yazın.


Bu kılavuz, CountdownMail API'yi kullanmaya başlamanız için ihtiyacınız olan her şeyi sağlamalıdır. API anahtarınızı güvenli tutun ve saat dilimleri veya yazı tipleri gibi alanlar hakkında daha fazla bilgi için resmi dokümantasyona başvurun!