Dokumentation

Lær TicketsX hurtigere

Guider, alle kommandoer, Premium-funktioner og REST-API'et ét sted.

13.19

Gennemsøg udskrifter

GET/<guild_id>/api/transcripts/search

Søger i hver eneste lukkede sag på serveren, ikke kun i oplysningerne om den: hvad der blev sagt inde i den, hvem der sagde det, hvem der deltog, hvornår den blev oprettet eller lukket, hvilket panel den hører til, hvilken bedømmelse den fik, eller hvilket Discord-kanal-id den brugte. Det er den samme motor som dybdesøgningen i kontrolpanelet. Kræver rettigheden `search_transcripts` (slået fra som standard).

POST/<guild_id>/api/transcripts/search

Det samme, men med filtrene sendt som JSON-indhold i stedet for forespørgselsparametre. Nemmere ved lange søgninger og lister med deltagere. Sender du begge dele, gælder indholdet.

Hvert resultat indeholder sagens oplysninger, op til 8 deltagere og, hvis du søgte på indhold, op til 3 tilhørende uddrag, så du kan se, *hvorfor* sagen kom med. Tag TicketId fra et resultat direkte videre til Hent en udskrift for hele listen med beskeder eller til Hent udskrift som HTML for det færdige arkiv.

Filtre (alle valgfrie; kombinér så mange du vil)

NavnTypePåkrævetBeskrivelse
qstring
valgfrit
Fritekstsøgning i beskedernes indhold, højst 200 tegn. Ord på under 3 tegn bliver sprunget over af indekset.
said_bystring
valgfrit
Kun indhold skrevet af dette Discord-bruger-id. Brug det sammen med q.
participantsstring[]
valgfrit
Op til 5 brugere, der har skrevet i sagen, hver som Discord-bruger-id eller en del af et brugernavn. Adskilt med komma ved GET, som en liste ved POST.
participants_modestring
valgfrit
all (standard) kræver, at alle de nævnte deltagere har skrevet i den samme sag; any finder sager, hvor mindst én af dem har skrevet.
include_botsboolean
valgfrit
Tager beskeder og deltagere fra bots med. Standard er false.
opened_bystring
valgfrit
Den, der oprettede sagen, som Discord-bruger-id eller en del af et brugernavn.
closed_bystring
valgfrit
Discord-bruger-id på den, der lukkede sagen.
channel_idstring
valgfrit
Det Discord-kanal-id eller tråd-id, sagen brugte.
panel_idnumber
valgfrit
Kun sager, der er oprettet fra dette panel.
opened_fromnumber
valgfrit
Unix-tidsstempel: kun sager oprettet på dette tidspunkt eller senere.
opened_tonumber
valgfrit
Unix-tidsstempel: kun sager oprettet på dette tidspunkt eller tidligere.
closed_fromnumber
valgfrit
Unix-tidsstempel: kun sager lukket på dette tidspunkt eller senere.
closed_tonumber
valgfrit
Unix-tidsstempel: kun sager lukket på dette tidspunkt eller tidligere.
rating_minnumber
valgfrit
Mindste bedømmelse, 1 til 5.
rating_maxnumber
valgfrit
Største bedømmelse, 1 til 5.
limitnumber
valgfrit
Resultater pr. side, 1 til 50 (standard 25).
offsetnumber
valgfrit
Resultater, der springes over ved sideinddeling, højst 10000 (standard 0).

Søgningen er begrænset til 10 kald i minuttet pr. nøgle, talt for sig i forhold til anden læsning, og den kører med stramt afmålt tid. En søgning, der ikke når at blive færdig, svarer 504. Snævr filtrene ind (læg et datointerval eller et panel til), og prøv igen i stedet for at gentage den samme søgning. Værdier, der ikke går igennem kontrollen, bliver pillet ud i stedet for at kaldet bliver afvist, så se i objektet filters i svaret, hvad der rent faktisk blev brugt.

Søgningen læser udskriftsindekset, som bliver bygget, mens serveren har Premium, og lagt hen over dit hidtidige arkiv, første gang du opgraderer. Objektet coverage i hvert svar fortæller, hvor mange af dine udskrifter der er indekseret (indexed) ud af det samlede antal, der er gemt (total). Kører indekseringen af de gamle sager endnu, passer tallene ikke sammen.

Eksempel på kald: hvad en bruger har sagt i sager, som en bestemt medarbejder også har arbejdet med
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"
Eksempel på kald: den samme søgning som JSON-indhold
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
Eksempel på svar
{
  "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 }
}