Saltar al contenido principal
Las rutas de socio no aceptan el encabezado Idempotency-Key. Cada ruta se puede reintentar sin riesgo a su manera.

Totales de vuelo

PUT /v1/partner/grants/{grant_id}/flight-totals envía un estado completo, no un cambio, y as_of hace que un reintento sea seguro:
  • as_of es obligatorio. Indica el instante del estado del logbook, en RFC 3339, y se compara al microsegundo.
  • No puede estar más de 5 minutos adelantado respecto del reloj del servidor. Un as_of posterior se rechaza con 400 invalid_request.
  • Enviar de nuevo el mismo as_of y los mismos totales, por ejemplo después de perder la respuesta, responde 200 y no aplica nada, mientras ese envío siga siendo el último aceptado del grant.
  • Después de que se acepta un envío más reciente, el mismo reintento responde 409 conflict con el motivo stale_totals. Lo mismo ocurre con cualquier envío cuyo as_of sea anterior al último aceptado. No se aplica nada. Envía el estado actual del logbook.
  • Un reintento se reconoce por su as_of y por los totales que suma, no por sus bytes: dos cuerpos distintos enviados con un mismo as_of que suman los mismos totales son el mismo envío.
El límite de 15 minutos viene después de estas verificaciones: un reintento del último envío aceptado es 200 incluso dentro de la ventana, un as_of anterior es 409 stale_totals, y solo un envío nuevo dentro de la ventana responde 429 push_throttled. MyPilotIndex sube cada columna de horas al valor del logbook cuando este es mayor y nunca baja ninguna, así que un envío repetido no puede sumar tiempo dos veces.

Intercambio del código

Un código sirve una sola vez. Intercambiarlo de nuevo, después de perder la respuesta, responde 400 invalid_request con el motivo invalid_grant, como en OAuth. Reinicia el consentimiento para obtener un código nuevo.

Lecturas

Las llamadas de lectura se pueden repetir sin riesgo.