O que é uma janela nonce?

Última atualização: 31/03/2025

Uma das configurações opcionais disponíveis ao gerar uma nova chave API é uma janela nonce.

Uma janela nonce é um curto período de tempo (1 segundo, 10 segundos, etc.) durante o qual os pedidos de API com um nonce inválido, especificamente um valor nonce inferior a um valor nonce utilizado anteriormente, não causarão um erro de nonce inválido (EAPI:Invalid nonce).

O objetivo de uma janela nonce é superar erros de nonce causados por inconsistências de rede (como quando os pedidos de API chegam numa ordem diferente da ordem em que foram enviados devido à latência da rede).

Na maioria das situações, a configuração da janela nonce deve ser mantida no seu valor predefinido de 0 (zero), mas no caso de serem recebidos erros de nonce inválidos devido a problemas de rede, a configuração da janela nonce pode ser útil.

A configuração apropriada para uma janela nonce depende da quantidade de tempo necessária e da resolução do próprio nonce.

Exemplos para um nonce baseado na hora UNIX atual em milissegundos (uma escolha popular e eficaz para um nonce) seriam:

  • uma configuração de janela nonce de 5000, permitindo uma janela nonce de 5 segundos,

  • uma configuração de janela nonce de 8000, permitindo uma janela nonce de 8 segundos,

  • ou uma configuração de janela nonce de 500, permitindo uma janela nonce de 0,5 segundos.

Exemplos para um nonce baseado num simples contador incremental (1, 2, 3, e assim por diante, embora isto não seja recomendado) seriam:

  • uma configuração de janela nonce de 30, permitindo uma janela nonce de 10 segundos a uma taxa máxima de chamadas API de 3 chamadas por segundo,

  • uma configuração de janela nonce de 50, permitindo uma janela nonce de 5 segundos a uma taxa máxima de chamadas API de 10 chamadas por segundo,

  • ou uma configuração de janela nonce de 5, permitindo uma janela nonce de 5 segundos a uma taxa máxima de chamadas API de 1 chamada por segundo.

Precisa de mais ajuda?