CountdownMail API

Este guia ajudará você a começar a usar a API CountdownMail. Ele aborda como configurar, autenticar, lidar com erros e trabalhar com temporizadores de contagem regressiva.

Início rápido

Esta seção vai prepará-lo para usar a API CountdownMail e mostrar como fazer sua primeira solicitação de API.

  1. Obtenha sua chave de API:
    • Faça login na sua conta CountdownMail.
    • Vá para Perfil » API.
    • Copie sua chave de API.
  2. Faça sua primeira solicitação de API:
    • Usaremos o endpoint "Criar um temporizador" como exemplo.
    • Use uma ferramenta como cURL ou Postman para enviar uma solicitação POST para https://countdownmail.com/api/create.
    • Adicione sua chave de API no cabeçalho Authorization.
    • Inclua os detalhes necessários do temporizador no corpo da solicitação (em formato JSON).

Aqui está um exemplo usando cURL:

Solicitação

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"
}'
                                    
  • Substitua YOUR_API_KEY pela sua chave de API real.
  • Se tudo funcionar, você receberá uma resposta como esta:

Resposta


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

Esta resposta inclui um código de temporizador (ex., "td") e uma URL para a imagem do temporizador.


Autenticação

Para usar a API CountdownMail, você precisa autenticar cada solicitação com sua chave de API. Veja como:

  • Adicione um cabeçalho Authorization à sua solicitação. O valor é sua chave de API.
  • Alternativamente, use autenticação básica: defina sua chave de API como nome de usuário e deixe a senha vazia.

Exemplo com cabeçalho Authorization (cURL):

Solicitação

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"
                                    
  • Substitua YOUR_API_KEY pela sua chave de API real.
  • Sempre inclua autenticação, ou você receberá um erro 401 Unauthorized.

Usando Postman

Se você usa Postman, ele facilita o teste de solicitações de API. Para usá-lo com CountdownMail:

  • Clique para importar a coleção de API CountdownMail. Executar no Postman
  • Adicione sua chave de API às configurações de autenticação da coleção e você estará pronto para começar a fazer solicitações.

Erros

Às vezes, as solicitações de API falham. A API CountdownMail usa códigos de status HTTP para informar o que deu errado. Aqui está uma lista de possíveis erros, o que significam e o que fazer:

CódigoNome do statusDescriçãoAção sugerida
400Solicitação inválidaAlgo está errado com sua solicitação.Verifique se sua solicitação corresponde à documentação e usa a sintaxe correta.
401Não autorizadoVocê não tem permissão para fazer esta solicitação. Certifique-se de usar uma chave de API válida no cabeçalho Authorization.
404Não encontradoO servidor não consegue encontrar o que você solicitou. Verifique se sua URL corresponde a um endpoint de API válido.
405Método não permitidoO endpoint não suporta esse método. Use o método HTTP correto (ex., GET, POST) conforme mostrado na documentação.
429Muitas solicitaçõesO cliente enviou muitas solicitações em 1 minuto. Você pode usar os cabeçalhos enviados com cada resposta para determinar o status atual do seu limite de taxa.
Nome do cabeçalhoDescrição
X-RateLimit-LimitO número máximo de solicitações que você pode fazer por minuto
X-RateLimit-RemainingO número de solicitações restantes no limite de taxa atual
X-RateLimit-ResetO momento em que o limite de taxa atual é redefinido, em segundos de época UTC
500Erro interno do servidorAlgo quebrou no lado do CountdownMail.Tente novamente mais tarde. Se continuar acontecendo, entre em contato com o suporte.
503Serviço indisponívelO servidor está muito ocupado no momento.Aguarde um pouco e tente novamente.

Exemplo de resposta de erro (401 Unauthorized):

Resposta


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

Se você vir um erro, verifique o código de status e a mensagem e siga a ação sugerida.


Modelo do temporizador

O recurso Timer contém todas as informações sobre o temporizador de contagem regressiva. Estes são os campos disponíveis para definir um temporizador de contagem regressiva:

