OpenClaw

Canal Zalo do OpenClaw

Mensagens
Médio

Conecte o OpenClaw ao Zalo usando a Zalo Bot Platform. Esta integração permite que seu assistente de IA envie e receba mensagens no aplicativo de mensagens mais popular do Vietnã. Configure um Bot Token, defina sua política de DM e comece a conversar — com suporte para long-polling e webhook.

Info rápida
DificuldadeMédio
CategoriaMensagens
Recursos suportados1 / 6

Zalo Recursos suportados

Mensagens de texto

Suportado

Mídia e arquivos

Não suportado

Reações

Não suportado

Threads

Não suportado

Mensagens de voz

Não suportado

Chat em grupo

Não suportado

Zalo Pré-requisitos

  • Uma conta Zalo com acesso à Zalo Bot Platform (bot.zaloplatforms.com)
  • Um Bot Token obtido no painel da Zalo Bot Platform
  • OpenClaw Gateway em execução e configurado
  • Para o modo webhook: um endpoint HTTPS acessível publicamente

Zalo Configuração rápida

1

Criar um Bot Zalo e obter seu Token

Acesse bot.zaloplatforms.com, faça login com sua conta Zalo e crie um novo bot. Copie o Bot Token (formato: 12345689:abc-xyz) do painel.

2

Adicionar a configuração do canal Zalo

Adicione a configuração do canal Zalo em ~/.openclaw/openclaw.json. Defina botToken, dmPolicy (pairing, allowlist, open ou disabled) e, opcionalmente, configure as definições de webhook.

3

Iniciar o Gateway e testar

Inicie o Gateway com 'openclaw start'. O bot se conectará por padrão no modo long-polling. Envie uma mensagem para seu bot no Zalo para verificar se a conexão funciona.

Zalo Exemplo de configuração

config.json
{
  "channels": {
    "zalo": {
      "enabled": true,
      "botToken": "12345689:abc-xyz",
      "dmPolicy": "pairing"
    }
  }
}

Zalo Documentação Detalhada

Visão geral da arquitetura

O OpenClaw se conecta à API da Zalo Bot Platform para enviar e receber mensagens. O Gateway se comunica com os servidores do Zalo usando long-polling (padrão) ou modo webhook. No modo long-polling, o Gateway verifica periodicamente se há novas mensagens — não é necessário URL pública ou certificado HTTPS. No modo webhook, o Zalo envia os eventos diretamente para seu servidor, o que requer um endpoint HTTPS acessível publicamente. As mensagens dos usuários do Zalo são recebidas pelo Gateway, processadas pela sua IA, e as respostas são enviadas de volta pela API do Zalo Bot. Cada conversa é rastreada por usuário, permitindo que múltiplos usuários interajam com o mesmo bot de forma independente.
O long-polling funciona imediatamente sem configuração de rede. Use para desenvolvimento ou quando você não tem uma URL pública.
O modo webhook oferece menor latência e é recomendado para implantações em produção com um endpoint HTTPS estável.

Criando seu Bot Zalo

Para conectar o OpenClaw ao Zalo, você precisa de um Bot Token da Zalo Bot Platform: 1. Acesse bot.zaloplatforms.com e faça login com sua conta Zalo. 2. Clique em 'Criar Bot' e preencha as informações necessárias (nome, descrição, categoria). 3. Após a criação, navegue até as configurações do bot e copie o Bot Token. O Bot Token é a única credencial necessária para a conexão. Você pode fornecê-lo através do arquivo de configuração, uma variável de ambiente (ZALO_BOT_TOKEN) ou lê-lo de um arquivo usando a opção tokenFile.
openclaw.json
{
  "channels": {
    "zalo": {
      "enabled": true,
      "botToken": "12345689:abc-xyz"
    }
  }
}
Armazene seu Bot Token em uma variável de ambiente (ZALO_BOT_TOKEN) ou um arquivo separado (tokenFile) para evitar incluir segredos no controle de versão.

Políticas de DM

