| from flask import Flask, request, render_template, jsonify |
| import requests |
| import os |
|
|
| app = Flask(__name__, template_folder="./") |
|
|
| base_url = os.getenv('base_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": [ |
| { |
| "id": 390240, |
| "kind": "string", |
| "list_id": 557103, |
| "title": "pr3", |
| "value": pr3 |
| }, |
| { |
| "id": 390239, |
| "kind": "string", |
| "list_id": 557103, |
| "title": "pr2", |
| "value": pr2 |
| }, |
| { |
| "id": 390238, |
| "kind": "string", |
| "list_id": 557103, |
| "title": "pr1", |
| "value": pr1 |
| }, |
| { |
| "id": 390237, |
| "kind": "string", |
| "list_id": 557103, |
| "title": "phone", |
| "value": phone |
| }, |
| { |
| "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 response.text |
|
|
| if __name__ == '__main__': |
| app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860))) |