PropriedadeTipoDescriçãoObrigatórioNotas
skin_idinteiroO estilo de design do temporizador (modelo).SimDeve ser um número entre 1 e 23.
namestringO nome do temporizador.SimMáximo 100 caracteres. Exemplo: Big Sale!
time_endstringQuando o temporizador termina (YYYY-MM-DD HH:MM:SS). SimExemplo: 2025-04-09 04:57:16
time_zonestringO fuso horário do temporizador.SimExemplo: America/Los_Angeles. Veja todos os valores de time_zone disponíveis.
font_familystringFonte para o texto do temporizador.NãoExemplo: Roboto-Bold. Veja todos os valores de font_family disponíveis.
label_font_familystringFonte para os rótulos do temporizador.NãoExemplo: Roboto-Bold. Veja todos os valores de font_family disponíveis.
color_primarystringCor principal (código hexadecimal).SimExemplo: FF3A43 (vermelho).
color_textstringCor do texto (código hexadecimal).SimExemplo: FFFFFF (branco).
color_bgstringCor de fundo (código hexadecimal).SimExemplo: 000000 (preto).
font_sizeinteiroTamanho do texto do temporizador.NãoEntre 14 e 73.
label_font_sizeinteiroTamanho do texto do rótulo.NãoEntre 0 e 50.
dayinteiroMostrar dias (0 = não, 1 = sim).NãoDeve ser 0 ou 1.
langstringCódigo do idioma (ISO 2 letras).NãoExemplo: en (Inglês). Veja todos os 54 idiomas suportados.
transparentinteiroFundo: 0 = sólido, 1 = transparente.NãoDeve ser 0 ou 1.
expired_mes_oninteiroMostrar mensagem de expiração (0 = não, 1 = sim).NãoDeve ser 0 ou 1.
expired_messtringMensagem quando o temporizador expira.NãoMáximo 100 caracteres. Exemplo: This offer has expired
labelsinteiroUsar rótulos personalizados (0 = não, 1 = sim).NãoDeve ser 0 ou 1.
daysstringRótulo para dias.NãoMáximo 15 caracteres. Exemplo: days
hoursstringRótulo para horas.NãoMáximo 15 caracteres. Exemplo: hours
minutesstringRótulo para minutos.NãoMáximo 15 caracteres. Exemplo: minutes
secondsstringRótulo para segundos.NãoMáximo 15 caracteres. Exemplo: seconds
timer_typeinteiroTipo de temporizador: 1 = Temporizador com data compartilhada, 2 = Temporizador pessoal, 3 = Temporizador por link.NãoDeve ser 1, 2 ou 3. O padrão é 1 (Temporizador com data compartilhada).
durationinteiroDuração do temporizador em segundos (para temporizadores pessoais).NãoObrigatório quando timer_type é 2 (Temporizador pessoal). Exemplo: 86400 (24 horas).
advanced_paramsobjetoConfigurações extras (ex., cor do separador).Não

Exemplo


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

Criar um temporizador

Este endpoint permite criar um temporizador. Para criar um novo temporizador, você deve fornecer todas as propriedades obrigatórias.

Exemplo de solicitação:

Solicitação

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

Resposta


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

Atualizar um temporizador

Este endpoint permite atualizar qualquer atributo do temporizador. Para atualizar um temporizador, envie uma solicitação PUT para /update/{code} com os campos que deseja atualizar. Substitua {code} pelo código do temporizador (ex., "td").

Exemplo de solicitação:

Solicitação

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

Resposta


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

Duplicar um temporizador

Para fazer uma cópia de um temporizador existente, envie uma solicitação POST para /duplicate/{code}. Substitua {code} pelo código único do temporizador que deseja copiar. Isso cria um novo temporizador que começa com as mesmas configurações do original.

Você pode atualizar os detalhes do novo temporizador adicionando um objeto JSON no corpo da solicitação. Isso permite alterar atributos específicos, como a hora de término ou o nome, mantendo todo o resto igual ao original. Os atributos que você pode atualizar são os mesmos que pode definir ao criar um novo temporizador (consulte a seção Modelo do temporizador para a lista completa). Se você não incluir um atributo, ele permanece o mesmo do temporizador original.

Importante: O temporizador original não muda. Apenas o novo temporizador é afetado pelas atualizações que você envia na solicitação.

Exemplo de solicitação:

Solicitação

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

Resposta


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

Desativar um temporizador

Para parar um temporizador (arquivar), envie uma solicitação GET para /deactivate/{code}. Substitua {code} pelo código do temporizador.


Ativar um temporizador

Para ativar um temporizador novamente, envie uma solicitação GET para /activate/{code}. Substitua {code} pelo código do temporizador.


Excluir um temporizador

Para excluir um temporizador, envie uma solicitação DELETE para /delete/{code}. Substitua {code} pelo código do temporizador.


Este guia deve fornecer tudo o que você precisa para começar a usar a API CountdownMail. Mantenha sua chave de API segura e consulte a documentação oficial para mais detalhes sobre campos como fusos horários ou fontes!