Dokumentacija

Perprask TicketsX greičiau

Nustatymo vadovai, visų komandų sąrašas, Premium galimybės ir REST API vienoje vietoje.

13.19

Įrašų paieška

GET/<guild_id>/api/transcripts/search

Ieško kiekviename uždarytame serverio biliete, o ne vien jo duomenyse: kas viduje pasakyta, kas tai pasakė, kas dalyvavo, kada jis atvertas ar uždarytas, kuriam skydeliui priklauso, kokį vertinimą gavo ar kokį Discord kanalo identifikatorių turėjo. Tai tas pats variklis kaip gili paieška valdymo pulte. Reikia teisės `search_transcripts` (numatytai išjungta).

POST/<guild_id>/api/transcripts/search

Tas pats, tik filtrai siunčiami JSON turiniu, o ne užklausos parametrais. Patogiau ilgoms paieškoms ir dalyvių sąrašams. Nusiuntus abu, galioja turinys.

Kiekvienas rezultatas neša bilieto duomenis, iki 8 dalyvių, o jei ieškojote pagal turinį, ir iki 3 tinkančių žinučių atkarpų, kad matytumėte, *kodėl* bilietas rastas. Paimkite TicketId iš bet kurio rezultato ir perduokite jį Įrašo paėmimui, kad gautumėte visą žinučių sąrašą, arba Įrašo paėmimui HTML pavidalu, kad gautumėte parengtą archyvą.

Filtrai (visi nebūtini; derinkite kiek norite)

PavadinimasTipasPrivalomaAprašas
qstring
neprivaloma
Laisva paieška žinučių turinyje, daugiausia 200 rašmenų. Trumpesnius nei 3 rašmenų žodžius rodyklė praleidžia.
said_bystring
neprivaloma
Atsižvelgia tik į turinį, kurį parašė šis Discord naudotojo identifikatorius. Naudokite kartu su q.
participantsstring[]
neprivaloma
Iki 5 naudotojų, rašiusių biliete, kiekvienas kaip Discord naudotojo identifikatorius arba naudotojo vardo dalis. GET atveju atskiriami kableliais, POST atveju pateikiami sąrašu.
participants_modestring
neprivaloma
all (numatyta) reikalauja, kad visi nurodyti dalyviai būtų rašę tame pačiame biliete; any randa bilietus, kuriuose rašė bent vienas iš jų.
include_botsboolean
neprivaloma
Įtraukia ir botų žinutes bei botus dalyvius. Numatyta reikšmė yra false.
opened_bystring
neprivaloma
Bilietą atvėręs žmogus, nurodomas Discord naudotojo identifikatoriumi arba naudotojo vardo dalimi.
closed_bystring
neprivaloma
Bilietą uždariusio žmogaus Discord naudotojo identifikatorius.
channel_idstring
neprivaloma
Discord kanalo ar gijos identifikatorius, kurį naudojo bilietas.
panel_idnumber
neprivaloma
Tik iš šio skydelio atverti bilietai.
opened_fromnumber
neprivaloma
Unix laiko žyma: tik bilietai, atverti tuo metu arba vėliau.
opened_tonumber
neprivaloma
Unix laiko žyma: tik bilietai, atverti tuo metu arba anksčiau.
closed_fromnumber
neprivaloma
Unix laiko žyma: tik bilietai, uždaryti tuo metu arba vėliau.
closed_tonumber
neprivaloma
Unix laiko žyma: tik bilietai, uždaryti tuo metu arba anksčiau.
rating_minnumber
neprivaloma
Mažiausias vertinimas, 1-5.
rating_maxnumber
neprivaloma
Didžiausias vertinimas, 1-5.
limitnumber
neprivaloma
Rezultatų puslapyje, 1-50 (numatyta 25).
offsetnumber
neprivaloma
Kiek rezultatų praleidžiama verčiant puslapius, daugiausia 10000 (numatyta 0).

Paieška apribota iki 10 užklausų per minutę kiekvienam raktui, skaičiuojant atskirai nuo kito skaitymo, ir vyksta griežtai ribotu laiku. Paieška, nespėjusi baigti darbo, grąžina 504. Užuot kartoję tą pačią užklausą, susiaurinkite filtrus (pridėkite laikotarpį ar skydelį) ir bandykite dar kartą. Patikros nepraėjusios reikšmės atmetamos, o ne sugriauna visą užklausą, tad atsakyme grąžintame objekte filters pasižiūrėkite, kas iš tiesų pritaikyta.

Paieška skaito įrašų rodyklę, kuri kuriama, kol serveris turi Premium, ir pirmą kartą jį įsigijus apima ir jūsų ligtolinį archyvą. Objektas coverage kiekviename atsakyme nurodo, kiek jūsų įrašų jau yra rodyklėje (indexed) iš visų laikomų (total). Jei archyvo apdorojimas dar vyksta, tie du skaičiai kol kas nesutaps.

Užklausos pavyzdys: ką naudotojas pasakė tuose bilietuose, prie kurių dirbo ir tam tikras pagalbos žmogus
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"
Užklausos pavyzdys: ta pati paieška JSON turiniu
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
Atsakymo pavyzdys
{
  "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 }
}