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.
- Obtenez votre clé API :
- Connectez-vous à votre compte CountdownMail.
- Allez à Paramètres » API.
- Copiez votre clé API.
- 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
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
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 :
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 :
| Code | Nom du statut | Description | Action suggérée | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Requête incorrecte | Quelque chose ne va pas avec votre requête. | Vérifiez que votre requête correspond à la documentation et utilise la syntaxe correcte. | ||||||||
| 401 | Non 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. | ||||||||
| 404 | Non trouvé | Le serveur ne peut pas trouver ce que vous avez demandé. | Vérifiez que votre URL correspond à un point de terminaison API valide. | ||||||||
| 405 | Méthode non autorisée | Le 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. | ||||||||
| 429 | Trop de requêtes | Le 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.
| ||||||||
| 500 | Erreur interne du serveur | Quelque chose s'est cassé du côté de CountdownMail. | Réessayez plus tard. Si cela continue, contactez le support. | ||||||||
| 503 | Service indisponible | Le 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é | Type | Description | Requis | Notes |
|---|---|---|---|---|
| skin_id | entier | Le style de design de la minuterie (modèle). | Oui | Doit être un nombre entre 1 et 23. |
| name | chaîne | Le nom de la minuterie. | Oui | Maximum 100 caractères. Exemple : Big Sale! |
| time_end | chaîne | Quand la minuterie se termine (YYYY-MM-DD HH:MM:SS). | Oui | Exemple : 2025-04-09 04:57:16 |
| time_zone | chaîne | Le fuseau horaire de la minuterie. | Oui | Exemple : America/Los_Angeles. Voir toutes les valeurs time_zone disponibles. |
| font_family | chaîne | Police pour le texte de la minuterie. | Non | Exemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles. |
| label_font_family | chaîne | Police pour les étiquettes de la minuterie. | Non | Exemple : Roboto-Bold. Voir toutes les valeurs font_family disponibles. |
| color_primary | chaîne | Couleur principale (code hexadécimal). | Oui | Exemple : FF3A43 (rouge). |
| color_text | chaîne | Couleur du texte (code hexadécimal). | Oui | Exemple : FFFFFF (blanc). |
| color_bg | chaîne | Couleur d'arrière-plan (code hexadécimal). | 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'étiquette. | Non | Entre 0 et 50. |
| day | entier | Afficher les jours (0 = non, 1 = oui). | Non | Doit être 0 ou 1. |
| lang | chaîne | Code de langue (ISO 2 lettres). | Non | Exemple : en (anglais). Voir les 54 langues prises en charge. |
| transparent | entier | Arrière-plan : 0 = uni, 1 = transparent. | Non | Doit être 0 ou 1. |
| expired_mes_on | entier | Afficher le message d'expiration (0 = non, 1 = oui). | Non | Doit être 0 ou 1. |
| expired_mes | chaîne | Message à l'expiration de la minuterie. | Non | Maximum 100 caractères. Exemple : This offer has expired |
| labels | entier | Utiliser des étiquettes personnalisées (0 = non, 1 = oui). | Non | Doit être 0 ou 1. |
| days | chaîne | Étiquette pour les jours. | Non | Maximum 15 caractères. Exemple : days |
| hours | chaîne | Étiquette pour les heures. | Non | Maximum 15 caractères. Exemple : hours |
| minutes | chaîne | Étiquette pour les minutes. | Non | Maximum 15 caractères. Exemple : minutes |
| seconds | chaîne | Étiquette pour les secondes. | Non | Maximum 15 caractères. Exemple : seconds |
| timer_type | entier | Type de minuterie : 1 = Minuterie avec date partagée, 2 = Minuterie personnelle, 3 = Minuterie par lien. | Non | Doit être 1, 2 ou 3. Par défaut 1 (Minuterie avec date partagée). |
| duration | entier | Durée 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 | Paramètres supplémentaires (ex., couleur du séparateur). | Non | Exemple |
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
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
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
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 !
