Solución de problemas
Encuentra dónde se detuvo una llamada, lee su código de respuesta y aplica la solución.
En esta página
Cada rechazo lleva un código y una frase que dice qué hacer. Cuando tiene que actuar una persona, lleva además un enlace a la página que lo resuelve.
El resultado de una herramienta MCP pone el código en code, junto a instruction. En /p/ un error llega como error.code y error.instruction, y la consulta de una llamada terminada que falló trae error_code. La API de la consola responde con error.code y error.request_id.
Encuentra la llamada
- Cada llamada tiene un
call_idque empieza porsp_c_. Abrehttps://my.sallyport.cloud/activity?call=<call_id>para verla. - La llamada muestra Agente, Conexión, Versión de la clave, Regla, Registro y una Cronología de lo ocurrido.
- Escribe a Configuración, Soporte con el
call_idy, para un error de la API de la consola, con surequest_id.
Mira exactamente qué envió el agente y qué volvió
Abre Actividad, elige la llamada y pulsa Abrir la solicitud y la respuesta completas. La llamada aparece tal como fue, sin nada oculto.
- La solicitud: método, dirección completa, cada cabecera y el cuerpo. Para SSH el comando, para archivos la ruta y el contenido, para una base de datos la sentencia y sus valores, para el correo el mensaje entero.
- Una cabecera que el agente envió en el lugar de la clave, como su propio
PRIVATE-TOKEN, sigue en la lista con su valor, tachada y marcada Sustituida por la clave de la conexión, no enviada. La clave que añadió Sallyport nunca aparece. - La respuesta: estado, cada cabecera y el cuerpo. Una respuesta larga se carga entera hasta 1 MiB, y Descargar la respuesta completa la guarda toda.
- Las solicitudes se guardan lo mismo que el historial de llamadas, 180 días por defecto. Las respuestas y los cuerpos de solicitud de más de 1 MiB se guardan 30 días, y después la llamada lo indica.
Falta un servicio en las herramientas del agente
- Pide al agente que llame a
list_access. Muestra cada servicio que el agente puede usar y qué espera a una persona. - Una clave nueva llega a cada agente activo de su espacio de trabajo y su entorno. Un agente de Pruebas nunca ve una clave de Producción.
- Una conexión quitada de la lista Acceso de un agente sigue quitada. Devuélvela con Añadir conexión.
- Con más de 40 herramientas, las herramientas de los servidores MCP remotos salen de la lista. El agente las encuentra con
search_toolsy las ejecuta concall. - Un host fuera de la lista funciona con
http_request. La primera llamada devuelve un enlace donde añades su clave.
Códigos de respuesta
| Código | HTTP | Qué pasó | Qué hacer |
|---|---|---|---|
AUTH_FAILED | 401 | El token es incorrecto o está revocado, o no es un token de agente. | Crea uno con Nuevo token en Tokens, en la página del agente. |
SUSPENDED | 423 | El agente, su espacio de trabajo o la organización está en pausa. | Pulsa Reanudar agente en su página, o Reanudar llamadas en Configuración, Zona de peligro. |
SOURCE_IP_NOT_ALLOWED | 403 | La llamada llegó desde una dirección fuera de la lista del agente. | Edita Direcciones IP permitidas (opcional) en Límites, en la página del agente. |
ACCESS_REQUEST_CREATED | 404 | El agente no tiene clave para este host. | Abre approve_url y añade la clave. El agente repite la llamada. |
SERVICE_NOT_CONNECTED | 424 | Nadie ha iniciado sesión en una conexión OAuth. No se envió nada. | Abre connect_url e inicia sesión. El agente repite la llamada. |
APPROVAL_PENDING | 202 | Una persona aún no ha respondido. | Responde en approve_url. El agente continúa con call_id. |
APPROVAL_DENIED | 403 | Una persona rechazó. No se ejecutó nada. | El agente actúa según el motivo y no repite. |
APPROVAL_EXPIRED | 410 | Nadie respondió a tiempo. No se ejecutó nada. | Repite sin call_id para preguntar de nuevo. |
APPROVAL_SUPERSEDED | 409 | La regla o la clave cambió después de abrirse la tarjeta. | Repite sin call_id. |
CALL_CONFLICT | 409 | Otra llamada ya usó esta aprobación. | Haz una llamada nueva. |
CALL_NOT_FOUND | 404 | El call_id es de otro agente o no existe. | Haz una llamada nueva. |
POLICY_DENY | 403 | La regla del agente para esta clase es Denegado. | approve_url abre la página del agente. Cambia la clase en su lista Acceso. |
PATH_OUT_OF_PREFIX | 400 | La ruta queda fuera de lo que cubre la conexión. | Escribe la ruta completa de la documentación del servicio. |
BAD_REQUEST | 400 | La llamada está mal formada, y reason dice cómo. | El texto nombra la solución. La lista de abajo cubre los motivos que corrige una persona. |
IDEMPOTENCY_CONFLICT | 409 | Una misma idempotency_key llegó con argumentos distintos. | Usa una clave nueva. |
IN_FLIGHT | 409 | La misma llamada ya se está ejecutando. | Espera retry_after_ms y repite para obtener su resultado. |
ALREADY_EXECUTED | 200 | Una repetición recibió el resultado de la primera llamada. No se volvió a llamar al servicio. | Para ejecutarla de nuevo ahora, repite con una idempotency_key nueva. |
RATE_LIMITED | 429 | Demasiadas llamadas en poco tiempo. | Espera retry_after_ms y repite. |
PLAN_LIMIT | 200 | Se agotaron las llamadas mensuales del plan. Las llamadas siguen funcionando, y los resultados MCP llevan este aviso. | Abre Configuración, Plan y facturación. |
UPSTREAM_ERROR | El estado del servicio, o 424 | El servicio respondió con un error o no respondió. | Lee status y el cuerpo. La tabla siguiente cubre la falta de respuesta. |
UPSTREAM_TOO_LARGE | 424 | La respuesta superó el límite de tamaño. | Acota la petición o sube Respuesta más grande del servicio en Límites, en la página de la conexión, hasta 512 MiB. |
EGRESS_DENIED | 424 | La dirección es privada (private_range), es el propio Sallyport (self_host) la red de Sallyport no la alcanza (pin_mismatch) o la clave de la conexión no se guardó para ella (key_elsewhere). No se envió nada. | Con private_range o self_host, usa una dirección pública. Con pin_mismatch, envía a soporte el call_id. Con key_elsewhere, pide a quien es dueño de la clave que la añada de nuevo para esta dirección. |
OUTCOME_UNKNOWN | 424 | Sallyport no sabe si el servicio actuó. | Comprueba el servicio antes de cualquier repetición. |
UPGRADE_NOT_SUPPORTED | 426 | Un upgrade a un protocolo que no es WebSocket. | Envía la petición sin Upgrade, o abre un WebSocket. |
WEBSOCKET_REQUIRED | 426 | Una consulta de una sesión WebSocket aprobada, que solo corre sobre un WebSocket. | Abre de nuevo el WebSocket con X-Sallyport-Call-Id. |
UNAVAILABLE | 503 | Sallyport no está disponible por un momento. | Repite tras retry_after_ms. |
INTERNAL | 500 | Un fallo de Sallyport. Ya está registrado. | Envía el call_id a soporte. |
Cuando el servicio no respondió
UPSTREAM_ERROR con un reason significa que no llegó respuesta. side_effect es none cuando nada llegó al servicio y unknown cuando pudo llegar.
| Motivo | side_effect | Qué hacer |
|---|---|---|
dns | none | Repite en unos segundos. Si sigue fallando, revisa el nombre del host. |
connect | none | Revisa la dirección y repite. |
tls | none | Revisa la dirección. Repetir falla igual hasta que cambie el certificado. |
authentication | none | Solo en llamadas SSH. El servidor rechazó la clave o el usuario. Revisa ambos en la conexión. |
host_key | none | Solo en llamadas SSH. La clave del servidor ya no coincide con la fijada. Confírmala con el dueño del servidor y consulta Comandos SSH. |
ttfb | unknown | El servicio no empezó a responder a tiempo. Compruébalo antes de cualquier repetición. |
timeout | unknown | El servicio no terminó a tiempo. Compruébalo antes de cualquier repetición. |
read | unknown | La conexión se cortó mientras llegaba la respuesta. Comprueba el servicio antes de cualquier repetición. |
Errores de petición que corrige una persona
La mayoría de los motivos de BAD_REQUEST los corrige el agente, y el texto le dice cómo. Estos necesitan a una persona:
not_httpsconconsole_url: la dirección de la conexión empieza porhttp://. Cámbiala ahttps://en la página de la conexión.mcp_binding,database_bindingoemail_binding: una llamada por/p/apunta a un servidor MCP, a una base de datos o a un buzón. Llama a sus herramientas en el endpoint MCP.sftp_operation: una llamada de archivos no nombra una sola operación con claridad;detaildice qué cambiar.missing_host: la conexión cubre todos los hosts de un servicio, así que la llamada debe nombrar uno. En/p/, pon el host justo después del ID de la conexión.
Errores de la API de la consola
FORBIDDENnombra el rol que necesita endetails.required_role. Exportar el registro requiere un propietario, o un administrador o auditor de toda la organización sin un rol más limitado en ningún espacio de trabajo.- Una clave API no puede responder una tarjeta: una decisión necesita a una persona.
VALIDATION_FAILEDnombra cada campo incorrecto endetails.fields.AUTH_FAILEDsignifica que la sesión terminó o que la clave API fue revocada.
Cambia una clave de servicio sin cortes
- Crea una clave nueva en el proveedor mientras la actual sigue funcionando.
- Abre la clave en Claves, pulsa Rotar clave, pega el valor nuevo y pulsa Guardar la clave nueva.
- Haz una llamada a través de Sallyport. Cuando funcione, revoca la clave antigua en el proveedor.