Pular para a documentação
DocumentaçãoSolução de problemas

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_id que começa com sp_c_. Abra https://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_id e, para um erro da API do console, com o request_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_tools e as executa com call.
  • 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ódigoHTTPO que aconteceuO que fazer
AUTH_FAILED401O token está errado ou revogado, ou não é um token de agente.Crie um com Novo token em Tokens, na página do agente.
SUSPENDED423O 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_ALLOWED403A 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_CREATED404O agente não tem chave para este host.Abra o approve_url e adicione a chave. O agente repete a chamada.
SERVICE_NOT_CONNECTED424Ninguém entrou numa conexão OAuth. Nada foi enviado.Abra o connect_url e faça login. O agente repete a chamada.
APPROVAL_PENDING202Uma pessoa ainda não respondeu.Responda no approve_url. O agente continua com call_id.
APPROVAL_DENIED403Uma pessoa recusou. Nada foi executado.O agente age conforme o motivo e não repete.
APPROVAL_EXPIRED410Ninguém respondeu a tempo. Nada foi executado.Repita sem call_id para perguntar de novo.
APPROVAL_SUPERSEDED409A regra ou a chave mudou depois que o cartão abriu.Repita sem call_id.
CALL_CONFLICT409Outra chamada já usou esta aprovação.Faça uma chamada nova.
CALL_NOT_FOUND404O call_id é de outro agente ou não existe.Faça uma chamada nova.
POLICY_DENY403A 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_PREFIX400O caminho fica fora do que a conexão cobre.Escreva o caminho completo da documentação do serviço.
BAD_REQUEST400A chamada está malformada, e reason diz como.O texto nomeia a correção. A lista abaixo cobre os motivos que uma pessoa corrige.
IDEMPOTENCY_CONFLICT409Uma mesma idempotency_key veio com argumentos diferentes.Use uma chave nova.
IN_FLIGHT409A mesma chamada já está em execução.Espere retry_after_ms e repita para receber o resultado dela.
ALREADY_EXECUTED200Uma 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_LIMITED429Chamadas demais em pouco tempo.Espere retry_after_ms e repita.
PLAN_LIMIT200As chamadas mensais do plano acabaram. As chamadas continuam funcionando, e os resultados MCP trazem este aviso.Abra Configurações, Plano e cobrança.
UPSTREAM_ERRORO status do serviço, ou 424O 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_LARGE424A 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_DENIED424O 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_UNKNOWN424O Sallyport não sabe se o serviço agiu.Verifique o serviço antes de qualquer repetição.
UPGRADE_NOT_SUPPORTED426Um upgrade para um protocolo que não é WebSocket.Envie a requisição sem Upgrade, ou abra um WebSocket.
WEBSOCKET_REQUIRED426Uma consulta de uma sessão WebSocket aprovada, que só roda sobre um WebSocket.Abra o WebSocket de novo com X-Sallyport-Call-Id.
UNAVAILABLE503O Sallyport está indisponível por um momento.Repita após retry_after_ms.
INTERNAL500Uma 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.

Motivoside_effectO que fazer
dnsnoneRepita em alguns segundos. Se continuar falhando, confira o nome do host.
connectnoneConfira o endereço e repita.
tlsnoneConfira o endereço. Repetir falha do mesmo jeito até o certificado mudar.
authenticationnoneSó em chamadas SSH. O servidor recusou a chave ou o usuário. Confira os dois na conexão.
host_keynoneSó em chamadas SSH. A chave do servidor não bate mais com a fixada. Confirme com o dono do servidor e veja Comandos SSH.
ttfbunknownO serviço não começou a responder a tempo. Verifique-o antes de qualquer repetição.
timeoutunknownO serviço não terminou a tempo. Verifique-o antes de qualquer repetição.
readunknownA 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_https com console_url: o endereço da conexão começa com http://. Troque para https:// na página da conexão.
  • mcp_binding, database_binding ou email_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; detail diz 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

  • FORBIDDEN nomeia o papel necessário em details.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_FAILED nomeia cada campo errado em details.fields.
  • AUTH_FAILED significa 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.