CountdownMail API

Ce guide vous aidera a commencer a utiliser l'API CountdownMail. Il couvre la configuration, l'authentification, la gestion des erreurs et le travail avec les minuteries de compte a rebours.

Demarrage rapide

Cette section vous preparera a utiliser l'API CountdownMail et vous montrera comment faire votre premiere requete API.

  1. Obtenez votre cle API :
    • Connectez-vous a votre compte CountdownMail.
    • Allez a Profil » API.
    • Copiez votre cle API.
  2. Faites votre premiere requete API :
    • Nous utiliserons le point de terminaison "Creer une minuterie" comme exemple.
    • Utilisez un outil comme cURL ou Postman pour envoyer une requete POST a https://countdownmail.com/api/create.
    • Ajoutez votre cle API dans l'en-tete Authorization.
    • Incluez les details requis de la minuterie dans le corps de la requete (au format JSON).

Voici un exemple utilisant cURL :

Requete

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"
}'
                                    
  • Remplacez YOUR_API_KEY par votre cle API reelle.
  • Si tout fonctionne, vous obtiendrez une reponse comme celle-ci :

Reponse


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

Cette reponse inclut un code de minuterie (ex., "td") et une URL pour l'image de la minuterie.


Authentification

Pour utiliser l'API CountdownMail, vous devez authentifier chaque requete avec votre cle API. Voici comment :

  • Ajoutez un en-tete Authorization a votre requete. La valeur est votre cle API.
  • Alternativement, utilisez l'authentification basique : definissez votre cle API comme nom d'utilisateur et laissez le mot de passe vide.

Exemple avec l'en-tete Authorization (cURL) :

Requete

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"
                                    
  • Remplacez YOUR_API_KEY par votre cle API reelle.
  • Incluez toujours l'authentification, sinon vous obtiendrez une erreur 401 Unauthorized.

Utiliser Postman

Si vous utilisez Postman, cela facilite le test des requetes API. Pour l'utiliser avec CountdownMail :

  • Cliquez pour importer la collection API CountdownMail. Executer dans Postman
  • Ajoutez votre cle API aux parametres d'authentification de la collection, et vous etes pret a commencer a faire des requetes.

Erreurs

Parfois, les requetes API echouent. L'API CountdownMail utilise des codes d'etat HTTP pour vous indiquer ce qui s'est mal passe. Voici une liste des erreurs possibles, leur signification et ce qu'il faut faire :

CodeNom du statutDescriptionAction suggeree
400Requete incorrecteQuelque chose ne va pas avec votre requete.Verifiez que votre requete correspond a la documentation et utilise la syntaxe correcte.
401Non autoriseVous n'avez pas la permission de faire cette requete. Assurez-vous d'utiliser une cle API valide dans l'en-tete Authorization.
404Non trouveLe serveur ne peut pas trouver ce que vous avez demande. Verifiez que votre URL correspond a un point de terminaison API valide.
405Methode non autoriseeLe point de terminaison ne prend pas en charge cette methode. Utilisez la methode HTTP correcte (ex., GET, POST) comme indique dans la documentation.
429Trop de requetesLe client a envoye trop de requetes en 1 minute. Vous pouvez utiliser les en-tetes envoyes avec chaque reponse pour determiner l'etat actuel de votre limite de debit.
Nom de l'en-teteDescription
X-RateLimit-LimitLe nombre maximum de requetes que vous pouvez effectuer par minute
X-RateLimit-RemainingLe nombre de requetes restantes dans la limite de debit actuelle
X-RateLimit-ResetL'heure a laquelle la limite de debit actuelle se reinitialise, en secondes d'epoque UTC
500Erreur interne du serveurQuelque chose s'est casse du cote de CountdownMail.Reessayez plus tard. Si cela continue, contactez le support.
503Service indisponibleLe serveur est trop occupe en ce moment.Attendez un peu et reessayez.

Exemple de reponse d'erreur (401 Unauthorized) :

Reponse


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

Si vous voyez une erreur, verifiez le code d'etat et le message, puis suivez l'action suggeree.


Modele de minuterie

La ressource Timer contient toutes les informations sur la minuterie de compte a rebours. Voici les champs disponibles pour definir une minuterie de compte a rebours :

