Files
leadradar/backend/app/routes/webhooks.py
T

28 lines
906 B
Python

from flask import Blueprint, request, jsonify
from flask_jwt_extended import jwt_required
from app.services.webhook_service import WebhookService
from app.utils.rbac import admin_required
webhooks_bp = Blueprint('webhooks', __name__, url_prefix='/api/v1/webhooks')
@webhooks_bp.route('/n8n', methods=['POST'])
def handle_n8n_webhook():
payload = request.get_json() or {}
success, message, result = WebhookService.process_n8n_event(payload)
if not success:
return jsonify({'error': message}), 400
return jsonify({
'message': message,
'data': result
}), 200
@webhooks_bp.route('/n8n/config', methods=['GET'])
@admin_required()
def webhook_config():
return jsonify({
'status': 'active',
'n8n_endpoint': '/api/v1/webhooks/n8n',
'supported_events': ['status_change', 'mensagem_enviada', 'resposta_recebida', 'lead_criado']
}), 200