Blueprint de integração

WHMCS + CastlePanel

Um módulo de provisionamento para transformar eventos comerciais do WHMCS em operações seguras e auditadas no CastlePanel.

Arquitetura definida Desenvolvimento futuro API base disponível
Provisioning Moduleligado ao produto de hospedagem
Client Arearecursos técnicos no serviço
Single Sign-Oncliente e administrador
Service PropertiesIDs técnicos persistentes
Tipo de módulo

Provisionamento como núcleo

O módulo principal deve acompanhar o produto contratado. Um addon administrativo é opcional para configurações globais e diagnósticos.

Obrigatório

Provisioning Module

Cria e administra cada serviço de hospedagem, recebe os eventos de ciclo de vida e exibe ações na área do cliente.

/modules/servers/castlepanel/
Opcional

Addon Module

Centraliza teste de conexão, estado geral, logs filtrados, documentação e manutenção da integração.

/modules/addons/castlepanel/
Estrutura

Arquivos do módulo

O cliente HTTP e as regras de assinatura ficam isolados das funções exigidas pelo WHMCS.

/modules/servers/castlepanel/
castlepanel.php
lib/
  ApiClient.php
  ApiException.php
  OperationPoller.php
  SsoRelay.php
templates/
  clientarea.tpl
lang/
  portuguese-br.php
hooks.php
Ciclo do produto

Mapeamento das funções WHMCS

Função WHMCSOperação CastlePanelRegra
CreateAccountCriar ou vincular cliente, serviço e siteSalvar IDs e operation ID antes de retornar
SuspendAccountAlterar cliente ou serviço para suspendedNão excluir dados
UnsuspendAccountAlterar estado para activeConsultar a operação até estado terminal
TerminateAccountCancelar cliente ou serviçoPurge definitivo continua sendo uma ação separada
ChangePackageAtualizar o plano do serviçoCastlePanel valida consumo antes de reduzir limites
RenewSincronizar vigência quando necessárioNão reprovisionar recursos existentes
ServiceSingleSignOnSolicitar ticket customerEncaminhar por relay local e POST
AdminSingleSignOnSolicitar ticket adminExigir permissão e mapeamento administrativo
ClientAreaConsultar recursos delegadosNunca aceitar customer ID livre do navegador
Persistência

Service Properties recomendadas

Os identificadores técnicos devem acompanhar a instância do serviço, não depender de domínio ou e-mail mutáveis.

CastlePanel Customer IDcliente técnico proprietário do serviço
CastlePanel Service IDserviço e limites do plano
CastlePanel Site IDsite principal do produto
CastlePanel Operation IDúltima operação assíncrona
CastlePanel Last Syncmomento da última leitura confirmada
Área do cliente

Recursos úteis sem reproduzir o painel inteiro

O WHMCS deve oferecer ações frequentes. A administração completa continua no CastlePanel.

Resumo

Domínio, plano, estado técnico, SSL e última operação.

E-mails

Listar, criar, suspender, reativar, excluir e abrir webmail.

Bancos

Listar, criar, suspender, reativar, excluir e abrir o gerenciador.

SFTP

Contas por domínio ou pasta, com senha temporária exibida uma vez.

SSL

Estado, checagem DNS, emissão e renovação.

Operações

Acompanhamento visual do CastleAgent sem bloquear a página.

SSO no WHMCS

Redirect compatível sem ticket secreto na URL

O WHMCS espera uma URL de redirecionamento. O módulo usa um relay local para preservar o consumo por POST do CastlePanel.

  1. SolicitarO backend do módulo pede um ticket customer ou admin à API do CastlePanel.
  2. GuardarO ticket fica temporariamente na sessão do WHMCS, nunca na URL retornada.
  3. RedirecionarServiceSingleSignOn retorna uma rota local do próprio módulo.
  4. EntregarA rota local gera um formulário e envia o ticket por POST para o CastlePanel.
  5. ConsumirO CastlePanel invalida o ticket, cria a sessão e registra o ator.
Importante: o ticket é de uso único, dura poucos segundos e não deve aparecer em query string, logs do módulo ou histórico do navegador.
Segurança

Credencial e chamadas da API

Servidor a servidor

Token e segredo HMAC ficam na configuração criptografada do servidor WHMCS.

Escopo mínimo

Credenciais separadas para provisionamento, cliente, SSO e administração.

Contexto delegado

O backend calcula o customer ID a partir do serviço autenticado.

Logs filtrados

Usar o log de módulo ocultando token, segredo, ticket, senha e payload sensível.

Idempotência

Repetições do WHMCS não podem criar o mesmo cliente, site ou recurso duas vezes.

Timeout controlado

A função comercial registra a operação; o acompanhamento continua sem requisição longa.

Plano de construção

Entrega em cinco fases

  1. ConexãoConfiguração de servidor, teste da API e cliente HTTP assinado.
  2. ProvisionamentoCreate, suspend, unsuspend, terminate e change package.
  3. Área do clienteResumo, e-mails, bancos, SFTP, SSL e operações.
  4. SSOService e Admin Single Sign-On usando relay local.
  5. QualidadeIdempotência, testes de falha, upgrade, tradução e pacote versionado.
Referências

Documentação oficial usada no blueprint

Blueprint pronto

Quando o WHMCS entrar no roadmap, a base já está definida.

O desenvolvimento poderá começar pelo módulo de provisionamento sem redesenhar segurança, API ou SSO.