13.19
Gjennomsøke utskrifter
/<guild_id>/api/transcripts/searchSø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).
/<guild_id>/api/transcripts/searchDet 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)
| Navn | Type | Påkrevd | Beskrivelse |
|---|---|---|---|
| q | string | valgfritt | Fritekstsøk i innholdet i meldingene, høyst 200 tegn. Ord på under 3 tegn blir hoppet over av indeksen. |
| said_by | string | valgfritt | Bare innhold skrevet av denne Discord-bruker-ID-en. Bruk det sammen med q. |
| participants | string[] | 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_mode | string | 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_bots | boolean | valgfritt | Tar med meldinger og deltakere som er boter. Standard er false. |
| opened_by | string | valgfritt | Den som opprettet saken, som Discord-bruker-ID eller en del av et brukernavn. |
| closed_by | string | valgfritt | Discord-bruker-ID til den som lukket saken. |
| channel_id | string | valgfritt | Discord-kanal-ID-en eller tråd-ID-en saken brukte. |
| panel_id | number | valgfritt | Bare saker som er opprettet fra dette panelet. |
| opened_from | number | valgfritt | Unix-tidsstempel: bare saker opprettet på dette tidspunktet eller senere. |
| opened_to | number | valgfritt | Unix-tidsstempel: bare saker opprettet på dette tidspunktet eller tidligere. |
| closed_from | number | valgfritt | Unix-tidsstempel: bare saker lukket på dette tidspunktet eller senere. |
| closed_to | number | valgfritt | Unix-tidsstempel: bare saker lukket på dette tidspunktet eller tidligere. |
| rating_min | number | valgfritt | Laveste vurdering, 1 til 5. |
| rating_max | number | valgfritt | Høyeste vurdering, 1 til 5. |
| limit | number | valgfritt | Treff per side, 1 til 50 (standard 25). |
| offset | number | 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.
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"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{
"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 }
}