Dokumentáció

Tanuld meg gyorsabban a TicketsX-et

Beállítási útmutatók, a teljes parancslista, a Premium funkciói és a REST API egy helyen.

13.19

Átiratok keresése

GET/<guild_id>/api/transcripts/search

A szerver minden lezárt jegyében keres, nem csak az adataik között: mi hangzott el bennük, ki mondta, kik vettek részt, mikor nyíltak meg vagy zárultak le, melyik panelhez tartoznak, milyen értékelést kaptak, vagy melyik Discord-csatorna azonosítóján futottak. Ugyanaz a motor, mint a vezérlőpult mélykeresése. `search_transcripts` jogosultságot igényel (alapból kikapcsolva).

POST/<guild_id>/api/transcripts/search

Ugyanez, csak a szűrőket lekérdezési paraméterek helyett JSON-törzsben küldöd. Hosszú lekérdezéseknél és résztvevőlistáknál kényelmesebb. Ha mindkettőt elküldöd, a törzs számít.

Minden találat tartalmazza a jegy adatait, legfeljebb 8 résztvevőt, és ha tartalomra kerestél, legfeljebb 3 illeszkedő üzenetrészletet, hogy lásd, *miért* került be a jegy. Bármelyik találat TicketId mezőjét vidd tovább az Átirat lekérése végpontra a teljes üzenetlistáért, vagy az Átirat lekérése HTML-ben végpontra a kész archívumért.

Szűrők (mind elhagyható; annyit kombinálsz, amennyit akarsz)

NévTípusKötelezőLeírás
qstring
nem kötelező
Szabad szöveges keresés az üzenetek tartalmában, legfeljebb 200 karakter. A 3 karakternél rövidebb szavakat az index nem veszi figyelembe.
said_bystring
nem kötelező
Csak az ehhez a Discord-azonosítóhoz tartozó tartalmat veszi számításba. A q mezővel együtt használd.
participantsstring[]
nem kötelező
Legfeljebb 5 felhasználó, akik írtak a jegyben, mindegyik Discord-azonosítóként vagy a felhasználónév egy részleteként. GET esetén vesszővel elválasztva, POST esetén tömbként.
participants_modestring
nem kötelező
Az all (alapértelmezett) azt kéri, hogy minden megadott résztvevő ugyanabban a jegyben írjon; az any azokat a jegyeket találja meg, amelyekben legalább egyikük írt.
include_botsboolean
nem kötelező
A botüzeneteket és a botokat is beveszi a találatokba. Alapból false.
opened_bystring
nem kötelező
A jegy nyitója, Discord-azonosítóként vagy a felhasználónév egy részleteként.
closed_bystring
nem kötelező
A jegyet lezáró felhasználó Discord-azonosítója.
channel_idstring
nem kötelező
Az a Discord-csatorna- vagy szálazonosító, amelyen a jegy futott.
panel_idnumber
nem kötelező
Csak az ebből a panelből nyílt jegyek.
opened_fromnumber
nem kötelező
Unix-időbélyeg: csak az ekkor vagy ezután megnyitott jegyek.
opened_tonumber
nem kötelező
Unix-időbélyeg: csak az ekkor vagy ezelőtt megnyitott jegyek.
closed_fromnumber
nem kötelező
Unix-időbélyeg: csak az ekkor vagy ezután lezárt jegyek.
closed_tonumber
nem kötelező
Unix-időbélyeg: csak az ekkor vagy ezelőtt lezárt jegyek.
rating_minnumber
nem kötelező
A legkisebb értékelés, 1-5.
rating_maxnumber
nem kötelező
A legnagyobb értékelés, 1-5.
limitnumber
nem kötelező
Oldalanként visszaadott találatok száma, 1-50 (alapból 25).
offsetnumber
nem kötelező
A lapozáshoz kihagyott találatok száma, legfeljebb 10000 (alapból 0).

A keresés a többi olvasástól külön számolva kulcsonként percenként 10 kérésre van korlátozva, és szűkre szabott időkeretben fut. Az az egy keresés, amelyik nem ér véget időben, 504 választ ad. Szűkítsd a szűrőket (adj hozzá időszakot vagy panelt), és próbáld újra, ahelyett hogy ugyanazt a lekérdezést ismételnéd. Az ellenőrzésen fennakadó értékeket eldobjuk, nem utasítjuk el miattuk a kérést, ezért a válaszban visszaadott filters objektumban nézd meg, mi érvényesült valójában.

A keresés az átiratindexet olvassa, amely akkor épül, amíg a szervernek van Prémiuma, és az első előfizetéskor a meglévő archívumra is kiterjed. Minden válaszban a coverage objektum megmondja, hány átiratod van indexelve (indexed) az összes tároltból (total). Ha az archívum indexelése még fut, a két szám még nem egyezik.

Példa kérés: mit mondott egy felhasználó azokban a jegyekben, amelyeken egy adott támogató is dolgozott
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"
Példa kérés: ugyanez a keresés JSON-törzsben
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
Példa válasz
{
  "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 }
}