CountdownMail API

Este guia ajudara voce a comecar a usar a API CountdownMail. Ele aborda como configurar, autenticar, lidar com erros e trabalhar com temporizadores de contagem regressiva.

Inicio rapido

Esta secao vai prepara-lo para usar a API CountdownMail e mostrar como fazer sua primeira solicitacao de API.

  1. Obtenha sua chave de API:
    • Faca login na sua conta CountdownMail.
    • Va para Perfil » API.
    • Copie sua chave de API.
  2. Faca sua primeira solicitacao de API:
    • Usaremos o endpoint "Criar um temporizador" como exemplo.
    • Use uma ferramenta como cURL ou Postman para enviar uma solicitacao POST para https://countdownmail.com/api/create.
    • Adicione sua chave de API no cabecalho Authorization.
    • Inclua os detalhes necessarios do temporizador no corpo da solicitacao (em formato JSON).

Aqui esta um exemplo usando cURL:

Solicitacao

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, voce recebera uma resposta como esta:

Resposta


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

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


Autenticacao

Para usar a API CountdownMail, voce precisa autenticar cada solicitacao com sua chave de API. Veja como:

  • Adicione um cabecalho Authorization a sua solicitacao. O valor e sua chave de API.
  • Alternativamente, use autenticacao basica: defina sua chave de API como nome de usuario e deixe a senha vazia.

Exemplo com cabecalho Authorization (cURL):

Solicitacao

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 autenticacao, ou voce recebera um erro 401 Unauthorized.

Usando Postman

Se voce usa Postman, ele facilita o teste de solicitacoes de API. Para usa-lo com CountdownMail:

  • Clique para importar a colecao de API CountdownMail. Executar no Postman
  • Adicione sua chave de API as configuracoes de autenticacao da colecao e voce estara pronto para comecar a fazer solicitacoes.

Erros

As vezes, as solicitacoes de API falham. A API CountdownMail usa codigos de status HTTP para informar o que deu errado. Aqui esta uma lista de possiveis erros, o que significam e o que fazer:

CodigoNome do statusDescricaoAcao sugerida
400Solicitacao invalidaAlgo esta errado com sua solicitacao.Verifique se sua solicitacao corresponde a documentacao e usa a sintaxe correta.
401Nao autorizadoVoce nao tem permissao para fazer esta solicitacao. Certifique-se de usar uma chave de API valida no cabecalho Authorization.
404Nao encontradoO servidor nao consegue encontrar o que voce solicitou. Verifique se sua URL corresponde a um endpoint de API valido.
405Metodo nao permitidoO endpoint nao suporta esse metodo. Use o metodo HTTP correto (ex., GET, POST) conforme mostrado na documentacao.
429Muitas solicitacoesO cliente enviou muitas solicitacoes em 1 minuto. Voce pode usar os cabecalhos enviados com cada resposta para determinar o status atual do seu limite de taxa.
Nome do cabecalhoDescricao
X-RateLimit-LimitO numero maximo de solicitacoes que voce pode fazer por minuto
X-RateLimit-RemainingO numero de solicitacoes restantes no limite de taxa atual
X-RateLimit-ResetO momento em que o limite de taxa atual e redefinido, em segundos de epoca UTC
500Erro interno do servidorAlgo quebrou no lado do CountdownMail.Tente novamente mais tarde. Se continuar acontecendo, entre em contato com o suporte.
503Servico indisponivelO servidor esta muito ocupado no momento.Aguarde um pouco e tente novamente.

Exemplo de resposta de erro (401 Unauthorized):

Resposta


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

Se voce vir um erro, verifique o codigo de status e a mensagem e siga a acao sugerida.


Modelo do temporizador

O recurso Timer contem todas as informacoes sobre o temporizador de contagem regressiva. Estes sao os campos disponiveis para definir um temporizador de contagem regressiva:

