ForHosting KIT · Ferramentas para dev

Verificar formato da chave de idempotência

A verificação de formato de chave de idempotência pega a string que você pretende enviar como cabeçalho Idempotency-Key e informa se ela segue as orientações de formato mais comuns antes mesmo de chegar à sua API.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ela verifica se a chave não está vazia, se é longa o suficiente para ser única na prática, se permanece dentro de um comprimento máximo razoável e se cada caractere é seguro para URL, de modo que a chave sobreviva a cabeçalhos, logs e query strings sem surpresas de codificação. Você envia uma string e recebe um indicador valid claro, o comprimento medido e uma lista de problemas concretos quando algo está errado.

Por que chaves de idempotência precisam de verificação de formato

Chaves de idempotência existem para que uma requisição repetida — um pagamento enviado duas vezes, um pedido criado após um timeout — seja processada uma única vez. Mas a segurança que prometem depende de a própria chave estar bem formada. Uma chave curta demais colide com a chave de outro cliente e deduplica silenciosamente duas operações diferentes em uma só. Uma chave com caracteres fora do alfabeto seguro para URL é mutilada em algum ponto entre o seu cliente, um proxy, o pipeline de logs e o servidor, de modo que a repetição chega com uma string diferente da original e é cobrada duas vezes. Uma chave vazia é rejeitada de imediato pela maioria das APIs, muitas vezes com um erro genérico que leva uma tarde inteira para rastrear. Passar a chave por esta verificação de formato de chave de idempotência na borda do seu sistema captura os três modos de falha em tempo de desenvolvimento, numa suíte de testes ou numa validação prévia dentro do seu próprio serviço, em vez de num relatório de reconciliação semanas depois.

O que exatamente é validado

A verificação aplica as orientações de formato que processadores de pagamento e middlewares de deduplicação documentam com mais frequência. Primeiro, a chave deve ser uma string não vazia; uma chave vazia é um erro, não um aviso, porque nenhum servidor a aceitará. Segundo, o comprimento: por padrão a chave deve ter pelo menos 16 caracteres, o piso abaixo do qual a unicidade deixa de ser plausível, e no máximo 255 caracteres, o teto que a maioria dos armazenamentos aceita — ambos os limites são configuráveis por chamada. Terceiro, o alfabeto: cada caractere deve pertencer ao conjunto não reservado da RFC 3986 — letras, dígitos, hífen, ponto, sublinhado e til. Esses caracteres atravessam cabeçalhos HTTP, segmentos de URL e transportadores de logs sem codificação, que é exatamente por onde as chaves de idempotência viajam. Quando um caractere falha, a resposta lista cada caractere infrator distinto para que você veja se alguém embutiu um espaço, uma barra ou um emoji, e o array issues nomeia o problema de forma legível por máquina: too_short, too_long ou unsafe_characters.

Onde a verificação se encaixa na sua stack

A maioria das equipes a integra em dois lugares. O primeiro é o cliente que gera as chaves: logo depois de montar uma chave a partir de um UUID, um timestamp e um id de usuário, valide-a uma vez e registre um aviso se ela falhar, para que um bug do gerador apareça em staging em vez de produção. O segundo é o teste de contrato: envie um lote de chaves de cada integração que você mantém pelo endpoint no CI, de modo que uma atualização de biblioteca que mude o comportamento de codificação quebre o build. O endpoint é determinístico e sem estado — nada é armazenado, nenhuma lista de chaves já vistas é consultada e a mesma entrada sempre produz a mesma saída —, o que significa que é seguro chamá-lo com chaves reais e barato o bastante, a US$ 0,002 por requisição, para rodar em cada deploy. A mesma validação também roda grátis no seu navegador nesta página, então um desenvolvedor pode colar uma chave suspeita durante um incidente e obter a mesma resposta que a API daria.

Validar chaves num cliente de repetição de pagamentos

Verifique a chave gerada antes de anexar o cabeçalho Idempotency-Key, para que um gerador malformado falhe rápido em vez de cobrar duas vezes o cliente.

Testar integrações por contrato no CI

Envie as chaves que cada um dos seus serviços gera pela verificação a cada build e falhe o pipeline quando uma mudança de biblioteca quebrar o formato.

Depurar um incidente de deduplicação

Cole uma chave dos logs na verificação gratuita do navegador para ver se a codificação ou o comprimento explicam por que duas repetições foram tratadas como requisições diferentes.

Quanto custa?

US$ 0,002 por requisição. A mesma verificação roda grátis no seu navegador nesta página.

A chave é armazenada ou comparada com chaves já vistas?

Não. A verificação trata apenas do formato: comprimento e caracteres. Nada é armazenado e nenhum estado de deduplicação é consultado.

Por que uma chave vazia é um erro e não uma verificação reprovada?

Porque uma chave vazia nunca é uma escolha de formato — é um bug de quem chama. A API a rejeita como entrada inválida para que o problema apareça imediatamente.

Quais caracteres são considerados seguros para URL?

O conjunto não reservado da RFC 3986: letras maiúsculas e minúsculas, dígitos, hífen, ponto, sublinhado e til. Qualquer outro é relatado em invalid_chars.

Posso alterar os limites de comprimento?

Sim. Passe min_length e max_length para substituir os padrões de 16 e 255, por exemplo para se adequar a um provedor que documenta um teto de 64 caracteres.

Um resultado válido garante que a chave é única?

Não. A verificação apenas confere o formato. A unicidade vem de como você gera a chave — um UUID ou uma fonte de entropia semelhante é a resposta usual.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/idempotency-key-format-check

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/idempotency-key-format-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key":"order-7f3a9c2e-2026-07-25"}'
{
  "key": "order-7f3a9c2e-2026-07-25"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.idempotency_key_format_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →