Principal Configurações

Configurações

Mariana Rios
Por Mariana Rios
11 artigos

Adicionar Mais Projetos: uma conta, várias empresas

Se você tem mais de uma empresa, mais de um site, ou é uma agência que gerencia vários clientes, pode adicionar mais projetos dentro da sua conta ClickHunt. Cada projeto é uma empresa com o seu próprio site, os seus prompts, os seus concorrentes e o seu blog. Assista ao tutorial Como adicionar um projeto No canto superior esquerdo, escolha adicionar um novo projeto e selecione o plano contratado. A partir daí você segue exatamente o mesmo passo a passo do cadastro inicial da sua empresa: 1. Idioma de pesquisa. Em qual idioma o cliente dessa empresa pesquisa. 2. Site da empresa. Informe o endereço e avance. O ClickHunt entende tudo o que a empresa faz, identifica o mercado, encontra os principais concorrentes e prepara o plano de visibilidade de IA. 3. Validação. Ele devolve o que entendeu para você confirmar: o setor de atuação, o que a empresa faz e para quem. Os campos são editáveis. 4. Resultado desejado. Qual resultado você quer conquistar primeiro, por exemplo gerar visitantes para o site. 5. Área de atuação. Se o atendimento é nacional ou limitado a uma região. 6. O que a empresa oferece. O ClickHunt identifica a oferta e você confirma ou ajusta. 7. IAs e buscadores. Em quais IAs você quer ser recomendado, dentro do que o seu plano permite, e em quais mecanismos de busca, como Google e Bing. 8. Perguntas monitoradas. Ele identifica as buscas relevantes, a demanda de mercado, o potencial de crescimento, estima o volume de tráfego e mapeia as perguntas que o cliente da empresa faz. Você pode trocar qualquer pergunta sugerida que não faça sentido. A quantidade de prompts depende do seu plano. 9. Concorrentes. O ClickHunt já identifica marcas concorrentes e você pode adicionar as que conhece. A quantidade também depende do plano. 10. Onde publicar. Se o site já tem blog em WordPress, Shopify, Webflow ou Wix, você faz a integração. Se a empresa ainda não tem blog, o projeto usa o próprio blog do ClickHunt. 11. Acessos. Quem da sua equipe vai ter acesso ao projeto. 12. Resumo e conclusão. Ele apresenta um resumo da configuração e já puxa a identidade visual do projeto a partir da paleta de cores do site. Ao finalizar, o projeto aparece junto com os seus outros. Uma dica sobre a escolha dos prompts Vale gastar um tempo nessa etapa em vez de aceitar tudo o que vem sugerido. Uma pesquisa rápida de mercado ajuda, e você pode até perguntar à própria IA quais são as principais dúvidas de quem procura o seu produto. O objetivo é monitorar as perguntas que mais podem gerar representatividade para a empresa, e não apenas as mais óbvias. Recursos - Vários projetos na mesma conta, um por empresa ou por cliente. - Cadastro guiado, igual ao da sua primeira empresa. - Leitura automática do site, com identificação de mercado, oferta e concorrentes. - Sugestão de prompts a partir da demanda real de busca, com edição livre. - Limites de prompts e de concorrentes conforme o plano. - Integração com WordPress, Shopify, Webflow e Wix, ou uso do blog do ClickHunt. - Controle de quem acessa cada projeto. - Identidade visual puxada automaticamente do site.

Última atualização em Aug 26, 2026

Meu Plano: consumo, comparativo e upgrade da assinatura

