Pular para o conteúdo
InsightLab

Meta Tech Provider na prática

O caminho completo até a Coexistence rodando no número do seu cliente. Comandos, código e as armadilhas que a documentação oficial não junta num lugar só.

2fases, não três
14dias úteis, teto oficial da verificação
~24htempo médio de resposta do App Review
60dias até o token padrão expirar
Oficial lido direto na doc da Meta
Relato quem já passou pelo processo
Sem fonte não encontrado, não inferido

Premissas que os outros guias erram

Começamos por aqui porque cada uma dessas custa dias. Todas apareceram em material publicado sobre o assunto, inclusive em coisa que a gente mesmo escreveu antes de conferir.

Circula por aíO que a doc diz
Verificação leva de 3 a 10 diasAté 14 dias úteis. Uma página fala em "entre 10 minutos e 14 dias úteis" Oficial
São três fases, incluindo Access VerificationExtinta em 03/10/2025. São dois. Oficial
Coexistence não permite marketing templatesFalso. A tabela fala das ferramentas nativas do app, não de templates via Cloud API Oficial
Precisa de um BSP parceiro e de Partner SolutionNão precisa. O que importa é o config_id. O solution_id é opcional Oficial
Precisa do produto pronto antes de submeterA própria Meta oferece gravar o cURL do API Setup e o WhatsApp Manager Oficial
Um Web App do Apps Script serve de webhookNão serve. Responde 302 por arquitetura, e a Meta exige 200 Relato
Por que confiar nesta tabela

Cada linha foi lida na página viva da Meta, não em cache nem em resumo. Onde a documentação se contradiz consigo mesma, e isso acontece mais de uma vez, a contradição está registrada em vez de resolvida no chute.

As duas fases

A ordem não é sugestão. A verificação de empresa trava o App Review, e o App Review trava a Coexistence.

"Your business must be verified before you can start the app review process."
Become a Tech Provider, Meta for Developers
00

Pré-voo

Política de privacidade no ar, site conferido, dados da empresa alinhados. Depois disso o site congela.

algumas horas, e é você quem controla
01

Business Verification

Documentos da pessoa jurídica. É o caminho crítico inteiro do projeto.

até 14 dias úteis
02

App Review

Acesso avançado às permissões, com dois vídeos e duas descrições distintas.

de 24h a várias semanas, conforme a página que você lê
03

Construção e onboarding

Página estática, webhook, e a sessão ao vivo com o cliente.

cerca de um dia de trabalho
Contradição registrada, não resolvida

O changelog de 03/10/2025 diz que Access Verification não é mais necessária para virar Tech Provider. A página de Embedded Signup, atualizada depois disso, ainda cita as três etapas para subir o limite de 10 para 200 clientes por semana. Para quem vai onboardar um cliente, tanto faz: o padrão já são 10.

Pré-voo

Editar qualquer dado da empresa durante a análise reinicia a verificação do zero. Publique tudo antes e congele.

Truque relatado por quem passou

Registrar o domínio no registro.br usando o CNPJ, para que a Meta encontre o mesmo CNPJ ao cruzar os dados da empresa. Três praticantes brasileiros dizem isso de forma independente, um deles assim: "compra um domínio e quando você tiver registrando lá no registro BR, tu coloca o teu CNPJ. Por quê? Quando a Meta for fazer a verificação da sua empresa, ela vai fazer uma busca." Relato

Vale saber o que isso não é: a página oficial de verificação de domínio descreve só três métodos técnicos, meta-tag, arquivo HTML e registro TXT no DNS, e não menciona CNPJ em lugar nenhum. O truque é sobre a checagem de identidade da empresa, que é etapa distinta, e a Meta não documenta como ela funciona por dentro. Sem fonte

Business Verification

O caminho é business.facebook.com/settings/security, botão Iniciar verificação. Se aparecer "Não se qualifica para verificação", o gatilho chega por e-mail vindo de outra plataforma. Siga aquele link.

Documentos aceitos no Brasil

