A Evolution API permite a integração com o Amazon SQS (Simple Queue Service) para gerenciar eventos e filas de mensagens de forma escalável e confiável. Assim como no RabbitMQ, o SQS na Evolution API pode ser configurado tanto de maneira global quanto para instâncias individuais.

Configuração Global do SQS

Para habilitar o SQS e configurar o processamento de eventos de forma centralizada, utilize as seguintes variáveis de ambiente:

Configuração de Variáveis de Ambiente

SQS_ENABLED=true
SQS_ACCESS_KEY_ID=your-access-key-id
SQS_SECRET_ACCESS_KEY=your-secret-access-key
SQS_ACCOUNT_ID=your-account-id
SQS_REGION=your-region

Explicação das Variáveis

  • SQS_ENABLED: Ativa (true) ou desativa (false) a integração com o Amazon SQS.
  • SQS_ACCESS_KEY_ID: Chave de acesso da AWS para autenticação.
  • SQS_SECRET_ACCESS_KEY: Chave secreta correspondente à chave de acesso para autenticação.
  • SQS_ACCOUNT_ID: ID da conta AWS onde o SQS está configurado.
  • SQS_REGION: Região da AWS onde suas filas SQS estão localizadas (por exemplo, us-east-1).

Funcionamento

  • Fila por Evento: No modo global, todos os eventos são enfileirados em filas específicas para cada tipo de evento. Isso significa que eventos de diferentes instâncias são centralizados em filas unificadas por evento, simplificando o processamento e o monitoramento.

Configuração do SQS para Instâncias Individuais

Embora a configuração global seja recomendada para centralizar o processamento de eventos, você pode configurar o SQS para instâncias individuais caso precise segmentar as filas por instância.

Endpoint para Configuração Individual

Para configurar o SQS para uma instância específica do WhatsApp na Evolution API, utilize o seguinte endpoint:

POST [baseUrl]/sqs/set/[instance_name]

Corpo da Requisição

Aqui está um exemplo do corpo JSON para configurar eventos em uma instância específica:

{
    "enabled": true,
    "events": [
        "APPLICATION_STARTUP",
        "QRCODE_UPDATED",
        "MESSAGES_SET",
        "MESSAGES_UPSERT",
        "MESSAGES_UPDATE",
        "MESSAGES_DELETE",
        "SEND_MESSAGE",
        "CONTACTS_SET",
        "CONTACTS_UPSERT",
        "CONTACTS_UPDATE",
        "PRESENCE_UPDATE",
        "CHATS_SET",
        "CHATS_UPSERT",
        "CHATS_UPDATE",
        "CHATS_DELETE",
        "GROUPS_UPSERT",
        "GROUP_UPDATE",
        "GROUP_PARTICIPANTS_UPDATE",
        "CONNECTION_UPDATE",
        "CALL",
        "NEW_JWT_TOKEN"
    ]
}

Remova eventos não utilizados para otimizar o uso de recursos do SQS.

Funcionamento

  • Segmentação por Instância: Ao configurar o SQS para instâncias individuais, cada instância pode ter suas próprias filas específicas para os eventos configurados. Isso permite maior controle e segmentação dos eventos, caso você precise separar o processamento por instância.

Considerações Finais

A integração com o Amazon SQS na Evolution API oferece uma solução poderosa para gerenciar eventos de forma escalável e confiável, tanto de maneira centralizada quanto segmentada por instância. Utilize a configuração global para simplificar o processamento em ambientes complexos, ou configure individualmente para um controle mais granular.

Para mais detalhes sobre as variáveis de ambiente e outras configurações avançadas, consulte a seção de variáveis de ambiente.