Documentação da API
Gerencie contatos, dispare campanhas e envie e-mails transacionais direto do seu código. Toda a API é organizada por conta, autenticada por chave, e segue os mesmos limites do seu plano.
Introdução
A API do Cliker usa URLs previsíveis orientadas a recursos, corpos e respostas em JSON, e códigos de status HTTP padrão. Toda chamada é escopada à sua conta — você nunca vê dados de outra conta, e uma chave de API só enxerga o que os escopos dela permitem.
A URL base para todas as chamadas é:
Como começar: gere uma chave em http://localhost:3100/api-keys (é preciso estar logado — entre na sua conta primeiro), escolha os escopos que essa chave vai usar, e faça sua primeira chamada:
Autenticação
Envie sua chave de API no header Api-Key em toda requisição. Chaves são específicas da sua conta (não de um usuário) e podem ser revogadas a qualquer momento em Configurações → Chaves de API.
Cada chave tem um ou mais escopos, definidos na criação:
read— informações da contacontacts— listar e criar contatoscampaigns— listar e disparar campanhastransactional— enviar e-mails transacionais avulsos
Uma chamada sem a chave retorna 401 missing_api_key; com uma chave inválida, 401 invalid_api_key; sem o escopo necessário, 403 insufficient_scope.
Limites de taxa
Cada plano tem um limite de requisições por minuto, aplicado por conta (não por chave — todas as chaves da mesma conta dividem o mesmo limite). Ultrapassar o limite retorna 429 rate_limit_exceeded.
| Plano | Requisições / minuto |
|---|---|
| Grátis | 60 |
| Starter | 180 |
| Business | 600 |
| Enterprise | 2.000 |
Erros
Erros sempre retornam JSON com um código de status HTTP apropriado:
| Código | Significado |
|---|---|
| 400 | Parâmetro obrigatório ausente ou inválido |
| 401 | Chave de API ausente ou inválida |
| 402 | Limite do plano atingido (contatos ou envios/mês) |
| 403 | Chave sem o escopo necessário para esse endpoint |
| 404 | Recurso não encontrado (ou pertence a outra conta) |
| 409 | Ação inválida para o estado atual do recurso |
| 429 | Limite de requisições por minuto excedido |
Conta
Retorna informações básicas da conta dona da chave usada — nome, status, plano e limites atuais.
/accountContatos
Contatos vivem dentro de uma lista específica — ao criar um contato pela API, informe a qual lista ele pertence. A listagem, porém, é unificada: retorna contatos de todas as listas que a conta possui, sem duplicar por e-mail.
/contactsParâmetros opcionais: status (1=inscrito, 2=descadastrado, 3=bounce, 4=reclamação) e limit (padrão 100, máximo 500).
/contactsCria (ou atualiza, se o e-mail já existir na lista) um contato. Campos além de email dependem dos campos customizados configurados na lista de destino — o exemplo abaixo assume campos "first_name"/"last_name".
Campanhas
/campaignsParâmetro opcional: limit (padrão 50, máximo 200).
/campaigns/:id/sendAgenda o envio imediato de uma campanha existente (criada pela interface). Só funciona se ela estiver em um estado que permita iniciar o envio — do contrário retorna 409.
E-mail transacional
Envia um e-mail avulso (recibo, confirmação, redefinição de senha) fora do fluxo de campanhas e listas — não passa por inscrição/descadastro. Requer o id de uma configuração de envio já existente na sua conta.
/transactional/send