S3/Minio
A Evolution API suporta a integração com Amazon S3 ou Minio para armazenar arquivos de mídia do WhatsApp, como imagens, áudios e documentos. Essa integração permite que os arquivos sejam armazenados de forma segura e acessível, com links gerados automaticamente e incluídos nos webhooks enviados pela API.
Configuração de Variáveis de Ambiente
Para habilitar o armazenamento S3 ou Minio, você deve definir as variáveis de ambiente adequadas no arquivo .env
da Evolution API. Abaixo estão as variáveis necessárias e suas funções:
Variáveis de Configuração para S3
Explicação das Variáveis
S3_ENABLED
: Ativa (true
) ou desativa (false
) o uso do S3 ou Minio para armazenamento de arquivos.S3_ACCESS_KEY
: Chave de acesso fornecida pelo provedor do serviço (AWS ou Minio).S3_SECRET_KEY
: Chave secreta correspondente à chave de acesso, usada para autenticação.S3_BUCKET
: Nome do bucket onde os arquivos serão armazenados.S3_PORT
: Porta utilizada para a conexão. Normalmente443
para conexões SSL.S3_ENDPOINT
: Endpoint do serviço S3 ou Minio. Para Amazon S3, é necessário incluir a região no formatoregion: s3.[region].amazonaws.com
, por exemplo,s3.eu-west-3.amazonaws.com
.S3_USE_SSL
: Define se a conexão deve usar SSL (true
oufalse
).S3_REGION
: A região do bucket S3 (padrão éus-east-1
).
Exemplos de Configuração
Amazon S3
Ao utilizar o Amazon S3, é essencial especificar o endpoint corretamente, incluindo a região. Aqui está um exemplo:
Minio
Para Minio, o endpoint pode ser o domínio personalizado do serviço:
Como Funciona o Armazenamento de Mídia
Quando o armazenamento S3 ou Minio é configurado corretamente, todos os arquivos de mídia recebidos do WhatsApp (como imagens, vídeos, áudios, etc.) são automaticamente enviados para o bucket configurado. A URL pública do arquivo armazenado é então gerada e incluída no webhook da Evolution API.
Webhook com mediaUrl
Quando um arquivo de mídia é recebido e armazenado, o webhook enviado pela Evolution API incluirá o mediaUrl
no corpo da mensagem. Isso permite que sua aplicação acesse diretamente o arquivo armazenado no S3 ou Minio.
Exemplo de Webhook
Aqui está um exemplo de como o webhook com mediaUrl
pode aparecer:
Considerações Finais
Integrar a Evolution API com Amazon S3 ou Minio para o armazenamento de arquivos de mídia oferece uma solução escalável e segura para gerenciar conteúdos de mídia do WhatsApp. Ao configurar as variáveis de ambiente corretamente, você garante que todos os arquivos de mídia sejam armazenados e acessíveis conforme necessário, proporcionando maior controle sobre os dados e a capacidade de integrá-los facilmente em suas aplicações.
Para mais detalhes sobre as variáveis de ambiente e outras configurações avançadas, consulte a seção de variáveis de ambiente.