Desarrolladores
translateEnglishAbrir una cuenta

Empieza

  • API para revendedores
  • Inicio rápido

Conceptos

  • Autenticación y modos
  • Errores
  • Idempotencia
  • Límites de uso
  • Paginación

Referencia

  • Endpoints
  • Objetos

Guías

  • Ciclo de una reserva
  • Liga de pago y apartado
  • Cancelaciones
  • Webhooks
  • Sandbox

Más

  • Cambios
data_objectOpenAPI 3.1
menu_bookErroresexpand_more

Empieza

  • API para revendedores
  • Inicio rápido

Conceptos

  • Autenticación y modos
  • Errores
  • Idempotencia
  • Límites de uso
  • Paginación

Referencia

  • Endpoints
  • Objetos

Guías

  • Ciclo de una reserva
  • Liga de pago y apartado
  • Cancelaciones
  • Webhooks
  • Sandbox

Más

  • Cambios
data_objectOpenAPI 3.1

Conceptos

Errores

Formato de los errores de la API de Muvon, sus tipos, códigos HTTP y la lista completa de códigos.

Los errores usan códigos HTTP (4xx es algo de la petición, 5xx es de nuestro lado) y siempre el mismo cuerpo:

json
{
  "error": {
    "type": "invalid_request_error",
    "code": "notice_too_short",
    "message": "pickup_at must be at least 30 hours from now",
    "param": "pickup_at",
    "request_id": "req_7e1f0c2a9b8d4e3f"
  }
}

Tipos

TipoCuándo
invalid_request_errorLa petición tiene un problema: falta un campo, un valor no sirve, o la regla de negocio no lo permite.
authentication_errorFalta la llave o no sirve.
permission_errorLa llave sirve pero no puede hacer eso.
rate_limit_errorDemasiadas peticiones. Ve Límites.
idempotency_errorProblema con la Idempotency-Key. Ve Idempotencia.
api_errorFalla de nuestro lado. Reintenta con espera creciente.

Códigos

Programa contra code, no contra message: los mensajes pueden cambiar, los códigos no.

HTTPCódigoTipoQué significa
400parameter_missinginvalid_request_errorFalta un campo obligatorio (param dice cuál).
400parameter_invalidinvalid_request_errorUn campo tiene un valor o formato que no sirve.
400invalid_jsoninvalid_request_errorEl cuerpo no es JSON válido.
400body_missinginvalid_request_errorEse endpoint necesita un cuerpo JSON.
400idempotency_key_invalidinvalid_request_errorLa Idempotency-Key debe tener de 1 a 255 caracteres imprimibles, sin espacios.
400place_not_foundinvalid_request_errorEse place_id no existe. Usa uno de GET /places o manda una dirección.
400vehicle_type_not_foundinvalid_request_errorEse vehicle_type_id no existe. Ve GET /vehicle-types.
400quote_invalidinvalid_request_errorLa cotización no tiene precio. Pide otra.
400idempotency_key_requiredinvalid_request_errorPOST /bookings sin encabezado Idempotency-Key.
401missing_api_keyauthentication_errorNo mandaste Authorization: Bearer.
401invalid_api_keyauthentication_errorLa llave no existe, se revocó, la cuenta está suspendida o es una llave live sin live activado.
403test_mode_onlypermission_errorLas rutas /test/… solo funcionan con llave de prueba.
404resource_missinginvalid_request_errorNo hay una reserva o cotización con ese id o código para tu cuenta y modo.
409quote_expiredinvalid_request_errorLa cotización venció. Pide otra.
409quote_usedinvalid_request_errorEsa cotización ya se reservó.
409cancel_window_closedinvalid_request_errorFaltan menos de 24 h para la recogida. Escribe a Muvon.
409booking_not_payableinvalid_request_errorSandbox: una reserva cancelada no se puede pagar.
409booking_not_cancellableinvalid_request_errorEl viaje ya está en curso, terminó o ya estaba cancelado.
409invalid_status_transitioninvalid_request_errorSandbox: ese estado no sigue al actual.
409idempotency_conflictidempotency_errorUsaste la misma Idempotency-Key con otro cuerpo.
422notice_too_shortinvalid_request_errorLa recogida es en menos de 30 h, o de la anticipación del vehículo.
422same_origin_destinationinvalid_request_errorOrigen y destino son el mismo lugar.
422route_too_longinvalid_request_errorEl viaje pasa de 330 km.
422route_not_priceableinvalid_request_errorNo pudimos calcular la ruta entre esos puntos.
422passengers_out_of_rangeinvalid_request_errorNingún vehículo (o el que pediste) lleva a esas personas.
422too_many_bagsinvalid_request_errorLas maletas no caben en el vehículo.
422hours_out_of_rangeinvalid_request_errorEn hourly, hours va de 1 a 12.
422extra_unavailableinvalid_request_errorEse extra no existe o no se vende por la API.
422option_unavailableinvalid_request_errorEl vehicle_type_id no está en las opciones de la cotización.
413body_too_largeinvalid_request_errorEl cuerpo pasa de 32 KB.
429rate_limitedrate_limit_errorDemasiadas peticiones en este minuto. Espera lo que diga Retry-After.
500internal_errorapi_errorAlgo falló de nuestro lado. Reintenta; si sigue, manda el request_id.
503not_configuredapi_errorEl servicio no está disponible por ahora. Reintenta más tarde.
503pricing_unavailableapi_errorNo hay tarifas cargadas para cotizar. Reintenta más tarde.
arrow_backAnteriorAutenticación y modosSiguientearrow_forwardIdempotencia

En esta página

  • Tipos
  • Códigos