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.
- API anahtarınızı alın:
- CountdownMail hesabınıza giriş yapın.
- Profil » API adresine gidin.
- API anahtarınızı kopyalayın.
- İ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
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
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:
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:
| Kod | Durum Adı | Açıklama | Önerilen İşlem | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Hatalı İstek | İsteğinizde bir sorun var. | İsteğinizin dokümantasyonla eşleştiğini ve doğru sözdizimi kullandığını kontrol edin. | ||||||||
| 401 | Yetkisiz | Bu isteği yapmak için izniniz yok. | Authorization başlığında geçerli bir API anahtarı kullandığınızdan emin olun. | ||||||||
| 404 | Bulunamadı | Sunucu istediğinizi bulamıyor. | URL'nizin geçerli bir API endpoint'iyle eşleştiğini doğrulayın. | ||||||||
| 405 | Metoda İzin Verilmiyor | Endpoint 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.
| ||||||||
| 500 | Dahili Sunucu Hatası | CountdownMail tarafında bir şeyler bozuldu. | Daha sonra tekrar deneyin. Sorun devam ederse destekle iletişime geçin. | ||||||||
| 503 | Hizmet Kullanılamıyor | Sunucu ş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:
| Özellik | Tür | Açıklama | Gerekli | Notlar |
|---|---|---|---|---|
| skin_id | integer | Zamanlayıcının tasarım stili (şablon). | Evet | 1 ile 23 arasında bir sayı olmalıdır. |
| name | string | Zamanlayıcı adı. | Evet | Maksimum 100 karakter. Örnek: Big Sale! |
| time_end | string | Zamanlayıcının bittiği zaman (YYYY-MM-DD HH:MM:SS). | Evet | Örnek: 2025-04-09 04:57:16 |
| time_zone | string | Zamanlayıcının saat dilimi. | Evet | Örnek: America/Los_Angeles. Tüm mevcut time_zone değerlerini görün. |
| font_family | string | Zamanlayıcı metni için yazı tipi. | Hayır | Örnek: Roboto-Bold. Tüm mevcut font_family değerlerini görün. |
| label_font_family | string | Zamanlayıcı etiketleri için yazı tipi. | Hayır | Örnek: Roboto-Bold. Tüm mevcut font_family değerlerini görün. |
| color_primary | string | Ana renk (hex kodu). | Evet | Örnek: FF3A43 (kırmızı). |
| color_text | string | Metin rengi (hex kodu). | Evet | Örnek: FFFFFF (beyaz). |
| color_bg | string | Arka plan rengi (hex kodu). | Evet | Örnek: 000000 (siyah). |
| font_size | integer | Zamanlayıcı metin boyutu. | Hayır | 14 ile 73 arasında. |
| label_font_size | integer | Etiket metin boyutu. | Hayır | 0 ile 50 arasında. |
| day | integer | Günleri göster (0 = hayır, 1 = evet). | Hayır | 0 veya 1 olmalıdır. |
| lang | string | Dil kodu (ISO 2 harfli). | Hayır | Örnek: en (İngilizce). Desteklenen 54 dilin tümünü görün. |
| transparent | integer | Arka plan: 0 = düz, 1 = şeffaf. | Hayır | 0 veya 1 olmalıdır. |
| expired_mes_on | integer | Süre dolumu mesajı göster (0 = hayır, 1 = evet). | Hayır | 0 veya 1 olmalıdır. |
| expired_mes | string | Zamanlayıcının süresi dolduğunda gösterilecek mesaj. | Hayır | Maksimum 100 karakter. Örnek: This offer has expired |
| labels | integer | Özel etiketler kullan (0 = hayır, 1 = evet). | Hayır | 0 veya 1 olmalıdır. |
| days | string | Günler için etiket. | Hayır | Maksimum 15 karakter. Örnek: days |
| hours | string | Saatler için etiket. | Hayır | Maksimum 15 karakter. Örnek: hours |
| minutes | string | Dakikalar için etiket. | Hayır | Maksimum 15 karakter. Örnek: minutes |
| seconds | string | Saniyeler için etiket. | Hayır | Maksimum 15 karakter. Örnek: seconds |
| timer_type | integer | Zamanlayıcı türü: 1 = Ortak tarihli zamanlayıcı, 2 = Kişisel zamanlayıcı, 3 = Link ile zamanlayıcı. | Hayır | 1, 2 veya 3 olmalıdır. Varsayılan 1'dir (Ortak tarihli zamanlayıcı). |
| duration | integer | Zamanlayıcı süresi saniye cinsinden (kişisel zamanlayıcılar için). | Hayır | timer_type 2 (Kişisel zamanlayıcı) olduğunda zorunludur. Örnek: 86400 (24 saat). |
| advanced_params | object | Ekstra ayarlar (örn. ayırıcı rengi). | Hayır | Örnek |
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
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
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
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!