CenárioProva a razão socialProva endereço ou telefone
LTDA ou SAContrato SocialCartão CNPJ do dia
MEICCMEICartão CNPJ
Endereço divergenteo mesmo de cimaconta de consumo no CNPJ ou extrato PJ
  • Conta de consumo serve só para endereço e telefone. A Meta é explícita que ela não prova razão social Oficial
  • Documento fiscal preenchido pela própria empresa não é aceito. Precisa ser emitido pelo governo Oficial
  • MEI passa. O CCMEI aparece como documento aceito para o Brasil nas listas que BSPs publicam do processo. A Meta não publica a lista por país, então isso vem de terceiro, não da fonte. Quem falha costuma esbarrar em outra coisa, endereço residencial no CCMEI, e-mail gratuito, site ausente, mas essa é leitura nossa dos padrões de recusa, não lista publicada por ninguém Relato
  • Português está na lista de idiomas aceitos. Não traduza nada Oficial
  • Tarje o CPF. A Meta pede para cobrir informação pessoal que ela não precisa Oficial

Método de confirmação

São cinco: e-mail, telefone, SMS, mensagem do WhatsApp e verificação de domínio. Vale escolher registro TXT de DNS, que não depende de deploy e não some num rebuild do site. A Meta confirma que o registro pode ser removido depois sem afetar o status.

Motivos oficiais de rejeição

  • Enviar ou ser suspeito de enviar informações falsas ou enganosas
  • Reivindicar portfólio que não é seu ou que você não representa
  • Tentar burlar o sistema de análise
  • Site que não carrega, sem HTTPS, ou com link que leva a erro

O quarto é o único puramente técnico e o mais fácil de evitar. Também é o mais ignorado.

Não toque em nada durante a análise

Editar razão social, endereço, telefone ou site enquanto a verificação corre reinicia o processo do zero. São até 14 dias úteis de novo. Oficial

App Review

Seis componentes, todos obrigatórios: verification, app settings, allowed usage, data handling, data protection e reviewer instructions. Rascunho não é analisado.

A armadilha que trava tudo

A Meta exige ao menos uma chamada de API bem-sucedida para cada permissão que você for pedir, feita dentro dos 30 dias anteriores à submissão. Não precisa ser pelo seu app: o Graph API Explorer serve. Oficial

O botão Request advanced access fica cinza até esse registro aparecer, e a propagação não é imediata. A Meta não publica o prazo. A única cifra que encontramos é "até 24 horas", e vem de thread da comunidade, não da documentação, com relatos de espera maior. Na prática, faça as chamadas alguns dias antes de querer submeter. Relato

Você não precisa do produto pronto

Este é o achado que tira o App Review do caminho crítico.

"As an alternative, you can capture a screen recording of the API Setup cURL script being used by you to send a message... Similarly, you can capture a screen recording of the WhatsApp Manager being used by you to create a template message, instead of your or your partner's app."

Circula que a Meta teria escrito, em outra página, que não é preciso esperar pela implementação completa do cadastro incorporado. Procuramos e não achamos essa frase, nem em inglês nem na versão em português, então não a tratamos como oficial. O que sustenta o atalho é o parágrafo acima, esse sim citável, mais o relato de quem virou Tech Provider com zero clientes usando um front montado em poucas horas só para gravar. Relato

Especificação dos vídeos

ItemRegra
ÁudioSem áudio. "Omit audio; our reviewers will not listen to it". Narração é desperdício, legenda é o que vale
Resolução1080p ou melhor, com o monitor em largura de 1440 ou menos na hora de gravar
IdiomaInterface em inglês, ou legendas explicando o que acontece na tela
CursorUse mouse, não teclado, e aumente o tamanho do cursor
QuantidadeUm vídeo por permissão. Juntar duas no mesmo arquivo é motivo declarado de rejeição
Captura de telaNão serve. Tem que ser gravação
DuraçãoSem limite documentado Sem fonte

Roteiro do vídeo A, para whatsapp_business_messaging

  • Comece deslogado. Faça login e mostre a tela de autorização com os escopos
  • App Dashboard, WhatsApp, API Setup. Adicione um número de teste como destinatário
  • Execute o cURL na tela, visível
  • Mostre o WhatsApp recebendo a mensagem
  • Legenda no momento do envio nomeando a permissão em uso

Roteiro do vídeo B, para whatsapp_business_management

  • Comece deslogado, login, tela de autorização
  • WhatsApp Manager, criar um template Utility em pt_BR do zero
  • Adicionar os botões de resposta rápida
  • Submeter e mostrar o status ficando pending
