ZAP-API
PreçosCasos de UsoBlogDocsLogin
Começar grátis
  1. Blog
  2. Domínio customizado na API WhatsApp: marca própria para revendedores
Reseller

Domínio customizado na API WhatsApp: marca própria para revendedores

Configure um domínio personalizado para sua API WhatsApp white-label. Seus clientes usam api.suaempresa.com.br sem ver a infraestrutura por baixo.

12 de maio de 2026·11 min de leitura·Equipe Editorial ZAP-API
Domínio customizado na API WhatsApp: marca própria para revendedores

Cliente final que vê "zap-api.tech" na URL da API durante a integração tem dois pensamentos: primeiro, "ah, então não é deles, é da ZAP-API". Segundo, "se eles cobram R$299 e a ZAP-API cobra R$49, posso ir direto na fonte". Ambos os pensamentos custam dinheiro para o reseller.

Domínio customizado resolve isso. Seu cliente vê api.suaempresa.com.br, recebe documentação branded e fica preso à sua marca. Este artigo é o passo a passo técnico completo, do CNAME ao SSL.

Por que domínio próprio importa

  • Confiança: domínio próprio é sinal de empresa estabelecida, não revenda.
  • Branding: em apresentações comerciais, "API da Sua Empresa em api.suaempresa.com.br" soa muito melhor que "vamos usar a ZAP-API".
  • Preço premium: permite cobrar 4-6x mais do que o custo, justificado pelo "produto próprio".
  • Sem dependência aparente: se um dia você migrar de provedor, cliente nem percebe (mantém a mesma URL).
  • Documentação branded: sua doc em docs.suaempresa.com.br em vez de doc compartilhada.

Pré-requisitos

  • Conta reseller ativa na ZAP-API
  • Domínio próprio (qualquer registrador: Registro.br, GoDaddy, Cloudflare, etc.)
  • Acesso ao painel DNS do seu domínio
  • 15 minutos para fazer toda configuração

Passo 1: Registrar o domínio na ZAP-API

Diferente do que a intuição sugere, o primeiro passo não é o DNS — é registrar o domínio, porque é a resposta desse endpoint que te diz exatamente quais registros criar. Logado como reseller:

POST https://api.zap-api.tech/v1/reseller/me/custom-domain
Authorization: Bearer <seu JWT de login>

{
  "domain": "api.suaempresa.com.br"
}

Response em sucesso

{
  "customDomain": "api.suaempresa.com.br",
  "status": "pending",
  "verification": {
    "type": "TXT",
    "name": "_cf-custom-hostname.api.suaempresa.com.br",
    "value": "a1b2c3d4-...",
    "instructions": "Adicione o registro TXT abaixo no DNS do seu domínio..."
  }
}

O bloco verification é o que importa: sem esse TXT, a validação de posse não fecha e o certificado nunca é emitido.

Passo 2: Criar os registros no DNS

São dois registros. O TXT prova que o domínio é seu; o CNAME manda o tráfego para o seu painel.

Tipo:    TXT
Nome:    _cf-custom-hostname.api    (o "name" devolvido no passo 1)
Valor:   a1b2c3d4-...               (o "value" devolvido no passo 1)
TTL:     300

Tipo:    CNAME
Nome:    api                         (ou seja, api.suaempresa.com.br)
Valor:   seu-slug.zap-api.tech       (o slug do seu painel reseller)
TTL:     300 (5 minutos)

Em alguns registradores brasileiros (Registro.br), o campo "Nome" se chama "Subdomínio" e o "Valor" se chama "Apontamento". É a mesma coisa. Seu slug aparece no GET /v1/reseller/me.

Passo 3: Verificar propagação DNS

Propagação DNS leva de 5 minutos a algumas horas. Para checar:

# Linux/Mac
dig api.suaempresa.com.br CNAME

# Windows
nslookup -type=CNAME api.suaempresa.com.br

# Cross-platform (se tiver Node)
node -e "require('dns').resolveCname('api.suaempresa.com.br', console.log)"

Se a resposta inclui seu-slug.zap-api.tech, está propagado.

Passo 4: Disparar a verificação e acompanhar o status

Com o DNS no ar, peça a verificação. O certificado é emitido automaticamente depois que a posse é confirmada:

POST https://api.zap-api.tech/v1/reseller/me/custom-domain/verify
Authorization: Bearer <seu JWT de login>
{
  "customDomain": "api.suaempresa.com.br",
  "status": "active"
}