As políticas de DM (Mensagem Direta) controlam quem pode interagir com seu assistente de IA. O OpenClaw suporta quatro políticas: • pairing (padrão) — Novos usuários recebem um código de pareamento ao enviar sua primeira mensagem. Você os aprova ou rejeita via 'openclaw pairing approve zalo <code>'. Os códigos expiram após 1 hora. • allowlist — Apenas IDs de usuário numéricos listados em allowFrom podem se comunicar com o bot. Os demais são silenciosamente ignorados. • open — Qualquer pessoa que envie uma mensagem ao bot recebe uma resposta. Use com cautela. • disabled — O processamento de DMs é completamente desativado.
openclaw.json
{
  "channels": {
    "zalo": {
      "dmPolicy": "allowlist",
      "allowFrom": ["123456789", "987654321"]
    }
  }
}
A política 'open' permite que qualquer pessoa interaja com seu bot. Isso pode consumir uma cota significativa de IA se seu bot for publicamente descobrível no Zalo.

Configuração de Webhook

Por padrão, o OpenClaw usa long-polling para receber mensagens. Para mudar para o modo webhook, defina o webhookUrl na sua configuração. Isso requer um endpoint HTTPS acessível publicamente. Quando o modo webhook é habilitado, o long-polling é automaticamente desativado. O Zalo envia eventos de mensagem diretamente para sua URL de webhook. A verificação é feita via token secreto — o Zalo o inclui no cabeçalho HTTP X-Bot-Api-Secret-Token em cada requisição. A opção webhookPath permite personalizar o caminho no servidor HTTP do Gateway onde os eventos do Zalo são recebidos.
openclaw.json
{
  "channels": {
    "zalo": {
      "botToken": "12345689:abc-xyz",
      "webhookUrl": "https://your-server.com/zalo/webhook",
      "webhookSecret": "your-secret-string-8-to-256-chars",
      "webhookPath": "/zalo/webhook"
    }
  }
}
O webhookSecret deve ter entre 8 e 256 caracteres.
Webhook e long-polling são mutuamente exclusivos — definir um webhookUrl desativa automaticamente o polling.

Tratamento de mensagens

O OpenClaw suporta mensagens de texto e imagem no Zalo. Mensagens de texto são automaticamente divididas em blocos de 2.000 caracteres por mensagem conforme os limites do Zalo. Imagens recebidas dos usuários são baixadas e processadas. Imagens enviadas são transmitidas pela API sendPhoto do Zalo. Mensagens de stickers dos usuários são registradas mas não processadas pela IA. A configuração mediaMaxMb controla o tamanho máximo de arquivo para mídia recebida (padrão: 5 MB).
Respostas longas da IA são automaticamente divididas em múltiplas mensagens no limite de 2.000 caracteres.
Respostas em streaming não são suportadas no Zalo devido à limitação de caracteres.

Configuração multi-conta

O OpenClaw suporta a execução simultânea de múltiplas contas de bots Zalo. Cada conta possui seu próprio Bot Token, política de DM e configuração de webhook opcional. Isso é útil se você deseja executar bots para diferentes finalidades (ex.: suporte ao cliente vs. equipe interna) sob a mesma instância do Gateway.
openclaw.json
{
  "channels": {
    "zalo": {
      "accounts": {
        "support-bot": {
          "botToken": "token-for-support-bot",
          "dmPolicy": "open"
        },
        "team-bot": {
          "botToken": "token-for-team-bot",
          "dmPolicy": "allowlist",
          "allowFrom": ["111222333"]
        }
      }
    }
  }
}

Envio de mensagens

Você pode enviar mensagens para usuários específicos do Zalo usando a CLI. As mensagens são roteadas deterministicamente de volta ao chat Zalo de origem, então as respostas sempre vão para o usuário correto. Para enviar uma mensagem manual para um usuário específico, use a flag target com o ID de usuário numérico do Zalo.
terminal
openclaw message send --channel zalo --target 123456789

Configuração de proxy

