Este é um aplicativo Flask simples para receber webhooks da Ummense. Ele valida a assinatura HMAC-SHA256 do payload recebido.
- Python 3.x
- Flask
- Python
dotenvpara carregar variáveis de ambiente a partir de um arquivo.env
-
Clone este repositório:
git clone https://github.com/thescopogroup/ummense-webhook-receiver-example-python.git cd ummense-webhook-receiver-example-python -
Crie um ambiente virtual:
python -m venv venv
-
Ative o ambiente virtual:
- Windows:
venv\Scripts\activate
- Linux/MacOs:
source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
-
Crie um arquivo .env no diretório do seu aplicativo com as configurações necessárias. Exemplo:
DEBUG=False UMMENSE_WEBHOOK_KEY=SuaChaveSecretaDaUmmense
-
Execute:
python webhook_app.py
Certifique-se de configurar corretamente as variáveis de ambiente no arquivo .env. Aqui está um exemplo de configuração:
- DEBUG: Define o modo de depuração do Flask. Configure como True para ativar o modo de depuração.
- UMMENSE_WEBHOOK_KEY: Chave secreta fornecida pela Ummense para autenticação de webhook.
- Inicie o aplicativo.
- O aplicativo estará disponível em http://localhost:5001/webhook.
- Certifique-se de que o webhook na Ummense esteja configurado para apontar para a URL do seu aplicativo.
- Envie webhooks da Ummense para testar o aplicativo.
- webhook_app.py: O ponto de entrada do aplicativo Flask.
- InvalidPayload: Classe de exceção personalizada para erros relacionados ao webhook da Ummense.
- webhook(): Rota principal para receber webhooks.
- listColumns(): Função auxiliar para iterar e listar colunas do payload.
- payloadIsValid(): Função para validar a assinatura HMAC-SHA256 do payload.