File size: 2,308 Bytes
967e410 6e5ec17 e9edc80 3ea419a 6e5ec17 9368cf0 6e5ec17 967e410 4a501f8 967e410 4818e9b 949baaf 4818e9b a19e1eb 4818e9b e61a89f 967e410 e61a89f 967e410 4595fee f18f04b 2923221 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
from flask import Flask, request, jsonify
import requests
import os
app = Flask(__name__)
base_url = os.getenv('base_url') # URL сервера, например, 'https://api.notisend.ru/v1/email/'
token = os.getenv('token') # Ваш токен
@app.route('/grups')
def grups():
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')
# Создаем данные для отправки
data = {
"email": email,
"unconfirmed": False
}
# Отправляем запрос
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))) |