Todos os produtos
Search
Central de documentação

AI Guardrails:Configure notifications

Última atualização: Jun 27, 2026

O AI Guardrails entrega os resultados de detecção de conteúdo e revisão humana de forma assíncrona por meio de notificações de callback. Este tópico explica como configurar callbacks para que seu servidor receba esses resultados automaticamente.

Como funciona

O AI Guardrails oferece suporte a dois tipos de callback:

  • Callbacks de resultado de varredura: Após concluir uma solicitação de detecção, o AI Guardrails envia os resultados via POST para o seu endereço de webhook.

  • Callbacks de resultado de revisão: Quando uma revisão humana altera os resultados da detecção (seja pelo console ou pela API de feedback), o AI Guardrails envia os resultados da revisão via POST para o seu endereço de webhook. Para mais detalhes, consulte Revisão humana.

Fluxo completo do processo:

  1. Seu servidor expõe um endereço de webhook público.

  2. Informe o endereço de webhook (e um seed) ao chamar uma operação de API assíncrona ou configurar o console.

  3. Quando o AI Guardrails finaliza o processamento, ele envia os resultados via POST para o seu endereço de webhook.

  4. Seu servidor retorna HTTP 200 para confirmar o recebimento e processa o payload.

Conceitos principais

Termo

Descrição

Endereço de webhook

Endpoint HTTPS ou HTTP público em seu servidor que recebe os payloads de callback. Configure-o no console do AI Guardrailsconsole do AI Guardrails.

Seed

String secreta usada para verificar se as solicitações recebidas foram originadas pelo AI Guardrails, e não por terceiros.

Tentativas de callback

O AI Guardrails tenta reenviar entregas com falha até três vezes. Uma resposta HTTP 200 indica sucesso na entrega; qualquer outro código de status é tratado como falha.

Dados de callback

Payload codificado como formulário que o AI Guardrails envia via POST para o seu endereço de webhook.

Requisitos do endereço de webhook

Seu endereço de webhook deve atender a todos os requisitos abaixo:

  • Acessível pela Internet via HTTP ou HTTPS

  • Compatível com o método POST

  • Suporte à codificação UTF-8

  • Aceita dados no formato application/x-www-form-urlencoded

  • Processa os parâmetros de formulário checksum e content

Campos do payload de callback

Cada corpo de POST de callback contém dois parâmetros de formulário:

console do AI Guardrails

Parâmetro

Tipo

Descrição

checksum

String

Assinatura para detecção de adulteração. Gerada aplicando SHA256 à string concatenada <User UID> + <seed> + <content>. O ID da sua conta Alibaba Cloud serve como User UID — encontre-o passando o mouse sobre sua foto de perfil no canto superior direito do Console de Gerenciamento da Alibaba Cloud.

content

String

Objeto JSON serializado como string. Converta essa string em um objeto JSON antes de ler seus campos. Consulte Estrutura do campo content.

Verificação do checksum

Ao receber um callback, recalcule a assinatura usando o mesmo algoritmo — SHA256(<User UID> + <seed> + <content>) — e compare-a com o campo checksum. Se os valores forem diferentes, descarte a solicitação.

O exemplo em Python a seguir mostra como verificar o checksum:

import hashlib

def verify_checksum(user_uid: str, seed: str, content: str, received_checksum: str) -> bool:
    """Verify that a callback originated from AI Guardrails."""
    raw = user_uid + seed + content
    computed = hashlib.sha256(raw.encode("utf-8")).hexdigest()
    return computed == received_checksum

Configurar callbacks de resultado de varredura

Todas as operações de API assíncronas do AI Guardrails suportam callbacks de resultado de varredura, incluindo varredura assíncrona de imagens e varredura assíncrona de vídeos.

Sem callbacks, a única maneira de recuperar resultados de detecção assíncronos é por meio de polling periódico.

Procedimento

  1. Configure um endereço de webhook que atenda a todos os requisitos listados em Requisitos do endereço de webhook e escolha um valor para o seed.

  2. Ao chamar uma operação de API assíncrona do AI Guardrails, inclua o parâmetro callback (seu endereço de webhook) e o parâmetro seed no corpo da solicitação. Consulte a documentação específica de cada operação de API para obter detalhes sobre os parâmetros.

Configurar callbacks de revisão humana

As operações de API de revisão humana não retornam resultados diretamente. Em vez disso, os resultados são entregues via callbacks.

Se você utiliza o serviço de revisão humana da Alibaba Cloud (moderação assistida por máquina), configure as notificações no console:

  1. Faça login no console do AI Guardrailsconsole do AI Guardrails.

  2. No painel de navegação à esquerda, selecione Machine Moderation V1.0 > Settings.

  3. Na página Settings, clique em Notification e, em seguida, clique em Create New Notification.

  4. Na caixa de diálogo Create New Notification, preencha os campos abaixo e clique em OK: Após clicar em OK, o sistema gera um seed automaticamente. Salve esse seed — ele será usado para verificar se os callbacks recebidos têm origem na Alibaba Cloud.

    Campo

    Descrição

    Title

    Nome descritivo para esta configuração de notificação.

    Callback URL

    Seu endereço de webhook.

    Encryption algorithm

    Selecione SHA256 (HMAC-SHA256) ou SM3. Veja Algoritmos de criptografia para mais detalhes.

    Notification type

    Selecione Manual Review Results by AlibabaCloud.

    Audit Result

    Escolha quais resultados de revisão acionam um callback. Selecione todos para receber callbacks de qualquer resultado ou escolha resultados específicos conforme seu caso de uso.

  5. Na aba Scenario Management, localize o cenário de negócios desejado, clique em Associate Notification na coluna Actions e associe o Callback Notification Plan criado.

Importante

Caso já tenha um serviço de notificação de callback configurado para moderação assistida por máquina, reutilize a configuração existente ou crie uma nova conforme necessário.

Console de Gerenciamento da Alibaba Cloud

Algoritmos de criptografia

Algoritmo

Detalhes

SHA256

Utiliza HMAC-SHA256.

SM3

Emprega o algoritmo de criptografia SM3. Retorna uma string hexadecimal composta por letras minúsculas e números. Por exemplo, a criptografia de abc com SM3 resulta em 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0.

Estrutura do campo content

Após converter a string content em um objeto JSON, ela contém os seguintes campos de nível superior:

Campo

Tipo

Obrigatório

Descrição

scanResult

JSONObject

Não

Resultado da varredura. A estrutura varia conforme o tipo de conteúdo — veja Estrutura de scanResult.

auditResult

JSONObject

Não

Resultado da sua revisão humana. Presente apenas quando ocorre uma operação de revisão humana. Não incluído se apenas os resultados de varredura forem enviados.

humanAuditResult

JSONObject

Não

Resultado da revisão humana da Alibaba Cloud. Presente somente se você adquiriu o serviço de revisão humana da Alibaba Cloud.

Estrutura de scanResult

A estrutura de scanResult depende do tipo de conteúdo analisado:

Estrutura de auditResult

Campo

Tipo

Obrigatório

Descrição

suggestion

String

Sim

Resultado da revisão. Valores válidos: block (marcado como violação), pass (marcado como normal).

labels

JSONArray

Não

Rótulos aplicados durante a revisão humana. Valores válidos: porn, terrorism, ad, live.

Estrutura de humanAuditResult

Campo

Tipo

Obrigatório

Descrição

suggestion

String

Sim

Resultado da revisão da Alibaba Cloud. Valores válidos: block (violação), pass (normal).

taskId

String

Sim

ID da tarefa de detecção. Use este valor para associar o resultado da revisão ao conteúdo original.

dataId

String

Sim

ID do conteúdo detectado.

labels

JSONArray

Não

Resultados de rótulos da revisão humana da Alibaba Cloud. Não retornado por padrão — entre em contato com seu representante comercial para ativar este campo, pois ele gera cobranças adicionais.

Exemplo

O exemplo a seguir apresenta um objeto content totalmente preenchido após a conversão:

{
    "scanResult": {
        "code": 200,
        "msg": "OK",
        "taskId": "fdd25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695",
        "url": "http://1.jpg",
        "results": [
            {
                "rate": 100,
                "scene": "porn",
                "suggestion": "block",
                "label": "porn"
            }
        ]
    },
    "auditResult": {
        "suggestion": "block",
        "labels": [
            "porn",
            "ad",
            "terrorism"
        ]
    },
    "humanAuditResult": {
        "suggestion": "pass",
        "dataId": "yyyy",
        "labels": [
            "porn",
            "vulgar"
        ],
        "taskId": "xxxxxx"
    }
}

Próximos passos