Dokumentation

Lär dig TicketsX snabbare

Guider, alla kommandon, Premium-funktioner och REST-API:et på ett ställe.

13.19

Genomsöka utskrifter

GET/<guild_id>/api/transcripts/search

Söker i varje stängt ärende på servern, inte bara i uppgifterna om det: vad som sagts inuti, vem som sa det, vilka som deltog, när det öppnades eller stängdes, vilken panel det hör till, vilket omdöme det fick eller vilket Discord-kanal-ID det använde. Det är samma motor som djupsökningen i panelen. Kräver behörigheten `search_transcripts` (av som standard).

POST/<guild_id>/api/transcripts/search

Samma sak, fast med filtren i en JSON-kropp i stället för frågeparametrar. Smidigare för långa sökningar och listor med deltagare. Skickar du båda gäller kroppen.

Varje träff innehåller ärendets uppgifter, upp till 8 deltagare och, om du sökte på innehåll, upp till 3 matchande utdrag så att du ser *varför* ärendet kom med. Ta TicketId från vilken träff som helst direkt till Hämta en utskrift för hela listan med meddelanden, eller till Hämta utskrift som HTML för det färdiga arkivet.

Filter (alla valfria; kombinera hur många du vill)

NamnTypObligatoriskBeskrivning
qstring
valfritt
Fritextsökning i meddelandeinnehållet, högst 200 tecken. Ord kortare än 3 tecken hoppas över av indexet.
said_bystring
valfritt
Matchar bara innehåll skrivet av det här Discord-användar-ID:t. Kombinera med q.
participantsstring[]
valfritt
Upp till 5 användare som skrivit i ärendet, var och en som Discord-användar-ID eller del av ett användarnamn. Kommaseparerade med GET, som lista med POST.
participants_modestring
valfritt
all (standard) kräver att alla angivna deltagare skrivit i samma ärende; any matchar ärenden där minst en av dem gjort det.
include_botsboolean
valfritt
Tar med botmeddelanden och botdeltagare i matchningen. Standard är false.
opened_bystring
valfritt
Den som öppnade ärendet, som Discord-användar-ID eller del av ett användarnamn.
closed_bystring
valfritt
Discord-användar-ID för den som stängde ärendet.
channel_idstring
valfritt
Discord-kanal-ID eller tråd-ID som ärendet använde.
panel_idnumber
valfritt
Bara ärenden som öppnats från den här panelen.
opened_fromnumber
valfritt
Unix-tidsstämpel: bara ärenden som öppnats vid den här tidpunkten eller senare.
opened_tonumber
valfritt
Unix-tidsstämpel: bara ärenden som öppnats vid den här tidpunkten eller tidigare.
closed_fromnumber
valfritt
Unix-tidsstämpel: bara ärenden som stängts vid den här tidpunkten eller senare.
closed_tonumber
valfritt
Unix-tidsstämpel: bara ärenden som stängts vid den här tidpunkten eller tidigare.
rating_minnumber
valfritt
Lägsta omdöme, 1 till 5.
rating_maxnumber
valfritt
Högsta omdöme, 1 till 5.
limitnumber
valfritt
Träffar per sida, 1 till 50 (standard 25).
offsetnumber
valfritt
Träffar som hoppas över vid sidindelning, högst 10000 (standard 0).

Sökningen är begränsad till 10 anrop per minut och nyckel, räknat för sig från annan läsning, och körs med snävt tilltagen tid. En sökning som inte hinner klart svarar 504. Smalna av filtren (lägg till ett datumintervall eller en panel) och försök igen i stället för att upprepa samma sökning. Värden som inte går igenom kontrollen plockas bort i stället för att anropet avvisas, så titta i objektet filters som returneras i svaret för att se exakt vad som användes.

Sökningen läser utskriftsindexet, som byggs medan servern har Premium och fylls på över ditt befintliga arkiv vid din första uppgradering. Objektet coverage i varje svar visar hur många av dina utskrifter som är indexerade (indexed) av det totala antal som sparats (total). Pågår påfyllningen ännu stämmer siffrorna inte överens.

Exempelanrop: vad en användare sagt, i ärenden som en viss medarbetare också jobbat 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"
Exempelanrop: samma sökning som JSON-kropp
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
Exempelsvar
{
  "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 }
}