CountdownMail API

Deze handleiding helpt u aan de slag te gaan met de CountdownMail API. Het behandelt het instellen, authenticeren, afhandelen van fouten en werken met countdown-timers.

Snelstart

Dit gedeelte bereidt u voor op het gebruik van de CountdownMail API en laat zien hoe u uw eerste API-verzoek doet.

  1. Verkrijg uw API-sleutel:
    • Log in op uw CountdownMail-account.
    • Ga naar Profiel » API.
    • Kopieer uw API-sleutel.
  2. Doe uw eerste API-verzoek:
    • We gebruiken het "Timer maken"-endpoint als voorbeeld.
    • Gebruik een tool zoals cURL of Postman om een POST-verzoek naar https://countdownmail.com/api/create te sturen.
    • Voeg uw API-sleutel toe in de Authorization-header.
    • Voeg de vereiste timerdetails toe in de request body (in JSON-formaat).

Hier is een voorbeeld met cURL:

Verzoek

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"
}'
                                    
  • Vervang YOUR_API_KEY door uw werkelijke API-sleutel.
  • Als alles werkt, krijgt u een respons zoals dit:

Respons


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

Deze respons bevat een timercode (bijv. "td") en een URL voor de timer-afbeelding.


Authenticatie

Om de CountdownMail API te gebruiken, moet u elk verzoek authenticeren met uw API-sleutel. Zo werkt het:

  • Voeg een Authorization-header toe aan uw verzoek. De waarde is uw API-sleutel.
  • U kunt ook basisauthenticatie gebruiken: stel uw API-sleutel in als gebruikersnaam en laat het wachtwoord leeg.

Voorbeeld met Authorization-header (cURL):

Verzoek

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"
                                    
  • Vervang YOUR_API_KEY door uw werkelijke API-sleutel.
  • Voeg altijd authenticatie toe, anders krijgt u een 401 Unauthorized-fout.

Postman gebruiken

Als u Postman gebruikt, maakt het het testen van API-verzoeken gemakkelijk. Om het te gebruiken met CountdownMail:

  • Klik om de CountdownMail API-collectie te importeren. Uitvoeren in Postman
  • Voeg uw API-sleutel toe aan de authenticatie-instellingen van de collectie en u kunt beginnen met het doen van verzoeken.

Fouten

Soms mislukken API-verzoeken. De CountdownMail API gebruikt HTTP-statuscodes om aan te geven wat er mis is gegaan. Hier is een lijst met mogelijke fouten, hun betekenis en wat te doen:

CodeStatusnaamBeschrijvingAanbevolen actie
400Ongeldig verzoekEr is iets mis met uw verzoek.Controleer of uw verzoek overeenkomt met de documentatie en de juiste syntax gebruikt.
401Niet geautoriseerdU heeft geen toestemming om dit verzoek te doen. Zorg ervoor dat u een geldige API-sleutel gebruikt in de Authorization-header.
404Niet gevondenDe server kan niet vinden wat u vroeg. Controleer of uw URL overeenkomt met een geldig API-endpoint.
405Methode niet toegestaanHet endpoint ondersteunt die methode niet. Gebruik de juiste HTTP-methode (bijv. GET, POST) zoals weergegeven in de documentatie.
429Te veel verzoekenDe client heeft te veel verzoeken verzonden in 1 minuut. U kunt de headers die met elke respons worden verzonden gebruiken om de huidige status van uw rate limit te bepalen.
Header-naamBeschrijving
X-RateLimit-LimitHet maximale aantal verzoeken dat u per minuut kunt doen
X-RateLimit-RemainingHet aantal resterende verzoeken in de huidige rate limit
X-RateLimit-ResetHet tijdstip waarop de huidige rate limit wordt gereset, in UTC epoch seconden
500Interne serverfoutEr is iets misgegaan aan de kant van CountdownMail.Probeer het later opnieuw. Als het blijft gebeuren, neem contact op met support.
503Service niet beschikbaarDe server is momenteel te druk.Wacht even en probeer het opnieuw.

Voorbeeld foutrespons (401 Unauthorized):

Respons


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

Als u een fout ziet, controleer de statuscode en het bericht en volg dan de aanbevolen actie.


Timer-model

De Timer-resource bevat alle informatie over de countdown-timer. Dit zijn de beschikbare velden voor het definiëren van een countdown-timer:

EigenschapTypeBeschrijvingVereistOpmerkingen
skin_idintegerDe ontwerpstijl van de timer (template).JaMoet een getal tussen 1 en 23 zijn.
namestringDe naam van de timer.JaMaximaal 100 tekens. Voorbeeld: Big Sale!
time_endstringWanneer de timer eindigt (YYYY-MM-DD HH:MM:SS). JaVoorbeeld: 2025-04-09 04:57:16
time_zonestringDe tijdzone van de timer.JaVoorbeeld: America/Los_Angeles. Bekijk alle beschikbare time_zone-waarden.
font_familystringLettertype voor de timertekst.NeeVoorbeeld: Roboto-Bold. Bekijk alle beschikbare font_family-waarden.
label_font_familystringLettertype voor timerlabels.NeeVoorbeeld: Roboto-Bold. Bekijk alle beschikbare font_family-waarden.
color_primarystringHoofdkleur (hex-code).JaVoorbeeld: FF3A43 (rood).
color_textstringTekstkleur (hex-code).JaVoorbeeld: FFFFFF (wit).
color_bgstringAchtergrondkleur (hex-code).JaVoorbeeld: 000000 (zwart).
font_sizeintegerGrootte van de timertekst.NeeTussen 14 en 73.
label_font_sizeintegerGrootte van de labeltekst.NeeTussen 0 en 50.
dayintegerToon dagen (0 = nee, 1 = ja).NeeMoet 0 of 1 zijn.
langstringTaalcode (ISO 2-letterig).NeeVoorbeeld: en (Engels). Bekijk alle 54 ondersteunde talen.
transparentintegerAchtergrond: 0 = solide, 1 = transparant.NeeMoet 0 of 1 zijn.
expired_mes_onintegerToon vervalbericht (0 = nee, 1 = ja).NeeMoet 0 of 1 zijn.
expired_messtringBericht wanneer timer verloopt.NeeMaximaal 100 tekens. Voorbeeld: This offer has expired
labelsintegerGebruik aangepaste labels (0 = nee, 1 = ja).NeeMoet 0 of 1 zijn.
daysstringLabel voor dagen.NeeMaximaal 15 tekens. Voorbeeld: days
hoursstringLabel voor uren.NeeMaximaal 15 tekens. Voorbeeld: hours
minutesstringLabel voor minuten.NeeMaximaal 15 tekens. Voorbeeld: minutes
secondsstringLabel voor seconden.NeeMaximaal 15 tekens. Voorbeeld: seconds
timer_typeintegerTimertype: 1 = Timer met gedeelde datum, 2 = Persoonlijke timer, 3 = Timer per link.NeeMoet 1, 2 of 3 zijn. Standaard is 1 (Timer met gedeelde datum).
durationintegerTimerduur in seconden (voor persoonlijke timers).NeeVereist wanneer timer_type 2 is (Persoonlijke timer). Voorbeeld: 86400 (24 uur).
advanced_paramsobjectExtra instellingen (bijv. scheidingsteken kleur).Nee

Voorbeeld


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

Timer maken

Dit endpoint stelt u in staat een timer te maken. Om een nieuwe timer te maken, moet u alle vereiste eigenschappen opgeven.

Voorbeeldverzoek:

Verzoek

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

Respons


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

Timer bijwerken

Dit endpoint stelt u in staat elk timerattribuut bij te werken. Om een timer bij te werken, stuurt u een PUT-verzoek naar /update/{code} met de velden die u wilt bijwerken. Vervang {code} door de timercode (bijv. "td").

Voorbeeldverzoek:

Verzoek

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

Respons


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

Timer dupliceren

Om een kopie te maken van een bestaande timer, stuurt u een POST-verzoek naar /duplicate/{code}. Vervang {code} door de unieke code van de timer die u wilt kopiëren. Dit maakt een nieuwe timer aan met dezelfde instellingen als het origineel.

U kunt details van de nieuwe timer bijwerken door een JSON-object toe te voegen in de request body. Hiermee kunt u specifieke attributen wijzigen, zoals de eindtijd of naam, terwijl al het andere hetzelfde blijft als het origineel. De attributen die u kunt bijwerken zijn dezelfde als die u kunt instellen bij het maken van een nieuwe timer (zie de Timer Model-sectie voor de volledige lijst). Als u een attribuut niet opneemt, blijft het hetzelfde als in de originele timer.

Belangrijk: De originele timer verandert niet. Alleen de nieuwe timer wordt beïnvloed door de updates die u in het verzoek stuurt.

Voorbeeldverzoek:

Verzoek

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

Respons


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

Timer deactiveren

Om een timer te stoppen (archiveren), stuurt u een GET-verzoek naar /deactivate/{code}. Vervang {code} door de timercode.


Timer activeren

Om een timer opnieuw te activeren, stuurt u een GET-verzoek naar /activate/{code}. Vervang {code} door de timercode.


Timer verwijderen

Om een timer te verwijderen, stuurt u een DELETE-verzoek naar /delete/{code}. Vervang {code} door de timercode.


Deze handleiding zou u alles moeten geven wat u nodig heeft om aan de slag te gaan met de CountdownMail API. Bewaar uw API-sleutel veilig en raadpleeg de officiële documentatie voor meer details over velden zoals tijdzones of lettertypen!