CountdownMail API
Questa guida ti aiutera a iniziare a usare l'API CountdownMail. Copre come configurare, autenticare, gestire gli errori e lavorare con i timer per il conto alla rovescia.
Avvio rapido
Questa sezione ti preparera a usare l'API CountdownMail e ti mostrera come fare la tua prima richiesta API.
- Ottieni la tua chiave API:
- Accedi al tuo account CountdownMail.
- Vai a Profilo » API.
- Copia la tua chiave API.
- Fai la tua prima richiesta API:
- Useremo l'endpoint "Creare un timer" come esempio.
- Usa uno strumento come cURL o Postman per inviare una richiesta POST a https://countdownmail.com/api/create.
- Aggiungi la tua chiave API nell'header Authorization.
- Includi i dettagli richiesti del timer nel corpo della richiesta (in formato JSON).
Ecco un esempio usando cURL:
Richiesta
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"
}'
- Sostituisci YOUR_API_KEY con la tua chiave API reale.
- Se tutto funziona, otterrai una risposta come questa:
Risposta
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Questa risposta include un codice timer (es., "td") e un URL per l'immagine del timer.
Autenticazione
Per usare l'API CountdownMail, devi autenticare ogni richiesta con la tua chiave API. Ecco come:
- Aggiungi un header Authorization alla tua richiesta. Il valore e la tua chiave API.
- In alternativa, usa l'autenticazione di base: imposta la tua chiave API come nome utente e lascia la password vuota.
Esempio con header Authorization (cURL):
Richiesta
curl -H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-X GET "https://countdownmail.com/api/some_endpoint"
- Sostituisci YOUR_API_KEY con la tua chiave API reale.
- Includi sempre l'autenticazione, altrimenti riceverai un errore 401 Unauthorized.
Usare Postman
Se usi Postman, rende facile testare le richieste API. Per usarlo con CountdownMail:
Errori
A volte, le richieste API falliscono. L'API CountdownMail usa codici di stato HTTP per dirti cosa e andato storto. Ecco un elenco dei possibili errori, il loro significato e cosa fare:
| Codice | Nome stato | Descrizione | Azione suggerita | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 400 | Richiesta errata | Qualcosa non va nella tua richiesta. | Verifica che la tua richiesta corrisponda alla documentazione e usi la sintassi corretta. | ||||||||
| 401 | Non autorizzato | Non hai il permesso di fare questa richiesta. | Assicurati di usare una chiave API valida nell'header Authorization. | ||||||||
| 404 | Non trovato | Il server non riesce a trovare cio che hai richiesto. | Verifica che il tuo URL corrisponda a un endpoint API valido. | ||||||||
| 405 | Metodo non consentito | L'endpoint non supporta quel metodo. | Usa il metodo HTTP corretto (es., GET, POST) come mostrato nella documentazione. | ||||||||
| 429 | Troppe richieste | Il client ha inviato troppe richieste in 1 minuto. | Puoi usare gli header inviati con ogni risposta per determinare lo stato attuale del tuo limite di frequenza.
| ||||||||
| 500 | Errore interno del server | Qualcosa si e rotto dal lato di CountdownMail. | Riprova piu tardi. Se continua a succedere, contatta il supporto. | ||||||||
| 503 | Servizio non disponibile | Il server e troppo occupato in questo momento. | Aspetta un po' e riprova. |
Esempio di risposta di errore (401 Unauthorized):
Risposta
{
"status": "error",
"message": "Unauthorized"
}
Se vedi un errore, controlla il codice di stato e il messaggio, poi segui l'azione suggerita.
Modello Timer
La risorsa Timer contiene tutte le informazioni sul timer per il conto alla rovescia. Questi sono i campi disponibili per definire un timer per il conto alla rovescia:
| Proprieta | Tipo | Descrizione | Richiesto | Note |
|---|---|---|---|---|
| skin_id | intero | Lo stile di design del timer (modello). | Si | Deve essere un numero tra 1 e 23. |
| name | stringa | Il nome del timer. | Si | Massimo 100 caratteri. Esempio: Big Sale! |
| time_end | stringa | Quando il timer termina (YYYY-MM-DD HH:MM:SS). | Si | Esempio: 2025-04-09 04:57:16 |
| time_zone | stringa | Il fuso orario del timer. | Si | Esempio: America/Los_Angeles. Vedi tutti i valori time_zone disponibili. |
| font_family | stringa | Carattere per il testo del timer. | No | Esempio: Roboto-Bold. Vedi tutti i valori font_family disponibili. |
| label_font_family | stringa | Carattere per le etichette del timer. | No | Esempio: Roboto-Bold. Vedi tutti i valori font_family disponibili. |
| color_primary | stringa | Colore principale (codice esadecimale). | Si | Esempio: FF3A43 (rosso). |
| color_text | stringa | Colore del testo (codice esadecimale). | Si | Esempio: FFFFFF (bianco). |
| color_bg | stringa | Colore di sfondo (codice esadecimale). | Si | Esempio: 000000 (nero). |
| font_size | intero | Dimensione del testo del timer. | No | Tra 14 e 73. |
| label_font_size | intero | Dimensione del testo dell'etichetta. | No | Tra 0 e 50. |
| day | intero | Mostra giorni (0 = no, 1 = si). | No | Deve essere 0 o 1. |
| lang | stringa | Codice lingua (ISO 2 lettere). | No | Esempio: en (Inglese). Vedi tutte le 54 lingue supportate. |
| transparent | intero | Sfondo: 0 = solido, 1 = trasparente. | No | Deve essere 0 o 1. |
| expired_mes_on | intero | Mostra messaggio di scadenza (0 = no, 1 = si). | No | Deve essere 0 o 1. |
| expired_mes | stringa | Messaggio quando il timer scade. | No | Massimo 100 caratteri. Esempio: This offer has expired |
| labels | intero | Usa etichette personalizzate (0 = no, 1 = si). | No | Deve essere 0 o 1. |
| days | stringa | Etichetta per i giorni. | No | Massimo 15 caratteri. Esempio: days |
| hours | stringa | Etichetta per le ore. | No | Massimo 15 caratteri. Esempio: hours |
| minutes | stringa | Etichetta per i minuti. | No | Massimo 15 caratteri. Esempio: minutes |
| seconds | stringa | Etichetta per i secondi. | No | Massimo 15 caratteri. Esempio: seconds |
| timer_type | intero | Tipo di timer: 1 = Timer con data condivisa, 2 = Timer personale, 3 = Timer per link. | No | Deve essere 1, 2 o 3. Il valore predefinito e 1 (timer con data condivisa). |
| duration | intero | Durata del timer in secondi (per timer personali). | No | Obbligatorio quando timer_type e 2 (Timer personale). Esempio: 86400 (24 ore). |
| advanced_params | oggetto | Impostazioni extra (es., colore separatore). | No | Esempio |
Creare un timer
Questo endpoint ti permette di creare un timer. Per creare un nuovo timer, devi fornire tutte le proprieta richieste.
Esempio di richiesta:
Richiesta
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"
}'
Risposta
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Aggiornare un timer
Questo endpoint ti permette di aggiornare qualsiasi attributo del timer. Per aggiornare un timer, invia una richiesta PUT a /update/{code} con i campi che vuoi aggiornare. Sostituisci {code} con il codice del timer (es., "td").
Esempio di richiesta:
Richiesta
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"
}'
Risposta
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Duplicare un timer
Per fare una copia di un timer esistente, invia una richiesta POST a /duplicate/{code}. Sostituisci {code} con il codice univoco del timer che vuoi copiare. Questo crea un nuovo timer che inizia con le stesse impostazioni dell'originale.
Puoi aggiornare i dettagli del nuovo timer aggiungendo un oggetto JSON nel corpo della richiesta. Questo ti permette di cambiare attributi specifici, come l'ora di fine o il nome, mantenendo tutto il resto uguale all'originale. Gli attributi che puoi aggiornare sono gli stessi che puoi impostare quando crei un nuovo timer (vedi la sezione Modello Timer per l'elenco completo). Se non includi un attributo, rimane lo stesso del timer originale.
Importante: Il timer originale non cambia. Solo il nuovo timer e influenzato dagli aggiornamenti che invii nella richiesta.
Esempio di richiesta:
Richiesta
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"
}'
Risposta
{
"status": "success",
"message": {
"id": 1057,
"code": "td",
"src": "http://i.countdownmail.com/td.gif"
}
}
Disattivare un timer
Per fermare un timer (archiviare), invia una richiesta GET a /deactivate/{code}. Sostituisci {code} con il codice del timer.
Attivare un timer
Per riattivare un timer, invia una richiesta GET a /activate/{code}. Sostituisci {code} con il codice del timer.
Eliminare un timer
Per eliminare un timer, invia una richiesta DELETE a /delete/{code}. Sostituisci {code} con il codice del timer.
Questa guida dovrebbe darti tutto cio di cui hai bisogno per iniziare a usare l'API CountdownMail. Mantieni la tua chiave API al sicuro e consulta la documentazione ufficiale per maggiori dettagli su campi come fusi orari o caratteri!