Meu Plano é onde você acompanha o consumo da sua assinatura e faz alterações nela. Você chega lá pelo canto inferior esquerdo da tela. É o lugar para ir quando você quer mais concorrentes, mais prompts ou mais publicações para ranquear mais rápido no Google e ser recomendado com mais frequência nas IAs. Assista ao tutorial O consumo do plano atual A tela mostra, para o projeto, quanto do plano você já usou: - Posts. Quantos artigos você já produziu do total contratado, por exemplo 0 de 30. - Prompts. Quantos prompts você está monitorando, por exemplo 10 de 10. - Concorrentes. Quantos concorrentes você monitora, por exemplo 5 de 5. - Acessos ao blog. - Usuários e projetos cadastrados na sua conta. O comparativo de planos Dentro da tela existe o comparativo entre os planos Start, Pro e Growth. As diferenças que aparecem no comparativo: - IAs monitoradas. O Growth acompanha a visibilidade em todas as IAs, não apenas ChatGPT e Gemini como no Pro. Entram também Claude, Perplexity, Grok, DeepSeek e Copilot, chegando às sete mais usadas hoje. - Prompts. 15 no Growth, contra 10 no Pro. - Concorrentes. 10 no Growth, contra 5 no Pro. - Frequência de atualização. Os dados de visibilidade de IA e as estratégias de conteúdo são atualizados a cada 3 dias no Growth, a cada 5 dias no Pro e a cada semana no Start. - Conteúdo. No Growth você pode produzir 50 artigos. Upgrade por projeto Quando você tem mais de um projeto, a tela dá a noção geral do consumo de cada um. E o upgrade pode ser feito projeto por projeto, em vez de mudar tudo de uma vez. Assim, se apenas um cliente precisa de 50 artigos em vez de 30, você faz o upgrade só naquele projeto. Como funciona a cobrança do upgrade O upgrade não recomeça o seu ciclo do zero. A cobrança é proporcional ao que falta para a virada do seu ciclo de 30 dias. Na virada do mês, o plano novo entra cheio, já projetado. Isso mantém a sua data de cobrança redonda. Pagamento, faturas e notas fiscais Ainda nessa tela você pode: - Adicionar ou trocar a forma de pagamento. Cartão ou Pix. - Ver as suas faturas, ou seja, as cobranças já feitas. - Acessar as notas fiscais emitidas para o seu CNPJ ou para a sua pessoa física. Recursos - Consumo de posts, prompts, concorrentes, acessos, usuários e projetos. - Comparativo entre Start, Pro e Growth. - Upgrade e downgrade de plano. - Upgrade individual por projeto. - Cobrança proporcional até a virada do ciclo. - Cartão ou Pix como forma de pagamento. - Histórico de faturas e notas fiscais.

Última atualização em Aug 26, 2026

Menu Superior Direito: equipe, blog, conquistas e notificações

No canto superior direito do ClickHunt existe uma fileira de ícones que dá acesso rápido a quatro coisas do seu projeto. Vale conhecer cada um. Assista ao tutorial Equipe O ícone com as fotos das pessoas abre a edição da equipe do projeto. Ali você adiciona mais gente, remove quem saiu e define as permissões de cada pessoa. Blog O ícone seguinte leva direto ao seu blog, onde você vê tudo o que já publicou. Se a sua empresa não tinha um blog e você optou pela estrutura do ClickHunt, é esse o atalho para ver o resultado publicado. Progresso e recompensas O ícone de troféu abre a gamificação: o seu progresso e as suas recompensas conforme o projeto evolui. Os marcos por visitas nos conteúdos criados no ClickHunt funcionam assim: - Bronze, ao chegar em 1.000 visitas. - Prata, ao chegar em 10.000 visitas. - Ouro, ao chegar em 50.000 visitas. - Diamante, ao chegar em 100.000 visitas. Além das visitas, há marcos de conteúdos publicados e de menções nas IAs, mostrando em quais IAs você está sendo recomendado. É uma forma direta de acompanhar a sua evolução. Notificações O último ícone é o sino, onde chega tudo o que acontece nos seus projetos. O caso mais útil é a aprovação. Se você programou artigos com aprovação de pauta, o aviso aparece aqui antes da publicação: a pauta tal vai ser publicada na quinta-feira e precisa da sua aprovação. Sem isso, seria fácil esquecer. Também chegam avisos de artigo pronto para revisão, de publicações e de atualizações. Recursos - Atalho para gestão de equipe e permissões. - Atalho para o blog publicado. - Gamificação com marcos de visitas, publicações e menções nas IAs. - Central de notificações do projeto, incluindo pedidos de aprovação.

Última atualização em Aug 26, 2026

Perfil Pessoal: a assinatura dos seus artigos

