Operações de longa duração

A API Submission é assíncrona e retorna uma operação de longa duração. A operação pode não ser concluída quando o método retornar uma resposta.

Receber status de operação

Veja a seguir como pesquisar o status de uma operação.

Chame o método GET para o tipo de operação.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-number: o número do projeto do Google Cloud.
  • operation-id: ID da operação

Método HTTP e URL:

GET https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id

Para enviar a solicitação, escolha uma destas opções:

curl

Execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id"

PowerShell

Execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://webrisk.googleapis.com/v1/projects/project-number/operations/operation-id" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/project-number/operations/operation-id",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.webrisk.v1.SubmitUriMetadata",
    "state": "RUNNING"
  }
  "done": false,
  ...
}

Entender o status da operação

O campo metadata.state na resposta indica o status atual do envio. Quando a operação for concluída, o campo state no SubmitUriMetadata será atualizado. Os estados possíveis são:

  • SUCCEEDED: indica que o URL enviado foi adicionado à lista de bloqueio da Navegação Segura.
  • CLOSED: indica que o URL enviado não foi adicionado à lista de bloqueio da Navegação segura porque não foi constatada violação das políticas da Navegação segura.
  • RUNNING: indica que o envio ainda está sendo processado.

Entender os motivos de fechamento

Quando o estado da operação é CLOSED, o SubmitUriMetadata pode incluir um campo closed_reason. Esse campo fornece mais contexto sobre por que o envio foi encerrado sem que o URL fosse adicionado a uma lista de bloqueio.

Os valores possíveis para closed_reason são:

  • CLOSED_REASON_UNSPECIFIED: o motivo não foi especificado.
  • NO_THREAT_DETECTED:
    • Descrição: o URL enviado foi analisado com sucesso e não continha conteúdo malicioso. Isso indica que, com base na nossa análise, o URL não atende aos critérios de inclusão em listas de bloqueio.
    • Ação recomendada do usuário: normalmente, não é necessário fazer mais nada com esse URL, já que ele não foi considerado uma ameaça. Não envie novamente de forma repetida, a menos que o conteúdo mude e surjam novas evidências de atividade maliciosa.
  • HOST_UNRESOLVABLE:
    • Descrição: não foi possível concluir a análise porque o nome do host do URL não foi resolvido pelo DNS. Isso geralmente significa que o site está inativo, o domínio não existe mais ou houve um problema temporário de DNS. Não é possível adicionar URLs inativos ou substitutos à lista de bloqueio.
    • Ação recomendada do usuário:
      • Verifique o URL: confira se o nome do host está correto e se o site está ativo e acessível ao público.
      • Reenvie: você pode reenviar o URL mais tarde se confirmar que o site está ativo.
  • CONTENT_UNREACHABLE:
    • Descrição: não foi possível concluir a análise porque não foi possível acessar o conteúdo do site. Isso pode acontecer por vários motivos, como:
      • A página da Web não existe mais (erro "404 Not Found").
      • O servidor do site encontrou um erro (este é um "erro de servidor 5xx").
      • O site pode estar mostrando um conteúdo diferente para nosso sistema de análise do que para um visitante comum (isso é cloaking), impedindo uma avaliação completa.
    • Ação recomendada do usuário:
      • Verificar acessibilidade: confirme se o conteúdo malicioso pode ser acessado. Alguns sites só mostram conteúdo malicioso em condições específicas (por exemplo, em determinados locais geográficos, dispositivos ou navegadores).
      • Forneça mais contexto: se o URL estiver acessível em condições específicas, reenvie-o. Use os campos ThreatDiscovery em SubmitUriRequest para fornecer mais detalhes, como a região e a plataforma em que a ameaça foi observada. Essas informações podem aumentar a probabilidade de uma análise bem-sucedida.