Как получить все события, связанные с билетами zendesk - PullRequest
0 голосов
/ 04 мая 2020

Мне нужно получить события билетов, связанные со всеми билетами 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()
...