Referencia
Solución de problemas
Síntomas frecuentes y cómo resolverlos.
Comprobar la API desde el navegador#
Desde un navegador solo puedes hacer peticiones GET, y no se puede adjuntar el token (va en una cabecera, y el login es por POST). Así que no verás datos, pero el navegador sí sirve para una comprobación rápida muy útil: confirmar que la API está viva y que el certificado HTTPS es válido.
Abre la URL de un extremo de tipo vista, por ejemplo:
https://<servidor>/api/view/Clientes
(cualquier nombre sirve: la respuesta de seguridad llega antes de comprobar el extremo). Según lo que veas:
401No autorizado → la API funciona y el certificado es válido; solo falta el token. Es la respuesta buena.- Aviso de certificado → el certificado HTTPS no es válido o no es de confianza; revísalo.
- No se puede conectar / la página no carga → problema de red o de IIS, o el sitio está parado.
404u otra página de error de IIS → el sitio o la ruta no están bien publicados.
Si hay firewall o restricción por IP
Esta comprobación solo funciona si tu equipo puede alcanzar el servidor. Es habitual proteger la API con un firewall o con una regla que solo acepta peticiones desde una IP concreta; en ese caso, desde un equipo no autorizado verás un no se puede conectar aunque la API esté perfectamente. Hazla desde un equipo con acceso permitido.
La API no arranca o falla nada más publicarla#
- El grupo de aplicaciones no tiene 32 bits habilitado. La API es de 32 bits: en el App Pool, pon «Habilitar aplicaciones de 32 bits» =
True. - No encuentra
Configuracion.json. Debe estar en la raízC:\SIT\Services\Sit_a3ERP_Api, un nivel por encima de la carpeta del sitio.
401 (no autorizado)#
- El token ha caducado (depende del tiempo de sesión del usuario). Tienen que volver a llamar a login.
- La aplicación ha cambiado el
User-Agent: el token va ligado a él y deja de valer (ver Seguridad). - Usuario o contraseña incorrectos en el login.
403 (prohibido)#
- El usuario no tiene permiso sobre ese extremo o ese método. Revisa los permisos en la pantalla de Configuración de la API.
- En operaciones custom, el permiso no casa con el dispatcher o el nombre del método.
400 (petición incorrecta)#
- Faltan parámetros obligatorios, o se envían parámetros que el extremo no tiene configurados.
Una operación custom no se procesa#
La tarea se queda encolada y nunca llega respuesta:
- El worker no está en marcha (revisa la tarea programada de Windows).
- El worker está en marcha pero ha dejado de coger tareas (a veces se queda colgado sin causa aparente): páralo y vuelve a iniciarlo (detén la tarea programada y arráncala de nuevo). Es la solución más habitual cuando las peticiones se encolan pero no se procesan.
- El worker tiene un
UserIddistinto al del usuario que encoló la petición. - El dispatcher del extremo no coincide con el del worker.
Para investigar a fondo, consulta la fila de la petición en la tabla de cola: ver Las tablas de la API.
Cuidado con el 200 de las tareas
GET /api/task/{nº} responde 200 aunque la tarea haya fallado. Si "responde OK pero en a3ERP no pasó nada", consulta el cuerpo de la respuesta y busca el detalle del error.
El HTTPS no funciona en producción#
- El HTTPS debe salir por el puerto 443 de cara afuera: directamente o mediante un enrutamiento/proxy. Revisa el binding del sitio y el certificado.
Las consultas devuelven datos de otra empresa o vienen vacías#
- El campo Empresa del usuario determina la base de datos sobre la que consulta. Revísalo en la ficha del usuario.
- Comprueba la conexión:
Configuracion.jsoncorrecto y SQL Server accesible desde el servidor de IIS.