Trader Software
Manual técnico para parceiros

STGuard
API de integração

Como ativar, renovar, consultar e cancelar as licenças dos seus clientes direto do seu sistema de vendas.

Versão 1.0 — API v1 · Outubro de 2026
Conteúdo

Sumário

Capítulo 1

1Visão geral

A API do STGuard permite que o seu sistema de vendas libere o acesso às suas estratégias e indicadores protegidos no momento em que a venda é aprovada, sem ninguém precisar entrar no portal.

Com ela, o seu sistema pode:

Tudo o que a API faz também pode ser feito pela tela do portal, em portal.tradersoftware.com.br → STGuard. Os dois caminhos gravam no mesmo lugar: uma ativação feita pela API aparece na consulta da tela, e vice-versa.

Características

ItemComo funciona
Endereçohttps://portal.tradersoftware.com.br/api/stguard/v1
EstiloREST, com os verbos HTTP GET, POST e DELETE
FormatoJSON em UTF-8, na ida e na volta
AutenticaçãoChave de API no cabeçalho Authorization: Bearer
TransporteSomente HTTPS
Status HTTPSignificativos: 200, 201, 4xx e 5xx conforme o resultado
ErrosCom código fixo, legível por máquina (capítulo 8)
RepetiçãoSegura: repetir um pedido não duplica nada (capítulo 7)
Limite60 chamadas por minuto por chave
Capítulo 2

2Conceitos

Parceiro

É você: quem desenvolve ou distribui estratégias e indicadores protegidos pelo STGuard. Cada chave de API pertence a um cadastro de parceiro e só enxerga as estratégias desse cadastro.

Estratégia

Cada indicador ou robô protegido é uma estratégia, identificada por um número de 9 dígitos, por exemplo 700018801. O número aparece no portal, em STGuard → Estratégias → Consultar, e pode ser obtido pela rota GET /estrategias. Nos pedidos à API, a estratégia é sempre informada pelo número, nunca pelo nome.

ID do computador

A licença é presa a um computador. O computador é identificado pelo ID do computador, um código de 10 caracteres (letras e números) que aparece no STGuard instalado na máquina do cliente. Exemplo: A1B2C3D4A7.

CPF

O CPF do comprador é obrigatório na ativação e na avaliação. A API confere os dígitos verificadores, e pode ser enviado com ou sem pontuação (123.456.789-09 ou 12345678909). Ele permite consultar depois todas as licenças de um mesmo cliente.

Licença

É o direito de um computador usar uma estratégia até uma data. Para cada combinação de estratégia + computador existe uma situação atual:

A licença vale até o fim do dia do vencimento (23:59:59, horário de Brasília). Uma licença com vencimento 2026-12-31 funciona durante todo o dia 31 de dezembro.

Avaliação

Período gratuito de 7 dias que você pode oferecer para o cliente conhecer a estratégia. É concedida uma única vez por computador em cada estratégia (detalhes no capítulo 10).

Capítulo 3

3Primeiros passos: a chave de API

A chave identifica você na API. Ela é gerada por você mesmo, no portal, e funciona como uma senha.

Gerar a chave

  1. Entre em portal.tradersoftware.com.br com o seu login de parceiro.
  2. Abra o STGuard. Se você tiver mais de um cadastro de parceiro, escolha qual deles vai integrar, no botão Alterar ao lado do nome.
  3. No menu à esquerda, em Integração, clique em API.
  4. Clique em Gerar chave.
  5. Copie a chave na hora. Ela começa com stg_ e é mostrada uma única vez. Depois disso, a tela mostra só o começo dela (por exemplo stg_6cp9pScD…), a data de criação e o último uso.
  6. Guarde a chave no servidor do seu sistema de vendas, em variável de ambiente ou arquivo de configuração.
A Trader Software não guarda a sua chave, só uma assinatura dela. Se você perder a chave, não há como recuperá-la: gere uma nova.

Uma chave por cadastro

Cada cadastro de parceiro tem uma chave ativa. Ao gerar uma nova, a anterior deixa de funcionar no mesmo instante. Por isso a tela pede confirmação. Gere a nova só quando estiver pronto para atualizar o seu sistema logo em seguida.

Revogar a chave

Em Revogar chave, a chave para de funcionar e nenhuma outra é criada. Use se a chave vazou ou se você vai parar de usar a integração. Para voltar, gere uma nova.

Cadastro inativo

Se o seu cadastro de parceiro for desativado, a chave para de funcionar junto: a API responde 403 parceiro_inativo até o cadastro ser reativado.

Capítulo 4

4Como fazer um pedido

Endereço

https://portal.tradersoftware.com.br/api/stguard/v1

Todas as rotas deste manual são relativas a esse endereço. A rota /ativacoes, por exemplo, é https://portal.tradersoftware.com.br/api/stguard/v1/ativacoes.

Cabeçalhos

CabeçalhoQuandoValor
AuthorizationSempreBearer stg_SUA_CHAVE
Content-TypePOSTapplication/json

Corpo

Os pedidos POST levam um objeto JSON de até 64 KB. Campos desconhecidos são recusados com 400 pedido_invalido. Um campo com o nome errado, por exemplo id_computer no lugar de id_computador, gera erro em vez de ser ignorado em silêncio.

Respostas

Toda resposta é JSON. O status HTTP diz se deu certo:

StatusSignificado
200Deu certo (consultas e cancelamento)
201Criado: a ativação ou a avaliação foi gravada. Uma ativação ou avaliação que não mudou nada (licença já valendo até a data pedida, ou avaliação repetida no mesmo dia) responde 200
4xxO pedido foi recusado. Nada foi gravado. O corpo traz o motivo (capítulo 8)
5xxFalha do nosso lado. Nada foi gravado. Tente de novo em instantes

Datas

Sempre no formato AAAA-MM-DD (exemplo: 2026-12-31), no horário de Brasília.

Capítulo 5

5Rotas

MétodoRotaO que faz
GET/estrategiasLista as suas estratégias ativas
POST/ativacoesAtiva ou renova uma licença
POST/avaliacoesConcede a avaliação de 7 dias
GET/licencasConsulta licenças
DELETE/licencas/{estrategia}/{id_computador}Cancela uma licença

5.1 Listar as estratégias

GET/estrategias

Devolve as suas estratégias ativas, com número e nome. Útil para conferir os números ao configurar o seu sistema.

Exemplo

curl https://portal.tradersoftware.com.br/api/stguard/v1/estrategias \
  -H "Authorization: Bearer stg_SUA_CHAVE"

Resposta — 200

{
  "estrategias": [
    { "estrategia": 700018801, "nome": "MeuIndicador" },
    { "estrategia": 700018802, "nome": "MeuRobo" }
  ]
}

5.2 Ativar ou renovar

POST/ativacoes

Grava a nova validade de um computador numa estratégia. É a mesma rota para a primeira ativação e para as renovações.

Campos do corpo

CampoTipoDescrição
estrategianúmeroObrigatório. Número da estratégia
id_computadortextoObrigatório. ID do computador do cliente, 10 caracteres
cpftextoObrigatório. CPF do comprador, com ou sem pontuação
validadetextoObrigatório. Até quando a licença vale, AAAA-MM-DD. Hoje ou uma data futura, até 10 anos

Exemplo

curl -X POST https://portal.tradersoftware.com.br/api/stguard/v1/ativacoes \
  -H "Authorization: Bearer stg_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
        "estrategia": 700018801,
        "id_computador": "A1B2C3D4A7",
        "cpf": "123.456.789-09",
        "validade": "2026-12-31"
      }'

Resposta — 201

A licença como ela ficou depois da gravação (o objeto Licença, capítulo 6):

{
  "estrategia": 700018801,
  "nome": "MeuIndicador",
  "id_computador": "A1B2C3D4A7",
  "cpf": "12345678909",
  "inicio": "2026-10-08",
  "vencimento": "2026-12-31",
  "situacao": "ativa"
}
Validade igual ou menor que a vigente não muda nada. Se o computador já tem licença até 31/12 e você ativa até 31/12 ou 30/11, nada é gravado: a resposta é 200 (e não 201) com a licença valendo até 31/12. Para tirar o acesso antes do vencimento, use o cancelamento (5.5).

Erros possíveis

StatusCódigoQuando
400validade_invalidaData fora do formato, no passado ou a mais de 10 anos
400id_computador_invalidoID com tamanho errado ou dígito verificador que não confere
400cpf_invalidoCPF com dígitos verificadores errados
400pedido_invalidoJSON malformado ou com campo desconhecido
403id_bloqueadoO computador está bloqueado no STGuard
404estrategia_nao_encontradaA estratégia não existe, está inativa ou não é sua

5.3 Conceder a avaliação

POST/avaliacoes

Concede 7 dias gratuitos, a contar de hoje, com o vencimento no fim do sétimo dia. Só é concedida a um computador que nunca teve avaliação nem ativação naquela estratégia (capítulo 10).

Campos do corpo

CampoTipoDescrição
estrategianúmeroObrigatório
id_computadortextoObrigatório
cpftextoObrigatório
unica_por_parceirosim/nãoOpcional, padrão false. Com true, recusa se o computador já teve avaliação ou ativação em qualquer estratégia sua, e não só nesta

Exemplo

curl -X POST https://portal.tradersoftware.com.br/api/stguard/v1/avaliacoes \
  -H "Authorization: Bearer stg_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
        "estrategia": 700018801,
        "id_computador": "A1B2C3D4A7",
        "cpf": "12345678909",
        "unica_por_parceiro": false
      }'

Resposta — 201

{
  "estrategia": 700018801,
  "nome": "MeuIndicador",
  "id_computador": "A1B2C3D4A7",
  "cpf": "12345678909",
  "inicio": "2026-10-08",
  "vencimento": "2026-10-15",
  "situacao": "ativa"
}

Erros possíveis

Pedir de novo, no mesmo dia, a avaliação que acabou de ser concedida responde 200 com a mesma avaliação (capítulo 7). Os erros são os mesmos da ativação (exceto validade_invalida), mais:

StatusCódigoQuando
409avaliacao_ja_usadaO computador já teve avaliação ou ativação nesta estratégia (ou em outra sua, com unica_por_parceiro)

5.4 Consultar licenças

GET/licencas

Devolve a situação atual das licenças, uma linha por estratégia + computador, sempre com o vencimento que vale de fato. Use antes de entregar o produto, para conferir uma ativação, ou para listar todos os seus clientes ativos de uma estratégia.

Parâmetros (na URL)

ParâmetroDescrição
estrategiaNúmero da estratégia
id_computadorID do computador
cpfCPF do cliente
situacaoativa, vencida ou todas (padrão)
paginaPágina, a partir de 1 (padrão). Cada página traz até 500 linhas

É obrigatório informar ao menos um de estrategia, id_computador ou cpf. Os filtros se combinam.

Exemplos

# todos os clientes ativos de uma estratégia
curl "https://portal.tradersoftware.com.br/api/stguard/v1/licencas?estrategia=700018801&situacao=ativa" \
  -H "Authorization: Bearer stg_SUA_CHAVE"

# um computador numa estratégia (conferir antes de entregar)
curl "https://portal.tradersoftware.com.br/api/stguard/v1/licencas?estrategia=700018801&id_computador=A1B2C3D4A7" \
  -H "Authorization: Bearer stg_SUA_CHAVE"

# tudo de um cliente, em todas as estratégias
curl "https://portal.tradersoftware.com.br/api/stguard/v1/licencas?cpf=12345678909" \
  -H "Authorization: Bearer stg_SUA_CHAVE"

Resposta — 200

{
  "licencas": [
    {
      "estrategia": 700018801, "nome": "MeuIndicador",
      "id_computador": "A1B2C3D4A7", "cpf": "12345678909",
      "inicio": "2026-10-08", "vencimento": "2026-12-31", "situacao": "ativa"
    },
    { ... }
  ],
  "pagina": 1,
  "proxima_pagina": null
}

Lista vazia ("licencas": []) significa que nada casou com o filtro. Não é erro.

Paginação

Quando há mais de 500 linhas, proxima_pagina traz o número da página seguinte. Repita o pedido com pagina= esse número até proxima_pagina vir null.

Erros possíveis

StatusCódigoQuando
400filtro_obrigatorioNenhum de estrategia, id_computador ou cpf
400pedido_invalidosituacao ou pagina com valor inválido
400id_computador_invalido, cpf_invalidoFiltro com ID ou CPF inválido

5.5 Cancelar

DELETE/licencas/{estrategia}/{id_computador}

Encerra a licença daquele computador naquela estratégia. Ao cancelar, a estratégia permanece válida até a meia-noite do dia de hoje: o vencimento passa a ser a data de hoje, e a partir de amanhã o acesso está encerrado. O histórico é mantido. Para devolver o acesso, basta uma nova ativação.

Exemplo

curl -X DELETE https://portal.tradersoftware.com.br/api/stguard/v1/licencas/700018801/A1B2C3D4A7 \
  -H "Authorization: Bearer stg_SUA_CHAVE"

Resposta — 200

{
  "estrategia": 700018801, "nome": "MeuIndicador",
  "id_computador": "A1B2C3D4A7", "cpf": "12345678909",
  "inicio": "2026-10-08", "vencimento": "2026-10-08", "situacao": "ativa"
}

Erros possíveis

StatusCódigoQuando
404licenca_nao_encontradaO computador nunca teve licença nesta estratégia. Cancelar de novo uma licença já cancelada ou vencida não é erro: responde 200 com a licença como está
404estrategia_nao_encontradaA estratégia não existe ou não é sua
400id_computador_invalidoID inválido
Capítulo 6

6O objeto Licença

É o que as rotas de ativação, avaliação e cancelamento devolvem, e o que vem em cada linha da consulta.

CampoTipoDescrição
estrategianúmeroNúmero da estratégia
nometextoNome da estratégia
id_computadortextoID do computador, como foi gravado
cpftextoCPF, só dígitos
iniciodataData da gravação que está valendo
vencimentodataÚltimo dia em que a licença vale (inclusive)
situacaotextoativa se hoje é igual ou anterior ao vencimento; vencida caso contrário

Uma linha por computador

Cada renovação grava um registro novo, mas a API sempre mostra só o que vale: o registro de maior vencimento daquele computador na estratégia. Você não precisa juntar o histórico.

Em casos raros, a gravação é feita mas a releitura da licença falha. A resposta então traz apenas estrategia e id_computador, com o mesmo status de sucesso. A operação foi concluída: se precisar dos detalhes, faça uma consulta.
Capítulo 7

7Repetir um pedido

A conexão caiu antes da resposta e você não sabe se o pedido chegou? Repita. Todo pedido é executado, e repetir não duplica nada.

Pedido repetidoResultado
POST /ativacoesSe a licença já vai até essa validade (ou além), nada é gravado e a resposta é 200 com a licença como está. Só uma validade maior grava, com 201
POST /avaliacoesSe a avaliação daquele computador foi concedida hoje, responde 200 com a mesma avaliação, sem conceder outra. Em outro dia, responde 409 avaliacao_ja_usada
DELETE /licencas/…Executa sempre. Se a licença já estava cancelada ou vencida, responde 200 com a licença como está

Ou seja: na dúvida, repita o mesmo pedido. A resposta sempre traz a licença como ela ficou, e é ela que vale.

Repetir com outra validade não é repetição: é uma nova ativação, e vale a regra do capítulo 10 (a licença vai até a maior das datas).
Capítulo 8

8Erros

Todo erro vem com o status HTTP correspondente e um corpo neste formato:

{
  "erro": {
    "codigo": "avaliacao_ja_usada",
    "mensagem": "Este ID do computador já teve avaliação ou ativação nesta estratégia."
  }
}

O seu sistema deve decidir pelo codigo, que é fixo. A mensagem é para gente ler, pode ser mostrada ao seu cliente e pode mudar de redação.

Em qualquer erro, nada foi gravado.

Tabela completa

HTTPCódigoSignificado e o que fazer
400pedido_invalidoJSON malformado, campo desconhecido ou parâmetro com valor inválido. Corrija o pedido
400id_computador_invalidoID do computador fora do formato ou com dígito errado. Peça ao cliente para copiar de novo do STGuard
400cpf_invalidoCPF inválido. Confira com o cliente
400validade_invalidaData fora do formato, no passado ou a mais de 10 anos
400filtro_obrigatorioConsulta sem estrategia, id_computador nem cpf
401chave_invalidaChave ausente, errada ou revogada. Confira o cabeçalho Authorization ou gere uma chave nova
403id_bloqueadoO computador está bloqueado no STGuard. Não insista; oriente o cliente a falar com o suporte
403parceiro_inativoO seu cadastro de parceiro está inativo. Fale com a Trader Software
404estrategia_nao_encontradaA estratégia não existe, está inativa ou pertence a outro parceiro. Confira em GET /estrategias
404licenca_nao_encontradaCancelamento para um computador que nunca teve licença na estratégia
404rota_nao_encontradaEndereço errado. Confira a rota
405metodo_nao_permitidoVerbo HTTP errado para a rota. O cabeçalho Allow diz qual usar
409avaliacao_ja_usadaO computador não tem mais direito à avaliação. Ofereça a compra
429limite_de_chamadasMais de 60 chamadas no minuto. Aguarde os segundos do cabeçalho Retry-After
503indisponivelInstabilidade do nosso lado. Nada foi gravado: tente de novo em instantes

Como tratar no seu sistema

Capítulo 9

9Limites

LimiteValor
Chamadas por chave60 por minuto, contando todas as rotas. Acima disso, 429 com Retry-After: 60
Linhas por página na consulta500
Tamanho do corpo64 KB
Validade máxima10 anos a partir de hoje
Chaves de APIUma ativa por cadastro de parceiro

O limite de chamadas existe para conter erros de programação, como um laço que dispara pedidos sem parar. Uma loja com vendas normais fica muito abaixo dele. Para tarefas em lote, como renovar centenas de clientes de uma vez, espace os pedidos em pelo menos 1 segundo.

Capítulo 10

10Regras de negócio

Renovação: sempre a nova validade

Não existe "somar dias". Cada ativação informa a data até quando a licença vale. Para renovar uma assinatura mensal que vence em 31/10, ative com "validade": "2026-11-30".

Avaliação: uma única vez

Cancelamento

Computador bloqueado

Alguns computadores são bloqueados no STGuard (máquinas virtuais clonadas, por exemplo). A ativação e a avaliação desses IDs são recusadas com 403 id_bloqueado.

Quando o cliente percebe a mudança

O STGuard do cliente confere as licenças ao ser aberto e quando o cliente clica em Atualizar. Depois de uma ativação, renovação ou cancelamento, a mudança vale a partir da próxima conferência.

Capítulo 11

11Fluxos recomendados

Venda aprovada

  1. Na compra, peça ao cliente o ID do computador e o CPF. Se possível, já valide o formato do ID no seu formulário: 10 caracteres, letras e números.
  2. Quando o pagamento for aprovado, chame POST /ativacoes com a validade do período comprado. Se a resposta não chegar, repita o mesmo pedido.
  3. Com 201, avise o cliente que a licença está liberada e que ele deve abrir o STGuard.
  4. Com 400 id_computador_invalido, peça ao cliente para conferir o ID. O pagamento já está feito; só falta o dado certo.

Assinatura recorrente

  1. A cada cobrança aprovada, chame POST /ativacoes com a validade do novo período.
  2. Dê alguns dias de folga na validade, além do dia da próxima cobrança. Assim, um atraso de poucos dias no pagamento não tira o acesso do cliente.

Reembolso ou cancelamento da assinatura

Chame DELETE /licencas/{estrategia}/{id_computador}. A estratégia permanece válida até a meia-noite do dia de hoje. Se a política for manter o acesso até o fim do período pago, não cancele: a licença vence sozinha na data.

Teste grátis

Chame POST /avaliacoes. Com 409 avaliacao_ja_usada, ofereça a compra em vez do teste.

Cliente trocou de computador

  1. Cancele a licença do computador antigo (ela permanece válida até a meia-noite de hoje).
  2. Ative o computador novo com a mesma validade.

Conferir antes de entregar

Chame GET /licencas?estrategia=…&id_computador=… e entregue somente se situacao for ativa.

Conciliação periódica

Uma vez por dia ou por semana, chame GET /licencas?estrategia=…&situacao=ativa, percorrendo as páginas, e compare com as assinaturas ativas no seu sistema. Diferenças apontam ativações que faltaram ou cancelamentos esquecidos.

Capítulo 12

12Exemplos de código

Os exemplos leem a chave da variável de ambiente STGUARD_CHAVE. Nunca escreva a chave dentro do código-fonte.

PHP (cURL)

<?php
function stguard(string $metodo, string $rota, ?array $corpo = null): array
{
    $cab = [
        'Authorization: Bearer ' . getenv('STGUARD_CHAVE'),
        'Content-Type: application/json',
    ];
    $ch = curl_init('https://portal.tradersoftware.com.br/api/stguard/v1' . $rota);
    curl_setopt_array($ch, [
        CURLOPT_CUSTOMREQUEST  => $metodo,
        CURLOPT_HTTPHEADER     => $cab,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT        => 20,
    ]);
    if ($corpo !== null) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($corpo));
    }
    $resposta = curl_exec($ch);
    $status   = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($resposta === false) {
        return ['status' => 0, 'dados' => null]; // sem resposta: repetir o mesmo pedido
    }
    return ['status' => $status, 'dados' => json_decode($resposta, true)];
}

// Venda aprovada
$r = stguard('POST', '/ativacoes', [
    'estrategia'    => 700018801,
    'id_computador' => 'A1B2C3D4A7',
    'cpf'           => '12345678909',
    'validade'      => '2026-12-31',
]);

if ($r['status'] === 201) {
    echo 'Liberado até ' . $r['dados']['vencimento'];
} elseif ($r['status'] >= 400 && $r['status'] < 500) {
    echo 'Recusado: ' . $r['dados']['erro']['codigo'];
} else {
    // 5xx ou sem resposta: agendar nova tentativa do mesmo pedido
}

Python (requests)

import os
import requests

BASE = "https://portal.tradersoftware.com.br/api/stguard/v1"
CAB = {"Authorization": f"Bearer {os.environ['STGUARD_CHAVE']}"}

def ativar(estrategia, id_computador, cpf, validade):
    r = requests.post(
        f"{BASE}/ativacoes",
        json={
            "estrategia": estrategia,
            "id_computador": id_computador,
            "cpf": cpf,
            "validade": validade,
        },
        headers=CAB,
        timeout=20,
    )
    if r.status_code == 201:
        return r.json()
    if 400 <= r.status_code < 500:
        raise ValueError(r.json()["erro"]["codigo"])
    r.raise_for_status()  # 5xx: tentar de novo o mesmo pedido

def ativos(estrategia):
    """Todos os clientes ativos de uma estratégia, percorrendo as páginas."""
    pagina, todos = 1, []
    while pagina:
        r = requests.get(
            f"{BASE}/licencas",
            params={"estrategia": estrategia, "situacao": "ativa", "pagina": pagina},
            headers=CAB,
            timeout=20,
        )
        r.raise_for_status()
        dados = r.json()
        todos += dados["licencas"]
        pagina = dados["proxima_pagina"]
    return todos

JavaScript (Node.js 18 ou mais novo)

const BASE = 'https://portal.tradersoftware.com.br/api/stguard/v1';

async function stguard(metodo, rota, corpo) {
  const cabecalhos = {
    Authorization: `Bearer ${process.env.STGUARD_CHAVE}`,
    'Content-Type': 'application/json',
  };
  const r = await fetch(BASE + rota, {
    method: metodo,
    headers: cabecalhos,
    body: corpo ? JSON.stringify(corpo) : undefined,
  });
  return { status: r.status, dados: await r.json() };
}

// Teste grátis
const r = await stguard('POST', '/avaliacoes', {
  estrategia: 700018801,
  id_computador: 'A1B2C3D4A7',
  cpf: '12345678909',
});

if (r.status === 201) console.log('Avaliação até', r.dados.vencimento);
else if (r.dados.erro?.codigo === 'avaliacao_ja_usada') console.log('Ofereça a compra');

// Cancelamento
await stguard('DELETE', '/licencas/700018801/A1B2C3D4A7');
Capítulo 13

13O que o seu cliente precisa fazer

Do lado do comprador, o processo é sempre o mesmo, seja indicador ou robô. Você pode copiar estes passos para a sua página de vendas.

  1. Instalar o STGuard: https://www.tradersoftware.com.br/downloads/STGuardSetup.exe
  2. Abrir o STGuard e copiar o ID do computador que aparece na tela.
  3. Informar esse ID na compra, junto com o CPF.
  4. Depois da liberação, abrir o STGuard (ou clicar em Atualizar, se ele já estiver aberto). A estratégia é baixada e instalada automaticamente na Plataforma.

Bom saber

Capítulo 14

14Testes, segurança e suporte

Como testar a integração

Não há ambiente separado de testes: a API é sempre a de produção. Para testar sem afetar clientes:

  1. Instale o STGuard no seu computador e use o seu próprio ID.
  2. Ative com uma validade curta, como a de hoje.
  3. Confira com GET /licencas e abrindo o STGuard.
  4. Cancele com DELETE ao terminar.

Para testar a avaliação, lembre que ela só é concedida uma vez por computador em cada estratégia. Teste numa estratégia que o seu computador ainda não usou.

Segurança

Suporte

Em caso de dúvida ou problema na integração, fale com a Trader Software pelos canais em www.tradersoftware.com.br/contato. Para agilizar, informe:

Apêndice

AReferência rápida

Base:          https://portal.tradersoftware.com.br/api/stguard/v1
Autenticação:  Authorization: Bearer stg_SUA_CHAVE
Repetição:     segura — todo pedido é executado e não duplica nada

GET     /estrategias
POST    /ativacoes        {estrategia, id_computador, cpf, validade}          → 201
POST    /avaliacoes       {estrategia, id_computador, cpf, unica_por_parceiro} → 201
GET     /licencas?estrategia=&id_computador=&cpf=&situacao=&pagina=
DELETE  /licencas/{estrategia}/{id_computador}

Licença:  {estrategia, nome, id_computador, cpf, inicio, vencimento, situacao}
Erro:     {"erro": {"codigo": "...", "mensagem": "..."}}
Datas:    AAAA-MM-DD, horário de Brasília; vale até o fim do dia do vencimento
Limite:   60 chamadas por minuto por chave (429 + Retry-After)

Códigos de erro

HTTPCódigos
400pedido_invalido · id_computador_invalido · cpf_invalido · validade_invalida · filtro_obrigatorio
401chave_invalida
403id_bloqueado · parceiro_inativo
404estrategia_nao_encontrada · licenca_nao_encontrada · rota_nao_encontrada
405metodo_nao_permitido
409avaliacao_ja_usada
429limite_de_chamadas
503indisponivel