O que reprovou de verdade, segundo quem levou a recusa

Uma rejeição veio com o texto "determinamos que o caso de uso para permissão solicitada é válido" e mesmo assim reprovou. O que quebrou foi um botão de voltar no demo que não levava a lugar nenhum. Elemento de interface morto reprova, mesmo com a justificativa aceita. Teste cada botão visível no caminho que você gravar. Relato

Prazo, com a doc se contradizendo em quatro lugares

Página oficialPrazo declarado
App Review de WhatsApp"aproximadamente 24 horas"
App Review Introductionmenos de uma semana, frequentemente 2 a 3 dias
App Review FAQs"may take up to several weeks"
Submission Guidedentro de uma semana

O relato de primeira mão é mais útil que os quatro. Timeline printada de um caso real: submeteu às 07:00 e foi reprovado, resubmeteu às 08:21 e foi reprovado, resubmeteu às 10:53 e foi reprovado, aprovado às 03:00 do dia seguinte. Relato

A consequência estratégica é grande: itere rápido em vez de caprichar numa submissão única. O ciclo é curto o bastante para tratar rejeição como retorno, não como desastre.

O atalho que talvez exista

A documentação diz que dá para pular o App Review. Um relato de primeira mão diz que não funciona para Coexistence. Como não dá para resolver isso pela leitura, fica registrado dos dois lados.

O que a doc afirma

"If your app will only be used by app users who have a role on the app itself you do not need to complete verification; these users can grant your app any permissions at any time and all features are always active." Oficial

Somado a: "while your app is in development mode, these permissions will appear in Embedded Signup's authorization screen to anyone who has an admin, developer, or tester role on your app".

O que o relato afirma

"na hora de parear o QR code, ele dá um erro de app e não segue em frente. Só com o app aprovado que eu consegui." Relato

A Coexistence tem uma checagem além da de permissões, que a doc genérica não cobre, e ela é de status de Tech Provider, não de aprovação do app em si. Numa discussão pública do Chatwoot a regra aparece explícita, "You must be a Meta Tech Provider to onboard your existing WhatsApp Business App phone number", e quem abriu o problema confirmou depois: "Managed to get this working after becoming Tech Provider". Ou seja, o relato acima está certo no efeito e impreciso no nome: o que destrava não é o app aprovado, é o credenciamento. Relato

Se for testar

Custa cerca de uma hora, e você não precisa de cliente: use o seu próprio número, já que você é admin do próprio app. Se for pelo caminho do role, a doc diz que o Admin "can change all app settings, reset the app secret, remove the app", e que você só pode adicionar alguém como Tester "if they are your employee or you have an agreement with them which establishes that they are acting on your behalf as a tester". Oficial Daí a nossa recomendação, que é leitura nossa e não frase da Meta: use Developer. Ele basta para o teste sem carregar o poder de destruir o app nem a restrição contratual do Tester.

Construção

Arquitetura mínima

Cliente (navegador)
     |  clica em "Conectar WhatsApp"
     v
Página estática HTTPS  --- FB JS SDK, Embedded Signup --->  Meta
(Cloudflare Pages)     <-- code (TTL 30s) + waba_id --------
     |
     v
Business token (never-expire)

Meta --webhooks-->  Cloudflare Worker  -->  seu backend
                    (valida assinatura,
                     responde 200)

Obrigatório hospedar: a página HTTPS, que pode ser estática, e o webhook público. Sem webhook não há sincronização, e portanto não há Coexistence. Não é preciso domínio próprio, servidor persistente nem linha de crédito.

Apps Script não serve como webhook

Web Apps do Apps Script respondem HTTP 302, redirecionando de script.google.com para script.googleusercontent.com. É arquitetural, e não existe API no Apps Script para definir status code. A Meta exige 200 com o hub.challenge cru, e 302 não é 200. Há relatos equivalentes de falha com webhooks de Zoom e de Dropbox. Relato

Worker que funciona

