clickSomo

A API

Não existe endpoint privado. Nem sequer para a interface.

A maioria dos produtos tem duas APIs: a documentada que te oferecem, e a interessante que os seus próprios ecrãs usam. A segunda é sempre melhor, e nunca te deixam chegar perto dela. Aqui existe uma, e a interface é um cliente dela como qualquer outra coisa — o que é uma restrição para nós, e a razão pela qual tudo o que queres construir é possível.

O que essa regra custa realmente

Significa que um ecrã ocasionalmente tem de esperar que a API esteja certa, em vez de a contornar para obter um campo conveniente. O dia em que um ecrã precisa de algo que a API pública não lhe pode dar é o dia em que a API está errada, e a correção é a API.

A vantagem é que três clientes muito diferentes custam quase nada extra. O servidor MCP é um cliente. Um tile do dash-b é um cliente. O teu próprio script é um cliente. Nenhum deles é um cidadão de segunda classe a contornar uma superfície desenhada para outra pessoa, porque não há outra superfície de que ser segundo.

Documentada, e exercitada

O OpenAPI é gerado em /docs e cada rota tem um teste que é o exemplo da documentação. Documentação escrita separadamente do código desalinha-se num mês; documentação que falha a build quando está errada, não.

Iniciar sessão

A tua conta castomo, através do fluxo de código de autorização com PKCE — a mesma conta que usas para o dash-b e o resto da família. Uma página sem servidor próprio executa esse fluxo perfeitamente bem; é para isso que o fluxo foi desenhado. Para trabalho máquina-a-máquina, uma chave de API com âmbito de projeto.

A superfícieapi.clicksomo.com
  • 1Pessoas/v1/contacts · /lists · /segments · /tags · /imports
  • 2Conteúdo/v1/creatives, com validação, pré-visualização e renderização por destino
  • 3Automação/v1/funnels · /funnels/:id/versions · /runs · /simulate
  • 4Transmissão/v1/campaigns, com audiência, materialização, agendamento e envio como passos distintos
  • 5Eventos a entrar/v1/events — os eventos da tua própria aplicação, como gatilhos
  • 6Entrega/sender-identities · /domains · /apps · /webhooks
  • 7Números/v1/reports/*, e /track/* no host de rastreio

OpenAPI em /docs/mcp no mesmo processo

Convenções

A mesma forma de todos os outros serviços castomo

O que importa mais do que parece. Se já chamas um destes, já sabes como este responde, falha e pagina.

Um único envelope de erro

Toda falha tem a mesma forma: um código estável e uma mensagem pensada para uma pessoa. Nenhuma rota inventa a sua própria maneira de estar infeliz.

Paginação por cursor

Nada de offsets. Uma lista que muda enquanto a percorres não salta nem repete linhas em silêncio, o que a paginação por offset faz discreta e constantemente.

Chaves de idempotência

Em todas as rotas de mutação. Repete um pedido de que não tens a certeza de que chegou e obtém a mesma resposta, em vez de um segundo contacto, uma segunda campanha ou um segundo envio.

Limitado a um projeto

Um token endereça um tenant e um projeto, ambos. A segurança ao nível da linha é imposta pela própria base de dados, não por alguém se lembrar de acrescentar uma cláusula.

Webhooks de saída

Assinados, repetidos com backoff e entregues pelo menos uma vez — por isso o teu endpoint também deve ser idempotente. Os eventos usam o mesmo vocabulário dos relatórios.

Eliminação e exportação

Um contacto pode ser exportado ou eliminado através da API, e uma eliminação chega a todos os serviços irmãos que tinham uma cópia, pelo canal interno da própria família.

Tudo o que a interface consegue fazer, um POST consegue fazer.

Os eventos são a parte interessante

Todo o resto desta página é canalização que já esperavas. POST /v1/events é a rota que muda o propósito do produto.

A tua aplicação já sabe coisas que nenhuma ferramenta de marketing consegue observar: quem terminou o onboarding, quem convidou um colega, quem atingiu um limite, quem exportou os seus dados num domingo à tarde. Publica-os como eventos com o teu próprio token, e cada um torna-se um gatilho, uma condição e um segmento.

O resto decorre do modelo de contacto. Os eventos são acrescentados, nunca editados; são o registo de que todo o produto depende. Um funil desencadeado por um evento que tu definiste não é uma integração — é o mesmo mecanismo que o message_opened usa, com outro nome lá dentro.

O teu evento torna-se um funilapi_event
  • 1Tu publicasPOST /v1/events — um nome, um contacto, um payload, uma chave de idempotência.
  • 2ChegaAcrescentado ao registo do contacto. Nada mais precisa de saber que existe.
  • 3Um funil começaQualquer funil cuja entrada mencione esse evento, para qualquer contacto elegível segundo a sua especificação de entrada.
  • 4Outros funis ramificam com ele"Este evento aconteceu nos últimos 14 dias" é um predicado de segmento comum.
  • iE termina execuçõesUm nó de objetivo que mencione o mesmo evento interrompe uma sequência no momento em que a pessoa faz a coisa.

O teu vocabulárioO teu token

Limites que vale a pena conhecer antes de construir

A ClickSomo guarda três identificadores sobre ti — um tenant, um projeto e um utilizador, como ids opacos — e nada mais. Sem password, sem perfil, sem cartão, sem fatura. Os limites do plano chegam como números: quantos contactos, quantos envios, quantas gerações. O vocabulário de pagamentos não atravessa essa linha em nenhuma direção.

Os teus contactos são teus. Tu és o responsável pelos dados; nós somos o processador. Não existe nenhuma rota pela qual outro produto da família possa ler ou escrever a tua lista de contactos, e nenhum canal de ingestão para um deles usar.

Se estás a avaliar isto a sério: lê /docs antes de leres mais alguma coisa deste site. A API é a descrição honesta do que o produto faz, e cada afirmação nestas páginas corresponde a uma rota ou a um tipo de nó que lá encontras. Quando o schema muda, estas páginas mudam.