CountdownMail API
Ten poradnik pomoże Ci zacząć korzystać z API CountdownMail. Obejmuje konfigurację, uwierzytelnianie, obsługę błędów i pracę z licznikami odliczania.
Szybki start
Ta sekcja przygotuje Cię do korzystania z API CountdownMail i pokaże, jak wykonać pierwsze zapytanie API.
- Pobierz swój klucz API:
- Zaloguj się na swoje konto CountdownMail.
- Przejdź do Profil » API.
- Skopiuj swój klucz API.
- Wykonaj swoje pierwsze zapytanie API:
- Jako przykładu użyjemy endpointu "Utwórz licznik".
- Użyj narzędzia takiego jak cURL lub Postman, aby wysłać zapytanie POST do https://countdownmail.com/api/create.
- Dodaj swój klucz API w nagłówku Authorization.
- Dołącz wymagane szczegóły licznika w treści zapytania (w formacie JSON).
Oto przykład z użyciem cURL:
Zapytanie
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"
}'
- Zastąp YOUR_API_KEY swoim prawdziwym kluczem API.
- Jeśli wszystko działa, otrzymasz odpowiedź taką jak ta:
Odpowiedź
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Ta odpowiedź zawiera kod licznika (np. "td") i URL obrazu licznika.
Uwierzytelnianie
Aby korzystać z API CountdownMail, musisz uwierzytelnić każde zapytanie swoim kluczem API. Oto jak to zrobić:
- Dodaj nagłówek Authorization do swojego zapytania. Wartość to Twój klucz API.
- Alternatywnie użyj uwierzytelniania podstawowego: ustaw klucz API jako nazwę użytkownika i pozostaw hasło puste.
Przykład z nagłówkiem Authorization (cURL):
Zapytanie
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
- Zastąp YOUR_API_KEY swoim prawdziwym kluczem API.
- Zawsze dołączaj uwierzytelnianie, w przeciwnym razie otrzymasz błąd 401 Unauthorized.
Korzystanie z Postmana
Jeśli używasz Postman, ułatwia to testowanie zapytań API. Aby użyć go z CountdownMail:
Błędy
Czasami zapytania API kończą się niepowodzeniem. API CountdownMail używa kodów statusu HTTP, aby poinformować, co poszło nie tak. Oto lista możliwych błędów, ich znaczenie oraz zalecane działania:
| Kod | Nazwa statusu | Opis | Sugerowane działanie | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Nieprawidłowe zapytanie | Coś jest nie tak z Twoim zapytaniem. | Sprawdź, czy zapytanie jest zgodne z dokumentacją i używa poprawnej składni. | ||||||||
| 401 | Nieautoryzowany | Nie masz uprawnień do wykonania tego zapytania. | Upewnij się, że używasz poprawnego klucza API w nagłówku Authorization. | ||||||||
| 404 | Nie znaleziono | Serwer nie może znaleźć tego, o co prosisz. | Zweryfikuj, czy Twój URL odpowiada poprawnemu endpointowi API. | ||||||||
| 405 | Metoda niedozwolona | Endpoint nie obsługuje tej metody. | Użyj poprawnej metody HTTP (np. GET, POST) zgodnie z dokumentacją. | ||||||||
| 429 | Za dużo zapytań | Klient wysłał za dużo zapytań w ciągu 1 minuty. | Możesz użyć nagłówków wysyłanych z każdą odpowiedzią, aby określić aktualny status limitu zapytań.
| ||||||||
| 500 | Wewnętrzny błąd serwera | Coś się zepsuło po stronie CountdownMail. | Spróbuj później. Jeśli problem się powtarza, skontaktuj się ze wsparciem. | ||||||||
| 503 | Usługa niedostępna | Serwer jest obecnie zbyt zajęty. | Poczekaj chwilę i spróbuj ponownie. |
Przykład odpowiedzi błędu (401 Unauthorized):
Odpowiedź
{
"status": "error",
"message": "Unauthorized"
}
Jeśli widzisz błąd, sprawdź kod statusu i komunikat, a następnie postępuj zgodnie z sugerowanym działaniem.
Model licznika
Zasób Timer zawiera wszystkie informacje o liczniku odliczania. Oto pola dostępne do definiowania licznika odliczania:
| Właściwość | Typ | Opis | Wymagane | Uwagi |
|---|---|---|---|---|
| skin_id | integer | Styl projektowy licznika (szablon). | Tak | Musi być liczbą od 1 do 23. |
| name | string | Nazwa licznika. | Tak | Maksymalnie 100 znaków. Przykład: Big Sale! |
| time_end | string | Kiedy licznik się kończy (YYYY-MM-DD HH:MM:SS). | Tak | Przykład: 2025-04-09 04:57:16 |
| time_zone | string | Strefa czasowa licznika. | Tak | Przykład: America/Los_Angeles. Zobacz wszystkie dostępne wartości time_zone. |
| font_family | string | Czcionka tekstu licznika. | Nie | Przykład: Roboto-Bold. Zobacz wszystkie dostępne wartości font_family. |
| label_font_family | string | Czcionka etykiet licznika. | Nie | Przykład: Roboto-Bold. Zobacz wszystkie dostępne wartości font_family. |
| color_primary | string | Kolor główny (kod hex). | Tak | Przykład: FF3A43 (czerwony). |
| color_text | string | Kolor tekstu (kod hex). | Tak | Przykład: FFFFFF (biały). |
| color_bg | string | Kolor tła (kod hex). | Tak | Przykład: 000000 (czarny). |
| font_size | integer | Rozmiar tekstu licznika. | Nie | Od 14 do 73. |
| label_font_size | integer | Rozmiar tekstu etykiety. | Nie | Od 0 do 50. |
| day | integer | Pokaż dni (0 = nie, 1 = tak). | Nie | Musi być 0 lub 1. |
| lang | string | Kod języka (ISO 2-literowy). | Nie | Przykład: en (angielski). Zobacz wszystkie 54 obsługiwane języki. |
| transparent | integer | Tło: 0 = jednolite, 1 = przezroczyste. | Nie | Musi być 0 lub 1. |
| expired_mes_on | integer | Pokaż komunikat wygaśnięcia (0 = nie, 1 = tak). | Nie | Musi być 0 lub 1. |
| expired_mes | string | Komunikat po wygaśnięciu licznika. | Nie | Maksymalnie 100 znaków. Przykład: This offer has expired |
| labels | integer | Użyj niestandardowych etykiet (0 = nie, 1 = tak). | Nie | Musi być 0 lub 1. |
| days | string | Etykieta dla dni. | Nie | Maksymalnie 15 znaków. Przykład: days |
| hours | string | Etykieta dla godzin. | Nie | Maksymalnie 15 znaków. Przykład: hours |
| minutes | string | Etykieta dla minut. | Nie | Maksymalnie 15 znaków. Przykład: minutes |
| seconds | string | Etykieta dla sekund. | Nie | Maksymalnie 15 znaków. Przykład: seconds |
| timer_type | integer | Typ licznika: 1 = Licznik ze wspólną datą, 2 = Licznik personalny, 3 = Licznik z linku. | Nie | Musi być 1, 2 lub 3. Domyślnie 1 (Licznik ze wspólną datą). |
| duration | integer | Czas trwania licznika w sekundach (dla liczników personalnych). | Nie | Wymagane, gdy timer_type wynosi 2 (Licznik personalny). Przykład: 86400 (24 godziny). |
| advanced_params | object | Dodatkowe ustawienia (np. kolor separatora). | Nie | Przykład |
Utwórz licznik
Ten endpoint pozwala utworzyć licznik. Aby utworzyć nowy licznik, musisz podać wszystkie wymagane właściwości.
Przykład zapytania:
Zapytanie
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"
}'
Odpowiedź
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Zaktualizuj licznik
Ten endpoint pozwala zaktualizować dowolny atrybut licznika. Aby zaktualizować licznik, wyślij zapytanie PUT do /update/{code} z polami do aktualizacji. Zastąp {code} kodem licznika (np. "td").
Przykład zapytania:
Zapytanie
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"
}'
Odpowiedź
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Zduplikuj licznik
Aby skopiować istniejący licznik, wyślij zapytanie POST do /duplicate/{code}. Zastąp {code} unikalnym kodem licznika do skopiowania. Tworzy to nowy licznik z tymi samymi ustawieniami co oryginał.
Możesz zaktualizować szczegóły nowego licznika, dodając obiekt JSON w treści zapytania. Pozwala to zmienić określone atrybuty, jak czas zakończenia lub nazwę, zachowując pozostałe ustawienia z oryginału. Atrybuty do aktualizacji są takie same jak przy tworzeniu nowego licznika (pełna lista w sekcji Model licznika). Jeśli nie dołączysz atrybutu, pozostanie taki sam jak w oryginalnym liczniku.
Ważne: Oryginalny licznik się nie zmienia. Tylko nowy licznik jest modyfikowany przez aktualizacje wysłane w zapytaniu.
Przykład zapytania:
Zapytanie
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"
}'
Odpowiedź
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Dezaktywuj licznik
Aby zatrzymać licznik (zarchiwizować), wyślij zapytanie GET do /deactivate/{code}. Zastąp {code} kodem licznika.
Aktywuj licznik
Aby ponownie aktywować licznik, wyślij zapytanie GET do /activate/{code}. Zastąp {code} kodem licznika.
Usuń licznik
Aby usunąć licznik, wyślij zapytanie DELETE do /delete/{code}. Zastąp {code} kodem licznika.
Ten poradnik powinien dać Ci wszystko, czego potrzebujesz, aby zacząć korzystać z API CountdownMail. Chroń swój klucz API, a więcej szczegółów o polach takich jak strefy czasowe czy czcionki znajdziesz w oficjalnej dokumentacji!
