from flask import Flask, request, render_template, jsonify import requests import os app = Flask(__name__, template_folder="./") base_url = os.getenv('base_url') # URL сервера token = os.getenv('token') # Ваш токен @app.route('/grups', methods=['GET']) def grup(): return render_template('grups.html') @app.route('/send_request', methods=['POST']) def send_request(): api_token = request.form.get('api_token') group_id = request.form.get('group_id') url = f"https://api.notisend.ru/v1/email/lists/{group_id}/parameters" headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_token}' } response = requests.get(url, headers=headers) data = response.json() return jsonify(data) @app.route('/save_db', methods=['GET']) def save_db(): show_params = False name = request.args.get('name') email = request.args.get('email') phone = request.args.get('phone') grup_id = request.args.get('grup_id') pr1 = request.args.get('pr1') pr2 = request.args.get('pr2') pr3 = request.args.get('pr3') data = { "email": email, "unconfirmed": False, "values": [ { "parameter_id": 390240, "kind": "string", "list_id": 557103, "title": "pr3", "value": pr3 }, { "parameter_id": 390239, "kind": "string", "list_id": 557103, "title": "pr2", "value": pr2 }, { "parameter_id": 390238, "kind": "string", "list_id": 557103, "title": "pr1", "value": pr1 }, { "parameter_id": 390237, "kind": "string", "list_id": 557103, "title": "phone", "value": phone }, { "parameter_id": 390236, "kind": "string", "list_id": 557103, "title": "name", "value": name } ] } headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json' } response = requests.post(f"{base_url}/email/lists/{grup_id}/recipients", json=data, headers=headers) if show_params: system_vars = { 'base_url': base_url, 'token': token } return jsonify({'system_variables': system_vars, 'request_parameters': request.args}) else: return jsonify(response.json()) # Возвращаем JSON-ответ от сервера if __name__ == '__main__': app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))