Referência da API
As rotas que um integrador precisa: a tag e o postback server-to-server. Parâmetros, limites e respostas.
Esta referência cobre o que é integrado pelo cliente. A tag também usa rotas internas para buscar a configuração da campanha e registrar eventos — essas são chamadas automaticamente e não precisam ser implementadas por ninguém. Sua especificação é fornecida sob contrato quando houver revisão técnica formal.
Base#
https://bridge.moclick.com.br
| Método | Rota | Autenticação | Uso |
|---|---|---|---|
GET | /moclick-{slug}.js | Pública | A tag global |
GET | /wp-json/moclick/v1/postback | Token | Conversão server-to-server |
GET /moclick-{slug}.js#
A tag global, com a campanha já identificada.
| Cabeçalho de resposta | Valor |
|---|---|
Content-Type | application/javascript; charset=utf-8 |
Cache-Control | public, max-age=300, must-revalidate |
ETag | Varia por conteúdo e por campanha |
Access-Control-Allow-Origin | * |
Responde 304 Not Modified quando o If-None-Match corresponde.
Existe também /moclick.js, sem campanha embutida, para quem declara a
configuração manualmente — ver
subdomínio e domínio cruzado.
GET /wp-json/moclick/v1/postback#
Registro de conversão server-to-server, autenticado por token da campanha. Guia completo de implementação, com exemplos em quatro linguagens e política de reenvio, em Postback S2S.
Parâmetros#
| Parâmetro | Obrigatório | Limite | Descrição |
|---|---|---|---|
slug | Sim | — | Identificador da campanha. |
token | Sim | — | Token da campanha. |
click_id | Sim | 100 | Identificador do clique. Sem ele nada é gravado. |
txid | Recomendado | 100 | Identificador da transação. Chave de deduplicação. |
value | Recomendado | 2 casas decimais | Valor. Não numérico é gravado como nulo. |
Respostas#
| Código | Corpo | Significado |
|---|---|---|
200 |
OK em text/plain |
Recebido. Inclui duplicata, que é sucesso por contrato. |
403 |
{"error":"invalid_token"} |
Token inválido, ausente ou campanha inexistente. |
A comparação do token é feita em tempo constante, e os três casos de falha produzem resposta idêntica — a resposta não revela quais campanhas existem.
Sanitização e limites#
Aplicados na entrada de qualquer registro de evento. Relevantes para quem integra e para avaliação de segurança:
| Campo | Tratamento | Limite |
|---|---|---|
| Identificadores de clique e transação | Texto sanitizado, truncado | 100 caracteres |
| Origem e identificadores de sessão | Texto sanitizado, truncado | 190 caracteres |
| Referrer | Validado como URL, truncado | 500 caracteres |
| Parâmetros de campanha | Filtrados por lista de permissão e recodificados | 190 caracteres por valor |
| Valor da conversão | Convertido para decimal, ou nulo | 2 casas decimais |
| Agente do navegador | Texto sanitizado, truncado | 255 caracteres |
Valor acima do limite é truncado, não rejeitado — a requisição segue e registra. Isso importa no identificador de clique: se a sua plataforma gera identificadores com mais de 100 caracteres, o valor é cortado e pode não corresponder ao original no reenvio. Verifique o comprimento antes de integrar.
Política de resposta#
As rotas de registro são silenciosas por contrato: respondem normalmente sem gravar quando a campanha não existe, quando falta o identificador de clique, quando a campanha não usa medição própria, quando a origem é identificada como robô, ou quando o evento é duplicata.
A consequência prática para quem integra: não use o código de resposta como confirmação de gravação. Confirme no painel de resultados.
CORS#
As rotas públicas são chamadas pelo navegador do visitante e respondem com
Access-Control-Allow-Origin: * e Cache-Control: no-store.
Nenhuma credencial é aceita ou enviada nessas chamadas, e nenhum dado sensível é
exposto por elas — em particular, o token de postback nunca aparece em qualquer
resposta da API.