Errores y reintentos
Esta página está traducida del inglés. Si ambas difieren, la página en inglés es la correcta. Leer la página en inglés
Todo fallo que lanza una biblioteca es uno de cuatro errores, y los cuatro comparten un tipo base, así que un solo manejador puede capturarlos todos.
- Error de API. La API rechazó la petición. Incluye el estado HTTP, un
codeestable con el que ramificar tu lógica y un mensaje en el idioma que pediste. - Error de OAuth. El endpoint de tokens rechazó tus credenciales o los ámbitos que solicitaste.
- Error de mantenimiento. La API no está disponible durante un breve periodo por mantenimiento.
- Error de transporte. No llegó ninguna respuesta utilizable: la conexión falló o agotó el tiempo de espera, o no se pudo leer la respuesta.
Cancelar una llamada no es un error. Se manifiesta como la cancelación propia de tu lenguaje.
Qué se reintenta
Un 429 o 503 que indica cuánto esperar, en una cabecera Retry-After de 60 segundos o menos, se reintenta tras exactamente esa espera. Una llamada hace como máximo 3 intentos. Puedes desactivar los reintentos fijando el máximo en 1.
Todo lo demás se lanza de inmediato:
- un 429 o 503 sin
Retry-After; - una espera de más de 60 segundos, que la biblioteca no pasará dentro de tu llamada. El error incluye
retry_after, para que puedas programar tú mismo el reintento; - un error de transporte, porque puede que la petición ya haya llegado a la API;
- cualquier flujo que ya haya entregado un evento.