Atualizado em 28/10/2026
Para uma agência, a forma mais segura de gerenciar a API do WhatsApp de vários clientes é manter cada cliente no próprio portfólio empresarial da Meta, com a própria conta do WhatsApp e a própria conta de mensagens, e dar à agência acesso como parceira. Assim, limite de envio, qualidade, templates e cobrança ficam separados por cliente, e o número continua sendo do cliente se o contrato acabar. Do lado técnico, a agência centraliza tudo numa integração só e separa os clientes pelo phone_number_id.
Abaixo: estrutura, acesso, cobrança, templates, webhooks e relatórios por cliente.
Um portfólio por cliente: por que não juntar tudo
Pendurar todos os números num portfólio da agência parece mais simples, mas várias regras da Meta são calculadas por portfólio ou por conta, e isso mistura o risco de um cliente com o dos outros.
| Item | Onde fica na Meta | O que acontece se todos os clientes estiverem juntos |
|---|---|---|
| Limite de mensagens (destinatários únicos fora da janela em 24 h) | Portfólio empresarial | Todos os números dividem o mesmo limite; a campanha de um cliente consome a capacidade dos outros |
| Verificação da empresa | Portfólio empresarial | A verificação é da empresa dona do portfólio, não de cada cliente |
| Templates | Conta de mensagens | Templates de clientes diferentes ficam na mesma lista e com o mesmo histórico de qualidade |
| Forma de pagamento | Conta de mensagens | Uma fatura só, que a agência precisa ratear |
| Restrições por violação de política | Conta de mensagens | Uma campanha ruim de um cliente pode bloquear o envio dos demais |
| Nome de exibição | Número | Precisa representar a empresa do cliente, não a agência |
A documentação de limites de mensagens é clara: o limite vale para o portfólio, e todos os números dele compartilham a mesma cota. Um portfólio novo começa em 250 destinatários únicos em 24 horas e sobe para 2.000, 10.000, 100.000 e ilimitado. Com clientes separados, cada um tem a própria escada de limite e a própria reputação. E, se o cliente trocar de agência, o número vai junto, sem disputa.
A nova estrutura da conta: conta do WhatsApp e conta de mensagens
Desde 23/09/2026, a antiga WABA foi dividida em duas partes. A conta do WhatsApp guarda o número. A conta de mensagens guarda templates, cobrança e webhooks. Para a agência, a consequência prática é que acesso e troca de fornecedor passam pela conta do WhatsApp: trocar de provedor é compartilhar a conta do WhatsApp do cliente com o novo parceiro. Detalhamos a mudança em conta do WhatsApp x conta de mensagens.
Quer testar enquanto lê? Crie sua conta na Vectalk e envie a primeira mensagem pela API oficial. Criar conta grátis →
Como a agência ganha acesso aos ativos do cliente
Há dois caminhos comuns, e muitas agências usam os dois.
1. Cadastro Incorporado (Embedded Signup)
O Cadastro Incorporado é o fluxo da Meta, aberto a partir de um site ou portal, em que o cliente faz login, escolhe ou cria o portfólio, registra o número e autoriza o app a acessar esses ativos. A documentação de parceiros descreve variantes para clientes que já usam o app WhatsApp Business (coexistência) e para contas criadas e compartilhadas pelo Meta Business Suite.
Na prática, o próprio dono do portfólio conclui as telas numa chamada curta com a agência, sem compartilhar senha.
2. Acesso de parceiro no portfólio
Para tarefas que acontecem no painel da Meta (WhatsApp Manager, templates, pagamentos, verificação), o cliente pode conceder ao portfólio da agência acesso a ativos específicos como parceiro. O passo a passo está na central de ajuda da Meta, em Como conceder acesso a ativos do seu portfólio empresarial para um parceiro.
Peça só os ativos de que a agência precisa, atribua o acesso a pessoas nomeadas (nunca a um login compartilhado) e deixe no contrato que o administrador do portfólio é sempre o cliente.
Quem verifica a empresa
A verificação da empresa é feita no portfólio do cliente, com documentos do cliente. Ela é um dos caminhos para subir o limite de 250 para 2.000. A Meta também prevê que o parceiro que fez o onboarding verifique a empresa em nome do cliente, conforme a página de limites. Combine quem conduz.
Quem paga a Meta: três modelos de cobrança
A Meta cobra por mensagem entregue, pela categoria e pelo país do destinatário. Há três modelos comuns:
| Modelo | Quem paga a Meta | Como a agência cobra o cliente |
|---|---|---|
| Cliente com forma de pagamento própria | O cliente, direto na conta de mensagens | Agência cobra só o serviço dela |
| Provedor com linha de crédito | O provedor, que fatura o cliente | Agência cobra o serviço; o provedor fatura o uso |
| Proxy gerenciado (como a Vectalk) | A Vectalk paga a Meta | Mensalidade mais saldo pré-pago na Vectalk; cada mensagem entregue desconta do saldo; a agência decide se repassa |
A documentação de parceiros explica que, no caso dos Provedores de Tecnologia, o cliente cadastra a própria forma de pagamento e a Meta cobra o uso diretamente dele; já os Parceiros de Soluções podem estender linha de crédito e faturar o cliente. Os tipos de parceiro estão explicados em o que é BSP e Tech Provider.
Para montar a proposta, use as tarifas oficiais para destinatários no Brasil, em vigor desde 1º/10/2026:
| Categoria | Tarifa Meta (Brasil) |
|---|---|
| Marketing | R$ 0,3217 por mensagem entregue |
| Utilidade | R$ 0,0350 |
| Autenticação | R$ 0,0350 |
| Serviço | R$ 0,0350, após a franquia de 1.000 por mês por número |
Desde outubro de 2026, utilidade dentro da janela de atendimento também é cobrada. Explique isso ao cliente antes da primeira fatura. O artigo mensagens de utilidade na janela de atendimento traz os detalhes.
Templates por cliente
Os templates ficam na conta de mensagens de cada cliente. Isso é bom: a reprovação ou a pausa de um template não afeta os outros clientes. O trabalho da agência é manter um padrão para não se perder em dezenas de contas.
Uma convenção que funciona:
| Parte do nome | Exemplo | Para quê |
|---|---|---|
| Finalidade | pedido_confirmado | Saber o que o template faz |
| Variante | _v2 | Trocar o texto sem apagar o histórico |
Idioma (no campo language) | pt_BR | Manter versões por idioma com o mesmo nome |
Mantenha uma biblioteca de textos aprovados por setor. Os modelos de template por setor servem de ponto de partida. Antes de criar, confira a categoria: conteúdo promocional é marketing, mesmo que pareça um aviso. O guia como a Meta classifica seu template explica os critérios.
Na Vectalk, a criação de template usa o token da instância do cliente, e a conta de mensagens é resolvida pelo token:
curl -X POST https://apis.vectalk.com.br/api/templates \
-H "Authorization: Bearer TOKEN_INSTANCIA_CLIENTE_A" \
-H "Content-Type: application/json" \
-d '{
"name": "pedido_confirmado_v2",
"language": "pt_BR",
"category": "UTILITY",
"components": [
{ "type": "BODY", "text": "Olá {{1}}, seu pedido #{{2}} foi confirmado.",
"example": { "body_text": [["Ana", "4821"]] } }
]
}'
Webhooks e roteamento: uma integração, vários clientes
Todo evento da Cloud API chega com o phone_number_id em entry[].changes[].value.metadata. É por ele que a agência sabe de qual cliente é a mensagem. Um roteador mínimo em Node.js, com o mapa de clientes no código (em produção, no banco):
const CLIENTES = {
'1098765432': { nome: 'clinica-exemplo', destino: 'https://crm.agencia.com/clinica' },
'2034567891': { nome: 'loja-exemplo', destino: 'https://crm.agencia.com/loja' },
};
export async function rotear(evento) {
for (const entry of evento.entry ?? []) {
for (const change of entry.changes ?? []) {
const id = change.value?.metadata?.phone_number_id;
const cliente = CLIENTES[id];
if (!cliente) {
console.warn('phone_number_id sem cliente', id);
continue;
}
await fetch(cliente.destino, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(change.value),
});
}
}
}
Se você integra direto com a Meta, valide a assinatura X-Hub-Signature-256 antes de rotear; o passo a passo está em como validar a assinatura do webhook.
Na Vectalk, você registra várias URLs por instância com POST /api/webhooks (por exemplo, o CRM do cliente e o monitoramento da agência), e todas recebem o mesmo evento.
Relatórios por cliente
Separe por cliente e por mês: mensagens enviadas, entregues, lidas e com falha; envios por categoria (o que define o custo); erros recorrentes, como opt-out de marketing; e tempo de resposta, se a agência opera o atendimento. O custo estimado é a soma dos entregues por categoria vezes a tarifa. Para métricas de atendimento, veja TMR, TMA e CSAT no WhatsApp.
Na Vectalk, GET /api/messages aceita filtros de período, status e direção. Com um token de instância, a consulta já fica restrita àquele cliente:
curl "https://apis.vectalk.com.br/api/messages?from=2026-10-01&to=2026-10-31&status=failed&direction=outbound" \
-H "Authorization: Bearer TOKEN_INSTANCIA_CLIENTE_A"
Checklist de entrada de um novo cliente
- Portfólio próprio do cliente, com ele como administrador, e verificação iniciada.
- Número definido (novo ou em coexistência) e nome de exibição com a marca do cliente.
- Cobrança por escrito: quem paga a Meta e como o uso é repassado.
- Opt-in dos contatos documentado pelo cliente.
- Templates aprovados, webhook testado com uma mensagem real e relatório mensal combinado.
Como fazer com a Vectalk
A Vectalk é um proxy da WhatsApp Cloud API oficial: os payloads e webhooks são os da Meta, e o cliente paga a Vectalk, que paga a Meta. Para agências, três recursos resolvem a maior parte do trabalho:
- Instâncias por cliente. Cada número conectado vira uma instância, criada pelo Cadastro Incorporado da Meta.
- Token de organização. Um token acessa todas as instâncias; no envio, você informa o
phone_number_iddo cliente no corpo. Para templates e mídia, use o token da instância, como mostra a página de autenticação. - Webhooks por instância, com várias URLs para o mesmo número.
Se você quer oferecer a API oficial como parte do seu serviço, conheça o programa de parceiros da Vectalk, voltado para agências, integradores e software houses. As condições comerciais são definidas caso a caso com o time. Para testar antes, crie uma conta em apps.vectalk.com.br/register. Se é o primeiro contato com o assunto, comece pelo guia da API oficial do WhatsApp.
Perguntas frequentes
Posso usar um número da agência para atender vários clientes?
Não é recomendado. O nome de exibição e o perfil precisam representar a empresa que conversa com o cliente final, e a política do WhatsApp proíbe se passar por outra empresa ou confundir quem recebe. Além disso, o limite e a qualidade seriam compartilhados entre todos.
Se o cliente sair da agência, ele perde o número?
Não, se o portfólio e a conta do WhatsApp forem do cliente. Ele remove o acesso da agência e compartilha a conta do WhatsApp com o novo parceiro. O artigo como trocar de provedor sem perder o número mostra o processo.
A agência precisa virar Provedor de Tecnologia da Meta?
Só se quiser operar com um app próprio na Meta. Esse caminho exige verificação da empresa, revisão do app e acesso avançado às permissões whatsapp_business_messaging e whatsapp_business_management, conforme o guia Get started for Tech Providers. Usando um provedor, a agência integra pela API dele. Veja direto com a Meta ou por um provedor.
Vários clientes no mesmo portfólio dividem o limite?
Sim. O limite de mensagens é calculado por portfólio e compartilhado por todos os números dele. Por isso a recomendação é um portfólio por cliente.
Quem é responsável pelo opt-in dos contatos?
O cliente, que é quem envia. A agência pode montar formulários e fluxos, mas a base e o consentimento são do cliente, inclusive perante a LGPD (Lei 13.709/2018). Isto não é orientação jurídica.
Fontes oficiais consultadas em 28/10/2026: Limites de mensagens, Parceiros da plataforma, Get started for Tech Providers, Como conceder acesso a ativos para um parceiro, Política de Mensagens do WhatsApp Business (atualizada em 23/09/2026), Preços, Documentação da Vectalk.
Coloque o WhatsApp oficial da sua empresa para funcionar
Crie sua conta, conecte seu número à API oficial (dá para manter o app com coexistência) e comece a atender e enviar mensagens.