Se seu servidor requer um proxy para conexões de saída, você pode configurar um para o canal Zalo. A URL do proxy é usada para todas as requisições de API aos servidores do Zalo. Isso é útil em ambientes corporativos ou regiões onde o acesso direto aos endpoints da API do Zalo pode ser restrito.
openclaw.json
{
  "channels": {
    "zalo": {
      "proxy": "http://proxy.example.com:8080"
    }
  }
}

Zalo Referência de Configuração

enabled
Type: booleanDefault: false

Ativar ou desativar o canal Zalo

botToken
Type: stringDefault: ""

Bot Token da Zalo Bot Platform (bot.zaloplatforms.com)

tokenFile
Type: stringDefault: ""

Ler o Bot Token de um caminho de arquivo em vez da configuração inline

dmPolicy
Type: stringDefault: "pairing"

Controla quem pode enviar DMs ao bot. Opções: pairing, allowlist, open, disabled

allowFrom
Type: string[]Default: []

IDs de usuário numéricos do Zalo autorizados a se comunicar com o bot (quando dmPolicy é allowlist)

mediaMaxMb
Type: numberDefault: 5

Tamanho máximo de arquivo de mídia recebida em megabytes

webhookUrl
Type: stringDefault: ""

URL HTTPS para o modo webhook. Quando definido, o long-polling é desativado

webhookSecret
Type: stringDefault: ""

String secreta (8-256 caracteres) para verificação de webhook via cabeçalho X-Bot-Api-Secret-Token

webhookPath
Type: stringDefault: ""

Caminho de webhook personalizado no servidor HTTP do Gateway

proxy
Type: stringDefault: ""

URL do proxy para requisições de API de saída para o Zalo

accounts.<id>.botToken
Type: stringDefault: ""

Bot Token para uma conta específica no modo multi-conta

accounts.<id>.dmPolicy
Type: stringDefault: "pairing"

Substituição da política de DM para uma conta específica

accounts.<id>.webhookUrl
Type: stringDefault: ""

Substituição da URL de webhook para uma conta específica

Zalo Perguntas Frequentes

Zalo Solução de Problemas

Bot não recebe nenhuma mensagem

O Bot Token pode estar inválido, expirado, ou o Gateway não está em execução. No modo webhook, o endpoint HTTPS pode estar inacessível.

Verifique seu Bot Token em bot.zaloplatforms.com. Confira os logs do Gateway em busca de erros de conexão. Se estiver usando webhooks, confirme que o endpoint é acessível publicamente via HTTPS e que o webhookSecret corresponde.
Mensagens atrasadas ou chegam em lotes

O long-polling tem latência inerente comparado ao modo webhook. Instabilidade de rede também pode causar agrupamento de mensagens.

Mude para o modo webhook para menor latência. Certifique-se de que seu servidor tem uma conexão de internet estável. Verifique os logs do Gateway para informações sobre o intervalo de polling.
Códigos de pareamento não são enviados a novos usuários

A dmPolicy pode não estar definida como 'pairing', ou o bot não está conectado corretamente ao Zalo.

Verifique se dmPolicy está definido como 'pairing' na sua configuração. Confira os logs do Gateway para confirmar que o canal Zalo está online. Execute 'openclaw pairing list zalo' para ver as solicitações de pareamento pendentes.
Falha ao enviar mensagens de imagem

O arquivo de imagem pode exceder o limite de mediaMaxMb, ou a API do Zalo pode estar temporariamente indisponível.

Verifique se o tamanho do arquivo de imagem está abaixo do limite de mediaMaxMb (padrão: 5 MB). Confira os logs do Gateway em busca de mensagens de erro específicas da API. Tente enviar uma mensagem de texto primeiro para confirmar que a conexão está funcionando.
Falha na verificação do webhook

O webhookSecret na sua configuração não corresponde ao que o Zalo espera, ou o endpoint não está retornando a resposta correta.

Certifique-se de que seu webhookSecret tem entre 8 e 256 caracteres. Verifique se o certificado HTTPS é válido (certificados autoassinados não são aceitos). Confirme que o webhookPath corresponde à configuração de roteamento do seu servidor.