13.19
Tallenteiden haku
/<guild_id>/api/transcripts/searchHakee palvelimen jokaisesta suljetusta tiketistä, ei pelkistä metatiedoista: mitä sen sisällä sanottiin, kuka sanoi, ketkä osallistuivat, milloin se avattiin tai suljettiin, mihin paneeliin se kuuluu, minkä arvion se sai tai mitä Discord-kanavan tunnusta se käytti. Sama moottori kuin hallintapaneelin syvähaussa. Vaatii oikeuden `search_transcripts` (oletuksena pois päältä).
/<guild_id>/api/transcripts/searchSama toiminto, mutta suodattimet lähetetään JSON-runkona kyselyparametrien sijaan. Kätevämpi pitkiin hakuihin ja osallistujaluetteloihin. Jos lähetät molemmat, runko voittaa.
Jokaisessa tuloksessa on tiketin tiedot, enintään 8 osallistujaa ja, jos haku kohdistui sisältöön, enintään 3 osuvaa viestikatkelmaa, joista näet *miksi* tiketti löytyi. Vie minkä tahansa tuloksen TicketId suoraan toimintoon Tallenteen hakeminen saadaksesi koko viestiluettelon tai toimintoon Tallenteen HTML:n hakeminen saadaksesi valmiin arkiston.
Suodattimet (kaikki valinnaisia; yhdistele niitä vapaasti)
| Nimi | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
| q | string | valinnainen | Vapaa tekstihaku viestien sisällöstä, enintään 200 merkkiä. Alle 3 merkin sanat jäävät indeksissä huomiotta. |
| said_by | string | valinnainen | Vain tämän Discord-käyttäjätunnuksen kirjoittama sisältö. Käytä yhdessä kentän q kanssa. |
| participants | string[] | valinnainen | Enintään 5 tiketissä kirjoittanutta käyttäjää, kukin Discord-käyttäjätunnuksena tai käyttäjänimen osana. GET-pyynnössä pilkuin eroteltuna, POST-pyynnössä listana. |
| participants_mode | string | valinnainen | all (oletus) vaatii, että kaikki luetellut osallistujat ovat kirjoittaneet samaan tikettiin; any löytää tiketit, joihin vähintään yksi heistä on kirjoittanut. |
| include_bots | boolean | valinnainen | Ottaa mukaan bottien viestit ja botit osallistujina. Oletusarvo on false. |
| opened_by | string | valinnainen | Tiketin avaaja Discord-käyttäjätunnuksena tai käyttäjänimen osana. |
| closed_by | string | valinnainen | Tiketin sulkeneen Discord-käyttäjätunnus. |
| channel_id | string | valinnainen | Discord-kanavan tai -ketjun tunnus, jota tiketti käytti. |
| panel_id | number | valinnainen | Vain tästä paneelista avatut tiketit. |
| opened_from | number | valinnainen | Unix-aikaleima: vain tänä hetkenä tai sen jälkeen avatut tiketit. |
| opened_to | number | valinnainen | Unix-aikaleima: vain tänä hetkenä tai sitä ennen avatut tiketit. |
| closed_from | number | valinnainen | Unix-aikaleima: vain tänä hetkenä tai sen jälkeen suljetut tiketit. |
| closed_to | number | valinnainen | Unix-aikaleima: vain tänä hetkenä tai sitä ennen suljetut tiketit. |
| rating_min | number | valinnainen | Pienin arvio, 1-5. |
| rating_max | number | valinnainen | Suurin arvio, 1-5. |
| limit | number | valinnainen | Tuloksia sivulla, 1-50 (oletus 25). |
| offset | number | valinnainen | Sivutuksessa ohitettavat tulokset, enintään 10000 (oletus 0). |
Haku on rajattu 10 pyyntöön minuutissa avainta kohden, erikseen muusta lukemisesta, ja se toimii tiukassa aikarajassa. Haku, joka ei ehdi valmiiksi, palauttaa vastauksen 504. Kavenna suodattimia (lisää aikaväli tai paneeli) ja yritä uudelleen sen sijaan, että toistaisit saman haun. Kelpaamattomat arvot pudotetaan pois sen sijaan, että pyyntö hylättäisiin, joten katso vastauksen mukana tulevasta objektista filters, mitä oikeasti käytettiin.
Haku lukee tallenneindeksiä, joka rakennetaan palvelimen Premium-aikana ja täydennetään vanhaan arkistoosi ensimmäisellä käyttöönottokerralla. Jokaisen vastauksen objekti coverage kertoo, kuinka moni tallenteistasi on indeksoitu (indexed) kaikista säilytetyistä (total). Jos täydennys on vielä kesken, luvut eivät vielä täsmää.
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 }
}