Classificar intenção
A ferramenta lê uma mensagem e responde o que a pessoa quer fazer: comprar, cancelar, pedir orçamento, reclamar, tirar dúvida — nas categorias que você definir para o seu negócio. É o classificador que transforma uma caixa de entrada caótica em filas roteadas automaticamente, mensagem por mensagem.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Intenção não é sentimento
Um cliente educadíssimo pedindo cancelamento e um cliente bravo tirando uma dúvida simples: o sentimento inverte, a ação necessária também. A intenção responde “o que essa pessoa quer que aconteça agora?” — e é isso que decide o fluxo: cancelamento vai para retenção, orçamento vai para vendas, dúvida vai para a base de conhecimento. Tom e emoção são camadas complementares, disponíveis em ferramentas irmãs do catálogo; aqui o foco é a ação pedida.
As categorias são suas
Cada negócio tem seu mapa de intenções: uma loja separa “rastrear pedido” de “trocar produto”; uma escola separa “matrícula” de “boleto vencido”. Você passa a lista de intenções do seu negócio junto com a mensagem, e a classificação encaixa cada texto na categoria certa — ou em “outros”, quando não há encaixe honesto. Começar com cinco a dez categorias claras funciona melhor que trinta sobrepostas: categoria confusa para humano é confusa para a máquina também.
Do WhatsApp ao sistema, sem triagem manual
O fluxo típico: mensagens do WhatsApp comercial, do formulário de contato ou do e-mail entram na API assíncrona conforme chegam; cada uma volta com a intenção classificada; seu sistema roteia — CRM, fila de atendimento, resposta automática de primeiro nível. A pessoa que passava a manhã lendo e encaminhando mensagens passa a cuidar só das que a máquina marcou como ambíguas.
O que custa e o que limita
US$ 0,003 por chamada, mais US$ 0,0135 por mensagem classificada, em dólar americano — 2.000 mensagens por mês somam cerca de US$ 27. O limite é de 20.000 tokens por chamada, folga suficiente para lotes grandes de mensagens curtas. Sem cadastro e sem mínimo: útil tanto para o autônomo com 50 mensagens semanais quanto para a operação com milhares diárias.
Casos de uso
WhatsApp comercial sem funil entupido
A TecnoSul Soluções Digitais recebe tudo pelo mesmo número: pedido de orçamento, suporte, cobrança, currículo. A classificação de intenção separa as conversas na entrada, e o comercial para de perder lead novo enterrado entre chamados técnicos.
Retenção que chega antes do cancelamento
Uma escola de idiomas em Curitiba classifica os e-mails recebidos. Mensagem com intenção de cancelamento dispara alerta imediato para a equipe de retenção — que liga em uma hora, com proposta na mão, em vez de descobrir a perda no fim do mês.
Leads imobiliários qualificados na chegada
Rafael Almeida Costa, corretor em Recife, recebe dezenas de mensagens por dia dos portais. A intenção separa quem quer visitar (prioridade máxima), quem pede informação e quem está só sondando preço — a agenda dele passou a render visita, não conversa.
Perguntas frequentes
Eu defino as minhas próprias categorias de intenção?
Sim — esse é o desenho da ferramenta. Você envia a lista de intenções que fazem sentido no seu negócio, com uma breve descrição de cada, e as mensagens são classificadas dentro dela. Sem taxonomia imposta.
E quando a mensagem tem duas intenções ao mesmo tempo?
“Quero cancelar, mas antes me explica essa cobrança” acontece o tempo todo. A classificação aponta a intenção principal e sinaliza a secundária, e o seu fluxo decide a regra — na dúvida, rotear pela mais crítica costuma ser o certo.
Serve para áudio de WhatsApp?
A classificação trabalha sobre texto. Para áudio, o caminho é transcrever primeiro — existe ferramenta de transcrição no catálogo — e classificar a transcrição na sequência, num fluxo encadeado via API.
Preciso treinar algum modelo com meus dados?
Não. Não há etapa de treinamento nem volume mínimo de exemplos: a lista de categorias com boas descrições basta para começar. Ajustar as descrições já é a forma de calibrar.
Qual o custo mensal numa operação pequena?
Quem classifica 500 mensagens por mês gasta em torno de US$ 7 — US$ 0,0135 por mensagem mais a chamada, em dólar, sem assinatura. Se num mês não rodar nada, não paga nada.
As conversas dos meus clientes ficam armazenadas aí?
Não há conta com histórico de conteúdo: a mensagem entra, a classificação sai. Pela LGPD, conversa de cliente é dado pessoal — mande o texto necessário à triagem e mantenha nome e contato no seu sistema.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/text/intent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/text/intent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/intent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/intent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/intent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"items": [
"valor-1",
"valor-2"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.intent",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_tokens | 20000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |