Ir para o conteúdo

API de licenciamento: ativação, validação e heartbeats

Escolha a linguagem e a operação e chame o SDK. Ele cuida da ativação, identidade do dispositivo, assinaturas, cache, heartbeats e reserva, confirmação e cancelamento de uso.

Inicialização ou tela de ativaçãoAntes de recursos pagosAo sair do aplicativo

Common scenario snippets

Chamada SDK

Nos exemplos, client vem da inicialização, path é o caminho de exportação e exportReport / export_report é sua função de negócio. jobID é o ID estável salvo pelo aplicativo.

Ver o código completo → · Início rápido · Ver integração por uso e novas tentativas →

Coloque o código de negócio no callback.

O SDK executa o negócio apenas com permissão. RunFeature não desconta uso; RunMeteredFeature reserva, confirma após sucesso e cancela após falha. Repetir a tarefa original conclui a confirmação sem refazer o negócio.

Complete SDK method reference

The scenarios above are short call snippets. Below are the current language’s public methods, properties and utilities, including full signatures, parameters, results, errors, configuration and data fields. The reference follows the selected language and identifies capabilities that are unavailable in a wrapper.

Expandir solicitações e respostas HTTP (clientes personalizados ou diagnóstico)

O protocolo abaixo já está implementado nos SDKs. Aplicações que usam estes nove SDKs não precisam implementá-lo novamente.

Primeira ativaçãoHeartbeat em execuçãoVerificar acesso antes da operaçãoDesvincular antes de trocar dispositivo

As oito interfaces autenticam licença e dispositivo, sem cookies, CSRF ou chave administrativa. Sessões flutuantes são liberadas ao sair; dispositivos vinculados mantêm registro.

Como verificar acesso após ativação, validação ou heartbeat?

  1. Confirme HTTP 200 e leia data.activation_id. Inclua este ID em validações, heartbeats, contagens e desativações seguintes.
  2. Verifique com a chave pública confiável do produto data.lease e confira produto, dispositivo, validade e funções. Apenas decodificar payload em JSON não comprova a licença.
  3. O SDK automatiza os dois primeiros passos. RunFeature verifica acesso antes da operação; RunMeteredFeature gerencia reserva, confirmação e cancelamento para contadores.

O SDK guarda o cache assinado e envia heartbeats conforme a política. Não apague cache válido por um timeout. Com revogação, liberação ou expiração explícita, bloqueie funções protegidas conforme o resultado do SDK.

O que significam campos do payload decodificado?

O exemplo apenas explica os dados. Ao verificar a assinatura por conta própria, use os bytes originais de payload; não reordene nem serialize o JSON antes.

Exemplo de payload

Tentativas, heartbeats e cobrança

Obrigatório para ativação, desvinculação e contagem Idempotency-Key, até 80 caracteres sem espaços. Gere um valor por operação; em tentativas da mesma operação, mantenha valor e corpo. Opcional para validação e heartbeat; o SDK gerencia seus IDs.

Enquanto a autorização permanecer válida, requisições idênticas de validação e heartbeat podem ser repetidas durante uma hora sem cobrança duplicada. Após esse prazo, use uma nova chave de requisição; uma chave antiga pode ser tratada como uma nova requisição. Ativação, desativação e consumo de funcionalidades mantêm registros duráveis de idempotência.

Cada ativação, validação, heartbeat ou desvinculação bem-sucedida usa uma chamada API. Falhas e repetições idempotentes não contam de novo; CheckFeature é local. Consume desconta usos da função, não essa cota API; quantity é a quantidade consumida.

Intervalo, duração offline e permanente seguem Políticas de licença.payload.expires_at é o vencimento do cache assinado atual, não o da licença. Consulte os detalhes da licença para a data final.