13.19
Genomsöka utskrifter
/<guild_id>/api/transcripts/searchSö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).
/<guild_id>/api/transcripts/searchSamma 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)
| Namn | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
| q | string | valfritt | Fritextsökning i meddelandeinnehållet, högst 200 tecken. Ord kortare än 3 tecken hoppas över av indexet. |
| said_by | string | valfritt | Matchar bara innehåll skrivet av det här Discord-användar-ID:t. Kombinera med q. |
| participants | string[] | 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_mode | string | 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_bots | boolean | valfritt | Tar med botmeddelanden och botdeltagare i matchningen. Standard är false. |
| opened_by | string | valfritt | Den som öppnade ärendet, som Discord-användar-ID eller del av ett användarnamn. |
| closed_by | string | valfritt | Discord-användar-ID för den som stängde ärendet. |
| channel_id | string | valfritt | Discord-kanal-ID eller tråd-ID som ärendet använde. |
| panel_id | number | valfritt | Bara ärenden som öppnats från den här panelen. |
| opened_from | number | valfritt | Unix-tidsstämpel: bara ärenden som öppnats vid den här tidpunkten eller senare. |
| opened_to | number | valfritt | Unix-tidsstämpel: bara ärenden som öppnats vid den här tidpunkten eller tidigare. |
| closed_from | number | valfritt | Unix-tidsstämpel: bara ärenden som stängts vid den här tidpunkten eller senare. |
| closed_to | number | valfritt | Unix-tidsstämpel: bara ärenden som stängts vid den här tidpunkten eller tidigare. |
| rating_min | number | valfritt | Lägsta omdöme, 1 till 5. |
| rating_max | number | valfritt | Högsta omdöme, 1 till 5. |
| limit | number | valfritt | Träffar per sida, 1 till 50 (standard 25). |
| offset | number | 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.
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 }
}