O status tem três valores: pending (aguardando DNS/certificado), active (no ar com SSL) e failed (posse não confirmada — revise o TXT). Chame de novo até virar active.

Código: script de verificação automatizada

Útil para automatizar onboarding de revenda — registra, espera o DNS e só então dispara a verificação:

// verificar-dominio.js
import { resolveCname } from "dns/promises";
import axios from "axios";

const API = axios.create({
  baseURL: "https://api.zap-api.tech/v1",
  headers: { Authorization: `Bearer ${process.env.ZAP_JWT}` },
});

async function aguardarPropagacao(dominio, alvo, tentativasMax = 30) {
  for (let i = 0; i < tentativasMax; i++) {
    try {
      const cnames = await resolveCname(dominio);
      if (cnames.some((c) => c.includes(alvo))) {
        console.log(`✅ DNS propagado para ${dominio}`);
        return true;
      }
    } catch (err) {
      // ENOTFOUND ainda — continua tentando
    }
    console.log(`⏳ Tentativa ${i + 1}/${tentativasMax}: DNS ainda não propagou`);
    await new Promise((r) => setTimeout(r, 30_000)); // espera 30s
  }
  return false;
}

async function ativarDominio(dominio) {
  // 1. Registra e pega o TXT de posse + o slug do painel
  const { data: registro } = await API.post("/reseller/me/custom-domain", {
    domain: dominio,
  });
  const { data: { reseller } } = await API.get("/reseller/me");
  const alvoCname = `${reseller.slug}.zap-api.tech`;

  console.log("Crie estes registros no DNS:");
  console.log(`  TXT   ${registro.verification?.name} = ${registro.verification?.value}`);
  console.log(`  CNAME ${dominio} -> ${alvoCname}`);

  // 2. Espera o CNAME propagar
  const propagou = await aguardarPropagacao(dominio, alvoCname);
  if (!propagou) throw new Error("DNS não propagou em 15 minutos");

  // 3. Dispara a verificação até o certificado ficar pronto
  for (let i = 0; i < 20; i++) {
    const { data: status } = await API.post("/reseller/me/custom-domain/verify");
    if (status.status === "active") {
      console.log(`🎉 ${dominio} ativo com SSL`);
      return status;
    }
    if (status.status === "failed") {
      throw new Error("Verificação de posse falhou — revise o registro TXT");
    }
    console.log(`Status: ${status.status}, tentando novamente...`);
    await new Promise((r) => setTimeout(r, 10_000));
  }
  throw new Error("Domínio não ficou ativo em 200 segundos");
}

ativarDominio("api.suaempresa.com.br");

O que muda para o cliente final

Antes (sem domínio próprio)

// Código do cliente final
const ZAP = axios.create({
  baseURL: "https://api.zap-api.tech/v1",
  headers: { Authorization: "Bearer tk_xxx" },
});

Depois (com domínio próprio)

// Código do cliente final
const SUA_API = axios.create({
  baseURL: "https://api.suaempresa.com.br/v1",
  headers: { Authorization: "Bearer tk_xxx" },
});

Mesmo token, mesma API, URL com sua marca. Para o cliente, é como se você fosse o provedor.

E os webhooks?

Aqui não muda nada do nosso lado — a URL de webhook é a do seu endpoint, para onde a gente entrega os eventos. Se você quiser que o cliente veja sua marca aí também, aponte um subdomínio seu para a sua própria infraestrutura:

https://webhook.suaempresa.com.br/eventos

É um CNAME (ou A) para o seu servidor, não para a ZAP-API. O domínio customizado registrado no passo 1 cobre o painel e a API — um hostname por conta reseller.

Checklist pré-ativação

  • ☑ TXT de posse e CNAME criados com os valores do passo 1
  • ☑ DNS propagou (verificado com dig/nslookup)
  • ☑ POST /v1/reseller/me/custom-domain/verify retornou status "active"
  • ☑ Teste curl funcionando: curl https://api.suaempresa.com.br/health
  • ☑ Teste navegador funcionando (cadeado verde, sem aviso de SSL)
  • ☑ Documentação atualizada com nova URL
  • ☑ Cliente piloto testado e validado

FAQ

Quanto tempo leva o DNS propagar?