export default {
  async fetch(request, env, ctx) {
    const url = new URL(request.url);

    if (request.method === 'GET') {
      if (url.searchParams.get('hub.mode') === 'subscribe' &&
          url.searchParams.get('hub.verify_token') === env.VERIFY_TOKEN) {
        return new Response(url.searchParams.get('hub.challenge'), {
          status: 200,
          headers: { 'content-type': 'text/plain' },
        });
      }
      return new Response('Forbidden', { status: 403 });
    }

    if (request.method === 'POST') {
      const raw = await request.text();
      const assinatura = request.headers.get('x-hub-signature-256');
      if (!(await valida(raw, assinatura, env.APP_SECRET))) {
        return new Response('Bad signature', { status: 401 });
      }
      ctx.waitUntil(fetch(env.DOWNSTREAM_URL, {
        method: 'POST',
        headers: { 'content-type': 'application/json' },
        body: raw,
      }));
      return new Response('EVENT_RECEIVED', { status: 200 });
    }

    return new Response('Method not allowed', { status: 405 });
  },
};

async function valida(corpo, header, secret) {
  if (!header?.startsWith('sha256=')) return false;
  const key = await crypto.subtle.importKey(
    'raw', new TextEncoder().encode(secret),
    { name: 'HMAC', hash: 'SHA-256' }, false, ['sign'],
  );
  const mac = await crypto.subtle.sign('HMAC', key, new TextEncoder().encode(corpo));
  const hex = [...new Uint8Array(mac)].map(b => b.toString(16).padStart(2, '0')).join('');
  const veio = header.slice(7);
  if (hex.length !== veio.length) return false;
  let dif = 0;
  for (let i = 0; i < hex.length; i++) dif |= hex.charCodeAt(i) ^ veio.charCodeAt(i);
  return dif === 0;
}
npm create cloudflare@latest wa-webhook -- --type=hello-world
cd wa-webhook
npx wrangler secret put VERIFY_TOKEN
npx wrangler secret put APP_SECRET
npx wrangler deploy

Session logging

Não é serviço nem log de servidor. É um listener de mensagem na página que abriu o fluxo, e é o único canal por onde chega o aviso de que o onboarding terminou e de que a janela de 24 horas começou a correr.

window.addEventListener('message', (event) => {
  if (!event.origin.endsWith('facebook.com')) return;
  try {
    const data = JSON.parse(event.data);
    if (data.type === 'WA_EMBEDDED_SIGNUP') {
      // guarde session_id, error_code e timestamp.
      // a Meta pede os tres quando voce abre suporte.
    }
  } catch {
    // payload nao-JSON
  }
});
Em Coexistence o payload é reduzido

Vem o waba_id. Quem codar esperando phone_number_id no payload vai receber undefined. Ele se busca depois, via Graph API, na WABA. E na tela final, fechar o popup no X conta como sucesso, não como cancelamento. Oficial

Embedded Signup v4

FB.login(fbLoginCallback, {
  config_id: '<CONFIGURATION_ID>',
  response_type: 'code',
  override_default_response_type: true,
  extras: {
    setup: {},
    featureType: 'whatsapp_business_app_onboarding',  // liga a Coexistence
    sessionInfoVersion: '3',
  },
});

A v2 morre em 15 de outubro de 2026. Construa v4 direto. A migração é mais de configuração que de código: criar uma Configuration nova do Facebook Login for Business, porque a v2 não se reaproveita, e esvaziar o extras, exceto em Coexistence, que é a exceção documentada.

Configuração sem código, e o erro que gera falha silenciosa

  • App Meta do tipo Business com use case WhatsApp
  • Configuration do Facebook Login for Business, que gera o config_id
  • Domínio em Allowed domains e em Valid OAuth redirect URIs. Faltando um dos dois, os IDs e o code não voltam, e a falha é silenciosa
  • Seis chaves em Yes: Client OAuth login, Web OAuth login, Enforce HTTPS, Embedded Browser OAuth Login, Strict Mode for redirect URIs, Login with the JavaScript SDK
A armadilha dos 60 dias

O template que a Meta manda usar chama-se literalmente "WhatsApp Embedded Signup Configuration With 60 Expiration Token". Seguindo o caminho recomendado, o token do seu cliente expira em 60 dias e o sistema para sem aviso.

Crie uma custom configuration com System-user access token e expiração "never". Esta decisão é irreversível depois do onboarding: mudar exige refazer o fluxo inteiro com o cliente. Oficial

