DmitrMakeev commited on
Commit
a7500b0
·
verified ·
1 Parent(s): 8e93fec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py CHANGED
@@ -935,6 +935,53 @@ def send_get_request():
935
 
936
 
937
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
938
 
939
 
940
 
 
935
 
936
 
937
 
938
+ @app.route('/webhookbz', methods=['POST'])
939
+ def data_gc_tab():
940
+ api_sys_control = request.args.get('api_sys')
941
+ if api_sys_control != api_key_sys:
942
+ return "EUR 22", 200
943
+
944
+ data = request.json
945
+ webinar_id = data.get('webinarId')
946
+
947
+ if not webinar_id:
948
+ return jsonify({'error': 'webinarId is required'}), 400
949
+
950
+ url = f'https://online.bizon365.ru/api/v1/webinars/reports/get?webinarId={webinar_id}'
951
+ response = requests.get(url, headers={'X-Token': api_key_sys})
952
+
953
+ if response.status_code == 200:
954
+ data = response.json()
955
+
956
+ report = data.get('report', {})
957
+ messages = data.get('messages', {})
958
+
959
+ report_json_str = report.get('report', '{}')
960
+ try:
961
+ report_json = json.loads(report_json_str)
962
+ except json.JSONDecodeError:
963
+ report_json = {}
964
+
965
+ messages_json_str = report.get('messages', '{}')
966
+ try:
967
+ messages_json = json.loads(messages_json_str)
968
+ except json.JSONDecodeError:
969
+ messages_json = {}
970
+
971
+ users_meta = report_json.get('usersMeta', {})
972
+
973
+ processed_emails = set()
974
+ for user_id, user_data in users_meta.items():
975
+ user_messages = messages_json.get(user_id, [])
976
+ user_data['messages'] = user_messages
977
+ email = user_data.get('email')
978
+ if email and email not in processed_emails:
979
+ update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
980
+ processed_emails.add(email)
981
+
982
+ return jsonify({'status': 'User data saved successfully'})
983
+ else:
984
+ return jsonify({'error': 'Failed to fetch data from the API'}), response.status_code
985
 
986
 
987