wa_gc_api / app.py
DmitrMakeev's picture
Update app.py
f4e0c89 verified
raw
history blame
2.37 kB
from flask import Flask, request, render_template, jsonify
import requests
import os
app = flask.Flask(__name__, template_folder="./")
base_url = os.getenv('base_url') # URL сервера, например, 'https://api.notisend.ru/v1/email/'
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')
# Создаем данные для отправки
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)))