ciro.chat

O cliente é seu. A conversa também deveria ser.

Uma API pública sobre o protocolo do WhatsApp Web. Seu número, seu aparelho, suas regras — sem provedor para pedir aprovação, sem revisão de modelo, e sem taxa em cada frase que você manda.

Ver como funciona

Plano gratuito · traga seu númeroSem cartãoPrimeira mensagem em minutos

Você precisa ter o direito de usar cada número que conectar e é responsável por cumprir os termos das redes que alcançar. O Ciro é para conversar com quem já te escolheu — conta que alcança desconhecido é encerrada. Política de uso

Para quem é

Três portas. Uma API.

Os mesmos endpoints atendem o desenvolvedor ligando uma ferramenta interna, a plataforma provisionando milhares de clientes, e o agente de IA que precisa de um número próprio.

01 — você constrói um produto

Coloque mensagem dentro do seu próprio produto.

Crie um canal, embuta o widget de pareamento no seu app, e seu usuário conecta lendo um código com o próprio celular. A sessão roda na nossa nuvem.

Você não hospeda nada. Sem contêiner para manter vivo, sem arquivo de sessão para salvar, sem tela de pareamento para desenhar.

Criar um canalPOST /v1/channels
# BYOD — seu número, seu aparelho
curl -X POST https://api.ciro.chat/v1/channels \
  -H "x-api-key: $CIRO_KEY" \
  -d '{"name":"Support","deviceModel":"byod"}'
ParearPOST /v1/widget/sessions
# cunhe uma sessão curta e embuta
curl -X POST https://api.ciro.chat/v1/widget/sessions \
  -H "x-api-key: $CIRO_KEY" \
  -d '{"channelId":"'$ID'"}'

<iframe src="https://ciro.chat/embed?token=SESSION_TOKEN"
        allow="camera" width="380" height="440"></iframe>
EnviarPOST /v1/channels/:id/messages
curl -X POST https://api.ciro.chat/v1/channels/$ID/messages \
  -H "x-api-key: $CIRO_KEY" \
  -d '{"contact":"5511999998888","body":"Your order shipped."}'
02 — seus clientes têm clientes

Provisione mil clientes por API.

Uma chamada autenticada cria a organização, a empresa, a chave de API e o primeiro usuário administrador — de forma atômica. Depois você embute o widget com a sua marca e cada cliente seu conecta os números dele, quantos precisar.

A multi-tenancy é nossa. A relação continua sua. O isolamento é garantido no banco, em dois níveis, não no código da sua aplicação.

Provisionar um clientePOST /partner/tenants
curl -X POST https://api.ciro.chat/partner/tenants \
  -H "x-partner-token: $CIRO_PARTNER_TOKEN" \
  -d '{
        "organizationName": "Acme Retail",
        "companyName": "Acme HQ",
        "adminEmail": "[email protected]"
      }'

# 201 →
#   organizationId · companyId · apiKey
#   admin: { email, tempPassword }
Depois, no seu produtoyour product
# suas cores, seu domínio
<iframe src="https://ciro.chat/embed?token=…&accent=%23C1552F"></iframe>

# o número entra no ar
window.addEventListener("message", (e) => {
  if (e.data.type === "ciro:connected") activate(e.data.channelId);
});
03 — seu agente precisa de um número

Dê um WhatsApp ao seu agente.

Um servidor MCP, para que o Claude Code e qualquer agente que fale o protocolo leia e envie mensagens por um número que é seu. Um comando para instalar, nenhum backend seu, e cada ferramenta aponta para um endpoint que já existe.

“Avise o cliente que o deploy terminou.” — e chega, do seu número, na conversa que ele já conhece.

InstalarMCP
claude mcp add ciro -- npx -y @ciro/mcp
# CIRO_API_KEY=…
O que o agente ganha8 tools
ciro_list_channels     → GET  /v1/channels
ciro_create_channel    → POST /v1/channels
ciro_connect_channel   → POST /v1/channels/:id/start
ciro_channel_status    → GET  /v1/channels/:id
ciro_send_message      → POST /v1/channels/:id/messages
ciro_read_messages     → GET  /v1/channels/:id/messages
ciro_channel_events    → GET  /v1/channels/:id/events
ciro_set_webhook       → POST /v1/webhooks

Por que agora

Disseram que a conversa seria livre.

Construa em cima de nós, eles disseram. Traga seus clientes para cá. E uma indústria inteira trouxe — uma década de atendimento, aviso de pedido, comprovante de entrega, lembrete de consulta, tudo migrado para uma única rede. Depois o portão fechou. Hoje cada frase que você manda para quem já te escolheu tem pedágio.

Não estamos aqui para pedir um pedágio menor.

O que muda

Construído como infraestrutura, não como projeto de fim de semana.

Você não hospeda nada

