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