Respostas às perguntas mais comuns de quem avalia a API oficial do WhatsApp na D-API. Os detalhes de cada rota estão na documentação.
Relação com a Meta
A D-API é BSP ou Tech Provider? Quem é a contratante?
Somos Tech Provider da Meta. A contratante é a JA SOLUTIONS LTDA, CNPJ 40.925.787/0001-17.
Em qual Business Portfolio e WABA ficam os números?
No Business Portfolio e na WABA do próprio cliente. A D-API só tem o app assinado na WABA como parceira.
O cliente pode sair da D-API levando número, WABA, nome de exibição e templates?
Sim, sem custo e sem bloqueio: basta remover o app da D-API da WABA e conectar o novo provedor.
O Embedded Signup roda no app Meta da D-API? Dá para usar app próprio ou Solution ID?
Roda no nosso app Meta. Hoje não suportamos app próprio nem Solution ID do cliente.
Para usar o Embedded Signup, minha empresa precisa de app Meta, portfólio verificado ou status de Tech Provider?
Não. Basta a conta na D-API. Quem conecta o número precisa de uma conta do Facebook e de um Business Portfolio, que pode ser criado no próprio popup. A verificação do portfólio não é exigida para conectar, mas a Meta mantém limites de envio menores até ela ser feita.
Qual nome aparece na janela da Meta durante o Embedded Signup?
D-API.
Webhooks e confiabilidade
Os webhooks têm assinatura (HMAC)?
Ainda não. A assinatura HMAC está no nosso roadmap, sem data definida; avisamos no grupo de suporte quando for liberada. Até lá, use um token secreto e longo na URL do webhook e valide-o no recebimento. Não temos IPs de origem fixos.
A URL do webhook, com o token, aparece em logs ou no painel? É mascarada?
Ela aparece sem máscara no painel, para os usuários da sua conta. Você pode trocar a URL (e o token) a qualquer momento pela API ou pelo painel.
Qual é a política de retry?
São 3 tentativas com backoff exponencial (15 s e 30 s entre elas, menos de 2 minutos no total). Respostas 404 e 410 não são retentadas. Depois disso, não há reenvio automático.
Dá para reprocessar eventos perdidos?
Sim, se o armazenamento de mensagens estiver ligado: consulte GET /api/v1/chats/:chatId/messages ou reenvie ao webhook com /history/sync.
Qual é o tempo máximo de resposta do meu endpoint?
30 segundos por tentativa, com resposta 2xx.
Há garantia de ordem e de idempotência? Cada evento tem id estável?
A ordem não é garantida e pode haver reentrega. O id estável é o wamid da Meta, presente em todos os eventos da mensagem; use-o como chave de idempotência.
Os eventos de status trazem o wamid e os códigos de erro da Meta no modo meta_passthrough?
Sim. No meta_passthrough o statuses original da Meta é repassado com o wamid e os códigos de erro. No modo normalized, a falha chega como message.failed com o error_code da Meta.
Há API para listar conexões e mensagens recentes?
Sim: GET /api/v1/sessions lista as conexões e GET /api/v1/chats/:chatId/messages lista as mensagens.
Onboarding e conexão
O que acontece se o popup do Embedded Signup falhar ou for cancelado?
Nenhuma conexão é criada e o cliente pode tentar de novo. O status de uma conexão pode ser consultado em GET /api/v1/connections/cloud-api/:id.
Quanto tempo leva a ativação de um número?
É imediata ao concluir o Embedded Signup, salvo verificação pendente do lado da Meta.
A coexistência (número em uso no app WhatsApp Business) tem restrições?
Valem as regras da Meta: o número precisa ter uso real anterior, o envio fica em cerca de 20 msg/s e algumas funções do app deixam de funcionar, como listas de transmissão e mensagens temporárias. O histórico de até 180 dias é solicitado por você (smb_app_data) em até 24 h após conectar.
O token da Meta é permanente? Como meu backend recebe um token novo?
O token não expira, mas é revogado se o app da D-API for removido da WABA. Ele chega no webhook session.created e fica disponível em GET /api/v1/connections/cloud-api/:id/access-token.
Dá para o token da Meta não voltar ao navegador no fim do Embedded Signup?
Hoje o resultado do popup inclui o token; a opção de omiti-lo está no roadmap, sem data. Enquanto isso, ignore o campo no front e use o webhook session.created ou a rota de access-token no backend. A D-API não grava o token no navegador.
Como migrar um número de outro provedor ou da API não oficial?
De outro provedor: desvincule o provedor atual da WABA e conecte pelo nosso Embedded Signup. Da API não oficial: conecte por coexistência, se o número usa o app WhatsApp Business, ou como número novo.
Envio e templates
Onde está a referência OpenAPI? O SDK é obrigatório?
A OpenAPI está em https://api.d-api.cloud/swagger e a documentação em https://docs.d-api.cloud. O SDK é opcional: tudo é HTTP.
Há rota de marcar como lida e indicador de "digitando" na conexão oficial?
Ainda não. As duas estão no roadmap, sem data definida.
Dá para gerenciar templates por API?
Dá para listar, criar e excluir templates no formato components da Meta; a edição não é suportada. Um nome repetido devolve o erro da Meta, sem idempotência própria. O status de aprovação chega como message_template_status_update no modo meta_passthrough.
O envio de template aceita variáveis, botões, cabeçalho com mídia e categoria?
Aceita variáveis, botões e cabeçalho com mídia. A categoria é definida na criação do template, não no envio.
Como funcionam o download e a retenção de mídia recebida?
A mídia vai para o nosso bucket (EUA), fica disponível por 3 dias e chega como media_url no webhook. Você pode usar um bucket próprio ou desligar o armazenamento e baixar pelo media_id com /media/download (a Meta mantém o arquivo por cerca de 30 dias).
Quais são os rate limits?
A D-API não impõe limite próprio; a publishable key é limitada a 30 req/min. Vale o limite da Meta: cerca de 80 msg/s por número (20 msg/s em coexistência), além do limite diário conforme o tier do número.
Dados, segurança e LGPD
Vocês assinam DPA? Podem enviar o modelo?
Sim. O cliente é controlador e a D-API é operadora. Enviamos o modelo e assinamos o DPA mediante pedido em [email protected].
Onde os dados são armazenados e processados? Há transferência internacional?
Processamento e banco de dados ficam no Brasil (São Paulo). Só a mídia vai para um bucket nos EUA; para evitar a transferência, use bucket próprio ou desligue o armazenamento de mídia.
Quais são os suboperadores?
Servidores e banco de dados no Brasil (São Paulo); armazenamento de mídia nos EUA; Meta (WhatsApp Cloud API); Stripe (cartão) e Sicoob (Pix) para pagamentos.
Vocês guardam mensagens e mídia? Por quanto tempo?
As mensagens ficam guardadas sem expiração automática e a mídia por 3 dias. Excluímos a pedido, e o armazenamento pode ser desligado por API, por conexão ou na conta toda.
Dá para desligar o armazenamento na conta inteira antes da primeira conexão?
Sim: POST /api/v1/account/message-storage-settings e POST /api/v1/account/media-storage-settings. A partir daí não gravamos texto nem mídia; só a lista de contatos e de chats.
Com o armazenamento desligado, a reconciliação continua funcionando?
Não. GET /api/v1/chats/:chatId/messages e /history/sync dependem das mensagens gravadas. Com o armazenamento desligado, a reconciliação deve ser feita a partir do seu próprio banco.
Quem na D-API acessa o conteúdo das conversas? Há log de acesso?
Só a equipe técnica, para suporte e incidentes. Toda leitura do token da Meta gera log de auditoria.
Há certificações? Como é a gestão de incidentes?
Ainda não temos ISO 27001 nem SOC 2. Em caso de incidente de segurança, avisamos o controlador em até 48 h após a confirmação e comunicamos a ANPD conforme a LGPD. Incidentes de infraestrutura que afetem a operação são publicados na hora em https://status.d-api.cloud.
Como chaves e tokens são armazenados?
O token da Meta fica criptografado (AES-256-GCM) no banco. As chaves de API são separadas por ambiente e podem ser regeneradas a qualquer momento.
O que acontece com os dados quando o contrato acaba?
Mensagens, mídia e tokens são excluídos em até 30 dias após o término. Dados fiscais ficam guardados por 5 anos, por obrigação legal.
Comercial
Qual é a tabela de preços?
Por conexão ativa/mês: de 1 a 9 conexões, R$ 59,90; 10, R$ 39,90; de 11 a 50, R$ 35,00; acima de 50, sob consulta. SaaS que fecha com o comercial paga R$ 39,90 desde a primeira conexão. Inclui API, webhooks, painel e suporte. Não há setup, mínimo mensal nem fidelidade.
Como é cobrada a tarifa da Meta?
Direto pela Meta, no meio de pagamento cadastrado na WABA. Não passa pela nossa fatura e não tem margem da D-API.
O que acontece com as conexões se a assinatura atrasar ou for cancelada?
Se a fatura atrasar (vencimento em 4 dias), as conexões não caem na hora: tratamos o atraso direto com você e só fica bloqueada a criação de conexões novas. Se a assinatura for cancelada, as conexões seguem ativas até o fim do período pago. Os números e as WABAs continuam no portfólio de cada cliente.
O trial permite um teste completo? Dá para estender?
Sim. São 3 dias, sem cartão, com webhook, templates e coexistência, usando um número real (os números de teste da Meta não passam pelo Embedded Signup). Estendemos o prazo para avaliação técnica, é só pedir.
Operação e suporte
Qual é o SLA? Há página de status?
Disponibilidade de 99,9%, medida trimestralmente. Em incidentes que tragam prejuízo, o crédito é proporcional ao tempo de indisponibilidade, limitado a 30% da mensalidade do trimestre. A página de status fica em https://status.d-api.cloud.
Qual é o canal de suporte e o horário?
WhatsApp, em um grupo dedicado com o nosso time técnico, todos os dias, inclusive fins de semana e feriados, das 8h à 0h (horário de Brasília). Para escalonar, marque a severidade como crítica no grupo.
Qual é o tempo de resposta por severidade?
Primeira resposta, dentro do horário de suporte: crítica (plataforma ou envios fora do ar), até 30 min; alta (função degradada ou conexão parada), até 2 h; média (erro com contorno), até 8 h; baixa (dúvida ou melhoria), até 24 h.
Como vocês avisam de mudanças de API e manutenções?
Pelo grupo de WhatsApp e na documentação. Nenhuma mudança que quebre payloads é feita sem nova versão da API.
Vocês têm contrato, termos de uso e política de privacidade por escrito?
Sim: termos de uso em https://d-api.cloud/terms-of-use e política de privacidade em https://d-api.cloud/privacy-policy.
A conta oficial é isolada da API não oficial?
Sim. A conexão oficial nunca passa pela infraestrutura não oficial; se você só criar conexões oficiais, nenhum número seu usa esse canal.
