28 lines
906 B
Python
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
|