Em média 5-15 minutos para registradores brasileiros. Pode chegar a 24h em casos extremos. Para acelerar, configure TTL=300 antes de fazer mudanças (avisa servidores DNS para checarem com mais frequência).

O SSL é automático mesmo? Não preciso renovar?

Sim, automático. O certificado é emitido e renovado antes da expiração pela camada de borda, sem ação sua. Se houver falha de renovação, alertamos por email.

Posso ter múltiplos domínios para o mesmo reseller?

Não — é um hostname por conta reseller. Chamar POST /v1/reseller/me/custom-domain com um domínio diferente substitui o anterior (o hostname antigo é removido da borda). Se você atende marcas realmente distintas, o caminho é uma conta reseller por marca. Para remover sem substituir, use DELETE /v1/reseller/me/custom-domain.

E se meu domínio cair (DNS down, registrador instável)?

O domínio é seu — se o seu DNS cair, sua API fica fora. Por isso recomendamos usar provedor DNS robusto (Cloudflare, Route 53, Google Cloud DNS). Para alta disponibilidade extrema, configure DNS em dois provedores diferentes.

Posso usar subdomínio em vez de domínio raiz?

Sim. Subdomínio é justamente o recomendado: api.suaempresa.com.br (subdomínio "api" do domínio raiz). Domínio raiz (suaempresa.com.br direto na API) tecnicamente funciona via ALIAS/ANAME mas requer registrador que suporte (Registro.br não suporta na configuração padrão).

Próximo passo

Ative reseller no painel e configure seu domínio em 15 minutos. Criar conta grátis.

Experimente a ZAP-API gratuitamente

7 dias de trial sem precisar de cartão. A partir de R$29/mês*.

Criar instância grátis
EE
Equipe Editorial ZAP-APIRevisão técnica

Desenvolvedores e especialistas em integrações WhatsApp. Todo conteúdo passa por revisão técnica para garantir precisão e aplicabilidade.

Ver perfil completoDocumentaçãoTrial grátis

Leia também

Reseller · 06 de mai. de 2026 · 13 min

Criar agência de WhatsApp: painel white-label completo

Como criar uma agência de automação WhatsApp com painel white-label: marca própria, domínio customizado, billing separado por cliente e margem recorrente.

Reseller · 23 de mai. de 2026 · 13 min

Modelo de negócio reseller WhatsApp: billing, margem e escalabilidade

Como estruturar o modelo financeiro de uma agência ou SaaS revendedor de WhatsApp API: precificação, margem, billing recorrente e escala sem crescer equipe.

Reseller · 18 de mai. de 2026 · 12 min

Agência de marketing no WhatsApp: gerencie múltiplos clientes

Como agências de marketing digital gerenciam campanhas WhatsApp de múltiplos clientes com isolamento de instância, billing separado e relatórios individuais.

Reseller · 01 de jun. de 2026 · 12 min

Onboarding de cliente no painel white-label: do cadastro à primeira mensagem

Passo a passo completo para fazer onboarding de um novo cliente no seu painel white-label WhatsApp: criar conta, provisionar instância, conectar QR e enviar a primeira mensagem.

Tópicos:Chatbots com IAE-commerceAPI WhatsApp

Explore também

API WhatsApp grátisTeste 7 dias, sem cartãoAutomação WhatsAppAutomatize via REST APIAPI não oficialSem aprovação da MetaCasos de usoWhatsApp API por segmentoComparativoZAP-API vs alternativasPreçosPlanos e o que está inclusoGlossárioTermos técnicos de WhatsApp API
ZAP-API

API REST para WhatsApp com webhooks assinados, Meta Pixel/CAPI e compliance LGPD. Sem aprovação da Meta.

Status operacional🇧🇷 Feito no Brasil

Produto

  • Preços
  • Casos de uso
  • Automação WhatsApp
  • API não oficial
  • Comparativo
  • API WhatsApp grátis
  • Dashboard

Recursos

  • Documentação
  • Blog
  • Glossário
  • RSS Feed

Empresa

  • Sobre
  • Imprensa
  • Termos de uso
  • Privacidade
  • Criar conta
  • Login

Contato

  • [email protected]
  • [email protected]
  • Resposta em até 24h úteis
© 2026 ZAP-API — Todos os direitos reservados·CNPJ 42.130.949/0001-56·Termos·Privacidade

Desenvolvido por PreviusIA