Errores

El catálogo de errores 4xx con casos concretos relevantes para partners.

Las APIs de Skip usan códigos HTTP estándar. Esta página lista los códigos que efectivamente vas a encontrar, con la causa y la recuperación de cada uno.

400 Bad Request

CausaEjemploRecuperación
Error de validaciónFalta customer.email en POST /ordersArregla el body.
Restricción a nivel campototal_amount es negativoArregla el body.
provider_data desde un no-meta-providerLlamando /api/spot/widget con provider_data cuando tu cuenta no está marcadaQuítalo, o pide a Skip habilitar modo meta-prestador.
Probe de readiness del widgetPOST /orders/{hash}/payment con códigos como processor_customer_identity_not_validatedEl widget lo gestiona — tú no. Ver Caso borde del widget AAPD.

401 Unauthorized

CausaEjemploRecuperación
Credencial faltante o erróneaSin header Authorization en POST /ordersAgrégalo.
Tipo de credencial erradoEnviando client_id a un endpoint que necesita client_secretCambia a la credencial correcta.
Provider inactivoTu public_key apunta a un Provider inactivoContacta a Skip.
Ambiente equivocadoEnviando pk_test_* a producciónUsa la clave de producción.

403 Forbidden

CausaEjemploRecuperación
Tu credencial no tiene el permiso requerido para el endpointLlamando un endpoint restringido a meta-prestadores sin el permiso habilitadoPide a Skip habilitar el modo/permiso correspondiente.

404 Not Found

CausaEjemploRecuperación
Hash de orden desconocidoGET /orders/{uuid-inexistente}Confirma el hash.
Beneficiario no existe por RUTPOST /api/spot/gastos?rut=... para un RUT sin beneficiario SkipEl paciente no es usuario Skip. Onboardéalo primero vía Spot, o salta el envío.
Widget token no existeEl paciente abrió un link viejoMintea un token nuevo.

409 Conflict

CausaEjemploRecuperación
Colisión de RUTPOST /api/spot/user para un RUT registrado bajo otro correoMuéstrale al paciente el flujo de recuperación (ver Casos borde del widget Spot).

410 Gone

CausaEjemploRecuperación
Widget token expiradoEl paciente volvió después del TTL de 1 horaMintea un token nuevo, o usa long_term_token=true para extender a 30 días.

422 Unprocessable Entity

CausaEjemploRecuperación
RUT mal formado12345678 (sin dígito verificador)Normaliza y reenvía. Ver RUT.
Formato de CI inválidoValidate-identity con un serial mal formadoRecolecta de nuevo del paciente.
Identidad rechazadaMismatch con registros nacionalesEl paciente debe contactar ISAPRE / registro nacional. Skip no puede saltarse esto.

Forma de las respuestas de error

El detalle legible del error viene en el campo detail en todos los endpoints. Algunos endpoints agregan un código machine-readable adicional:

// Endpoints de gastos (Spot): detail + code
{ "detail": "Explicación legible.", "code": "RUT_OTHER_EMAIL" }
// Órdenes AAPD: detail (string o, en 404, un objeto con error_code)
{ "detail": { "error_code": "order_not_found", "message": "Order not found" } }

Haz match sobre code / error_code cuando esté presente; usa detail para mostrar al usuario (su redacción puede cambiar). No existe un campo error uniforme entre endpoints.

Las respuestas 5xx son problemas server-side del lado Skip. Son raros. Reintenta con backoff (ver la política de retries). Si los 5xx persisten más de ~5 minutos, escala a Skip por tu canal de soporte.

On this page