PropriedadeTipoDescricaoObrigatorioNotas
skin_idinteiroO estilo de design do temporizador (modelo).SimDeve ser um numero entre 1 e 23.
namestringO nome do temporizador.SimMaximo 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 horario do temporizador.SimExemplo: America/Los_Angeles. Veja todos os valores de time_zone disponiveis.
font_familystringFonte para o texto do temporizador.NaoExemplo: Roboto-Bold. Veja todos os valores de font_family disponiveis.
label_font_familystringFonte para os rotulos do temporizador.NaoExemplo: Roboto-Bold. Veja todos os valores de font_family disponiveis.
color_primarystringCor principal (codigo hexadecimal).SimExemplo: FF3A43 (vermelho).
color_textstringCor do texto (codigo hexadecimal).SimExemplo: FFFFFF (branco).
color_bgstringCor de fundo (codigo hexadecimal).SimExemplo: 000000 (preto).
font_sizeinteiroTamanho do texto do temporizador.NaoEntre 14 e 73.
label_font_sizeinteiroTamanho do texto do rotulo.NaoEntre 0 e 50.
dayinteiroMostrar dias (0 = nao, 1 = sim).NaoDeve ser 0 ou 1.
langstringCodigo do idioma (ISO 2 letras).NaoExemplo: en (Ingles). Veja todos os 54 idiomas suportados.
transparentinteiroFundo: 0 = solido, 1 = transparente.NaoDeve ser 0 ou 1.
expired_mes_oninteiroMostrar mensagem de expiracao (0 = nao, 1 = sim).NaoDeve ser 0 ou 1.
expired_messtringMensagem quando o temporizador expira.NaoMaximo 100 caracteres. Exemplo: This offer has expired
labelsinteiroUsar rotulos personalizados (0 = nao, 1 = sim).NaoDeve ser 0 ou 1.
daysstringRotulo para dias.NaoMaximo 15 caracteres. Exemplo: days
hoursstringRotulo para horas.NaoMaximo 15 caracteres. Exemplo: hours
minutesstringRotulo para minutos.NaoMaximo 15 caracteres. Exemplo: minutes
secondsstringRotulo para segundos.NaoMaximo 15 caracteres. Exemplo: seconds
timer_typeinteiroTipo de temporizador: 1 = Temporizador com data compartilhada, 2 = Temporizador pessoal, 3 = Temporizador por link.NaoDeve ser 1, 2 ou 3. O padrao e 1 (Temporizador com data compartilhada).
durationinteiroDuracao do temporizador em segundos (para temporizadores pessoais).NaoObrigatorio quando timer_type e 2 (Temporizador pessoal). Exemplo: 86400 (24 horas).
advanced_paramsobjetoConfiguracoes extras (ex., cor do separador).Nao

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, voce deve fornecer todas as propriedades obrigatorias.

Exemplo de solicitacao:

Solicitacao

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

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 solicitacao PUT para /update/{code} com os campos que deseja atualizar. Substitua {code} pelo codigo do temporizador (ex., "td").

Exemplo de solicitacao:

Solicitacao

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

Resposta


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

Duplicar um temporizador

Para fazer uma copia de um temporizador existente, envie uma solicitacao POST para /duplicate/{code}. Substitua {code} pelo codigo unico do temporizador que deseja copiar. Isso cria um novo temporizador que comeca com as mesmas configuracoes do original.

Voce pode atualizar os detalhes do novo temporizador adicionando um objeto JSON no corpo da solicitacao. Isso permite alterar atributos especificos, como a hora de termino ou o nome, mantendo todo o resto igual ao original. Os atributos que voce pode atualizar sao os mesmos que pode definir ao criar um novo temporizador (consulte a secao Modelo do temporizador para a lista completa). Se voce nao incluir um atributo, ele permanece o mesmo do temporizador original.

Importante: O temporizador original nao muda. Apenas o novo temporizador e afetado pelas atualizacoes que voce envia na solicitacao.

Exemplo de solicitacao:

Solicitacao

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

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 solicitacao GET para /deactivate/{code}. Substitua {code} pelo codigo do temporizador.


Ativar um temporizador

Para ativar um temporizador novamente, envie uma solicitacao GET para /activate/{code}. Substitua {code} pelo codigo do temporizador.


Excluir um temporizador

Para excluir um temporizador, envie uma solicitacao DELETE para /delete/{code}. Substitua {code} pelo codigo do temporizador.


Este guia deve fornecer tudo o que voce precisa para comecar a usar a API CountdownMail. Mantenha sua chave de API segura e consulte a documentacao oficial para mais detalhes sobre campos como fusos horarios ou fontes!