obsidian-vault/ligbox-ops-platform/specs/043-desk-client-activation-sync/contracts/mail-bundle-api.md
Ligbox Obsidian Vault e5564c15b9 Obsidian: Spec 043 mail-bundle + FOSS ligbox-mail-business
Sync contratos, runbooks VM112/VM123, código wizard e VM112.md com deploy validado.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:54:41 +00:00

2.6 KiB

Contrato — API Wizard POST /api/internal/provision/mail-bundle

Spec: 043 · 035
VM: 112 (10.10.10.112:8090)
Status: Implementado no repo · deploy VM112 pendente
Auth: X-Ops-Internal-Token (mesmo valor Desk OPS_INTERNAL_TOKEN)


POST /api/internal/provision/mail-bundle

Provisiona domínio Carbonio + conta gerente com quotas do bundle mail.

Request

{
  "domain": "empresa.com.br",
  "admin_email": "admin@empresa.com.br",
  "admin_name": "João Silva",
  "seats": 25,
  "mail_gb_per_seat": 30,
  "files_gb_per_seat": 200,
  "foss_order_id": 55
}
Campo Obrigatório Descrição
domain sim Domínio cliente
admin_email sim Conta gerente (admin@{domain})
admin_name não Display name Carbonio
seats não (default 25) Licenças mail bundle
mail_gb_per_seat não (default 30) Quota GB/caixa gerente
files_gb_per_seat não (default 200) Nextcloud (fase 034)
foss_order_id não Correlação FOSS order

Response 200

{
  "ok": true,
  "domain": "empresa.com.br",
  "admin_email": "admin@empresa.com.br",
  "mail_host": "mail.empresa.com.br",
  "webmail_url": "https://mail.empresa.com.br/",
  "files_url": "https://files.empresa.com.br/",
  "seats": 25,
  "provisioned": true,
  "already_provisioned": false,
  "account_reused": false
}

Erros

HTTP Condição
401 Token interno inválido
400 Domínio/email inválido
502 Carbonio/zmprov falhou
503 OPS_INTERNAL_TOKEN ausente no wizard

GET /api/internal/provision/mail-bundle/{domain}

Estado do bundle (sem senhas).


Código

Artefacto Path repo
Serviço projects/wizard/backend/app/services/mail_bundle.py
Router projects/wizard/backend/app/routers/internal_provision.py
Deploy VM112 deploy/vm112-wizard/deploy-mail-bundle-vm112.py
Cliente Desk projects/ops-desk/api/app/vm123/wizard_client.py

Deploy VM112

# Na VM112 (SSH)
cd /opt/ligbox-spec-hub/repos/ligbox-ops-platform   # ou clone Forgejo
git pull
python3 deploy/vm112-wizard/deploy-mail-bundle-vm112.py
systemctl restart ligbox-wizard

# Teste
curl -s -X POST http://127.0.0.1:8090/api/internal/provision/mail-bundle \
  -H "X-Ops-Internal-Token: $OPS_INTERNAL_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain":"teste.ligbox.com.br","admin_email":"admin@teste.ligbox.com.br","seats":25}'

Roger · 2026-07-01 · Spec 043 fecho ciclo mail-bundle