Troca do code por token

curl --get 'https://graph.facebook.com/v21.0/oauth/access_token' \
  -d 'client_id=<APP_ID>' \
  -d 'client_secret=<APP_SECRET>' \
  -d 'code=<CODE>'

O code tem TTL de 30 segundos. A Meta prevê o modo manual e recomenda montar o comando antes de começar o teste, deixando colado no terminal esperando só o Enter. Sai um Business Integration System User token.

Dia D

A janela de 24 horas começa quando o fluxo termina, e cada sincronização roda uma vez só. Errar exige o cliente fazer offboard pelo celular e refazer tudo.

# 1. assinar webhooks na WABA do cliente
curl -X POST 'https://graph.facebook.com/<VER>/<WABA_ID>/subscribed_apps' \
  -H 'Authorization: Bearer <TOKEN>'

# 2. sincronizar contatos   (UMA VEZ)
curl -X POST 'https://graph.facebook.com/<VER>/<PHONE_ID>/smb_app_data' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"messaging_product":"whatsapp","sync_type":"smb_app_state_sync"}'

# 3. sincronizar historico  (UMA VEZ)
curl -X POST 'https://graph.facebook.com/<VER>/<PHONE_ID>/smb_app_data' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"messaging_product":"whatsapp","sync_type":"history"}'
  • Guarde o request_id de cada resposta. A Meta pede em suporte
  • Em Coexistence, pule o registro do número. Ele já está registrado Oficial
  • Webhooks a assinar: account_update, que é obrigatório sempre, mais messages, history, smb_app_state_sync e smb_message_echoes
  • Depois disso o cliente cadastra a forma de pagamento no WhatsApp Manager. Sem isso não sai nada
Agende fora do horário de trabalho do cliente

O Chatwoot mantém um issue aberto, classificado por eles como severidade 1, em que a sincronização travou e deixou o WhatsApp Business do aparelho inutilizável, sem enviar nem receber. A severidade é rótulo interno deles, não da Meta: procuramos e não achamos bug correspondente reconhecido no rastreador da Meta, nem workaround documentado. Se o número do cliente é o canal principal dele, uma sexta à noite custa muito menos que uma manhã de terça. Relato

Riscos

RiscoImpactoMitigação
Token de 60 dias por usar o template padrãosistema morre em 60 dias, em silênciocustom configuration com "never", antes do onboarding
Sync da Coexistence inutiliza o WhatsApp do clientecatastróficoagendar fora do horário, combinar contingência por escrito
Janela de 24h estouradaoffboard e refazer no celular do clientecomandos prontos antes de iniciar o fluxo
Verificação recusada por site ou razão socialmais 14 diaspré-voo completo, e congelar o site
Editar dados durante a análisereinicia do zeronão tocar em nada
Botão de App Review cinzadescoberta no pior momento1 chamada de API por permissão, 3 dias antes
Inatividade de 14 dias sem abrir o appenvios param sem avisoavisar o cliente, monitorar account_update
Embedded Signup v2 morre em 15/10/2026retrabalhoconstruir v4 direto
Domínio faltando em um dos dois camposfalha silenciosa no retorno do codeconferir Allowed domains e OAuth redirect URIs
Offboarding não tem APIsuporte confusosó pelo app do cliente, em Conta, Business Platform, Desconectar

Como validar cada etapa

EtapaComo saber que deu certo
Verificaçãostatus na Central de Segurança, mais e-mail de confirmação
Chamada de APIo botão Request advanced access deixa de estar cinza. O prazo de propagação não é documentado pela Meta
App Reviewe-mail com a decisão. Aprovação parcial existe, então confira permissão por permissão
featureType pegoua tela de seleção de WABA é substituída por "conectar sua conta WhatsApp Business existente". Confie na tela, não no código
Webhook verificadoa Meta aceita a callback URL no painel. Respondeu diferente de 200, ela marca como não verificado e não envia nada
Coexistência ativaGET /<PHONE_ID>?fields=is_on_biz_app,platform_type devolvendo is_on_biz_app: true e platform_type: "CLOUD_API"
Sync rodourequest_id na resposta, mais webhooks de history chegando em blocos
Token não expiraconferir a expiração na Configuration, antes do onboarding. Depois é tarde