A sessão roda na nossa nuvem. Você traz um número e um aparelho para parear uma vez — esse é todo o esforço operacional. Os kits auto-hospedados te entregam um contêiner e desejam boa sorte às três da manhã.

Multi-tenant de nascença

Organização → Empresa → Canal, isolados no banco por row-level security, em dois níveis. As chaves são escopadas por empresa. Nada nessa categoria entrega multi-tenancy pronta — você teria que construir, e errar uma vez é vazamento de dados.

Provisionar é uma chamada

Uma única requisição autenticada cria cliente, empresa, chave de API e usuário administrador, de forma atômica. Revenda aqui é primitiva da API, não planilha com abertura de ticket.

Um widget de pareamento para embutir

Token curto por canal, origem autorizada, a sua cor de destaque, e um aviso para a sua página no instante em que o número entra no ar. Quinze minutos de integração em vez de uma semana de lógica de polling.

Webhook que não perde

Assinado com HMAC-SHA256, enfileirado por outbox, com retentativa progressiva e fila de mortos que você consegue ler. Uma entrega em voo por canal e paralelismo entre canais — um cliente barulhento não travar o silencioso.

Estado que você acompanha

Mudança de status chega no instante em que acontece, e toda transição fica num log de eventos append-only. Nada sobre um canal é mistério para você reconstruir a partir de log de servidor.

Onde nos encaixamos

Três colunas honestas.

Ciro Kit auto-hospedadoAPI oficial
Quem opera a infraestrutura Nós Você A plataforma
Multi-tenant Nativo, dois níveis Você constrói Por conta
Taxa por mensagem Nenhuma Nenhuma Sim
Aprovação de modelo Nenhuma Nenhuma Obrigatória
Tela de pareamento Widget embutível Você constrói Fluxo hospedado
API de provisionamento Sim, atômica Você constrói Programa de parceiro
Garantia de entrega Outbox, HMAC, fila de mortos Em geral dispara e reza Forte
Conector de agente MCP oficial Só comunidade Não tem
Estado do canal em tempo real Chega na mudança Você faz o poll Webhook
Histórico de eventos Log append-only Seus próprios logs Limitado
Papéis de acesso por filial Nativo Não tem Business manager

Quando o caso é abrir conversa em escala com modelo aprovado, a resposta honesta é a API oficial. O Ciro é para a conversa que já é sua.

Sem rodeio

O que o Ciro não é.

O nome significa franco tanto quanto significa livre. Esta é a parte que quase todo fornecedor esconde.

Não é a API oficial, e não é provedor licenciado. O Ciro é uma API pública sobre o protocolo do WhatsApp Web. Leia os termos da plataforma e decida por você — não vamos fingir que essa decisão é nossa.

Não funciona sem aparelho. Um canal é ligado a um número real e pareia lendo um código de um celular real, como qualquer sessão web.

Não é caminho para alcançar desconhecido. O Ciro carrega a conversa com quem já te escolheu. Disparo para lista fria encerra a conta, e a sua entrega depende do comportamento de todo mundo — então a gente fiscaliza.

Não é a ferramenta certa para tudo. Se o seu caso é abrir conversa em escala com modelo aprovado, use o canal oficial. Preferimos perder a venda a te vender a coisa errada.

Preço

Por número. Nunca por mensagem.

Cobrar por mensagem faria de nós o pedágio, só mais barato. Preço fixo por número conectado significa que seu custo para de crescer no momento em que a sua conversa começa.

Grátis 0 traga seu número
  • 1 número
  • 100 mensagens por dia
  • Um endpoint de webhook
Solo $29 por número / mês
  • Mensagens ilimitadas
  • Envio de mídia
  • Webhook com retentativa e fila de mortos
Pro $79 por número / mês
  • Várias empresas
  • Papéis de acesso por filial
  • Suporte prioritário
Plataforma $499 a partir de · por mês
  • API de provisionamento
  • Subcontas e widget com sua marca
  • 25 números incluídos

Crédito pré-pago em stablecoin tem 10–15% de desconto. Cartão não é oferecido: adquirente classifica essa categoria como negócio proibido, e conta congelada no meio do mês seria a sua parada, não só a nossa. Preferimos avisar antes a te surpreender depois.

Começar

Inscreva-se para usar o Ciro.

Conte o que você está construindo e a gente entra em contato. O acesso abre em lotes, porque cada número é uma sessão viva — a gente prefere que a sua primeira hora funcione a que ela fique na fila.

Sem cartão. Sem compromisso. Toda inscrição é respondida.

Em 539 a.C., um rei tomou a maior cidade do mundo.

Todos esperavam correntes. Ele mandou gravar o oposto em argila: voltem para casa, falem sua língua, cultuem seu deus. É a declaração de liberdade mais antiga que sobreviveu, e o nome dele era Ciro.

Seus clientes. Sua conversa. Seu canal.

Ciro. Mensagem que não pede licença a ninguém.