CountdownMail API

Diese Anleitung hilft Ihnen beim Einstieg in die CountdownMail API. Sie behandelt Einrichtung, Authentifizierung, Fehlerbehandlung und die Arbeit mit Countdown-Timern.

Schnellstart

Dieser Abschnitt bereitet Sie auf die Nutzung der CountdownMail API vor und zeigt Ihnen, wie Sie Ihre erste API-Anfrage stellen.

  1. Holen Sie sich Ihren API-Schlüssel:
    • Melden Sie sich bei Ihrem CountdownMail-Konto an.
    • Gehen Sie zu Profil » API.
    • Kopieren Sie Ihren API-Schlüssel.
  2. Stellen Sie Ihre erste API-Anfrage:
    • Wir verwenden den "Timer erstellen"-Endpunkt als Beispiel.
    • Verwenden Sie ein Tool wie cURL oder Postman, um eine POST-Anfrage an https://countdownmail.com/api/create zu senden.
    • Fügen Sie Ihren API-Schlüssel im Authorization-Header hinzu.
    • Fügen Sie die erforderlichen Timer-Details im Anfragekörper hinzu (im JSON-Format).

Hier ist ein Beispiel mit cURL:

Anfrage

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"
}'
                                    
  • Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen API-Schlüssel.
  • Wenn alles funktioniert, erhalten Sie eine Antwort wie diese:

Antwort


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

Diese Antwort enthält einen Timer-Code (z.B. "td") und eine URL für das Timer-Bild.


Authentifizierung

Um die CountdownMail API zu nutzen, müssen Sie jede Anfrage mit Ihrem API-Schlüssel authentifizieren. So geht's:

  • Fügen Sie Ihrer Anfrage einen Authorization-Header hinzu. Der Wert ist Ihr API-Schlüssel.
  • Alternativ können Sie Basic-Authentifizierung verwenden: Setzen Sie Ihren API-Schlüssel als Benutzernamen und lassen Sie das Passwort leer.

Beispiel mit Authorization-Header (cURL):

Anfrage

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"
                                    
  • Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen API-Schlüssel.
  • Authentifizieren Sie immer, sonst erhalten Sie einen 401 Unauthorized-Fehler.

Postman verwenden

Wenn Sie Postman verwenden, erleichtert es das Testen von API-Anfragen. So verwenden Sie es mit CountdownMail:

  • Klicken Sie, um die CountdownMail API-Sammlung zu importieren. In Postman ausführen
  • Fügen Sie Ihren API-Schlüssel zu den Authentifizierungseinstellungen der Sammlung hinzu, und Sie können mit Anfragen beginnen.

Fehler

Manchmal schlagen API-Anfragen fehl. Die CountdownMail API verwendet HTTP-Statuscodes, um Ihnen mitzuteilen, was schief gelaufen ist. Hier ist eine Liste möglicher Fehler, ihre Bedeutung und was zu tun ist:

CodeStatusnameBeschreibungEmpfohlene Maßnahme
400Ungültige AnfrageEtwas stimmt mit Ihrer Anfrage nicht.Überprüfen Sie, ob Ihre Anfrage der Dokumentation entspricht und die richtige Syntax verwendet.
401Nicht autorisiertSie haben keine Berechtigung für diese Anfrage. Stellen Sie sicher, dass Sie einen gültigen API-Schlüssel im Authorization-Header verwenden.
404Nicht gefundenDer Server kann das Angeforderte nicht finden. Überprüfen Sie, ob Ihre URL einem gültigen API-Endpunkt entspricht.
405Methode nicht erlaubtDer Endpunkt unterstützt diese Methode nicht. Verwenden Sie die richtige HTTP-Methode (z.B. GET, POST) wie in der Dokumentation angegeben.
429Zu viele AnfragenDer Client hat in 1 Minute zu viele Anfragen gesendet. Sie können die Header, die mit jeder Antwort gesendet werden, verwenden, um den aktuellen Status Ihres Ratenlimits zu ermitteln.
Header-NameBeschreibung
X-RateLimit-LimitDie maximale Anzahl von Anfragen, die Sie pro Minute stellen können
X-RateLimit-RemainingDie verbleibende Anzahl von Anfragen im aktuellen Ratenlimit
X-RateLimit-ResetDer Zeitpunkt, zu dem das aktuelle Ratenlimit zurückgesetzt wird, in UTC-Epochensekunden
500Interner ServerfehlerAuf der Seite von CountdownMail ist etwas schief gelaufen.Versuchen Sie es später erneut. Wenn das Problem weiterhin besteht, kontaktieren Sie den Support.
503Dienst nicht verfügbarDer Server ist gerade zu beschäftigt.Warten Sie einen Moment und versuchen Sie es erneut.

Beispiel-Fehlerantwort (401 Unauthorized):

Antwort


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

Wenn Sie einen Fehler sehen, überprüfen Sie den Statuscode und die Nachricht und befolgen Sie dann die empfohlene Maßnahme.


Timer-Modell

Die Timer-Ressource enthält alle Informationen über den Countdown-Timer. Dies sind die verfügbaren Felder zum Definieren eines Countdown-Timers:

