|
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') |
|
api_key = os.getenv('api_key') |
|
|
|
|
|
@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 |
|
list_id = request.args.get('list_id') |
|
name = request.args.get('name') |
|
name_id = request.args.get('name_id') |
|
email = request.args.get('email') |
|
phone = request.args.get('phone') |
|
phone_id = request.args.get('phone_id') |
|
pr1 = request.args.get('pr1') |
|
pr1_id = request.args.get('pr1_id') |
|
pr2 = request.args.get('pr2') |
|
pr2_id = request.args.get('pr2_id') |
|
pr3 = request.args.get('pr3') |
|
pr3_id = request.args.get('pr3_id') |
|
data = { |
|
"email": email, |
|
"unconfirmed": False, |
|
"values": [ |
|
{ |
|
"parameter_id": pr3_id, |
|
"kind": "string", |
|
"list_id": 557103, |
|
"title": "pr3", |
|
"value": pr3 |
|
}, |
|
{ |
|
"parameter_id": pr2_id, |
|
"kind": "string", |
|
"list_id": list_id, |
|
"title": "pr2", |
|
"value": pr2 |
|
}, |
|
{ |
|
"parameter_id": pr1_id, |
|
"kind": "string", |
|
"list_id": list_id, |
|
"title": "pr1", |
|
"value": pr1 |
|
}, |
|
{ |
|
"parameter_id": phone_id, |
|
"kind": "string", |
|
"list_id": list_id, |
|
"title": "phone", |
|
"value": phone |
|
}, |
|
{ |
|
"parameter_id": name_id, |
|
"kind": "string", |
|
"list_id": list_id, |
|
"title": "name", |
|
"value": name |
|
} |
|
] |
|
} |
|
|
|
headers = { |
|
'Authorization': f'Bearer {token}', |
|
'Content-Type': 'application/json' |
|
} |
|
response = requests.post(f"{base_url}/email/lists/{list_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))) |