Dokumentasjon

Lær TicketsX raskere

Veiledninger, alle kommandoer, Premium-funksjoner og REST-API-et på ett sted.

13.19

Gjennomsøke utskrifter

GET/<guild_id>/api/transcripts/search

Søker i hver eneste lukkede sak på serveren, ikke bare i opplysningene om den: hva som ble sagt inne i den, hvem som sa det, hvem som deltok, når den ble opprettet eller lukket, hvilket panel den hører til, hvilken vurdering den fikk, eller hvilken Discord-kanal-ID den brukte. Det er den samme motoren som dybdesøket i kontrollpanelet. Krever rettigheten `search_transcripts` (av som standard).

POST/<guild_id>/api/transcripts/search

Det samme, men med filtrene sendt som JSON-innhold i stedet for spørringsparametere. Lettere ved lange søk og lister med deltakere. Sender du begge deler, gjelder innholdet.

Hvert treff inneholder opplysningene om saken, opptil 8 deltakere og, hvis du søkte på innhold, opptil 3 tilhørende utdrag, så du ser *hvorfor* saken kom med. Ta TicketId fra et treff rett videre til Hente en utskrift for hele listen med meldinger, eller til Hente utskrift som HTML for det ferdige arkivet.

Filtre (alle valgfrie; kombiner så mange du vil)

NavnTypePåkrevdBeskrivelse
qstring
valgfritt
Fritekstsøk i innholdet i meldingene, høyst 200 tegn. Ord på under 3 tegn blir hoppet over av indeksen.
said_bystring
valgfritt
Bare innhold skrevet av denne Discord-bruker-ID-en. Bruk det sammen med q.
participantsstring[]
valgfritt
Opptil 5 brukere som har skrevet i saken, hver som Discord-bruker-ID eller en del av et brukernavn. Skilt med komma ved GET, som en liste ved POST.
participants_modestring
valgfritt
all (standard) krever at alle deltakerne du nevner, har skrevet i den samme saken; any finner saker der minst én av dem har skrevet.
include_botsboolean
valgfritt
Tar med meldinger og deltakere som er boter. Standard er false.
opened_bystring
valgfritt
Den som opprettet saken, som Discord-bruker-ID eller en del av et brukernavn.
closed_bystring
valgfritt
Discord-bruker-ID til den som lukket saken.
channel_idstring
valgfritt
Discord-kanal-ID-en eller tråd-ID-en saken brukte.
panel_idnumber
valgfritt
Bare saker som er opprettet fra dette panelet.
opened_fromnumber
valgfritt
Unix-tidsstempel: bare saker opprettet på dette tidspunktet eller senere.
opened_tonumber
valgfritt
Unix-tidsstempel: bare saker opprettet på dette tidspunktet eller tidligere.
closed_fromnumber
valgfritt
Unix-tidsstempel: bare saker lukket på dette tidspunktet eller senere.
closed_tonumber
valgfritt
Unix-tidsstempel: bare saker lukket på dette tidspunktet eller tidligere.
rating_minnumber
valgfritt
Laveste vurdering, 1 til 5.
rating_maxnumber
valgfritt
Høyeste vurdering, 1 til 5.
limitnumber
valgfritt
Treff per side, 1 til 50 (standard 25).
offsetnumber
valgfritt
Treff som blir hoppet over ved sideinndeling, høyst 10000 (standard 0).

Søket er begrenset til 10 kall i minuttet per nøkkel, talt for seg i forhold til annen lesing, og det kjører med stramt avmålt tid. Et søk som ikke blir ferdig i tide, svarer 504. Snevre inn filtrene (legg til et datointervall eller et panel), og prøv igjen i stedet for å gjenta det samme søket. Verdier som ikke går gjennom kontrollen, blir tatt bort i stedet for at kallet blir avvist, så se i objektet filters i svaret hva som faktisk ble brukt.

Søket leser utskriftsindeksen, som blir bygd mens serveren har Premium, og lagt over det gamle arkivet ditt første gang du oppgraderer. Objektet coverage i hvert svar forteller hvor mange av utskriftene dine som er indeksert (indexed) av alle som er lagret (total). Går indekseringen av de gamle sakene ennå, stemmer ikke tallene overens.

Eksempel på kall: hva en bruker har sagt i saker som en bestemt person i støtteapparatet også har jobbet 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å kall: det samme søket som JSON-innhold
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 }
}