CountdownMail API

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

Démarrage rapide

Cette section vous préparera à utiliser l'API CountdownMail et vous montrera comment faire votre première requête API.

  1. Obtenez votre clé API :
    • Connectez-vous à votre compte CountdownMail.
    • Allez à Paramètres » API.
    • Copiez votre clé API.
  2. Faites votre première requête API :
    • Nous utiliserons le point de terminaison "Créer une minuterie" comme exemple.
    • Utilisez un outil comme cURL ou Postman pour envoyer une requête POST à https://countdownmail.com/api/create.
    • Ajoutez votre clé API dans l'en-tête Authorization.
    • Incluez les détails requis de la minuterie dans le corps de la requête (au format JSON).

Voici un exemple utilisant cURL :

Requête

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 clé API réelle.
  • Si tout fonctionne, vous obtiendrez une réponse comme celle-ci :

Réponse


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

Cette réponse 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 requête avec votre clé API. Voici comment :

  • Ajoutez un en-tête Authorization à votre requête. La valeur est votre clé API.
  • Alternativement, utilisez l'authentification basique : définissez votre clé API comme nom d'utilisateur et laissez le mot de passe vide.

Exemple avec l'en-tête Authorization (cURL) :

Requête

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 clé API réelle.
  • Incluez toujours l'authentification, sinon vous obtiendrez une erreur 401 Unauthorized.

Utiliser Postman

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

  • Cliquez pour importer la collection API CountdownMail. Exécuter dans Postman
  • Ajoutez votre clé API aux paramètres d'authentification de la collection, et vous êtes prêt à commencer à faire des requêtes.

Erreurs

Parfois, les requêtes API échouent. L'API CountdownMail utilise des codes d'état HTTP pour vous indiquer ce qui s'est mal passé. Voici une liste des erreurs possibles, leur signification et ce qu'il faut faire :

CodeNom du statutDescriptionAction suggérée
400Requête incorrecteQuelque chose ne va pas avec votre requête.Vérifiez que votre requête correspond à la documentation et utilise la syntaxe correcte.
401Non autoriséVous n'avez pas la permission de faire cette requête. Assurez-vous d'utiliser une clé API valide dans l'en-tête Authorization.
404Non trouvéLe serveur ne peut pas trouver ce que vous avez demandé. Vérifiez que votre URL correspond à un point de terminaison API valide.
405Méthode non autoriséeLe point de terminaison ne prend pas en charge cette méthode. Utilisez la méthode HTTP correcte (ex., GET, POST) comme indiqué dans la documentation.
429Trop de requêtesLe client a envoyé trop de requêtes en 1 minute. Vous pouvez utiliser les en-têtes envoyés avec chaque réponse pour déterminer l'état actuel de votre limite de débit.
Nom de l'en-têteDescription
X-RateLimit-LimitLe nombre maximum de requêtes que vous pouvez effectuer par minute
X-RateLimit-RemainingLe nombre de requêtes restantes dans la limite de débit actuelle
X-RateLimit-ResetL'heure à laquelle la limite de débit actuelle se réinitialise, en secondes depuis l'époque Unix (UTC)
500Erreur interne du serveurQuelque chose s'est cassé du côté de CountdownMail.Réessayez plus tard. Si cela continue, contactez le support.
503Service indisponibleLe serveur est trop occupé en ce moment.Attendez un peu et réessayez.

Exemple de réponse d'erreur (401 Unauthorized) :

Réponse


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

Si vous voyez une erreur, vérifiez le code d'état et le message, puis suivez l'action suggérée.


Modèle de minuterie

La ressource Timer contient toutes les informations sur la minuterie de compte à rebours. Voici les champs disponibles pour définir une minuterie de compte à rebours :