Depois de Tech Provider

Circula um esquema de quatro degraus, ISV → Tech Provider → Tech Partner → Business Partner, com a Meta entrando em contato sozinha quando você bate a meta. Conferimos cada peça na documentação oficial: o desenho está errado, os números existem mas descrevem outra coisa, e o contato automático não existe.

Não é uma escada, são duas trilhas

A página oficial de parceiros lista três tipos, não quatro:

"Partners include Solution Partners, Tech Providers, and Tech Partners." Oficial
TrilhaCaminhoEntrada
TechDesenvolvedor terceiro → Tech Provider → Tech Partneré a sua
SolutionSolution Partnercandidatura separada, mais pesada

As duas trilhas são paralelas. Não se sobe de Tech Partner para Solution Partner. Oficial

  • "Meta ISV" não é um nível. Não aparece na documentação. ISV é termo de mercado para o que a sua empresa é, não o degrau em que ela está Sem fonte
  • Meta Business Partner não fica acima de Tech Partner. É o passo 3 dos 5 do próprio upgrade. A definição oficial: "Tech Partners are Tech Providers who are, or are eligible to become, Meta Business Partners" Oficial
  • Measurement Partner não é degrau. É papel de leitura para analytics, e o passo 1 do onboarding dele é "Complete Tech Provider onboarding" Oficial
  • BSP saiu do vocabulário. A documentação atual usa só Solution Partner. O fóssil do nome antigo é a URL, que segue /solution-providers/. Não achamos comunicado anunciando a troca Sem fonte

A armadilha está na tradução da própria Meta

Se você leu a página em português, você leu o contrário do que ela diz

A página oficial em inglês diz que Tech Providers qualificados podem self-initiate o upgrade, ou seja, iniciar eles mesmos. A versão pt-BR da mesma página traduz isso como "iniciar automaticamente", que em português se lê como "acontece sozinho". É daí que sai o mito do contato automático da Meta. Oficial

PáginaO que está escrito
Inglês"will be eligible to self-initiate the Tech Partner upgrade process" Oficial
Português"serão qualificados para iniciar automaticamente o processo de atualização" Oficial

Ninguém entra em contato: quem inicia é você, em App Dashboard > WhatsApp > Quickstart > Become a Partner > Take the next step. Oficial

Os quatro critérios, e os quatro erros que circulam

Circula por aíO que a doc diz
2.500 conversas por diaMensagens, enviadas ou recebidas, média diária dos últimos 7 dias. Conversa e mensagem são unidades de cobrança diferentes Oficial
(não menciona)Existe alternativa: 200 chamadas por dia na média de 7 dias satisfaz o critério sozinha Oficial
10 clientes onboardados10 clientes ativos, definidos como "usaram seu app para enviar ao menos 1 mensagem nos últimos 30 dias". Onboardar dez e deixar parados não conta Oficial
(não menciona)Falta o quarto critério: quality rating do número ≥ 90% Oficial
A Meta entra em contatoFalso. É autoatendimento, iniciado por você Oficial
O verbo do quarto critério é "maintain"

A doc escreve "maintain a business phone number quality rating of 90% or better". Não diz o que acontece se os números caírem depois da aprovação, e não publica processo de auditoria nem de perda de nível. A leitura prudente é tratar os quatro critérios como contínuos, e não como um estágio que se atravessa uma vez. Sem fonte

O que muda de fato ao subir

CapacidadeTech ProviderTech PartnerSolution Partner
Acesso direto à API da plataformasimsimsim
Agir em nome da empresa clientesimsimsim
Onboarding via Embedded Signupsimsimsim
Incentivos do programa de parceirosnãosimsim
Faturar cliente via linha de créditonãonãosim
Entre Tech Provider e Tech Partner muda exatamente uma linha

Elegibilidade a incentivos comerciais, e nenhuma capacidade técnica nova. Quem sobe esperando mais acesso de API não vai encontrar. Direct Support também não é prêmio de nível superior: Tech Providers já têm. Oficial

O que o Tech Partner ganha, literal: "Training and support · Analytics reports · Client matching opportunities", mais acesso ao Partner Portal e elegibilidade ao MBP SMB Accelerator Program. Oficial

