File size: 2,441 Bytes
3f4e544
 
c3a8752
 
3f4e544
54b5657
c3a8752
 
18d4c31
5e03c70
e90fdaa
0827625
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
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)