PropriétéTypeDescriptionRequisNotes
skin_identierLe style de design de la minuterie (modèle).OuiDoit être un nombre entre 1 et 23.
namechaîneLe nom de la minuterie.OuiMaximum 100 caractères. Exemple : Big Sale!
time_endchaîneQuand la minuterie se termine (YYYY-MM-DD HH:MM:SS). OuiExemple : 2025-04-09 04:57:16
time_zonechaîneLe fuseau horaire de la minuterie.OuiExemple : America/Los_Angeles. Voir toutes les valeurs time_zone disponibles.
font_familychaînePolice pour le texte de la minuterie.NonExemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles.
label_font_familychaînePolice pour les étiquettes de la minuterie.NonExemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles.
color_primarychaîneCouleur principale (code hexadécimal).OuiExemple : FF3A43 (rouge).
color_textchaîneCouleur du texte (code hexadécimal).OuiExemple : FFFFFF (blanc).
color_bgchaîneCouleur d'arrière-plan (code hexadécimal).OuiExemple : 000000 (noir).
font_sizeentierTaille du texte de la minuterie.NonEntre 14 et 73.
label_font_sizeentierTaille du texte de l'étiquette.NonEntre 0 et 50.
dayentierAfficher les jours (0 = non, 1 = oui).NonDoit être 0 ou 1.
langchaîneCode de langue (ISO 2 lettres).NonExemple : en (anglais). Voir les 54 langues prises en charge.
transparententierArrière-plan : 0 = uni, 1 = transparent.NonDoit être 0 ou 1.
expired_mes_onentierAfficher le message d'expiration (0 = non, 1 = oui).NonDoit être 0 ou 1.
expired_meschaîneMessage à l'expiration de la minuterie.NonMaximum 100 caractères. Exemple : This offer has expired
labelsentierUtiliser des étiquettes personnalisées (0 = non, 1 = oui).NonDoit être 0 ou 1.
dayschaîneÉtiquette pour les jours.NonMaximum 15 caractères. Exemple : days
hourschaîneÉtiquette pour les heures.NonMaximum 15 caractères. Exemple : hours
minuteschaîneÉtiquette pour les minutes.NonMaximum 15 caractères. Exemple : minutes
secondschaîneÉtiquette pour les secondes.NonMaximum 15 caractères. Exemple : seconds
timer_typeentierType de minuterie : 1 = Minuterie avec date partagée, 2 = Minuterie personnelle, 3 = Minuterie par lien.NonDoit être 1, 2 ou 3. Par défaut 1 (Minuterie avec date partagée).
durationentierDurée de la minuterie en secondes (pour les minuteries personnelles).NonObligatoire lorsque timer_type vaut 2 (Minuterie personnelle). Exemple : 86400 (24 heures).
advanced_paramsobjetParamètres supplémentaires (ex., couleur du séparateur).Non

Exemple


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

Créer une minuterie

Ce point de terminaison vous permet de créer une minuterie. Pour créer une nouvelle minuterie, vous devez fournir toutes les propriétés requises.

Exemple de requête :

Requête

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

Réponse


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

Mettre à jour une minuterie

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

Exemple de requête :

Requête

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-10-05 20:00:00"
}'
                                    

Réponse


{
    "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 requête POST à /duplicate/{code}. Remplacez {code} par le code unique de la minuterie que vous souhaitez copier. Cela crée une nouvelle minuterie qui commence avec les mêmes paramètres que l'originale.

Vous pouvez mettre à jour les détails de la nouvelle minuterie en ajoutant un objet JSON dans le corps de la requête. Cela vous permet de modifier des attributs spécifiques, comme l'heure de fin ou le nom, tout en gardant tout le reste identique à l'original. Les attributs que vous pouvez mettre à jour sont les mêmes que ceux que vous pouvez définir lors de la création d'une nouvelle minuterie (voir la section Modèle de minuterie pour la liste complète). Si vous n'incluez pas un attribut, il reste le même que dans la minuterie originale.

Important : la minuterie originale ne change pas. Seule la nouvelle minuterie est affectée par les mises à jour que vous envoyez dans la requête.

Exemple de requête :

Requête

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-10-05 20:00:00"
}'
                                    

Réponse


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

Désactiver une minuterie

Pour arrêter une minuterie (archiver), envoyez une requête GET à /deactivate/{code}. Remplacez {code} par le code de la minuterie.


Activer une minuterie

Pour réactiver une minuterie, envoyez une requête GET à /activate/{code}. Remplacez {code} par le code de la minuterie.


Supprimer une minuterie

Pour supprimer une minuterie, envoyez une requête DELETE à /delete/{code}. Remplacez {code} par le code de la minuterie.


Ce guide devrait vous donner tout ce dont vous avez besoin pour commencer à utiliser l'API CountdownMail. Gardez votre clé API en sécurité et consultez la documentation officielle pour plus de détails sur des champs comme les fuseaux horaires ou les polices !