psy3 / google_db.py
DmitrMakeev's picture
Update google_db.py
be09f91 verified
raw
history blame
2.44 kB
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 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)