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)