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.

  1. Ottieni la tua chiave API:
    • Accedi al tuo account CountdownMail.
    • Vai a Profilo » API.
    • Copia la tua chiave API.
  2. 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

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

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"
                                    
  • 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:

  • Clicca per importare la collezione API CountdownMail. Esegui in Postman
  • Aggiungi la tua chiave API alle impostazioni di autenticazione della collezione, e sei pronto per iniziare a fare richieste.

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:

CodiceNome statoDescrizioneAzione suggerita
400Richiesta errataQualcosa non va nella tua richiesta.Verifica che la tua richiesta corrisponda alla documentazione e usi la sintassi corretta.
401Non autorizzatoNon hai il permesso di fare questa richiesta. Assicurati di usare una chiave API valida nell'header Authorization.
404Non trovatoIl server non riesce a trovare cio che hai richiesto. Verifica che il tuo URL corrisponda a un endpoint API valido.
405Metodo non consentitoL'endpoint non supporta quel metodo. Usa il metodo HTTP corretto (es., GET, POST) come mostrato nella documentazione.
429Troppe richiesteIl 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.
Nome headerDescrizione
X-RateLimit-LimitIl numero massimo di richieste che puoi fare al minuto
X-RateLimit-RemainingIl numero di richieste rimanenti nel limite di frequenza attuale
X-RateLimit-ResetL'ora in cui il limite di frequenza attuale si resetta, in secondi epoch UTC
500Errore interno del serverQualcosa si e rotto dal lato di CountdownMail.Riprova piu tardi. Se continua a succedere, contatta il supporto.
503Servizio non disponibileIl 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:

ProprietaTipoDescrizioneRichiestoNote
skin_idinteroLo stile di design del timer (modello).SiDeve essere un numero tra 1 e 23.
namestringaIl nome del timer.SiMassimo 100 caratteri. Esempio: Big Sale!
time_endstringaQuando il timer termina (YYYY-MM-DD HH:MM:SS). SiEsempio: 2025-04-09 04:57:16
time_zonestringaIl fuso orario del timer.SiEsempio: America/Los_Angeles. Vedi tutti i valori time_zone disponibili.
font_familystringaCarattere per il testo del timer.NoEsempio: Roboto-Bold. Vedi tutti i valori font_family disponibili.
label_font_familystringaCarattere per le etichette del timer.NoEsempio: Roboto-Bold. Vedi tutti i valori font_family disponibili.
color_primarystringaColore principale (codice esadecimale).SiEsempio: FF3A43 (rosso).
color_textstringaColore del testo (codice esadecimale).SiEsempio: FFFFFF (bianco).
color_bgstringaColore di sfondo (codice esadecimale).SiEsempio: 000000 (nero).
font_sizeinteroDimensione del testo del timer.NoTra 14 e 73.
label_font_sizeinteroDimensione del testo dell'etichetta.NoTra 0 e 50.
dayinteroMostra giorni (0 = no, 1 = si).NoDeve essere 0 o 1.
langstringaCodice lingua (ISO 2 lettere).NoEsempio: en (Inglese). Vedi tutte le 54 lingue supportate.
transparentinteroSfondo: 0 = solido, 1 = trasparente.NoDeve essere 0 o 1.
expired_mes_oninteroMostra messaggio di scadenza (0 = no, 1 = si).NoDeve essere 0 o 1.
expired_messtringaMessaggio quando il timer scade.NoMassimo 100 caratteri. Esempio: This offer has expired
labelsinteroUsa etichette personalizzate (0 = no, 1 = si).NoDeve essere 0 o 1.
daysstringaEtichetta per i giorni.NoMassimo 15 caratteri. Esempio: days
hoursstringaEtichetta per le ore.NoMassimo 15 caratteri. Esempio: hours
minutesstringaEtichetta per i minuti.NoMassimo 15 caratteri. Esempio: minutes
secondsstringaEtichetta per i secondi.NoMassimo 15 caratteri. Esempio: seconds
timer_typeinteroTipo di timer: 1 = Timer con data condivisa, 2 = Timer personale, 3 = Timer per link.NoDeve essere 1, 2 o 3. Il valore predefinito e 1 (timer con data condivisa).
durationinteroDurata del timer in secondi (per timer personali).NoObbligatorio quando timer_type e 2 (Timer personale). Esempio: 86400 (24 ore).
advanced_paramsoggettoImpostazioni extra (es., colore separatore).No

Esempio


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

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

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

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

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

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

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

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!