O Perfil Pessoal é onde você configura os seus dados como pessoa dentro do ClickHunt. Para chegar nele, clique no seu nome ou e-mail, no canto superior esquerdo, e escolha Perfil pessoal. Assista ao tutorial Por que ele importa mais do que parece O perfil pessoal é o que gera a assinatura dos conteúdos que você publica no blog. O nome, a foto e a descrição que aparecem no fim de cada artigo vêm daqui. Isso tem efeito prático: a assinatura ajuda na indexação do seu conteúdo dentro do Google e das IAs, e é o que transmite autoridade ao artigo. Um artigo assinado por alguém com experiência declarada vale mais do que um artigo sem autor. O que você configura - Avatar. Uma imagem em JPEG ou PNG, com no máximo 2 MB. - Nome. É o nome que aparece assinando o artigo. - Cargo. - Descrição. O texto que acompanha a assinatura. - Redes sociais. O Instagram, por exemplo, aparece junto da assinatura no artigo. Como escrever a descrição Vale usar esse espaço para mostrar autoridade concreta, com números e tempo de mercado, em vez de adjetivos. Por exemplo: fundador de uma agência, com um volume determinado já gerenciado em tráfego pago, um número de marcas atendidas e o ano em que começou. É uma configuração simples, mas que precisa ficar completa para você não ter divergência entre o que aparece nos artigos e a sua realidade. Recursos - Avatar em JPEG ou PNG, até 2 MB. - Nome, cargo e descrição usados na assinatura dos artigos. - Redes sociais exibidas junto da assinatura. - Reflexo direto no que é publicado no blog.

Última atualização em Aug 26, 2026

Conexão de Domínio: coloque o blog no seu próprio endereço

Quando você usa o blog do ClickHunt, ou seja, quando a sua empresa não tem um blog em WordPress e você optou pela hospedagem do ClickHunt como blog oficial, existe um passo importante a fazer: conectar o seu domínio próprio. O ideal é que o endereço do blog não seja um domínio do ClickHunt, e sim um endereço da sua marca, como blog.seusite.com. Assista ao tutorial Por que isso importa Um blog no seu próprio domínio traz mais credibilidade para a sua marca e ajuda no ranqueamento na primeira página do Google e na recomendação dentro das IAs. Como conectar Enquanto você não usa um domínio próprio, fica um alerta em vermelho avisando que o seu blog ainda não tem um. Você pode clicar direto nesse alerta ou ir em Configurações, na área de domínio. 1. Informe o domínio que você quer usar, por exemplo blog.seusite.com. 2. Clique em conectar domínio. O ClickHunt gera os registros de DNS que você precisa criar. 3. Crie os dois registros no serviço onde o seu domínio está hospedado: um registro TXT, com o nome e o valor informados, e um registro CNAME, também com o nome e o valor informados. Copie e cole cada campo exatamente como aparece na tela. 4. Aguarde a propagação. Logo após criar os registros, o status fica como pendente. A propagação de DNS leva um tempo. 5. Clique em verificar DNS. Quando a propagação for identificada, o status muda para ativo. Depois disso, atualize a página. O blog passa a responder no seu domínio próprio, que aparece como o endereço oficial do blog. Um cuidado durante a espera Enquanto o status estiver pendente, não clique em desconectar. Pendente não significa erro: significa que o DNS ainda está propagando. O caminho é verificar o DNS de novo depois de alguns instantes. Recursos - Domínio próprio para o blog hospedado no ClickHunt. - Geração automática dos registros TXT e CNAME. - Verificação de DNS sob demanda, com status pendente e ativo. - Alerta na tela enquanto o blog está sem domínio próprio.

Última atualização em Aug 26, 2026

Webhook: mande os artigos para o seu próprio sistema

