Visão geral
O DataClaw oferece suporte a dois modos de recebimento de mensagens do WeCom:
|
Recurso |
Modo de callback de URL |
Modo de conexão persistente |
|
Método de conexão |
O WeCom envia ativamente mensagens para a URL de callback |
A instância conecta-se ativamente ao servidor do WeCom |
|
Endpoint de rede pública |
Obrigatório (criado automaticamente) |
Não obrigatório |
|
Cenários aplicáveis |
Implantação em contêineres, controle de acesso refinado |
Integração rápida, sem necessidade de rede pública |
|
Controle de acesso por IP |
Suporta lista de permissões de IP |
Não aplicável |
|
Método de autenticação |
API Key |
BotId + Secret |
Modo de callback de URL: O servidor do WeCom envia ativamente as mensagens dos usuários para a instância do DataClaw por meio de uma URL de callback HTTPS. Este modo é ideal para cenários que exigem controle refinado sobre os IPs de entrada.
Modo de conexão persistente: A instância do DataClaw conecta-se ativamente ao servidor do WeCom para estabelecer uma conexão persistente. Recomendado para integrações rápidas que não exigem endpoint de rede pública.
Pré-requisitos
Uma instância do DataClaw criada e no estado Running.
Permissões para gerenciar o console de administração do WeCom.
Criar um robô do WeCom
Acesse o console de administração do WeCom. No painel de navegação à esquerda, clique em . Clique em Create Bot e, em seguida, em Create Manually.
-
Crie um robô inteligente no modo API.
Na página Create intelligent robot, role até a parte inferior e clique em Create in API Mode.
-
Configure os seguintes parâmetros e clique em Save.
Visibility Scope: Defina a visibilidade do robô.
-
API Configuration: Na seção Connection Method, selecione um modo de conexão.
Use Long-lived Connection: A instância conecta-se ativamente ao servidor do WeCom. Na seção Configuration Method, em Secret, clique em Click to get e salve o Bot ID e o Secret.
Use URL Callback: O servidor do WeCom envia ativamente mensagens para a URL de callback via HTTPS. Não é necessário obter Bot ID ou Secret. Configure manualmente apenas o Token e a EncodingAESKey ao configurar a instância no console do DataWorks.
Permissions: Defina as permissões necessárias para o robô.
Configurar com o modo de conexão persistente
Retorne ao console do DataWorks e acesse a seção Channel Configuration na aba Basic Information da página de detalhes da instância.
Na seção Channel Configuration, selecione WeCom como canal.
Selecione Use Long-lived Connection como modo de conexão.
Insira o Bot ID e o Secret obtidos no console de administração do WeCom.
Clique em Save.
Configurar com o modo de callback de URL
Configurar a instância do serviço de assistente de IA do DataWorks
Retorne ao console do DataWorks e acesse a seção Channel Configuration na aba Basic Information da página de detalhes da instância.
Na seção Channel Configuration, selecione WeCom como canal.
Selecione Use URL Callback como modo de conexão.
-
Insira ou gere aleatoriamente os seguintes parâmetros:
Parâmetro
Descrição
Requisitos de formato
Token
Verifica a origem da solicitação para garantir que as requisições venham do servidor do WeCom.
3 a 32 caracteres (letras ou dígitos)
EncodingAESKey
Criptografa o conteúdo da mensagem para evitar interceptação ou adulteração dos dados durante a transmissão.
Requisitos de formato: Exatamente 43 caracteres (dígitos ou letras). Padrão de criptografia: Algoritmo AES-256-CBC.
ImportanteMantenha o Token e a EncodingAESKey seguros e não os divulgue a terceiros.
É possível gerar o Token e a EncodingAESKey no console do DataWorks ou no console de administração do WeCom. Após gerá-los em um dos consoles, copie os valores para o outro. Os valores dos parâmetros devem ser idênticos em ambos os lados.
Configure a lista de permissões de IP: Restrinja o acesso à URL de callback apenas aos intervalos de IP especificados. A lista deve incluir os IPs do servidor do WeCom. Para obter detalhes, consulte a documentação de IP de callback do WeCom.
-
Clique em Save.
Após salvar a configuração, aguarde até que o status da instância mude para Running.
Nas informações do canal WeCom na página de detalhes da instância, visualize a Callback URL (callbackUrl) no seguinte formato:
https://ai-assistants.cn-beijing.data.aliyuncs.com/xxxx/plugins/wecom/bot?apikey=sk-ai-assistants-xxxxx
Copie a URL de callback completa (incluindo o parâmetro ?apikey=...) para usar na próxima etapa, ao configurar o console de administração do WeCom. Se a página exibir Callback configuration failed, verifique o motivo da falha e salve a configuração novamente.
Configurar no console de administração do WeCom
Faça login no console de administração do WeCom.
Acesse Security & Management > Management Tools > Intelligent Bot > Create Bot e alterne para Create in API Mode.
Defina o método de conexão como URL Callback.
-
Insira os três itens a seguir:
Item de configuração
Valor
Descrição
URL
URL de callback copiada do console do DataWorks
URL completa, incluindo o parâmetro
?apikey=...Token
Igual ao Token configurado no console do DataWorks
Deve ser idêntico em ambos os lados
EncodingAESKey
Igual à EncodingAESKey configurada no console do DataWorks
Deve ser idêntica em ambos os lados (43 caracteres)
Clique em Save.
Após salvar, o servidor do WeCom envia automaticamente uma solicitação de verificação para a URL de callback:
Verificação bem-sucedida: O console de administração do WeCom exibe uma mensagem de sucesso e a instância pode começar a receber mensagens.
Falha na verificação: Verifique se o Token e a EncodingAESKey são exatamente iguais, se a instância está no estado Running, se a URL de callback foi copiada integralmente (incluindo a parte
?apikey=) e se a lista de permissões de IP está configurada.
Lista de permissões de IP
A lista de permissões de IP restringe quais IPs podem acessar a URL de callback para evitar solicitações não autorizadas.
Método de configuração
Na seção IP Whitelist da página de edição da instância:
Adicionar IP: Insira um endereço IP ou bloco CIDR (como
101.226.62.xxou10.0.0.0/8) e clique em Add.Excluir IP: Clique em Delete na lista de permissões.
Recomendamos obter a lista mais recente de IPs de callback no console de administração do WeCom e adicioná-la à lista de permissões para evitar bloqueio de solicitações de callback.
Comportamento quando a lista de permissões está vazia
Se nenhuma lista de permissões tiver sido configurada anteriormente: Nenhum controle de acesso por IP é criado e todos os IPs podem acessar a URL de callback.
Se todos os IPs da lista de permissões forem excluídos: O endereço
127.0.0.1é adicionado automaticamente, bloqueando todo o acesso externo (desativando temporariamente o endpoint de callback). Adicione novamente os intervalos de IP de callback do WeCom para restaurar o acesso.
Rotação da API Key
Se a API Key for comprometida ou precisar de rotação periódica, passe o mouse sobre o botão URL Callback e clique no botão de atualização na janela pop-up para renovar a API Key. Após a atualização:
Uma nova API Key é gerada e a URL de callback antiga torna-se inválida imediatamente.
Atualize a nova URL de callback no console de administração do WeCom.
Após a rotação, atualize a URL de callback no console de administração do WeCom. Caso contrário, as mensagens não serão recebidas.
Testar o robô
Em um chat em grupo, clique para adicionar um membro, pesquise o robô pelo nome e adicione-o ao grupo.
Em um chat em grupo com o robô, mencione-o com @ para iniciar uma conversa em streaming.
Teste do modo de callback de URL: Após a configuração bem-sucedida, quando um usuário envia uma mensagem para o robô no WeCom, a instância do DataClaw recebe e processa a mensagem em tempo real. Verifique o status do canal na página de detalhes da instância. O status Connected indica configuração bem-sucedida.
Alternar modos
Alternar de WebSocket para callback de URL
Na configuração do canal, altere o modo de conexão para URL Callback.
Insira o Token e a EncodingAESKey.
Após clicar em Save, conclua a configuração no console de administração do WeCom conforme descrito em Configurar no console de administração do WeCom.
Alternar de callback de URL de volta para WebSocket
Na configuração do canal, altere o modo de conexão para Use Long-lived Connection.
Insira o Bot ID e o Secret.
Após clicar em Save, os recursos do gateway de webhook são limpos automaticamente.
A modificação da configuração do canal aciona uma reinicialização da instância. Após a reinicialização, apenas os dados do workspace (memória e habilidades) são retidos. Reinstale as dependências personalizadas.
Perguntas frequentes
Falha na verificação da URL de callback?
Verifique se o Token e a EncodingAESKey são exatamente iguais aos configurados no console do DataWorks.
Confirme se a instância está no estado Running e se a configuração de callback não apresenta falhas.
Certifique-se de que a URL de callback foi copiada integralmente (incluindo a parte
?apikey=...).
Configuração bem-sucedida, mas nenhuma mensagem recebida?
Verifique se a lista de permissões de IP inclui os intervalos de IP de callback do WeCom.
Confirme se a API Key não sofreu rotação (caso tenha sofrido, atualize a URL de callback no console de administração do WeCom).
Verifique a página de detalhes da instância em busca de mensagens de erro relacionadas ao callback.
O callback ainda está ativo após excluir a instância?
Ao excluir uma instância, todos os recursos do gateway são limpos automaticamente e a URL de callback torna-se inválida imediatamente. Nenhuma ação adicional é necessária.
O callback parou de funcionar após excluir a lista de permissões?
Depois que todos os IPs da lista de permissões são excluídos, o endereço 127.0.0.1 é adicionado automaticamente para bloquear todo o acesso externo. Adicione novamente os intervalos de IP de callback do WeCom para restaurar o acesso.
Como obtenho os intervalos de IP do servidor do WeCom?
Consulte a documentação de IP de callback do WeCom.