Dokumentacija

Nauči TicketsX brže

Upute za postavljanje, popis svih naredbi, mogućnosti Premiuma i REST API na jednom mjestu.

13.19

Pretraga prijepisa

GET/<guild_id>/api/transcripts/search

Pretražuje svaki zatvoreni tiket na poslužitelju, a ne samo podatke o njemu: što je unutra rečeno, tko je to rekao, tko je sudjelovao, kada je otvoren ili zatvoren, s kojeg je panela, kakvu je ocjenu dobio ili koju je Discord oznaku kanala imao. Riječ je o istom mehanizmu kao kod dubinskog pretraživanja u nadzornoj ploči. Traži ovlast `search_transcripts` (zadano isključena).

POST/<guild_id>/api/transcripts/search

Isto to, samo se filtri šalju u sadržaju JSON umjesto kao parametri upita. Lakše kod dugih pretraga i popisa sudionika. Pošaljete li oboje, vrijedi sadržaj.

Svaki rezultat nosi podatke o tiketu, do 8 sudionika i, ako ste tražili po sadržaju, do 3 odgovarajuća ulomka poruka, da vidite *zašto* je tiket pronađen. Uzmite TicketId iz bilo kojeg rezultata i predajte ga Dohvatu prijepisa za cijeli popis poruka ili Dohvatu prijepisa u HTML-u za gotovu arhivu.

Filtri (svi su neobavezni; složite ih koliko želite)

NazivVrstaObaveznoOpis
qstring
neobavezno
Slobodno pretraživanje sadržaja poruka, najviše 200 znakova. Riječi kraće od 3 znaka kazalo preskače.
said_bystring
neobavezno
Uzima u obzir samo sadržaj koji je napisala ta Discord oznaka korisnika. Koristite je uz q.
participantsstring[]
neobavezno
Do 5 korisnika koji su pisali u tiketu, svaki kao Discord oznaka korisnika ili dio korisničkog imena. Kod GET-a odvojeni zarezom, kod POST-a kao popis.
participants_modestring
neobavezno
all (zadano) traži da su svi navedeni sudionici pisali u istom tiketu; any pronalazi tikete u kojima je pisao barem jedan od njih.
include_botsboolean
neobavezno
Uzima u obzir i poruke te sudionike koji su botovi. Zadano je false.
opened_bystring
neobavezno
Onaj tko je otvorio tiket, kao Discord oznaka korisnika ili dio korisničkog imena.
closed_bystring
neobavezno
Discord oznaka onoga tko je zatvorio tiket.
channel_idstring
neobavezno
Discord oznaka kanala ili niti u kojoj se tiket odvijao.
panel_idnumber
neobavezno
Samo tiketi otvoreni s tog panela.
opened_fromnumber
neobavezno
Unixov vremenski žig: samo tiketi otvoreni u tom trenutku ili poslije.
opened_tonumber
neobavezno
Unixov vremenski žig: samo tiketi otvoreni u tom trenutku ili prije.
closed_fromnumber
neobavezno
Unixov vremenski žig: samo tiketi zatvoreni u tom trenutku ili poslije.
closed_tonumber
neobavezno
Unixov vremenski žig: samo tiketi zatvoreni u tom trenutku ili prije.
rating_minnumber
neobavezno
Najniža ocjena, 1-5.
rating_maxnumber
neobavezno
Najviša ocjena, 1-5.
limitnumber
neobavezno
Rezultata po stranici, 1-50 (zadano 25).
offsetnumber
neobavezno
Rezultata koji se preskaču pri listanju, najviše 10000 (zadano 0).

Pretraživanje je ograničeno na 10 zahtjeva u minuti po ključu, odvojeno od ostalog čitanja, i radi u strogo odmjerenom vremenu. Pretraga koja ne stigne završiti vraća 504. Suzite filtre (dodajte razdoblje ili panel) pa pokušajte ponovno, umjesto da ponavljate isti upit. Vrijednosti koje ne prođu provjeru odbacuju se umjesto da zahtjev padne, pa u odgovoru pogledajte vraćeni objekt filters da vidite što je zapravo primijenjeno.

Pretraživanje čita kazalo prijepisa, koje nastaje dok poslužitelj ima Premium i pri prvom uključivanju obuhvati i vašu dosadašnju arhivu. Objekt coverage u svakom odgovoru kaže koliko je vaših prijepisa u kazalu (indexed) od svih pohranjenih (total). Ako obrada arhive još traje, ta se dva broja zasad ne poklapaju.

Primjer zahtjeva: što je korisnik rekao u tiketima na kojima je radila i određena osoba iz podrške
curl -X GET \
  -H "Authorization: Bearer <API_TOKEN>" \
  "https://api.ticketsx.xyz/<guild_id>/api/transcripts/search?q=refund&participants=123456789,987654321&participants_mode=all&closed_from=1730000000&limit=25"
Primjer zahtjeva: ista pretraga u sadržaju JSON
curl -X POST \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"q":"refund","participants":["123456789","987654321"],"participants_mode":"all","closed_from":1730000000,"limit":25}' \
  https://api.ticketsx.xyz/<guild_id>/api/transcripts/search
Primjer odgovora
{
  "transcripts": [
    {
      "TicketId": 42,
      "AuthorId": "123456789",
      "AuthorUsername": "jane",
      "PanelId": 1,
      "PanelName": "Support",
      "Rating": 5,
      "RatingCount": 1,
      "CloseReason": "Resolved",
      "CreatedAt": 1732200000,
      "ClosedAt": 1732210000,
      "ChannelId": "1122334455",
      "ClosedBy": "987654321",
      "Participants": [
        { "UserId": "123456789", "Username": "jane", "MessageCount": 12, "IsBot": false }
      ],
      "Snippets": [
        { "AuthorId": "123456789", "AuthorUsername": "jane", "Content": "my refund never arrived", "CreatedAt": 1732200050 }
      ]
    }
  ],
  "pagination": { "total": 1, "limit": 25, "offset": 0, "returned": 1 },
  "coverage": { "indexed": 480, "total": 480 },
  "filters": { "q": "refund", "participants_mode": "all", "limit": 25 }
}