O que é O webhook é um destino de publicação, como o WordPress, o Webflow, o Wix ou a Shopify, só que sem uma plataforma fixa do outro lado. Você aponta a URL do seu sistema (um CMS próprio, um Next.js, o n8n, o Make, o HubSpot, o que for) e a ClickHunt envia cada artigo lá, assinado, no formato que você escolher. Disponível no plano Pro. Cada projeto tem um único webhook. Se você precisa mandar para dois sistemas diferentes, coloque um roteador do seu lado. Como conectar 1. Abra Integrações no projeto e escolha Webhook, ou selecione "Meu próprio sistema (webhook)" no wizard de criação do projeto. 2. Cole a URL do seu endpoint. Ela precisa começar com https:// e ser pública (o safeFetch recusa IP privado, localhost e esquemas diferentes de https). 3. Se o seu endpoint exigir algum cabeçalho fixo (por exemplo Authorization: Bearer …), digite um por linha no formato Nome: valor. Até 10 cabeçalhos. Os nomes Host, Content-Length, Content-Type, User-Agent e qualquer coisa começando com X-ClickHunt- são reservados e não podem ser usados aqui, porque a entrega já os define sozinha. 4. Marque os eventos que você quer receber: publicado, atualizado, arquivado, excluído. Todos vêm marcados por padrão. 5. Marque os formatos do corpo do artigo que você quer no payload: HTML, Blocos (o artigo inteiro estruturado, em JSON) e Markdown. Pode marcar mais de um ao mesmo tempo. HTML vem marcado por padrão. 6. Clique em conectar. A ClickHunt envia um ping real para o seu endpoint; se ele responder 2xx, a conexão fica pronta. A URL e os cabeçalhos só são definidos nesse momento. Para trocar a URL depois, desconecte e conecte de novo. Eventos e formatos você pode mudar quando quiser, sem reconectar. O segredo Ao conectar, a ClickHunt gera um segredo de assinatura (whsec_…) e mostra ele uma única vez, na tela, com um botão de copiar. Guarde em um lugar seguro: ele não aparece de novo depois de fechar o painel. Esse segredo é o que garante que uma entrega realmente veio da ClickHunt, e não de alguém se passando por ela. Veja a seção "Verificar a assinatura" abaixo para o código que confere isso do seu lado. Se você desconfiar que o segredo vazou, use Regenerar segredo na tela de configuração. O segredo antigo para de funcionar na hora e um novo é mostrado, também uma única vez. Cabeçalhos enviados Toda entrega (artigo, ping ou teste) chega com estes cabeçalhos: | Cabeçalho | O que traz | |---|---| | Content-Type | sempre application/json | | User-Agent | ClickHunt-Webhook/1 | | X-ClickHunt-Event | o evento desta entrega (article.published, article.updated, article.archived, article.deleted, article.test ou ping) | | X-ClickHunt-Delivery-Id | um UUID que identifica o episódio de entrega. Numa retentativa do mesmo episódio, o id se repete, para você deduplicar do seu lado | | X-ClickHunt-Api-Version | a versão do formato do payload, hoje 2026-09-11 | | X-ClickHunt-Signature | a assinatura HMAC, no formato t=<timestamp unix>,v1=<hex> | Além destes, chegam também os cabeçalhos fixos que você configurou (se houver). Verificar a assinatura A assinatura segue o mesmo formato do Stripe: t=<timestamp>,v1=<hmac sha256 hex>, calculado sobre "${t}.${corpo bruto da requisição}" com o seu segredo. Compare com timingSafeEqual (ou equivalente), nunca com ==, e rejeite timestamps fora de uma janela de tolerância (5 minutos é razoável) para evitar replay. Node.js: const crypto = require("node:crypto"); function verificar(segredo, corpoBruto, header, agoraSegundos, tolerancia = 300) { const m = /^t=(\d+),v1=([a-f0-9]{64})$/.exec(header); if (!m) return false; const t = Number(m[1]); const v1 = m[2]; if (!Number.isFinite(t) || Math.abs(agoraSegundos - t) > tolerancia) return false; const esperado = crypto.createHmac("sha256", segredo).update(`${t}.${corpoBruto}`).digest("hex"); const a = Buffer.from(esperado, "hex"); const b = Buffer.from(v1, "hex"); if (a.length !== b.length) return false; return crypto.timingSafeEqual(a, b); } // Exemplo de uso num handler Express/Next: // const ok = verificar(process.env.CLICKHUNT_WEBHOOK_SECRET, corpoBruto, req.headers["x-clickhunt-signature"], Math.floor(Date.now() / 1000)); Python: import hashlib import hmac import re import time def verificar(segredo: str, corpo_bruto: str, header: str, agora_segundos: int, tolerancia: int = 300) -> bool: m = re.match(r"^t=(\d+),v1=([a-f0-9]{64})$", header) if not m: return False t = int(m.group(1)) v1 = m.group(2) if abs(agora_segundos - t) > tolerancia: return False mensagem = f"{t}.{corpo_bruto}".encode("utf-8") esperado = hmac.new(segredo.encode("utf-8"), mensagem, hashlib.sha256).hexdigest() return hmac.compare_digest(esperado, v1) # ok = verificar(SEGREDO, corpo_bruto, request.headers["X-ClickHunt-Signature"], int(time.time())) Importante: use o corpo bruto da requisição (os bytes exatos que chegaram), antes de qualquer JSON.parse. Um framework que já reserializa o corpo antes de chegar no seu handler vai quebrar a verificação. Payload Este é o payload completo de um article.published, com os três formatos (HTML, Blocos e Markdown) ligados, gerado pelo mesmo artigo de exemplo que o botão "Enviar artigo de teste" usa: { "event": "article.published", "apiVersion": "2026-09-11", "deliveryId": "5f0c5c0e-4b1c-4d0e-9a2b-7c3d1e2f3a4b", "sentAt": "2026-09-11T12:00:00.000Z", "test": false, "project": { "id": "00000000-0000-4000-8000-000000000002", "name": "Projeto de exemplo", "brandName": "ClickHunt", "website": "https://clickhunt.ai", "contentLanguage": "pt-br" }, "article": { "id": "00000000-0000-4000-8000-000000000001", "externalId": null, "title": "Guia", "slug": "guia-exemplo", "previousSlugs": [], "status": "published", "contentType": "guide", "contentLanguage": "pt-br", "publishedAt": "2026-09-01T12:00:00Z", "updatedAt": "2026-09-05T09:00:00Z", "createdAt": "2026-08-28T09:00:00Z", "excerpt": "Desc", "body": { "html": "<p>Intro.</p>\n<blockquote><p><strong>Resposta rápida</strong></p><p>Resposta.</p></blockquote>\n<h2>Resumo</h2><ul><li>um</li><li>dois</li></ul>\n<img src=\"https:…", "blocks": { "meta": { "slug": "guia", "contentType": "guide", "contentLanguage": "pt-br", "title": "Guia", "metaTitle": "Guia SEO", "metaDescription": "Desc" }, "authority": { "authorName": "Ana" }, "entities": [], "references": [ { "id": "r1", "url": "https://fonte.example/x", "title": "Fonte X" } ], "evidence": [], "body": [ { "id": "b1", "type": "intro", "text": "Intro." }, { "id": "b2", "type": "quick_answer", "text": "Resposta." } ] }, "markdown": "Intro.\n\n> **Resposta rápida**\n>\n> Resposta.\n\n## Resumo\n\n- um\n- dois\n\n## Seção\n\nPrimeiro.\n\nVeja a [fonte](https://fonte.example/x) aqui.\n\n### Sub\n\n1. a\n2. b\n\n> C…" }, "seo": { "metaTitle": "Guia SEO", "metaDescription": "Desc", "canonical": null, "redirect": null, "keyword": "guia de exemplo", "keywords": [ "guia de exemplo" ], "jsonLd": [ { "@type": "Organization", "@id": "https://clickhunt.ai/#organization", "name": "ClickHunt", "url": "https://clickhunt.ai" }, { "@type": "BlogPosting", "headline": "Guia", "description": "Desc", "image": [ "https://app.clickhunt.ai/logos/platforms/clickhunt.png" ], "datePublished": "2026-09-01T12:00:00Z", "dateModified": "2026-09-05T09:00:00Z", "inLanguage": "pt-br", "articleSection": [ "exemplo" ], "keywords": "guia de exemplo, exemplo", "citation": [ { "@type": "CreativeWork", "name": "Fonte X", "url": "https://fonte.example/x" } ], "author": { "@type": "Person", "name": "Ana Souza", "jobTitle": "Editora", "description": "Escreve sobre visibilidade em IA e SEO na ClickHunt.", "image": "https://app.clickhunt.ai/logos/platforms/clickhunt.png", "sameAs": [ "https://www.linkedin.com/company/clickhunt" ] }, "publisher": { "@id": "https://clickhunt.ai/#organization" } } ] }, "taxonomy": { "categories": [ "Guia" ], "tags": [ "exemplo" ] }, "author": { "name": "Ana Souza", "role": "Editora", "bio": "Escreve sobre visibilidade em IA e SEO na ClickHunt.", "avatar": "https://app.clickhunt.ai/logos/platforms/clickhunt.png", "social": { "linkedin": "https://www.linkedin.com/company/clickhunt" } }, "createdBy": { "name": "Ana Souza", "avatar": "https://app.clickhunt.ai/logos/platforms/clickhunt.png" }, "cover": { "url": "https://app.clickhunt.ai/logos/platforms/clickhunt.png", "alt": "Capa do artigo" }, "images": [ { "url": "https://app.clickhunt.ai/logos/platforms/clickhunt.png", "alt": "Capa do artigo", "caption": null, "width": null, "height": null, "kind": "cover", "position": -1 }, { "url": "https://cdn.example/a.webp", "alt": "Alt A", "caption": "Legenda", "width": 800, "height": 600, "kind": "stock", "position": 3 } ], "cta": { "id": "cta-exemplo", "headline": "Quer rastrear sua marca nas IAs?", "subheadline": "Veja como a ClickHunt monitora ChatGPT, Claude, Gemini e Perplexity.", "buttonLabel": "Conhecer a ClickHunt", "buttonLink": "https://clickhunt.ai", "utm": { "source": "clickhunt", "medium": "webhook-example", "campaign": "guia-exemplo", "content": "", "term": "" } }, "generation": { "origin": "manual", "objective": null, "goal": null, "length": null, "country": null, "keyword": "guia de exemplo", "keywords": [ "guia de exemplo" ], "imageStyle": null, "imagePalette": null, "autoLink": null, "materials": [], "references": [] } } } Exemplo abreviado: html, markdown, blocks.body e images foram encurtados para caber aqui. O botão Enviar artigo de teste entrega o payload completo no seu endpoint. Alguns pontos sobre este payload que valem a pena notar: - body só traz as chaves dos formatos que você marcou na configuração (html, blocks, markdown). Se você desmarcar todos menos um, os outros dois somem do corpo, não vêm vazios. Quando o artigo foi editado à mão no editor, html e markdown refletem o texto editado e blocks mantém a estrutura gerada. - article.deleted manda um corpo bem mais enxuto: só { id, externalId, slug, previousSlugs }, sem o resto do artigo, porque nessa hora o conteúdo pode já ter sido apagado daqui também. - cta.utm pode conter os textos literais {project} e {article} em medium/campaign/content quando o CTA usa o padrão da plataforma. Isso é um modelo, não um valor pronto: substitua {project} pelo nome (ou id) do projeto e {article} pelo identificador do artigo antes de montar o link final do seu lado. - article.generation.goal e article.generation.length vêm sempre null hoje. O produto ainda não coleta esses dois campos na criação do artigo; quando passar a coletar, eles deixam de vir vazios, sem mudar o formato do payload. - Um artigo editado várias vezes seguidas em menos de 15 segundos gera um único article.updated no final da rajada, não um por edição salva. Eventos e quando disparam O evento que sai depende do estado atual do artigo aqui e do que o seu sistema já recebeu antes: | Situação aqui | O que o seu sistema já tinha | Evento enviado | |---|---|---| | Artigo publicado | Ainda não tinha esse artigo | article.published | | Artigo publicado (edição) | Já tinha o artigo publicado | article.updated | | Artigo arquivado ou volta para rascunho | Tinha o artigo publicado | article.archived (o payload leva o status real) | | Artigo arquivado ou rascunho | Nunca chegou a receber o artigo | nenhum evento (nada a derrubar) | | Artigo excluído aqui | Tinha o artigo publicado | article.deleted | | Artigo excluído aqui | Nunca recebeu esse artigo | nenhum evento | Rascunho nunca é enviado como novidade. Mas se um artigo que já está no seu sistema volta para rascunho por aqui, você recebe um article.archived avisando, porque do contrário as duas pontas ficariam divergentes em silêncio. Se você desligar um evento na configuração (por exemplo, desligar "publicado"), esse artigo específico nunca dispara aquele evento, e como consequência os eventos seguintes dele também ficam presos: sem article.published, o article.updated daquele mesmo artigo nunca vai sair, porque para o sistema o artigo nunca chegou a ser publicado do seu lado. Além dos quatro eventos de artigo, existem dois auxiliares: ping (o teste de conexão, sem article no corpo) e article.test (o "Enviar artigo de teste" do painel, com test: true e a fixture de exemplo). O que devolver Basta responder com um status 2xx. Redirecionamentos (3xx) são tratados como falha: a URL configurada precisa responder diretamente, sem redirecionar para outro endereço. O corpo é opcional; se você quiser, devolva um JSON com { "id": "...", "url": "..." } (ou { "data": { "id": "...", "url": "..." } }), e a ClickHunt guarda esse id como o identificador do artigo no seu sistema e essa url como o link público dele. Qualquer outro formato de resposta é ignorado, sem erro. Fora da faixa 2xx, o que sai muda o que a ClickHunt registra: | Situação | Código interno | |---|---| | Timeout, DNS, falha de conexão | network | | URL barrada por segurança (IP privado, esquema inválido) | blocked_url | | 401, 403 ou outro 4xx | endpoint_rejected | | 404 | not_found | | 410 | endpoint_gone | | 429 | rate_limited | | 5xx | endpoint_error | O prazo de resposta é de 15 segundos. Se o seu endpoint só enfileira a requisição (por exemplo, um serverless atrás de uma fila), responda 2xx assim que enfileirar, sem esperar o processamento terminar. Retentativas Uma entrega que falhar é tentada de novo, com um intervalo que cresce a cada tentativa: 5 minutos depois da 1ª falha, 15 minutos depois da 2ª, 1 hora depois da 3ª, 6 horas depois da 4ª. São 5 tentativas ao todo (a original mais 4 retentativas), o que leva cerca de 7 horas e 20 minutos entre a 1ª e a 5ª falha. Na 5ª falha, a ClickHunt para de tentar sozinha, sem chegar ao quinto degrau do backoff que outras plataformas continuam usando. Depois de parar, o artigo fica com o estado de falha visível na tela, e só volta a tentar quando você clicar em Reenviar, seja na tela do artigo ou na aba Histórico. Histórico A aba Histórico do painel do webhook mostra as últimas 50 entregas: evento, artigo, código HTTP, duração, número da tentativa e data. Clicar numa linha expande a resposta que o seu endpoint devolveu. Cada linha tem um botão de Reenviar, quando faz sentido: para article.published, article.updated e article.archived, ele limpa o erro e enfileira o artigo de novo; para ping, ele testa a conexão de novo; para article.test, ele reenvia o mesmo artigo de exemplo. article.deleted não tem botão de reenvio. O histórico é mantido por 30 dias; entradas mais antigas são removidas automaticamente. Perguntas frequentes Um artigo em rascunho é enviado? Não. Rascunho nunca sai pelo webhook. Só publicado, atualizado, arquivado e excluído disparam entrega, e mesmo assim só os eventos que você deixou marcados. Como testo num ambiente local, antes de subir meu endpoint? Use um túnel como o ngrok (ou similar) para expor a sua máquina numa URL https pública temporária, cole essa URL na configuração do webhook e use o botão "Enviar artigo de teste" para validar a assinatura e o formato sem publicar nada de verdade. Se eu conectar o webhook hoje, os artigos que já publiquei antes são reenviados? Não. O webhook só entrega artigos novos a partir do momento em que ele é conectado. Não existe reenvio automático do que já estava publicado no destino anterior (blog nativo ou outra plataforma).

Última atualização em Sep 11, 2026