> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Agent SDK Segredos e HMAC Assinatura

Agent SDK solicitações são autenticadas com um parceiro API segredo. Mantenha esse segredo dentro de um serviço backend confiável e deixe o SDK gerar campos de assinatura sempre que possível.

> **Dois protocolos de assinatura**
>
> Agent SDK assinatura usa campos de solicitação ordenados, um carimbo de tempo baseado em segundos e um nonce. Solicitações de API Desenvolvedor Direto utilizam o processo separado descrito em [Request Signing](/pt-BR/developer-api/request-signing). Não reutilize um formato de carga útil para o outro.

<h2 id="signing-rule">
  Regra de assinatura
</h2>

Para Agent SDK pedidos:

1. Exclua o campo `sign` .
2. Omitir campos com valores vazios.
3. Ordene os demais nomes dos campos em ASCII ordem.
4. Unir os campos como `k=v&k2=v2`.
5. Calcule a assinatura hexadecimal HMAC-SHA256 com `apiSecret`.

O SDK deve construir esse valor a partir dos mesmos dados que envia. Alterar um campo de assinatura após a geração da assinatura faz com que a verificação falhe.

<h2 id="sdk-managed-fields">
  SDK-campos gerenciados
</h2>

| Campo            | Fonte                     | Descrição                                        |
| ---------------- | ------------------------- | ------------------------------------------------ |
| agentCode        | SDK configuração          | Código do agente parceiro.                       |
| Carimbo de tempo | Horário atual do servidor | Carimbo de data e hora do Unix em segundos.      |
| nonce            | Valor aleatório seguro    | Sequência aleatória contra replay.               |
| Placa            | HMAC-SHA256               | Solicito assinatura.                             |
| Moeda            | Moeda padrão              | Usado na transferência/conta API omitir a moeda. |

<h2 id="secret-storage">
  Armazenamento secreto
</h2>

* Carregar `apiSecret` a partir de um gerenciador de segredos backend ou configuração de runtime protegida.
* Nunca coloque o segredo em pacotes frontend, aplicativos móveis, clientes desktop, capturas de tela ou tickets de suporte.
* Mantenha as credenciais para desenvolvimento, encenação e produção separadas.
* Limitar o acesso aos serviços e operadores que o necessitam.
* Eliminar assinaturas de solicitação, valores de autorização e segredos dos logs.
* Revogar e substituir credenciais quando houver suspeita de exposição.

<h2 id="clock-and-replay-protection">
  Proteção contra relógio e replay
</h2>

O SDK inclui `timestamp` e `nonce` para reduzir o risco de repetição. Mantenha os clocks backend sincronizados e não reutilize um nonce construído manualmente. Se a validação da assinatura falhar, confirme o segredo configurado, o tempo do servidor, os campos serializados e o ambiente antes de tentar novamente.

<h2 id="integration-checklist">
  Checklist de integração
</h2>

| Confere           | Resultado esperado                                                            |
| ----------------- | ----------------------------------------------------------------------------- |
| Local secreto     | Armazenamento secreto exclusivo do backend.                                   |
| Meio ambiente     | O URL base e a credencial pertencem ao mesmo ambiente.                        |
| Manuseio em campo | SDK gera `timestamp`, `nonce`e `sign`.                                        |
| Registro          | IDs comerciais permanecem visíveis enquanto credenciais são redigidas.        |
| Rotação           | O proprietário da credencial e o processo de substituição estão documentados. |

<h2 id="related-security-docs">
  Documentos de segurança relacionados
</h2>

#### [Agent SDK Visão Geral](/pt-BR/sdk/agent-sdk/overview)

Revise o fluxo recomendado de integração backend.

#### [Webhooks & Idempotência](/pt-BR/sdk/security/webhooks-idempotency)

Verifique assinaturas de retorno de chamada e evite processamento duplicado.

#### [SDK Solução de problemas](/pt-BR/sdk/security/troubleshooting)

Diagnostice questões de assinatura, relógio, ambiente e solicitações.