DmitrMakeev commited on
Commit
ca5c4aa
·
verified ·
1 Parent(s): 7584e37

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +147 -38
app.py CHANGED
@@ -1,19 +1,15 @@
1
  from flask import Flask, request, jsonify
2
- import http.client
3
- import urllib.parse
4
  import os
5
  import pytz
6
  import datetime
7
  import sqlite3
8
 
9
- tranid = '1228035:6425508451'
10
- formid = 'form770451882'
11
-
12
  base_url = os.getenv('base_url') # URL сервера
13
- if not base_url:
14
- base_url = 'https://webhook.site/7e9c68fe-4716-4c25-a547-8e3249522009' # Замените на ваш действительный URL для отладки
15
 
16
- app = Flask(__name__, template_folder="./")
17
 
18
  def init_db():
19
  conn = sqlite3.connect('data.db')
@@ -56,39 +52,153 @@ def save_to_database(name, email, phone, pr5, pr4, pr3, pr2, pr1):
56
  except Exception as e:
57
  print(f"Error saving to database: {e}")
58
 
59
- def send_request(email, name, phone, tranid, formid, pr1, pr2, pr3, pr4, pr5):
60
  """Функция для отправки запроса на сервер."""
61
  data = {
62
- 'Email': email,
63
- 'Name': name,
64
- 'Phone': phone,
65
- 'tranid': tranid,
66
- 'formid': formid,
67
- 'utm_source': pr1,
68
- 'utm_medium': pr2,
69
- 'utm_campaign': pr3,
70
- 'utm_content': pr4,
71
- 'utm_term': pr5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
 
74
  headers = {
75
- 'Content-Type': 'application/x-www-form-urlencoded'
 
76
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
- params = urllib.parse.urlencode(data)
79
 
80
- try:
81
- conn = http.client.HTTPSConnection(base_url)
82
- conn.request("POST", "/", params, headers)
83
- response = conn.getresponse()
84
- response_data = response.read()
85
- conn.close()
86
- print(f"Response data: {response_data.decode('utf-8')}")
87
- return response_data.decode('utf-8')
88
- except Exception as e:
89
- print(f"Error sending request: {e}")
90
- return {"error": str(e)}
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  @app.route('/incoming', methods=['POST'])
93
  def handle_incoming_request():
94
  datas = request.json
@@ -102,8 +212,6 @@ def handle_incoming_request():
102
  pr2 = datas.get('pr2')
103
  pr1 = datas.get('pr1')
104
 
105
- print(f"Received data: {datas}")
106
-
107
  # Сохраняем данные в базу данных SQLite3
108
  save_to_database(name, email, phone, pr5, pr4, pr3, pr2, pr1)
109
 
@@ -119,11 +227,12 @@ def handle_incoming_request():
119
 
120
  if current_day in [0, 4, 5, 6]: # Понедельник, Пятница, Суббота, Воскресенье
121
  # Отправляем запросы в листы подряд
122
- response_1 = send_request(email, name, phone, tranid, formid, pr1, pr2, pr3, pr4, pr5)
123
- print(f"Response: {response_1}")
124
-
 
125
  # Возвращаем список ответов
126
- return jsonify({'responses': [response_1]})
127
 
128
 
129
 
 
1
  from flask import Flask, request, jsonify
2
+ import requests
 
3
  import os
4
  import pytz
5
  import datetime
6
  import sqlite3
7
 
 
 
 
8
  base_url = os.getenv('base_url') # URL сервера
9
+ token = os.getenv('token') # Ваш токен
10
+ api_key = os.getenv('api_key') # Ваш API ключ
11
 
12
+ app = Flask(__name__)
13
 
14
  def init_db():
15
  conn = sqlite3.connect('data.db')
 
52
  except Exception as e:
53
  print(f"Error saving to database: {e}")
54
 
55
+ def send_request(list_id, email, phone, name, param_name, param_phone, pr5, pr4, pr3, pr2, pr1, pr5_id, pr4_id, pr3_id, pr2_id, pr1_id):
56
  """Функция для отправки запроса на сервер."""
57
  data = {
58
+ "email": email,
59
+ "unconfirmed": False,
60
+ "values": [
61
+ {
62
+ "parameter_id": pr5_id,
63
+ "kind": "string",
64
+ "list_id": list_id,
65
+ "title": "pr5",
66
+ "value": pr5
67
+ },
68
+ {
69
+ "parameter_id": pr4_id,
70
+ "kind": "string",
71
+ "list_id": list_id,
72
+ "title": "pr4",
73
+ "value": pr4
74
+ },
75
+ {
76
+ "parameter_id": pr3_id,
77
+ "kind": "string",
78
+ "list_id": list_id,
79
+ "title": "pr3",
80
+ "value": pr3
81
+ },
82
+ {
83
+ "parameter_id": pr2_id,
84
+ "kind": "string",
85
+ "list_id": list_id,
86
+ "title": "pr2",
87
+ "value": pr2
88
+ },
89
+ {
90
+ "parameter_id": pr1_id,
91
+ "kind": "string",
92
+ "list_id": list_id,
93
+ "title": "pr1",
94
+ "value": pr1
95
+ },
96
+ {
97
+ "parameter_id": param_phone,
98
+ "kind": "string",
99
+ "list_id": list_id,
100
+ "title": "phone",
101
+ "value": phone
102
+ },
103
+ {
104
+ "parameter_id": param_name,
105
+ "kind": "string",
106
+ "list_id": list_id,
107
+ "title": "name",
108
+ "value": name
109
+ }
110
+ ]
111
  }
112
 
113
  headers = {
114
+ 'Authorization': f'Bearer {token}',
115
+ 'Content-Type': 'application/json'
116
  }
117
+ response = requests.post(f"{base_url}/email/lists/{list_id}/recipients", json=data, headers=headers)
118
+ return response.json()
119
+
120
+ def send_additional_request1(email, name, phone, pr1, pr2, pr3, pr4, pr5):
121
+ """Функция для отправки дополнительного запроса на другой адрес."""
122
+ data = {
123
+ "email": email,
124
+ "name": name,
125
+ "phone": phone,
126
+ "utm_source": pr1,
127
+ "utm_medium": pr2,
128
+ "utm_campaign": pr3,
129
+ "utm_content": pr4,
130
+ "utm_term": pr5,
131
+ }
132
+
133
+ headers = {
134
+ 'Content-Type': 'application/json'
135
+
136
+ }
137
+ response = requests.post('https://skyauto.me/cllbck/168704660/29237231/T1N1eVNQdy9LazBHNER2K3lldnA2Zz0?api=1&sid=535939344', data=data, headers=headers)
138
+ return response.json()
139
+
140
+
141
+
142
+ def send_additional_request2(email, name, phone, pr1, pr2, pr3, pr4, pr5):
143
+ """Функция для отправки дополнительного запроса на другой адрес."""
144
+ data = {
145
+ "email": email,
146
+ "name": name,
147
+ "phone": phone,
148
+ "utm_source": pr1,
149
+ "utm_medium": pr2,
150
+ "utm_campaign": pr3,
151
+ "utm_content": pr4,
152
+ "utm_term": pr5,
153
+ }
154
+
155
+ headers = {
156
+ 'Content-Type': 'application/json'
157
+
158
+ }
159
+ response = requests.post('https://webhook.site/7e9c68fe-4716-4c25-a547-8e3249522009', data=data, headers=headers)
160
+ return response.json()
161
 
 
162
 
 
 
 
 
 
 
 
 
 
 
 
163
 
164
+ def send_additional_request3(email, name, phone, pr1, pr2, pr3, pr4, pr5):
165
+ """Функция для отправки дополнительного запроса на другой адрес."""
166
+ data = {
167
+ "email": email,
168
+ "name": name,
169
+ "phone": phone,
170
+ "utm_source": pr1,
171
+ "utm_medium": pr2,
172
+ "utm_campaign": pr3,
173
+ "utm_content": pr4,
174
+ "utm_term": pr5,
175
+ }
176
+
177
+ headers = {
178
+ 'Content-Type': 'application/json'
179
+
180
+ }
181
+ response = requests.post('https://webhook.site/7e9c68fe-4716-4c25-a547-8e3249522009', data=data, headers=headers)
182
+ return response.json()
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
  @app.route('/incoming', methods=['POST'])
203
  def handle_incoming_request():
204
  datas = request.json
 
212
  pr2 = datas.get('pr2')
213
  pr1 = datas.get('pr1')
214
 
 
 
215
  # Сохраняем данные в базу данных SQLite3
216
  save_to_database(name, email, phone, pr5, pr4, pr3, pr2, pr1)
217
 
 
227
 
228
  if current_day in [0, 4, 5, 6]: # Понедельник, Пятница, Суббота, Воскресенье
229
  # Отправляем запросы в листы подряд
230
+ response_1 = send_request(560768, email, phone, name, 393120, 393119, pr5, pr4, pr3, pr2, pr1, 393248, 393247, 393246, 393245, 393244)
231
+ response_2 = send_request(560832, email, phone, name, 393196, 393195, pr5, pr4, pr3, pr2, pr1, 393267, 393266, 393265, 393264, 393263)
232
+ response_3 = send_request(560833, email, phone, name, 393198, 393197, pr5, pr4, pr3, pr2, pr1, 393272, 393271, 393270, 393269, 393268)
233
+ response_4 = send_additional_request1(email, name, phone, pr1, pr2, pr3, pr4, pr5)
234
  # Возвращаем список ответов
235
+ return jsonify({'responses': [response_1, response_2, response_3, response_4]})
236
 
237
 
238