EigenschaftTypBeschreibungErforderlichHinweise
skin_idGanzzahlDer Designstil (Vorlage) des Timers.JaMuss eine Zahl zwischen 1 und 23 sein.
nameZeichenketteDer Name des Timers.JaMaximal 100 Zeichen. Beispiel: Big Sale!
time_endZeichenketteWann der Timer endet (YYYY-MM-DD HH:MM:SS). JaBeispiel: 2025-04-09 04:57:16
time_zoneZeichenketteDie Zeitzone des Timers.JaBeispiel: America/Los_Angeles. Alle verfügbaren time_zone-Werte anzeigen.
font_familyZeichenketteSchriftart für den Timer-Text.NeinBeispiel: Roboto-Bold. Alle verfügbaren font_family-Werte anzeigen.
label_font_familyZeichenketteSchriftart für Timer-Beschriftungen.NeinBeispiel: Roboto-Bold. Alle verfügbaren font_family-Werte anzeigen.
color_primaryZeichenketteHauptfarbe (Hex-Code).JaBeispiel: FF3A43 (Rot).
color_textZeichenketteTextfarbe (Hex-Code).JaBeispiel: FFFFFF (Weiß).
color_bgZeichenketteHintergrundfarbe (Hex-Code).JaBeispiel: 000000 (Schwarz).
font_sizeGanzzahlGröße des Timer-Textes.NeinZwischen 14 und 73.
label_font_sizeGanzzahlGröße des Beschriftungstextes.NeinZwischen 0 und 50.
dayGanzzahlTage anzeigen (0 = nein, 1 = ja).NeinMuss 0 oder 1 sein.
langZeichenketteSprachcode (ISO 2-Buchstaben).NeinBeispiel: en (Englisch). Alle 54 unterstützten Sprachen anzeigen.
transparentGanzzahlHintergrund: 0 = solide, 1 = transparent.NeinMuss 0 oder 1 sein.
expired_mes_onGanzzahlAblaufnachricht anzeigen (0 = nein, 1 = ja).NeinMuss 0 oder 1 sein.
expired_mesZeichenketteNachricht bei Ablauf des Timers.NeinMaximal 100 Zeichen. Beispiel: This offer has expired
labelsGanzzahlBenutzerdefinierte Beschriftungen verwenden (0 = nein, 1 = ja).NeinMuss 0 oder 1 sein.
daysZeichenketteBeschriftung für Tage.NeinMaximal 15 Zeichen. Beispiel: days
hoursZeichenketteBeschriftung für Stunden.NeinMaximal 15 Zeichen. Beispiel: hours
minutesZeichenketteBeschriftung für Minuten.NeinMaximal 15 Zeichen. Beispiel: minutes
secondsZeichenketteBeschriftung für Sekunden.NeinMaximal 15 Zeichen. Beispiel: seconds
timer_typeGanzzahlTimer-Typ: 1 = Timer mit gemeinsamem Datum, 2 = Persönlicher Timer, 3 = Timer per Link.NeinMuss 1, 2 oder 3 sein. Standard ist 1 (Timer mit gemeinsamem Datum).
durationGanzzahlTimer-Dauer in Sekunden (für persönliche Timer).NeinErforderlich, wenn timer_type 2 ist (Persönlicher Timer). Beispiel: 86400 (24 Stunden).
advanced_paramsObjektZusätzliche Einstellungen (z.B. Trennzeichenfarbe).Nein

Beispiel


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

Timer erstellen

Dieser Endpunkt ermöglicht das Erstellen eines Timers. Um einen neuen Timer zu erstellen, müssen Sie alle erforderlichen Eigenschaften angeben.

Beispielanfrage:

Anfrage

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

Antwort


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

Timer aktualisieren

Dieser Endpunkt ermöglicht das Aktualisieren beliebiger Timer-Attribute. Um einen Timer zu aktualisieren, senden Sie eine PUT-Anfrage an /update/{code} mit den Feldern, die Sie aktualisieren möchten. Ersetzen Sie {code} durch den Timer-Code (z.B. "td").

Beispielanfrage:

Anfrage

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

Antwort


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

Timer duplizieren

Um eine Kopie eines vorhandenen Timers zu erstellen, senden Sie eine POST-Anfrage an /duplicate/{code}. Ersetzen Sie {code} durch den eindeutigen Code des Timers, den Sie kopieren möchten. Dies erstellt einen neuen Timer mit denselben Einstellungen wie das Original.

Sie können Details des neuen Timers aktualisieren, indem Sie ein JSON-Objekt im Anfragekörper hinzufügen. So können Sie bestimmte Attribute ändern, wie die Endzeit oder den Namen, während alles andere wie im Original bleibt. Die Attribute, die Sie aktualisieren können, sind dieselben, die Sie beim Erstellen eines neuen Timers festlegen können (siehe den Abschnitt Timer-Modell für die vollständige Liste). Wenn Sie ein Attribut nicht angeben, bleibt es wie im ursprünglichen Timer.

Wichtig: Der ursprüngliche Timer ändert sich nicht. Nur der neue Timer wird von den Aktualisierungen betroffen, die Sie in der Anfrage senden.

Beispielanfrage:

Anfrage

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

Antwort


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

Timer deaktivieren

Um einen Timer zu stoppen (archivieren), senden Sie eine GET-Anfrage an /deactivate/{code}. Ersetzen Sie {code} durch den Timer-Code.


Timer aktivieren

Um einen Timer wieder zu aktivieren, senden Sie eine GET-Anfrage an /activate/{code}. Ersetzen Sie {code} durch den Timer-Code.


Timer löschen

Um einen Timer zu löschen, senden Sie eine DELETE-Anfrage an /delete/{code}. Ersetzen Sie {code} durch den Timer-Code.


Diese Anleitung sollte Ihnen alles geben, was Sie für den Einstieg in die CountdownMail API benötigen. Bewahren Sie Ihren API-Schlüssel sicher auf und konsultieren Sie die offizielle Dokumentation für weitere Details zu Feldern wie Zeitzonen oder Schriftarten!