
A resposta curta: quando um pedido a uma API esgota o tempo de espera, não sabe se ele chegou. Pode ter falhado antes de sair, ou ter sido feito do outro lado e a resposta ter-se perdido no caminho. Repetir às cegas é como se cobra duas vezes um cliente ou se manda o mesmo SMS em duplicado. A defesa tem um nome, idempotência: fazer com que repetir o mesmo pedido tenha o mesmo efeito que fazê-lo uma vez. Para programadores que ligam o site a pagamentos, SMS ou outras APIs que criam coisas.
Quando repetir, e quando não
| O que aconteceu | Repetir? | Como |
| O nome não resolve ou a ligação foi recusada (erro 6 ou 7 do cURL) | Sim | O pedido não chegou a sair. Veja os erros 28, 7 e 6 do cURL. |
| Tempo esgotado (erro 28) ou ligação cortada a meio | Só com cuidado | Não sabe se foi feito. Consulte primeiro o estado, ou repita com a mesma chave de idempotência. |
| 429 Too Many Requests | Sim, mais tarde | Espere o que o cabeçalho Retry-After indicar. Veja o erro 429. |
| 500, 502, 503 ou 504 | Normalmente sim | Com esperas cada vez maiores e, se o pedido cria ou cobra alguma coisa, com chave de idempotência. |
| 400, 401, 403, 404 ou 422 | Não | O pedido está errado ou não é permitido. Repetir dá o mesmo erro: corrija primeiro. |
| 409 Conflict | Depende | Em muitas APIs quer dizer «já existe» ou «já está em curso». Consulte antes de fazer mais alguma coisa. |
| 200 ou 201 | Não | Está feito. Guarde a resposta. |
Tornar uma cobrança segura contra repetições
|
|
|
|
|
|
| O botão «Pagar» também repete. O cliente carrega duas vezes, ou volta atrás e reenvia o formulário. Desactive o botão depois do primeiro clique, mas não confie só nisso: no servidor, use a mesma referência da encomenda, para que o segundo pedido dê com o primeiro em vez de criar outra cobrança. |
| Registe cada tentativa com a sua referência, a hora, o código de estado e o erro do cURL. Quando um cliente disser «cobraram-me duas vezes», é esse registo que mostra se foram duas cobranças ou uma repetição que a API ignorou. Ver também chamar uma API a partir do PHP. |
|
Os pedidos do seu site a uma API esgotam o tempo com frequência? Diga-nos o endereço da API e a hora de um caso, e vemos se a saída da hospedagem tem alguma coisa a ver. Abrir pedido de suporte |
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |











