Pular para o conteúdo principal
As rotas de parceiro não aceitam o cabeçalho Idempotency-Key. Cada rota se torna segura para repetir do seu próprio jeito.

Posts, stories e vagas

Toda criação exige um client_ref escolhido por você. O mesmo client_ref com o mesmo corpo responde 200 com o id guardado e replayed: true, e não cria nada; com outro corpo, responde 409 conflict com o motivo client_ref_reused. Veja como repetir sem risco. Uma alteração ou um encerramento de vaga, e toda remoção, podem ser repetidos: a vaga termina no mesmo estado, e uma remoção que já aconteceu responde 404 not_found.

Totais de voo

PUT /v1/partner/grants/{grant_id}/flight-totals envia um estado completo, não uma alteração, e o as_of torna a repetição segura:
  • as_of é obrigatório. Ele indica o instante do estado do logbook, em RFC 3339, e é comparado até o microssegundo.
  • Ele não pode estar mais de 5 minutos à frente do relógio do servidor. Um as_of posterior a isso é recusado com 400 invalid_request.
  • Enviar de novo o mesmo as_of e os mesmos totais, por exemplo depois de perder a resposta, responde 200 e não aplica nada, enquanto esse envio ainda for o último envio aceito do grant.
  • Depois que um envio mais novo é aceito, a mesma repetição responde 409 conflict com o motivo stale_totals. O mesmo vale para qualquer envio cujo as_of seja anterior ao último aceito. Nada é aplicado. Envie o estado atual do logbook.
  • Uma repetição é reconhecida pelo as_of e pelos totais que ela soma, não pelos bytes: dois corpos diferentes enviados com o mesmo as_of que somam os mesmos totais são o mesmo envio.
O limite de frequência de 15 minutos vem depois dessas verificações: uma repetição do último envio aceito recebe 200 mesmo dentro da janela, um as_of anterior recebe 409 stale_totals, e só um envio novo dentro da janela responde 429 push_throttled. O MyPilotIndex eleva cada coluna de horas ao valor do logbook quando ele é maior e nunca diminui uma coluna, então um envio repetido não pode somar tempo duas vezes.

Troca de código

Um código funciona uma única vez. Trocá-lo de novo, depois de perder a resposta, responde 400 invalid_request com o motivo invalid_grant, como no OAuth. Reinicie o consentimento para obter um novo código.

Leituras

Chamadas de leitura podem ser repetidas com segurança.