Мне нужно получить события билетов, связанные со всеми билетами zendesk за определенный период или поэтапно. Как я могу это сделать.
Например, если билет обновляется 10 раз в день, Мне нужно получить подробную информацию о каждом из этих событий. Я использую БД Postgres, а язык бэкенда - Python.
Ниже приведен сценарий, который я использую для получения сведений о билетах, но он дает только мне последние обновленные данные билета, а не все события, связанные с этим билетом.
Любая помощь, пожалуйста.
from zenpy import Zenpy
import datetime
import json
# DB Connection
conn = get_connection("Connection String")
cur = conn.cursor()
sql = 'DROP TABLE IF EXISTS tickets; CREATE TABLE tickets ( ID NOT NULL ' \
'PRIMARY KEY, values json NOT NULL); '
cur.execute(script)
conn.commit()
# Zenpy accepts an API token
creds = {
'email': 'email.com',
'token': '*****************',
'subdomain': '******'
}
time_now = datetime.datetime.strftime(datetime.datetime.utcnow(), '%Y-%m-%d%H:%M:%S')
time_now = datetime.datetime.strptime(time_now, '%Y-%m-%d%H:%M:%S')
one_hour_past = datetime.datetime.strftime((datetime.datetime.utcnow() - datetime.timedelta(hours=1)),
'%Y-%m-%d%H:%M:%S')
one_hour_past = datetime.datetime.strptime(one_hour_past, '%Y-%m-%d%H:%M:%S')
zenpy_client = Zenpy(**creds)
updated_tickets = zenpy_client.search(type='ticket', updated_at_between=[one_hour_past, time_now])
for tc in updated_tickets:
details_json = json.dumps(tc.to_dict(), sort_keys=False)
print(details_json)
insert_sql = '''INSERT INTO tickets(values) VALUES ( $$ ''' + details_json + ''' $$ )'''
cur.execute(insert_sql)
conn.commit()
insert_query = '''INSERT INTO tickets(values) VALUES ( $$ ''' + details_json + ''' $$ )'''
cur.execute(insert_query)
conn.commit()