Solução de problemas
Descubra onde uma chamada parou, leia o código da resposta e aplique a correção.
Nesta página
Toda recusa traz um código e uma frase que diz o que fazer. Quando uma pessoa precisa agir, ela traz também um link para a página que resolve.
O resultado de uma ferramenta MCP põe o código em code, ao lado de instruction. Em /p/ um erro chega como error.code e error.instruction, e a consulta de uma chamada encerrada que falhou traz error_code. A API do console responde com error.code e error.request_id.
Encontre a chamada
- Toda chamada tem um
call_idque começa comsp_c_. Abrahttps://my.sallyport.cloud/activity?call=<call_id>para vê-la. - A chamada mostra Agente, Conexão, Versão da chave, Regra, Registro e uma Linha do tempo do que aconteceu.
- Escreva para Configurações, Suporte com o
call_ide, para um erro da API do console, com orequest_id.
Veja exatamente o que o agente enviou e o que voltou
Abra Atividade, escolha a chamada e clique em Abrir o pedido e a resposta completos. A chamada aparece como foi, sem nada escondido.
- O pedido: método, endereço completo, cada cabeçalho e o corpo. Para SSH o comando, para arquivos o caminho e o conteúdo, para um banco de dados a instrução e seus valores, para e-mail a mensagem inteira.
- Um cabeçalho que o agente enviou no lugar da chave, como o próprio
PRIVATE-TOKEN, continua na lista com o valor, riscado e marcado Substituído pela chave da conexão, não enviado. A chave que o Sallyport adicionou nunca aparece. - A resposta: status, cada cabeçalho e o corpo. Uma resposta longa carrega inteira até 1 MiB, e Baixar a resposta completa salva tudo.
- Os pedidos ficam guardados o mesmo tempo que o histórico de chamadas, 180 dias por padrão. As respostas e os corpos de pedido acima de 1 MiB ficam 30 dias, e depois disso a chamada avisa.
Falta um serviço nas ferramentas do agente
- Peça ao agente para chamar
list_access. Ele lista cada serviço que o agente pode usar e o que espera por uma pessoa. - Uma chave nova vai para todo agente ativo do seu espaço de trabalho e do seu ambiente. Um agente em Teste nunca vê uma chave de Produção.
- Uma conexão tirada da lista Acesso de um agente continua fora. Devolva-a com Adicionar conexão.
- Acima de 40 ferramentas, as ferramentas dos servidores MCP remotos saem da lista. O agente as encontra com
search_toolse as executa comcall. - Um host fora da lista funciona por
http_request. A primeira chamada devolve um link onde você adiciona a chave dele.
Códigos de resposta
| Código | HTTP | O que aconteceu | O que fazer |
|---|---|---|---|
AUTH_FAILED | 401 | O token está errado ou revogado, ou não é um token de agente. | Crie um com Novo token em Tokens, na página do agente. |
SUSPENDED | 423 | O agente, o espaço de trabalho dele ou a organização está pausado. | Toque em Retomar agente na página dele, ou em Retomar chamadas em Configurações, Zona de perigo. |
SOURCE_IP_NOT_ALLOWED | 403 | A chamada veio de um endereço fora da lista do agente. | Edite Endereços IP permitidos (opcional) em Limites, na página do agente. |
ACCESS_REQUEST_CREATED | 404 | O agente não tem chave para este host. | Abra o approve_url e adicione a chave. O agente repete a chamada. |
SERVICE_NOT_CONNECTED | 424 | Ninguém entrou numa conexão OAuth. Nada foi enviado. | Abra o connect_url e faça login. O agente repete a chamada. |
APPROVAL_PENDING | 202 | Uma pessoa ainda não respondeu. | Responda no approve_url. O agente continua com call_id. |
APPROVAL_DENIED | 403 | Uma pessoa recusou. Nada foi executado. | O agente age conforme o motivo e não repete. |
APPROVAL_EXPIRED | 410 | Ninguém respondeu a tempo. Nada foi executado. | Repita sem call_id para perguntar de novo. |
APPROVAL_SUPERSEDED | 409 | A regra ou a chave mudou depois que o cartão abriu. | Repita sem call_id. |
CALL_CONFLICT | 409 | Outra chamada já usou esta aprovação. | Faça uma chamada nova. |
CALL_NOT_FOUND | 404 | O call_id é de outro agente ou não existe. | Faça uma chamada nova. |
POLICY_DENY | 403 | A regra do agente para esta classe é Recusado. | O approve_url abre a página do agente. Mude a classe na lista Acesso dele. |
PATH_OUT_OF_PREFIX | 400 | O caminho fica fora do que a conexão cobre. | Escreva o caminho completo da documentação do serviço. |
BAD_REQUEST | 400 | A chamada está malformada, e reason diz como. | O texto nomeia a correção. A lista abaixo cobre os motivos que uma pessoa corrige. |
IDEMPOTENCY_CONFLICT | 409 | Uma mesma idempotency_key veio com argumentos diferentes. | Use uma chave nova. |
IN_FLIGHT | 409 | A mesma chamada já está em execução. | Espere retry_after_ms e repita para receber o resultado dela. |
ALREADY_EXECUTED | 200 | Uma repetição recebeu o resultado da primeira chamada. O serviço não foi chamado de novo. | Para executar de novo agora, repita com uma idempotency_key nova. |
RATE_LIMITED | 429 | Chamadas demais em pouco tempo. | Espere retry_after_ms e repita. |
PLAN_LIMIT | 200 | As chamadas mensais do plano acabaram. As chamadas continuam funcionando, e os resultados MCP trazem este aviso. | Abra Configurações, Plano e cobrança. |
UPSTREAM_ERROR | O status do serviço, ou 424 | O serviço respondeu com erro ou não respondeu. | Leia status e o corpo. A próxima tabela cobre a falta de resposta. |
UPSTREAM_TOO_LARGE | 424 | A resposta passou do limite de tamanho. | Restrinja a requisição ou aumente Maior resposta do serviço em Limites, na página da conexão, até 512 MiB. |
EGRESS_DENIED | 424 | O endereço é privado (private_range), é o próprio Sallyport (self_host) a rede do Sallyport não o alcança (pin_mismatch) ou a chave da conexão não foi salva para ele (key_elsewhere). Nada foi enviado. | Com private_range ou self_host, use um endereço público. Com pin_mismatch, envie o call_id ao suporte. Com key_elsewhere, peça a quem é dono da chave que a adicione de novo para este endereço. |
OUTCOME_UNKNOWN | 424 | O Sallyport não sabe se o serviço agiu. | Verifique o serviço antes de qualquer repetição. |
UPGRADE_NOT_SUPPORTED | 426 | Um upgrade para um protocolo que não é WebSocket. | Envie a requisição sem Upgrade, ou abra um WebSocket. |
WEBSOCKET_REQUIRED | 426 | Uma consulta de uma sessão WebSocket aprovada, que só roda sobre um WebSocket. | Abra o WebSocket de novo com X-Sallyport-Call-Id. |
UNAVAILABLE | 503 | O Sallyport está indisponível por um momento. | Repita após retry_after_ms. |
INTERNAL | 500 | Uma falha do Sallyport. Ela já está registrada. | Envie o call_id ao suporte. |
Quando o serviço não respondeu
UPSTREAM_ERROR com um reason significa que nenhuma resposta voltou. side_effect é none quando nada chegou ao serviço e unknown quando pode ter chegado.
| Motivo | side_effect | O que fazer |
|---|---|---|
dns | none | Repita em alguns segundos. Se continuar falhando, confira o nome do host. |
connect | none | Confira o endereço e repita. |
tls | none | Confira o endereço. Repetir falha do mesmo jeito até o certificado mudar. |
authentication | none | Só em chamadas SSH. O servidor recusou a chave ou o usuário. Confira os dois na conexão. |
host_key | none | Só em chamadas SSH. A chave do servidor não bate mais com a fixada. Confirme com o dono do servidor e veja Comandos SSH. |
ttfb | unknown | O serviço não começou a responder a tempo. Verifique-o antes de qualquer repetição. |
timeout | unknown | O serviço não terminou a tempo. Verifique-o antes de qualquer repetição. |
read | unknown | A conexão caiu enquanto a resposta chegava. Verifique o serviço antes de qualquer repetição. |
Erros de requisição que uma pessoa corrige
A maioria dos motivos de BAD_REQUEST o próprio agente corrige, e o texto diz como. Estes precisam de uma pessoa:
not_httpscomconsole_url: o endereço da conexão começa comhttp://. Troque parahttps://na página da conexão.mcp_binding,database_bindingouemail_binding: uma chamada por/p/aponta para um servidor MCP, um banco de dados ou uma caixa de correio. Chame as ferramentas dele no endpoint MCP.sftp_operation: uma chamada de arquivos não nomeia uma única operação com clareza;detaildiz o que mudar.missing_host: a conexão cobre todos os hosts de um serviço, então a chamada precisa nomear um. Em/p/, ponha o host logo depois do ID da conexão.
Erros da API do console
FORBIDDENnomeia o papel necessário emdetails.required_role. Exportar o registro exige um proprietário, ou um administrador ou auditor da organização inteira sem papel mais restrito em nenhum espaço de trabalho.- Uma chave de API não pode responder a um cartão: uma decisão precisa de uma pessoa.
VALIDATION_FAILEDnomeia cada campo errado emdetails.fields.AUTH_FAILEDsignifica que a sessão terminou ou que a chave de API foi revogada.
Troque uma chave de serviço sem interrupção
- Crie uma chave nova no provedor enquanto a atual ainda funciona.
- Abra a chave em Chaves, toque em Trocar chave, cole o valor novo e toque em Salvar a nova chave.
- Faça uma chamada pelo Sallyport. Quando ela funcionar, revogue a chave antiga no provedor.