CountdownMail API

Esta guia te ayudara a comenzar a usar la API de CountdownMail. Cubre como configurar, autenticar, manejar errores y trabajar con temporizadores de cuenta regresiva.

Inicio rapido

Esta seccion te preparara para usar la API de CountdownMail y te mostrara como hacer tu primera solicitud API.

  1. Obtener tu clave API:
    • Inicia sesion en tu cuenta de CountdownMail.
    • Ve a Perfil » API.
    • Copia tu clave API.
  2. Haz tu primera solicitud API:
    • Usaremos el endpoint "Crear un temporizador" como ejemplo.
    • Usa una herramienta como cURL o Postman para enviar una solicitud POST a https://countdownmail.com/api/create.
    • Agrega tu clave API en el encabezado Authorization.
    • Incluye los detalles requeridos del temporizador en el cuerpo de la solicitud (en formato JSON).

Aqui hay un ejemplo usando cURL:

Solicitud

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"
}'
                                    
  • Reemplaza YOUR_API_KEY con tu clave API real.
  • Si todo funciona, obtendras una respuesta como esta:

Respuesta


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

Esta respuesta incluye un codigo de temporizador (ej., "td") y una URL para la imagen del temporizador.


Autenticacion

Para usar la API de CountdownMail, necesitas autenticar cada solicitud con tu clave API. Asi es como:

  • Agrega un encabezado Authorization a tu solicitud. El valor es tu clave API.
  • Alternativamente, usa autenticacion basica: establece tu clave API como nombre de usuario y deja la contrasena vacia.

Ejemplo con encabezado Authorization (cURL):

Solicitud

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"
                                    
  • Reemplaza YOUR_API_KEY con tu clave API real.
  • Siempre incluye autenticacion, o recibiras un error 401 Unauthorized.

Usar Postman

Si usas Postman facilita probar solicitudes API. Para usarlo con CountdownMail:

  • Haz clic para importar la coleccion de API de CountdownMail. Ejecutar en Postman
  • Agrega tu clave API a la configuracion de autenticacion de la coleccion y estaras listo para comenzar a hacer solicitudes.

Errores

A veces, las solicitudes API fallan. La API de CountdownMail usa codigos de estado HTTP para indicarte que salio mal. Aqui hay una lista de posibles errores, su significado y que hacer:

CodigoNombre del estadoDescripcionAccion sugerida
400Solicitud incorrectaAlgo esta mal con tu solicitud.Verifica que tu solicitud coincida con la documentacion y use la sintaxis correcta.
401No autorizadoNo tienes permiso para hacer esta solicitud. Asegurate de estar usando una clave API valida en el encabezado Authorization.
404No encontradoEl servidor no puede encontrar lo que solicitaste. Verifica que tu URL coincida con un endpoint API valido.
405Metodo no permitidoEl endpoint no soporta ese metodo. Usa el metodo HTTP correcto (ej., GET, POST) como se muestra en la documentacion.
429Demasiadas solicitudesEl cliente ha enviado demasiadas solicitudes en 1 minuto. Puedes usar los encabezados que se envian con cada respuesta para determinar el estado actual de tu limite de velocidad.
Nombre del encabezadoDescripcion
X-RateLimit-LimitEl numero maximo de solicitudes que puedes hacer por minuto
X-RateLimit-RemainingEl numero de solicitudes restantes en el limite de velocidad actual
X-RateLimit-ResetEl momento en que se reinicia el limite de velocidad actual, en segundos de epoca UTC
500Error interno del servidorAlgo fallo en el lado de CountdownMail.Intenta de nuevo mas tarde. Si sigue ocurriendo, contacta al soporte.
503Servicio no disponibleEl servidor esta muy ocupado en este momento.Espera un poco e intenta de nuevo.

Ejemplo de respuesta de error (401 Unauthorized):

Respuesta


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

Si ves un error, verifica el codigo de estado y el mensaje, luego sigue la accion sugerida.


Modelo del temporizador

El recurso Timer contiene toda la informacion sobre el temporizador de cuenta regresiva. Estos son los campos disponibles para definir un temporizador de cuenta regresiva:

