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 dias | Até 14 dias úteis. Uma página fala em "entre 10 minutos e 14 dias úteis" Oficial |
| São três fases, incluindo Access Verification | Extinta em 03/10/2025. São dois. Oficial |
| Coexistence não permite marketing templates | Falso. A tabela fala das ferramentas nativas do app, não de templates via Cloud API Oficial |
| Precisa de um BSP parceiro e de Partner Solution | Não precisa. O que importa é o config_id. O solution_id é opcional Oficial |
| Precisa do produto pronto antes de submeter | A própria Meta oferece gravar o cURL do API Setup e o WhatsApp Manager Oficial |
| Um Web App do Apps Script serve de webhook | Não serve. Responde 302 por arquitetura, e a Meta exige 200 Relato |
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.
Become a Tech Provider, Meta for Developers
Pré-voo
Política de privacidade no ar, site conferido, dados da empresa alinhados. Depois disso o site congela.
algumas horas, e é você quem controlaBusiness Verification
Documentos da pessoa jurídica. É o caminho crítico inteiro do projeto.
até 14 dias úteisApp 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êConstrução e onboarding
Página estática, webhook, e a sessão ao vivo com o cliente.
cerca de um dia de trabalhoO 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.
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ário | Prova a razão social | Prova endereço ou telefone |
|---|---|---|
| LTDA ou SA | Contrato Social | Cartão CNPJ do dia |
| MEI | CCMEI | Cartão CNPJ |
| Endereço divergente | o mesmo de cima | conta 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.
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 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.
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
| Item | Regra |
|---|---|
| Áudio | Sem áudio. "Omit audio; our reviewers will not listen to it". Narração é desperdício, legenda é o que vale |
| Resolução | 1080p ou melhor, com o monitor em largura de 1440 ou menos na hora de gravar |
| Idioma | Interface em inglês, ou legendas explicando o que acontece na tela |
| Cursor | Use mouse, não teclado, e aumente o tamanho do cursor |
| Quantidade | Um vídeo por permissão. Juntar duas no mesmo arquivo é motivo declarado de rejeição |
| Captura de tela | Não serve. Tem que ser gravação |
| Duração | Sem 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_BRdo zero - Adicionar os botões de resposta rápida
- Submeter e mostrar o status ficando
pending
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 oficial | Prazo declarado |
|---|---|
| App Review de WhatsApp | "aproximadamente 24 horas" |
| App Review Introduction | menos de uma semana, frequentemente 2 a 3 dias |
| App Review FAQs | "may take up to several weeks" |
| Submission Guide | dentro 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
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
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
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
}
});
Vem só 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
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_idde 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, maismessages,history,smb_app_state_syncesmb_message_echoes - Depois disso o cliente cadastra a forma de pagamento no WhatsApp Manager. Sem isso não sai nada
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
| Risco | Impacto | Mitigação |
|---|---|---|
| Token de 60 dias por usar o template padrão | sistema morre em 60 dias, em silêncio | custom configuration com "never", antes do onboarding |
| Sync da Coexistence inutiliza o WhatsApp do cliente | catastrófico | agendar fora do horário, combinar contingência por escrito |
| Janela de 24h estourada | offboard e refazer no celular do cliente | comandos prontos antes de iniciar o fluxo |
| Verificação recusada por site ou razão social | mais 14 dias | pré-voo completo, e congelar o site |
| Editar dados durante a análise | reinicia do zero | não tocar em nada |
| Botão de App Review cinza | descoberta no pior momento | 1 chamada de API por permissão, 3 dias antes |
| Inatividade de 14 dias sem abrir o app | envios param sem aviso | avisar o cliente, monitorar account_update |
| Embedded Signup v2 morre em 15/10/2026 | retrabalho | construir v4 direto |
| Domínio faltando em um dos dois campos | falha silenciosa no retorno do code | conferir Allowed domains e OAuth redirect URIs |
| Offboarding não tem API | suporte confuso | só pelo app do cliente, em Conta, Business Platform, Desconectar |
Como validar cada etapa
| Etapa | Como saber que deu certo |
|---|---|
| Verificação | status na Central de Segurança, mais e-mail de confirmação |
| Chamada de API | o botão Request advanced access deixa de estar cinza. O prazo de propagação não é documentado pela Meta |
| App Review | e-mail com a decisão. Aprovação parcial existe, então confira permissão por permissão |
| featureType pegou | a tela de seleção de WABA é substituída por "conectar sua conta WhatsApp Business existente". Confie na tela, não no código |
| Webhook verificado | a Meta aceita a callback URL no painel. Respondeu diferente de 200, ela marca como não verificado e não envia nada |
| Coexistência ativa | GET /<PHONE_ID>?fields=is_on_biz_app,platform_type devolvendo is_on_biz_app: true e platform_type: "CLOUD_API" |
| Sync rodou | request_id na resposta, mais webhooks de history chegando em blocos |
| Token não expira | conferir 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:
| Trilha | Caminho | Entrada |
|---|---|---|
| Tech | Desenvolvedor terceiro → Tech Provider → Tech Partner | é a sua |
| Solution | Solution Partner | candidatura 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
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ágina | O 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 dia | Mensagens, 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 onboardados | 10 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 contato | Falso. É autoatendimento, iniciado por você Oficial |
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
| Capacidade | Tech Provider | Tech Partner | Solution Partner |
|---|---|---|---|
| Acesso direto à API da plataforma | sim | sim | sim |
| Agir em nome da empresa cliente | sim | sim | sim |
| Onboarding via Embedded Signup | sim | sim | sim |
| Incentivos do programa de parceiros | não | sim | sim |
| Faturar cliente via linha de crédito | não | não | sim |
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 nowpara 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
"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
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_typeausente, 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