Spaces:
Sleeping
Sleeping
File size: 3,056 Bytes
3f4e544 c3a8752 3f4e544 54b5657 c3a8752 18d4c31 5e03c70 e90fdaa 0827625 938d9c5 54b5657 be09f91 e5a250e 54b5657 c3a8752 54b5657 567e5f7 54b5657 c134c84 c3a8752 c134c84 c3a8752 74c7798 be09f91 74c7798 be09f91 74c7798 be09f91 e90fdaa 1ce6a36 8cab7d2 be09f91 0827625 be09f91 |
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 85 86 87 88 |
from flask import request, jsonify
import os
import requests
import globs
api_key = os.getenv('api_key')
base_url = os.getenv('base_url') # URL сервера, например, 'https://api.notisend.ru/v1/email/'
token = os.getenv('token') # Ваш токен
def save_db():
err = 0
# Проверяем наличие глобальных переменных и инициализируем их, если они отсутствуют
if not hasattr(globs, 'name'):
globs.name = None
if not hasattr(globs, 'email'):
globs.email = None
if not hasattr(globs, 'phone'):
globs.phone = None
if not hasattr(globs, 'grup_id'):
globs.grup_id = None
if not hasattr(globs, 'pr1'):
globs.pr1 = None
if not hasattr(globs, 'pr2'):
globs.pr2 = None
if not hasattr(globs, 'server_response'):
globs.server_response = None
if api_key == request.args.get('api'):
# Получаем данные из глобальных переменных
names = globs.name
emails = globs.email
phones = globs.phone
grups_id = globs.grup_id # Это List ID
pr1s = globs.pr1
pr2s = globs.pr2
# Проверка значений переменных
if not all([names, emails, phones, grups_id, pr1s, pr2s]):
response_data = {
"status": "error",
"err": 0,
"message": "Some required data is missing",
"server_response": None
}
return jsonify(response_data)
# Создаем данные для отправки
data = {
'list_id': grups_id,
'email': emails,
'values': [
{'value': names, 'parameter_id': 'name'},
{'value': phones, 'parameter_id': 'phone'},
{'value': pr1s, 'parameter_id': 'utm1'},
{'value': pr2s, 'parameter_id': 'utm2'}
]
}
# Отправляем запрос
headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
response = requests.post(f"{base_url}lists/{data['list_id']}/recipients", json=data, headers=headers)
# Сохраняем ответ от сервера в глобальную переменную
globs.server_response = response.text
# Проверяем статус ответа
if response.status_code == 200:
err = 1
response_message = "Operation completed successfully"
else:
response_message = f"Error: {response.status_code} - {response.text}"
err = 0
else:
response_message = "Invalid API key"
response_data = {
"status": "success" if err == 1 else "error",
"err": err,
"message": response_message,
"server_response": globs.server_response if err == 1 else None
}
return jsonify(response_data)
|