PropiedadTipoDescripcionRequeridoNotas
skin_identeroEl estilo de diseno del temporizador (plantilla).SiDebe ser un numero entre 1 y 23.
namecadenaEl nombre del temporizador.SiMaximo 100 caracteres. Ejemplo: Big Sale!
time_endcadenaCuando termina el temporizador (YYYY-MM-DD HH:MM:SS). SiEjemplo: 2025-04-09 04:57:16
time_zonecadenaLa zona horaria del temporizador.SiEjemplo: America/Los_Angeles. Ver todos los valores de time_zone disponibles.
font_familycadenaFuente para el texto del temporizador.NoEjemplo: Roboto-Bold. Ver todos los valores de font_family disponibles.
label_font_familycadenaFuente para las etiquetas del temporizador.NoEjemplo: Roboto-Bold. Ver todos los valores de font_family disponibles.
color_primarycadenaColor principal (codigo hexadecimal).SiEjemplo: FF3A43 (rojo).
color_textcadenaColor del texto (codigo hexadecimal).SiEjemplo: FFFFFF (blanco).
color_bgcadenaColor de fondo (codigo hexadecimal).SiEjemplo: 000000 (negro).
font_sizeenteroTamano del texto del temporizador.NoEntre 14 y 73.
label_font_sizeenteroTamano del texto de la etiqueta.NoEntre 0 y 50.
dayenteroMostrar dias (0 = no, 1 = si).NoDebe ser 0 o 1.
langcadenaCodigo de idioma (ISO 2 letras).NoEjemplo: en (Ingles). Ver los 54 idiomas soportados.
transparententeroFondo: 0 = solido, 1 = transparente.NoDebe ser 0 o 1.
expired_mes_onenteroMostrar mensaje de expiracion (0 = no, 1 = si).NoDebe ser 0 o 1.
expired_mescadenaMensaje cuando expira el temporizador.NoMaximo 100 caracteres. Ejemplo: This offer has expired
labelsenteroUsar etiquetas personalizadas (0 = no, 1 = si).NoDebe ser 0 o 1.
dayscadenaEtiqueta para dias.NoMaximo 15 caracteres. Ejemplo: days
hourscadenaEtiqueta para horas.NoMaximo 15 caracteres. Ejemplo: hours
minutescadenaEtiqueta para minutos.NoMaximo 15 caracteres. Ejemplo: minutes
secondscadenaEtiqueta para segundos.NoMaximo 15 caracteres. Ejemplo: seconds
timer_typeenteroTipo de temporizador: 1 = Temporizador con fecha compartida, 2 = Temporizador personal, 3 = Temporizador por enlace.NoDebe ser 1, 2 o 3. El predeterminado es 1 (Temporizador con fecha compartida).
durationenteroDuracion del temporizador en segundos (para temporizadores personales).NoObligatorio cuando timer_type es 2 (Temporizador personal). Ejemplo: 86400 (24 horas).
advanced_paramsobjetoConfiguraciones adicionales (ej., color del separador).No

Ejemplo


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

Crear un temporizador

Este endpoint te permite crear un temporizador. Para crear un nuevo temporizador, debes proporcionar todas las propiedades requeridas.

Ejemplo de solicitud:

Solicitud

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

Respuesta


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

Actualizar un temporizador

Este endpoint te permite actualizar cualquier atributo del temporizador. Para actualizar un temporizador, envia una solicitud PUT a /update/{code} con los campos que deseas actualizar. Reemplaza {code} con el codigo del temporizador (ej., "td").

Ejemplo de solicitud:

Solicitud

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

Respuesta


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

Duplicar un temporizador

Para hacer una copia de un temporizador existente, envia una solicitud POST a /duplicate/{code}. Reemplaza {code} con el codigo unico del temporizador que deseas copiar. Esto crea un nuevo temporizador que comienza con la misma configuracion que el original.

Puedes actualizar los detalles del nuevo temporizador agregando un objeto JSON en el cuerpo de la solicitud. Esto te permite cambiar atributos especificos, como la hora de finalizacion o el nombre, mientras mantienes todo lo demas igual que el original. Los atributos que puedes actualizar son los mismos que puedes establecer al crear un nuevo temporizador (consulta la seccion Modelo del temporizador para la lista completa). Si no incluyes un atributo, permanece igual que en el temporizador original.

Importante: El temporizador original no cambia. Solo el nuevo temporizador se ve afectado por las actualizaciones que envias en la solicitud.

Ejemplo de solicitud:

Solicitud

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

Respuesta


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

Desactivar un temporizador

Para detener un temporizador (archivar), envia una solicitud GET a /deactivate/{code}. Reemplaza {code} con el codigo del temporizador.


Activar un temporizador

Para activar un temporizador de nuevo, envia una solicitud GET a /activate/{code}. Reemplaza {code} con el codigo del temporizador.


Eliminar un temporizador

Para eliminar un temporizador, envia una solicitud DELETE a /delete/{code}. Reemplaza {code} con el codigo del temporizador.


Esta guia deberia darte todo lo que necesitas para comenzar a usar la API de CountdownMail. Manten tu clave API segura y consulta la documentacion oficial para mas detalles sobre campos como zonas horarias o fuentes.