Os cinco passos do upgrade

  • 1. App Dashboard > WhatsApp > Quickstart > seção Become a Partner > Take the next step
  • 2. Na página Onboarding, rolar até o fim e clicar Become a Partner, o que revela os quatro passos restantes
  • 3. Apply now para se candidatar a Meta Business Partner e à WhatsApp Specialty
  • 4. Criar conta no Partner Portal: nome, business ID e aceite do acordo
  • 5. Aderir ao Business Messaging Accelerate Program e assinar o acordo pelo card no portal

São dois contratos: a candidatura ao MBP e o acordo do Accelerate. Prazo oficial: "a few weeks to complete to get through all of the approvals". Isso conta só as aprovações, não o tempo de chegar aos critérios. Oficial

Aviso da própria doc

"Carefully fill out all business details because the information will be submitted and reviewed for approval." E: "you will receive emails ... If you do not see them, check your spam folder." Oficial

Onde a Meta se contradiz

O teto de onboarding do Embedded Signup vai de 10 para 200 novos clientes por janela móvel de 7 dias. Passar de 200 por semana é o gatilho documentado para pedir MBP, e não é critério de nível, como às vezes se lê. Oficial

Duas páginas oficiais discordam sobre Access Verification

A página de Embedded Signup ainda condiciona o aumento de 10 para 200 a completar "Business Verification, App Review, and Access Verification". O changelog oficial já registrou que Access Verification não é mais exigida, e a página de Tech Provider foi limpa: hoje ela não menciona o termo em lugar nenhum. A de Embedded Signup não foi. Preferimos publicar a contradição a escolher um dos lados. Oficial

Não existe trilha brasileira

Procuramos e não encontramos programa, critério ou exceção para Brasil ou América Latina. Os critérios são globais. O que o Brasil tem de próprio é produto, não parceria: existe uma seção inteira Payments Brazil na documentação, com Pix, Boleto, payment links e one-click. É diferença relevante para quem vende no Brasil, e não muda a hierarquia de parceiros. Sem fonte

O que ficou sem resposta

Marcado para não virar suposição. Se você tiver a resposta de qualquer um destes com fonte, escreva para a gente e o crédito é seu.

  • Limite de caracteres da justificativa de permissão
  • Duração, formato ou tamanho máximo do vídeo
  • Texto de submissão real e verificável que tenha sido aprovado
  • Número típico de rodadas até a aprovação
  • Limite oficial de tentativas de reenvio
  • Se a Meta segue redirect HTTP em webhook. É por isso que Apps Script está descartado por arquitetura, e não por teste
  • Confirmação ou desmentido do relato de que o SDK gera a URL de Embedded Signup em formato errado. As causas documentadas do mesmo sintoma são domínio não cadastrado, override_default_response_type ausente, ou TTL de 30 segundos estourado
  • Critérios públicos para virar Solution Partner. A página "Get started as a Solution Partner" é guia técnico e pressupõe que você já foi aprovado. A única pista oficial é a frase "becoming a Solution Partner is a lengthy process"
  • Critérios de candidatura ao Meta Business Partners. A página exige login antes de mostrar qualquer coisa
  • Como se entra no Partner Showcase, o diretório de parceiros. Que ele existe é oficial; o critério de entrada não é publicado
  • Taxa, comissão ou revenue share em qualquer nível. Nada publicado, o que não é o mesmo que ser gratuito: os termos comerciais só aparecem dentro dos acordos, depois do login
  • SLA, volume mínimo de manutenção, auditoria periódica, o que faz perder o nível e recurso contra rejeição. Lacuna real da documentação pública, não falha de busca
  • Existência de selo visual de Tech Partner. O que existe é a WhatsApp Specialty dentro do MBP, que não é a mesma coisa que o selo do Meta Verified nem que o checkmark de Official Business Account
  • Preços diferenciados, acesso antecipado a recursos ou gerente de conta dedicado. Só encontramos isso em blog de fornecedor, sem respaldo oficial
  • Relato de primeira mão do upgrade para Tech Partner, com datas reais. Não existe publicamente. A doc de um BSP reproduz os mesmos quatro critérios e a mesma frase "a few weeks": é cópia da doc da Meta, não confirmação independente