ProprieteTypeDescriptionRequisNotes
skin_identierLe style de design de la minuterie (modele).OuiDoit etre un nombre entre 1 et 23.
namechaineLe nom de la minuterie.OuiMaximum 100 caracteres. Exemple : Big Sale!
time_endchaineQuand la minuterie se termine (YYYY-MM-DD HH:MM:SS). OuiExemple : 2025-04-09 04:57:16
time_zonechaineLe fuseau horaire de la minuterie.OuiExemple : America/Los_Angeles. Voir toutes les valeurs time_zone disponibles.
font_familychainePolice pour le texte de la minuterie.NonExemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles.
label_font_familychainePolice pour les etiquettes de la minuterie.NonExemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles.
color_primarychaineCouleur principale (code hexadecimal).OuiExemple : FF3A43 (rouge).
color_textchaineCouleur du texte (code hexadecimal).OuiExemple : FFFFFF (blanc).
color_bgchaineCouleur d'arriere-plan (code hexadecimal).OuiExemple : 000000 (noir).
font_sizeentierTaille du texte de la minuterie.NonEntre 14 et 73.
label_font_sizeentierTaille du texte de l'etiquette.NonEntre 0 et 50.
dayentierAfficher les jours (0 = non, 1 = oui).NonDoit etre 0 ou 1.
langchaineCode de langue (ISO 2 lettres).NonExemple : en (Anglais). Voir les 54 langues prises en charge.
transparententierArriere-plan : 0 = solide, 1 = transparent.NonDoit etre 0 ou 1.
expired_mes_onentierAfficher le message d'expiration (0 = non, 1 = oui).NonDoit etre 0 ou 1.
expired_meschaineMessage a l'expiration de la minuterie.NonMaximum 100 caracteres. Exemple : This offer has expired
labelsentierUtiliser des etiquettes personnalisees (0 = non, 1 = oui).NonDoit etre 0 ou 1.
dayschaineEtiquette pour les jours.NonMaximum 15 caracteres. Exemple : days
hourschaineEtiquette pour les heures.NonMaximum 15 caracteres. Exemple : hours
minuteschaineEtiquette pour les minutes.NonMaximum 15 caracteres. Exemple : minutes
secondschaineEtiquette pour les secondes.NonMaximum 15 caracteres. Exemple : seconds
timer_typeentierType de minuterie : 1 = Minuterie avec date partagee, 2 = Minuterie personnelle, 3 = Minuterie par lien.NonDoit etre 1, 2 ou 3. Par defaut 1 (Minuterie avec date partagee).
durationentierDuree de la minuterie en secondes (pour les minuteries personnelles).NonObligatoire lorsque timer_type vaut 2 (Minuterie personnelle). Exemple : 86400 (24 heures).
advanced_paramsobjetParametres supplementaires (ex., couleur du separateur).Non

Exemple


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

Creer une minuterie

Ce point de terminaison vous permet de creer une minuterie. Pour creer une nouvelle minuterie, vous devez fournir toutes les proprietes requises.

Exemple de requete :

Requete

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

Reponse


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

Mettre a jour une minuterie

Ce point de terminaison vous permet de mettre a jour n'importe quel attribut de minuterie. Pour mettre a jour une minuterie, envoyez une requete PUT a /update/{code} avec les champs que vous souhaitez mettre a jour. Remplacez {code} par le code de la minuterie (ex., "td").

Exemple de requete :

Requete

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

Reponse


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

Dupliquer une minuterie

Pour faire une copie d'une minuterie existante, envoyez une requete POST a /duplicate/{code}. Remplacez {code} par le code unique de la minuterie que vous souhaitez copier. Cela cree une nouvelle minuterie qui commence avec les memes parametres que l'originale.

Vous pouvez mettre a jour les details de la nouvelle minuterie en ajoutant un objet JSON dans le corps de la requete. Cela vous permet de modifier des attributs specifiques, comme l'heure de fin ou le nom, tout en gardant tout le reste identique a l'original. Les attributs que vous pouvez mettre a jour sont les memes que ceux que vous pouvez definir lors de la creation d'une nouvelle minuterie (voir la section Modele de minuterie pour la liste complete). Si vous n'incluez pas un attribut, il reste le meme que dans la minuterie originale.

Important : La minuterie originale ne change pas. Seule la nouvelle minuterie est affectee par les mises a jour que vous envoyez dans la requete.

Exemple de requete :

Requete

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

Reponse


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

Desactiver une minuterie

Pour arreter une minuterie (archiver), envoyez une requete GET a /deactivate/{code}. Remplacez {code} par le code de la minuterie.


Activer une minuterie

Pour reactiver une minuterie, envoyez une requete GET a /activate/{code}. Remplacez {code} par le code de la minuterie.


Supprimer une minuterie

Pour supprimer une minuterie, envoyez une requete DELETE a /delete/{code}. Remplacez {code} par le code de la minuterie.


Ce guide devrait vous donner tout ce dont vous avez besoin pour commencer a utiliser l'API CountdownMail. Gardez votre cle API en securite et consultez la documentation officielle pour plus de details sur des champs comme les fuseaux horaires ou les polices !