CountdownMail API

Esta guía te ayudará a comenzar a usar la API de CountdownMail. Cubre cómo configurar, autenticar, manejar errores y trabajar con temporizadores de cuenta regresiva.

Inicio rápido

Esta sección te preparará para usar la API de CountdownMail y te mostrará cómo hacer tu primera solicitud API.

  1. Obtén tu clave API:
    • Inicia sesión 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).

Aquí 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, obtendrás una respuesta como esta:

Respuesta


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

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


Autenticación

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

  • Agrega un encabezado Authorization a tu solicitud. El valor es tu clave API.
  • Alternativamente, usa autenticación básica: establece tu clave API como nombre de usuario y deja la contraseña vacía.

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 autenticación, o recibirás un error 401 Unauthorized.

Usar Postman

Si usas Postman, es fácil probar las solicitudes a la API. Para usarlo con CountdownMail:

  • Haz clic para importar la colección de API de CountdownMail. Ejecutar en Postman
  • Agrega tu clave API a la configuración de autenticación de la colección y estarás listo para comenzar a hacer solicitudes.

Errores

A veces, las solicitudes API fallan. La API de CountdownMail usa códigos de estado HTTP para indicarte qué salió mal. Aquí hay una lista de posibles errores, su significado y qué hacer:

CódigoNombre del estadoDescripciónAcción sugerida
400Solicitud incorrectaAlgo está mal con tu solicitud.Verifica que tu solicitud coincida con la documentación y use la sintaxis correcta.
401No autorizadoNo tienes permiso para hacer esta solicitud. Asegúrate de estar usando una clave API válida en el encabezado Authorization.
404No encontradoEl servidor no puede encontrar lo que solicitaste. Verifica que tu URL coincida con un endpoint API válido.
405Método no permitidoEl endpoint no soporta ese método. Usa el método HTTP correcto (ej., GET, POST) como se muestra en la documentación.
429Demasiadas solicitudesEl cliente ha enviado demasiadas solicitudes en 1 minuto. Puedes usar los encabezados que se envían con cada respuesta para determinar el estado actual de tu límite de velocidad.
Nombre del encabezadoDescripción
X-RateLimit-LimitEl número máximo de solicitudes que puedes hacer por minuto
X-RateLimit-RemainingEl número de solicitudes restantes en el límite de velocidad actual
X-RateLimit-ResetEl momento en que se reinicia el límite de velocidad actual, en segundos de época UTC
500Error interno del servidorAlgo falló en el lado de CountdownMail.Intenta de nuevo más tarde. Si sigue ocurriendo, contacta al soporte.
503Servicio no disponibleEl servidor está 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 código de estado y el mensaje, luego sigue la acción sugerida.


Modelo del temporizador

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

PropiedadTipoDescripciónRequeridoNotas
skin_identeroEl estilo de diseño del temporizador (plantilla).SíDebe ser un número entre 1 y 23.
namecadenaEl nombre del temporizador.SíMáximo 100 caracteres. Ejemplo: Big Sale!
time_endcadenaCuándo termina el temporizador (YYYY-MM-DD HH:MM:SS). SíEjemplo: 2025-04-09 04:57:16
time_zonecadenaLa zona horaria del temporizador.SíEjemplo: 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 (código hexadecimal).SíEjemplo: FF3A43 (rojo).
color_textcadenaColor del texto (código hexadecimal).SíEjemplo: FFFFFF (blanco).
color_bgcadenaColor de fondo (código hexadecimal).SíEjemplo: 000000 (negro).
font_sizeenteroTamaño del texto del temporizador.NoEntre 14 y 73.
label_font_sizeenteroTamaño del texto de la etiqueta.NoEntre 0 y 50.
dayenteroMostrar días (0 = no, 1 = sí).NoDebe ser 0 o 1.
langcadenaCódigo de idioma (ISO 2 letras).NoEjemplo: en (inglés). Ver los 54 idiomas soportados.
transparententeroFondo: 0 = sólido, 1 = transparente.NoDebe ser 0 o 1.
expired_mes_onenteroMostrar mensaje de expiración (0 = no, 1 = sí).NoDebe ser 0 o 1.
expired_mescadenaMensaje cuando expira el temporizador.NoMáximo 100 caracteres. Ejemplo: This offer has expired
labelsenteroUsar etiquetas personalizadas (0 = no, 1 = sí).NoDebe ser 0 o 1.
dayscadenaEtiqueta para días.NoMáximo 15 caracteres. Ejemplo: days
hourscadenaEtiqueta para horas.NoMáximo 15 caracteres. Ejemplo: hours
minutescadenaEtiqueta para minutos.NoMáximo 15 caracteres. Ejemplo: minutes
secondscadenaEtiqueta para segundos.NoMáximo 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).
durationenteroDuración 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-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"
}'
                                    

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, envía una solicitud PUT a /update/{code} con los campos que deseas actualizar. Reemplaza {code} con el código 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-10-05 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, envía una solicitud POST a /duplicate/{code}. Reemplaza {code} con el código único del temporizador que deseas copiar. Esto crea un nuevo temporizador que comienza con la misma configuración 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 específicos, como la hora de finalización o el nombre, mientras mantienes todo lo demás igual que el original. Los atributos que puedes actualizar son los mismos que puedes establecer al crear un nuevo temporizador (consulta la sección 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 envías 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-10-05 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), envía una solicitud GET a /deactivate/{code}. Reemplaza {code} con el código del temporizador.


Activar un temporizador

Para activar un temporizador de nuevo, envía una solicitud GET a /activate/{code}. Reemplaza {code} con el código del temporizador.


Eliminar un temporizador

Para eliminar un temporizador, envía una solicitud DELETE a /delete/{code}. Reemplaza {code} con el código del temporizador.


Esta guía debería darte todo lo que necesitas para comenzar a usar la API de CountdownMail. Mantén tu clave API segura y consulta la documentación oficial para más detalles sobre campos como zonas horarias o fuentes.