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.
- Obtenez votre cle API :
- Connectez-vous a votre compte CountdownMail.
- Allez a Profil » API.
- Copiez votre cle API.
- 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
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
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 :
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 :
| Code | Nom du statut | Description | Action suggeree | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Requete incorrecte | Quelque chose ne va pas avec votre requete. | Verifiez que votre requete correspond a la documentation et utilise la syntaxe correcte. | ||||||||
| 401 | Non autorise | Vous n'avez pas la permission de faire cette requete. | Assurez-vous d'utiliser une cle API valide dans l'en-tete Authorization. | ||||||||
| 404 | Non trouve | Le serveur ne peut pas trouver ce que vous avez demande. | Verifiez que votre URL correspond a un point de terminaison API valide. | ||||||||
| 405 | Methode non autorisee | Le point de terminaison ne prend pas en charge cette methode. | Utilisez la methode HTTP correcte (ex., GET, POST) comme indique dans la documentation. | ||||||||
| 429 | Trop de requetes | Le 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.
| ||||||||
| 500 | Erreur interne du serveur | Quelque chose s'est casse du cote de CountdownMail. | Reessayez plus tard. Si cela continue, contactez le support. | ||||||||
| 503 | Service indisponible | Le 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 :
| Propriete | Type | Description | Requis | Notes |
|---|---|---|---|---|
| skin_id | entier | Le style de design de la minuterie (modele). | Oui | Doit etre un nombre entre 1 et 23. |
| name | chaine | Le nom de la minuterie. | Oui | Maximum 100 caracteres. Exemple : Big Sale! |
| time_end | chaine | Quand la minuterie se termine (YYYY-MM-DD HH:MM:SS). | Oui | Exemple : 2025-04-09 04:57:16 |
| time_zone | chaine | Le fuseau horaire de la minuterie. | Oui | Exemple : America/Los_Angeles. Voir toutes les valeurs time_zone disponibles. |
| font_family | chaine | Police pour le texte de la minuterie. | Non | Exemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles. |
| label_font_family | chaine | Police pour les etiquettes de la minuterie. | Non | Exemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles. |
| color_primary | chaine | Couleur principale (code hexadecimal). | Oui | Exemple : FF3A43 (rouge). |
| color_text | chaine | Couleur du texte (code hexadecimal). | Oui | Exemple : FFFFFF (blanc). |
| color_bg | chaine | Couleur d'arriere-plan (code hexadecimal). | Oui | Exemple : 000000 (noir). |
| font_size | entier | Taille du texte de la minuterie. | Non | Entre 14 et 73. |
| label_font_size | entier | Taille du texte de l'etiquette. | Non | Entre 0 et 50. |
| day | entier | Afficher les jours (0 = non, 1 = oui). | Non | Doit etre 0 ou 1. |
| lang | chaine | Code de langue (ISO 2 lettres). | Non | Exemple : en (Anglais). Voir les 54 langues prises en charge. |
| transparent | entier | Arriere-plan : 0 = solide, 1 = transparent. | Non | Doit etre 0 ou 1. |
| expired_mes_on | entier | Afficher le message d'expiration (0 = non, 1 = oui). | Non | Doit etre 0 ou 1. |
| expired_mes | chaine | Message a l'expiration de la minuterie. | Non | Maximum 100 caracteres. Exemple : This offer has expired |
| labels | entier | Utiliser des etiquettes personnalisees (0 = non, 1 = oui). | Non | Doit etre 0 ou 1. |
| days | chaine | Etiquette pour les jours. | Non | Maximum 15 caracteres. Exemple : days |
| hours | chaine | Etiquette pour les heures. | Non | Maximum 15 caracteres. Exemple : hours |
| minutes | chaine | Etiquette pour les minutes. | Non | Maximum 15 caracteres. Exemple : minutes |
| seconds | chaine | Etiquette pour les secondes. | Non | Maximum 15 caracteres. Exemple : seconds |
| timer_type | entier | Type de minuterie : 1 = Minuterie avec date partagee, 2 = Minuterie personnelle, 3 = Minuterie par lien. | Non | Doit etre 1, 2 ou 3. Par defaut 1 (Minuterie avec date partagee). |
| duration | entier | Duree de la minuterie en secondes (pour les minuteries personnelles). | Non | Obligatoire lorsque timer_type vaut 2 (Minuterie personnelle). Exemple : 86400 (24 heures). |
| advanced_params | objet | Parametres supplementaires (ex., couleur du separateur). | Non | Exemple |
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
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
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
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 !
