← Voltar para Documentação

📡 Referência da API

Documentação completa da API REST da MozHost para integração com seus sistemas.

Base URL

https://api.mozhost.shop

🔐 Autenticação

Todas as rotas protegidas requerem um token JWT no header Authorization:

Authorization: Bearer SEU_TOKEN_JWT

💡 Como obter o token: Faça login via POST /api/auth/login e use o token retornado.

👤 Autenticação

POST/api/auth/login

Autentica o usuário e retorna um token JWT.

curl -X POST https://api.mozhost.shop/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "meu_user", "password": "minha_senha"}'

Resposta:

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1...",
  "user": {
    "id": 1,
    "username": "meu_user",
    "email": "user@email.com",
    "plan": "free",
    "coins": 1500
  }
}
POST/api/auth/register

Cria uma nova conta na MozHost.

curl -X POST https://api.mozhost.shop/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "novo_user",
    "email": "user@email.com",
    "password": "senha_segura"
  }'

📦 Containers

GET/api/containers

Lista todos os containers do usuário autenticado.

curl https://api.mozhost.shop/api/containers \
  -H "Authorization: Bearer SEU_TOKEN"

Resposta:

{
  "success": true,
  "containers": [
    {
      "id": "abc-123",
      "name": "meu-bot",
      "type": "nodejs",
      "status": "running",
      "domain": "meu-bot.mozhost.shop",
      "port": 3001
    }
  ]
}
POST/api/containers

Cria um novo container. Custo: 500 coins.

curl -X POST https://api.mozhost.shop/api/containers \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "meu-bot", "type": "nodejs"}'
POST/api/containers/:id/start

Inicia um container parado.

POST/api/containers/:id/stop

Para um container em execução.

curl -X POST https://api.mozhost.shop/api/containers/abc-123/start \
  -H "Authorization: Bearer SEU_TOKEN"
DELETE/api/containers/:id

Remove um container permanentemente.

⚠️ Atenção: Esta ação é irreversível. Todos os arquivos e dados do container serão apagados.

📧 Emails

POST/api/emails/send

Envia um email transacional.

curl -X POST https://api.mozhost.shop/api/emails/send \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "cliente@email.com",
    "subject": "Pedido Confirmado",
    "html": "<h1>Obrigado!</h1><p>Seu pedido foi confirmado.</p>",
    "fromName": "Minha Loja"
  }'
GET/api/emails/quota

Verifica a quota de emails do mês atual.

GET/api/emails/stats

Retorna estatísticas de envio (enviados, falhas, taxa de entrega).

🗄️ Databases

GET/api/databases

Lista todos os databases do usuário.

POST/api/databases

Cria um novo database. Custo: 5 coins/dia.

curl -X POST https://api.mozhost.shop/api/databases \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "meu-db", "type": "mysql"}'
DELETE/api/databases/:id

Remove um database permanentemente.

⚠️ Códigos de Erro

CódigoSignificadoSolução
400Requisição inválidaVerifique os parâmetros enviados
401Não autorizadoToken inválido ou expirado. Faça login novamente.
403Acesso negadoSem permissão para este recurso
404Não encontradoRecurso não existe ou não pertence a você
429Muitas requisiçõesAguarde alguns minutos e tente novamente
500Erro internoProblema no servidor. Contacte o suporte.