Aura Marketplace

Guia de Integração para Vendedores

Como proteger seus produtos com o sistema de licenças Aura

1. Como funciona

Ao publicar um produto no Aura Marketplace, o sistema de licenças cuida de toda a proteção automaticamente. O vendedor não precisa gerenciar chaves manualmente — o Aura gera, entrega e revoga licenças conforme o ciclo de vida de cada assinatura ou compra única.

Compra realizada └─► Stripe processa pagamento └─► Licença gerada automaticamente ├─► Comprador recebe URL de entrega ├─► Comprador vê sua chave de licença em Minha Conta > Compras └─► EA/Indicador verifica chave via API → Acesso liberado

Ciclo de assinatura

Pagamento mensal/anual renovado — licença renovada automaticamente, sem intervenção do vendedor.

Assinatura cancelada — licença revogada imediatamente; o EA/indicador recebe valid: false na próxima verificação.

2. API de Validação

Use este endpoint para verificar se uma chave de licença é válida antes de liberar acesso ao seu produto.

Endpoint

GET https://api.auraplatforms.net/licenses/validate?key={chave}&product_id={seu_uuid}&account={conta}

product_id é OBRIGATÓRIO. account é opcional, mas fortemente recomendado:

product_ido UUID do seu produto (em Meus Produtos → Editar). O servidor confirma que a chave é do SEU produto, e não de outro produto Aura. Sem ele, a resposta é product_id_required.

accounto nº da conta de trading do comprador. Vincula a licença à conta; cada licença permite N contas (você define em Meus Produtos). Mesmo que a chave vaze, ela só roda nas contas registradas.

Resposta válida

{ "valid": true, "product_id": "uuid-do-produto", "product_title": "EA Scalper Pro MT5", "expires_at": "2025-06-24T00:00:00Z", "created_at": "2025-05-24T00:00:00Z", "seats": { "max": 1, "used": 1 } }

Nota: expires_at é null para compras únicas (acesso permanente).

Resposta inválida

{ "valid": false, "reason": "product_id_required | license_not_found | license_revoked | license_expired | product_mismatch | seat_limit_reached" }

3. Por Tipo de Produto

A necessidade de integrar a API varia conforme o tipo de produto que você vende.

TipoComo o comprador acessaIntegrar API?
Robô EA / IndicadorBaixa arquivo + chave de licença✅ Sim
EstratégiaBaixa arquivo + chave✅ Recomendado
eBook / CursoURL de download direta❌ Não necessário
SinalDepende do formatoOpcional
Sala ao Vivo / DiscordLink de convite permanente❌ Você remove manualmente
📌

Sala ao Vivo / Discord: quando um assinante cancelar, você receberá um email para remover o acesso manualmente do seu canal.

4. Código MQL5 (MetaTrader 5)

Cole o código abaixo no OnInit() do seu EA ou indicador. A chave de licença é encontrada pelo comprador em Minha Conta > Compras.

// OnInit() do seu EA ou indicador string AURA_PRODUCT_ID = "COLE-SEU-UUID-AQUI"; // Meus Produtos > Editar int OnInit() { string licenseKey = "COLE-SUA-CHAVE-AQUI"; // recebida em Minha Conta > Compras if (!ValidateLicense(licenseKey)) { Alert("Licença inválida, expirada ou em outra conta. Veja em marketplace.auraplatforms.net"); return INIT_FAILED; } return INIT_SUCCEEDED; } bool ValidateLicense(string key) { // account = nº da conta de trading: vincula a licença e impede compartilhamento string acc = IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)); string url = "https://api.auraplatforms.net/licenses/validate?key=" + key + "&product_id=" + AURA_PRODUCT_ID + "&account=" + acc; string headers = "Content-Type: application/json\r\n"; char data[], result[]; string resultHeaders; int res = WebRequest("GET", url, headers, 5000, data, result, resultHeaders); if (res == -1) return false; string response = CharArrayToString(result); return StringFind(response, "\"valid\":true") >= 0; }
⚠️

No MetaTrader 5: adicione https://api.auraplatforms.net na lista de URLs permitidas em Ferramentas → Opções → Expert Advisors → WebRequest.

5. Código Python

Para bots, scripts ou sistemas automatizados desenvolvidos em Python, use a função abaixo na inicialização do seu programa.

import requests PRODUCT_ID = "COLE-SEU-UUID-AQUI" # Meus Produtos > Editar def validate_license(license_key: str, account: str | None = None) -> bool: params = {"key": license_key, "product_id": PRODUCT_ID} if account: params["account"] = account # nº da conta de trading (anti-compartilhamento) try: r = requests.get( "https://api.auraplatforms.net/licenses/validate", params=params, timeout=5, ) return r.json().get("valid") is True except Exception: return False # Falha de rede: decisão sua (bloquear ou permitir) # Uso na inicialização do seu bot/script if not validate_license("sua-chave-aqui", account="123456"): print("Licença inválida. Adquira em marketplace.auraplatforms.net") exit(1)

6. Ciclo de Vida da Assinatura

Entenda como o estado da licença muda ao longo do tempo para cada evento de pagamento.

Compra realizada └─► is_active=true, expires_at = hoje + 30 dias (mensal) ou + 365 dias (anual) Pagamento renovado └─► expires_at estendido automaticamente Pagamento cancelado / falhou └─► is_active=false └─► validate retorna {"valid": false, "reason": "license_revoked"} └─► Você recebe email para remover acesso manual (salas/Discord)

Dúvidas? Entre em contato: suporte@auraplatforms.net