> 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 Assinaturas

Agent SDK pedidos são autenticados com um parceiro API segredo. Mantenha esse segredo dentro de um serviço de backend de confiança e deixe o SDK gerar campos de assinatura sempre que possível.

> **Dois protocolos de assinatura**
>
> Agent SDK assinatura utiliza campos de pedido ordenados, um carimbo temporal baseado em segundos e um nonce. Os pedidos de API do Desenvolvedor Direto utilizam o processo separado descrito em [Request Signing](/pt-PT/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. Excluir o campo `sign` .
2. Omitir campos com valores vazios.
3. Ordenar os restantes nomes de campos por ASCII ordem.
4. Unir os campos como `k=v&k2=v2`.
5. Calcule a assinatura hexadecimal HMAC-SHA256 com `apiSecret`.

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

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

| Campo            | Fonte                  | Descrição                                         |
| ---------------- | ---------------------- | ------------------------------------------------- |
| agentCode        | SDK configuração       | Código do agente parceiro.                        |
| Carimbo temporal | Hora atual do servidor | Carimbo de data e hora do Unix em segundos.       |
| nonce            | Valor aleatório seguro | Sequência aleatória de proteção contra repetição. |
| Sinal            | 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 gestor de segredos backend ou de uma configuração em tempo de execução protegida.
* Nunca coloque o segredo em pacotes frontend, aplicações móveis, clientes de desktop, capturas de ecrã 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.
* Redigir assinaturas de pedidos, valores de autorização e segredos dos registos.
* Revogar e substituir credenciais quando houver suspeita de exposição.

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

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

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

| Confere               | Resultado esperado                                                              |
| --------------------- | ------------------------------------------------------------------------------- |
| Localização secreta   | Armazenamento secreto exclusivo do backend.                                     |
| Ambiente              | O URL base e a credencial pertencem ao mesmo ambiente.                          |
| Manuseamento em campo | SDK gera `timestamp`, `nonce`e `sign`.                                          |
| Exploração florestal  | Os IDs empresariais permanecem visíveis enquanto as credenciais são censuradas. |
| Rotação               | O titular 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-PT/sdk/agent-sdk/overview)

Rever o fluxo de integração backend recomendado.

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

Verifique assinaturas de callback e evite o processamento duplicado.

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

Diagnostica problemas de assinatura, relógio, ambiente e pedidos.