API de Aquecimento
Os números de WhatsApp da conta, a conexão, os modos de aquecimento e o progresso de cada um, pelo seu sistema. O aquecimento segue o mesmo ritmo e as mesmas regras da tela.
Endereço base: https://www.protectzap.com.br/api/v1/aquecimento
O que dá para fazer
- Números: cadastrar, renomear e apagar números, e ver a situação de cada um (conectado, aquecendo, completo, em campanha, precisando de ação).
- Conexão: gerar o QR Code ou o código de conexão para mostrar no seu sistema, acompanhar até conectar e desconectar.
- Aquecimento: ligar e desligar os modos de cada número, acompanhar o dia, as mensagens e quantos dias faltam, e mudar o horário e o proxy regional.
- Avisos: receber no seu sistema quando um número conecta, cai, sofre restrição do WhatsApp, chega à meta ou tem o aquecimento pausado.
Para usar, a conta precisa do plano Pro+ do Aquecimento (ou do Acesso total Pro+) e de uma chave com o produto Aquecimento (veja Chaves e autenticação).
Conectar um número
O caminho completo, do cadastro ao aquecimento:
POST /api/v1/aquecimento/numeroscom o nome, e o cabeçalhoIdempotency-Key. Guarde oid(num_...).POST /api/v1/aquecimento/numeros/{id}/conectarcom{ "metodo": "qr" }, ou com o código pelo número e o telefone.GET /api/v1/aquecimento/numeros/{id}/codigoa cada 5 segundos: mostre oqr_code(ou ocodigo_pareamento) para a pessoa ler no WhatsApp do celular, em Aparelhos conectados. O QR Code se renova automaticamente; continue consultando atéconectado: true.PUT /api/v1/aquecimento/numeros/{id}/modoscom os modos recomendados. O aquecimento começa com um período de adaptação de 24 horas e se completa em cerca de 14 dias.
PUT /api/v1/aquecimento/numeros/num_.../modos
{ "comunitario": true, "grupos": true, "status": true }Números
Os números de WhatsApp da conta. Cada número tem uma situação, a mesma da tela: nunca conectado, desconectado, conectado sem aquecimento, adaptação (as primeiras 24 horas), aquecendo, aquecimento completo, em campanha ou em automação de Disparos, ou pausado por plano.
/api/v1/aquecimento/numerosPermissão: leituraListar números
Todos os números com a situação, os modos ligados, o progresso do aquecimento (dia, mensagens enviadas, meta, dias restantes, mensagens de hoje), a restrição do WhatsApp (restricao_ate), o proxy e onde mais o número está em uso, mais o resumo da conta. ?precisa_de_voce=true traz só os que pedem ação: desconectado, nunca conectado ou plano vencido.
/api/v1/aquecimento/numerosPermissão: leitura e escritaCadastrar um número
Cria o número, ainda sem conexão, dentro do limite de números do plano. O nome tem de 3 a 50 caracteres e não pode repetir outro número da conta. Exige o cabeçalho Idempotency-Key: a mesma chave devolve o mesmo número (repetido: true). Depois, conecte com /numeros/{id}/conectar.
Aceita simular; criar exige Idempotency-Key.
{ "nome": "Vendas" }/api/v1/aquecimento/numeros/{id}Permissão: leituraUm número
O número no mesmo formato da lista (num_...).
/api/v1/aquecimento/numeros/{id}Permissão: leitura e escritaRenomear
Muda o nome (de 3 a 50 caracteres, sem repetir outro número da conta).
{ "nome": "Vendas Sul" }/api/v1/aquecimento/numeros/{id}Permissão: leitura e escritaApagar
Apaga o número e a conexão dele: a sessão do WhatsApp sai junto e não há como desfazer. Número em campanha ou automação de Disparos é recusado (409 numero_em_uso): tire o número de lá antes.
Conexão
Conectar é ler um QR Code ou digitar um código no WhatsApp do celular. O pedido inicia a tentativa; o código chega alguns segundos depois e é consultado à parte, porque o QR Code se renova a cada 20 segundos, mais ou menos.
/api/v1/aquecimento/numeros/{id}/conectarPermissão: leitura e escritaConectar
metodo qr (padrão) ou codigo, com o telefone do número com DDD (o código é digitado em WhatsApp › Aparelhos conectados › Conectar com número de telefone). O código não volta aqui: consulte /numeros/{id}/codigo. Pedir de novo enquanto conecta reinicia a tentativa. Número já conectado é recusado (409 ja_conectado): desconecte antes para trocar a sessão.
{ "metodo": "codigo", "telefone": "5511999998888" }/api/v1/aquecimento/numeros/{id}/codigoPermissão: leituraCódigo de conexão
O código atual: qr_code (imagem PNG em data URL) ou codigo_pareamento, e a situacao (conectando, conectado ou desconectado). Consulte a cada 5 segundos até conectado: true; consultar não reinicia a tentativa.
/api/v1/aquecimento/numeros/{id}/desconectarPermissão: leitura e escritaDesconectar
A sessão do WhatsApp sai, o aquecimento para e as conversas da rede ficam pausadas até conectar de novo. A campanha de Disparos que usava o número passa os envios dele para os outros números. Número já desconectado não muda nada (mudou: false).
Modos e progresso
O aquecimento roda pelos modos ligados em cada número: Comunitário (conversas 1 a 1 com números de outros clientes da ProtectZap), Grupos (entrada gradual nos grupos da ProtectZap, o primeiro na hora e os outros ao longo da semana), Status (publica Status com as imagens e vídeos da conta) e Privado (conversas entre os números da própria conta). O recomendado é Comunitário, Grupos e Status.
/api/v1/aquecimento/numeros/{id}/modosPermissão: leitura e escritaLigar e desligar modos
Só os modos enviados mudam; desligar vem antes de ligar. Ligar confere o plano, o limite de números aquecendo, a conexão, dois números conectados para o Privado e arquivos de Status para o Status, e recusa número em campanha ou automação de Disparos (409 numero_em_uso). Repetir o pedido não muda nada (mudou: false). Se um modo for recusado, os anteriores do mesmo pedido já valeram: o erro traz detalhes.aplicadas.
{ "comunitario": true, "grupos": true, "status": true }/api/v1/aquecimento/numeros/{id}/progressoPermissão: leituraProgresso
Dia do aquecimento, mensagens enviadas, meta, se concluiu e quantos dias faltam, mais ou menos.
/api/v1/aquecimento/configuracoesPermissão: leituraConfigurações
O horário do aquecimento (Brasília), se os números salvam os contatos da rede, o limite de números aquecendo do plano e o proxy da conta.
/api/v1/aquecimento/configuracoesPermissão: leitura e escritaMudar configurações
Muda só o que vier: horario (inicio e fim, HH:MM, início antes do fim), salvar_contatos e proxy da conta (modo conta, um local para todos os números, ou numero, cada número com o seu, e o local em pais, estado e cidade). Um pedido com erro não grava nada.
{ "horario": { "inicio": "08:00", "fim": "21:00" }, "proxy": { "modo": "conta", "estado": "sp", "cidade": "campinas" } }Proxy regional
A cidade de onde o número se conecta. Vale na próxima conexão do número. Com a conta no modo `conta`, todos os números usam o local da conta; no modo `numero`, cada número usa o seu (e, sem cidade própria, o da conta).
/api/v1/aquecimento/proxy/cidadesPermissão: leituraCidades disponíveis
?estado=sp lista as cidades do estado; ?busca=campinas procura pelo nome. Cada cidade tem o valor, que vai no campo cidade, e o nome.
/api/v1/aquecimento/numeros/{id}/proxyPermissão: leituraProxy de um número
O local do número, o da conta e o que vale agora (vigente, com a origem: numero ou conta).
/api/v1/aquecimento/numeros/{id}/proxyPermissão: leitura e escritaMudar o proxy de um número
Grava o local do número (estado e cidade; cidade: null limpa). A cidade é conferida no catálogo. vale_na_proxima_conexao: true quando o número já está conectado.
{ "estado": "sp", "cidade": "campinas" }Webhooks
Avisos para o seu sistema quando algo acontece. O cadastro é da conta: o mesmo webhook aparece nas APIs dos outros produtos e pode pedir avisos de todos os produtos em que a conta está no plano Pro+.
/api/v1/aquecimento/webhooksPermissão: leituraListar
Os webhooks da conta com o resumo das últimas 24 horas. O segredo nunca volta aqui.
/api/v1/aquecimento/webhooksPermissão: leitura e escritaCriar
url https pública, eventos e descricao opcional. A resposta é a única vez em que o segredo aparece. Até 5 por conta, e o dono é avisado no painel.
{ "url": "https://seu-sistema.com/protectzap", "eventos": ["aquecimento.numero.desconectado", "aquecimento.numero.concluido"] }/api/v1/aquecimento/webhooks/{id}Permissão: leituraUm webhook
Endereço, avisos pedidos, situação e as falhas recentes (whk_...).
/api/v1/aquecimento/webhooks/{id}Permissão: leitura e escritaMudar
Muda url, eventos, descricao ou ativo. Religar entrega o que ficou na fila.
/api/v1/aquecimento/webhooks/{id}Permissão: leitura e escritaApagar
Apaga o webhook e o histórico de entregas dele.
/api/v1/aquecimento/webhooks/{id}/entregasPermissão: leituraEntregas
Os últimos avisos (até 200, 30 dias de histórico) com a situação e a resposta de cada um.
/api/v1/aquecimento/webhooks/{id}/testarPermissão: leitura e escritaTestar
Manda um webhook.teste agora e devolve o que o endereço respondeu.
/api/v1/aquecimento/webhooks/{id}/segredoPermissão: leitura e escritaTrocar o segredo
Gera um segredo novo; o antigo deixa de valer na hora. A resposta é a única vez em que ele aparece.
/api/v1/aquecimento/webhooks/entregas/{id}/reenviarPermissão: leitura e escritaReenviar um aviso
Manda de novo um aviso (whe_...) com o mesmo id, para o seu sistema descartar se já recebeu.
/api/v1/aquecimento/webhooks/eventosPermissão: leituraCatálogo
Os avisos do Aquecimento que um webhook pode pedir.
Limites do Aquecimento
- Números da conta: o limite do plano vale para cadastrar (o maior entre os limites de Aquecimento, Disparos e Grupos da conta) e, à parte, para quantos números aquecem ao mesmo tempo (o limite do plano de aquecimento, em
limite_aquecendo). - Ritmo: o aquecimento segue o mesmo ritmo da tela, número a número. Ligar modos pela API não acelera nada: a meta de 2.500 mensagens é atingida em cerca de 14 dias.
- Números em Disparos: número em campanha ou automação de Disparos fica com o aquecimento pausado enquanto isso, e a API recusa ligar modos nele.
- Conexão: o QR Code e o código de conexão valem por pouco tempo. Pedir uma conexão nova enquanto outra está em andamento reinicia a tentativa.
Avisos de webhook do Aquecimento
Os avisos que um webhook pode pedir para o Aquecimento. Cada um traz o numero (id, nome e telefone) e, quando há, o motivo: na desconexão, por_voce, queda ou banimento_provavel; na pausa, plano, limite, campanha ou automacao. Como funcionam a entrega e a assinatura está em Webhooks.
| Aviso | Quando chega |
|---|---|
| aquecimento.numero.conectado | Um número conectou pela primeira vez ou voltou a conectar |
| aquecimento.numero.desconectado | Um número desconectou, com o motivo: por você, queda ou banimento provável |
| aquecimento.numero.restrito | O WhatsApp restringiu o alcance de um número (iniciar conversas fica bloqueado por um tempo), com até quando |
| aquecimento.numero.concluido | Um número chegou à meta de mensagens do aquecimento |
| aquecimento.numero.pausado | O aquecimento de um número foi pausado, com o motivo: plano, limite de números, campanha ou automação de Disparos |
Ferramentas do MCP do Aquecimento
Uma chave com o produto Aquecimento mostra estas ferramentas no servidor MCP. As que planejam devolvem um código, e só a ferramenta confirmar executa (veja MCP). Cadastrar, conectar e apagar números ficam com a API e a tela.
aquecimento_numerosNúmeros do AquecimentoPermissão: leituraOs números da conta com a situação (aquecendo, completo, desconectado, em campanha...), os modos ligados, o dia e as mensagens do aquecimento, a restrição do WhatsApp e onde mais o número está em uso, com o resumo da conta. Use os ids num_ daqui nas outras ferramentas.
Parâmetros: precisa_de_voce
aquecimento_progressoProgresso de um númeroPermissão: leituraDia do aquecimento, mensagens enviadas, meta e quantos dias faltam, de um número.
Parâmetros: numero
aquecimento_pendenciasO que precisa de açãoPermissão: leituraO que pede o usuário no Aquecimento: números desconectados ou nunca conectados, plano vencido, números com restrição do WhatsApp, aquecimento pausado (e por quê) e o uso do limite de números aquecendo.
aquecimento_planejar_modosPlanejar mudança de modosPermissão: leituraConfere, com as regras da tela (plano, limite de números aquecendo, conexão, Privado com dois números, Status com arquivos, número em campanha ou automação), ligar e desligar modos de um número. Nada muda: devolve um codigo_confirmacao (15 min) e só confirmar aplica.
Parâmetros: numero, modos
aquecimento_planejar_desconexaoPlanejar desconexãoPermissão: leituraMostra o efeito de desconectar um número (a sessão do WhatsApp sai, o aquecimento e os matchings param, e voltar exige ler o QR Code no celular). Nada muda: devolve um codigo_confirmacao (15 min) e só confirmar desconecta.
Parâmetros: numero
Erros do Aquecimento
Além dos erros que valem para toda a API:
| Status | Código | Quando |
|---|---|---|
| 403 | plano_sem_aquecimento | O plano da conta não inclui aquecimento. |
| 403 | conta_inativa | A assinatura da conta venceu: renove o plano para retomar o aquecimento. |
| 403 | limite_numeros | A conta atingiu o limite de números do plano. |
| 400 | limite_aquecimento | A conta atingiu o limite de números aquecendo do plano. |
| 400 | numero_desconectado | Ligar um modo num número desconectado: conecte antes. |
| 400 | privado_requer_dois | O modo Privado precisa de pelo menos dois números conectados na conta. |
| 400 | sem_arquivos_status | O modo Status precisa de arquivos de Status na conta (Configurações › Aquecimento). |
| 409 | numero_em_uso | O número está numa campanha ou automação de Disparos: o aquecimento fica pausado enquanto isso, e o número não pode ser apagado. |
| 409 | ja_conectado | Conectar um número que já está conectado. Desconecte antes para trocar a sessão. |
| 409 | nome_repetido | Outro número da conta já tem esse nome. |
| 400 | nome_invalido | O nome precisa ter de 3 a 50 caracteres. |
| 400 | telefone_invalido | O telefone para o código de conexão precisa ter o DDD. |
| 400 | cidade_invalida | A cidade não está no catálogo do proxy. Consulte /proxy/cidades. |
| 400 | horario_invalido | Horário fora do formato HH:MM ou início depois do fim. |
| 503 | sem_grupo_disponivel | Não há grupo de aquecimento com vaga agora. Tente ligar o modo Grupos de novo em alguns minutos. |
| 503 | capacidade_indisponivel | Não foi possível preparar a conexão agora. Tente de novo em alguns minutos. |