Belgeler

TicketsX'i daha hızlı öğren

Kurulum rehberleri, tüm komutlar, Premium özellikleri ve REST API tek yerde.

13.19

Konuşma kayıtlarında arama

GET/<guild_id>/api/transcripts/search

Sunucudaki kapanmış her talepte yalnızca üstverilerde değil, içeriğinde de arama yapar: içinde neler söylendiği, kimin söylediği, kimlerin katıldığı, ne zaman açılıp kapandığı, hangi panele ait olduğu, değerlendirmesi veya Discord kanal kimliği. Paneldeki derin aramanın aynısıdır. `search_transcripts` yetkisi gerekir (varsayılan olarak kapalı).

POST/<guild_id>/api/transcripts/search

Aynısı, ancak süzgeçler sorgu parametresi yerine JSON gövdesiyle gönderilir. Uzun sorgular ve katılımcı listeleri için daha rahattır. İkisini birden gönderirseniz gövde geçerli olur.

Her sonuç talebin üstverilerini, en fazla 8 katılımcıyı ve içeriğe göre arama yaptıysanız eşleşmenin *nedenini* görebilmeniz için en fazla 3 eşleşen mesaj parçasını taşır. Herhangi bir sonuçtaki TicketId değerini bütün mesaj listesi için Konuşma kaydı getirme uç noktasına, hazır arşiv için Konuşma kaydı HTML'i getirme uç noktasına verin.

Süzgeçler (hepsi isteğe bağlı; istediğiniz kadarını birleştirin)

AdTürZorunluAçıklama
qstring
isteğe bağlı
Mesaj içeriğinde serbest metin araması, en fazla 200 karakter. 3 karakterden kısa sözcükler dizinde yok sayılır.
said_bystring
isteğe bağlı
Yalnızca bu Discord kullanıcı kimliğinin yazdığı içerikte arar. q ile birlikte kullanın.
participantsstring[]
isteğe bağlı
Talepte yazmış en fazla 5 kullanıcı, her biri Discord kullanıcı kimliği veya kullanıcı adının bir parçası olarak. GET'te virgülle ayrılır, POST'ta dizi olarak verilir.
participants_modestring
isteğe bağlı
all (varsayılan) belirtilen bütün katılımcıların aynı talepte yazmış olmasını ister; any en az birinin yazdığı talepleri bulur.
include_botsboolean
isteğe bağlı
Bot mesajlarını ve bot katılımcıları eşleşmeye katar. Varsayılan false.
opened_bystring
isteğe bağlı
Talebi açan kişi, Discord kullanıcı kimliği veya kullanıcı adının bir parçası olarak.
closed_bystring
isteğe bağlı
Talebi kapatan kişinin Discord kullanıcı kimliği.
channel_idstring
isteğe bağlı
Talebin geçtiği Discord kanal veya başlık kimliği.
panel_idnumber
isteğe bağlı
Yalnızca bu panelden açılan talepler.
opened_fromnumber
isteğe bağlı
Unix zaman damgası: yalnızca bu zamanda veya sonrasında açılan talepler.
opened_tonumber
isteğe bağlı
Unix zaman damgası: yalnızca bu zamanda veya öncesinde açılan talepler.
closed_fromnumber
isteğe bağlı
Unix zaman damgası: yalnızca bu zamanda veya sonrasında kapanan talepler.
closed_tonumber
isteğe bağlı
Unix zaman damgası: yalnızca bu zamanda veya öncesinde kapanan talepler.
rating_minnumber
isteğe bağlı
En düşük değerlendirme puanı, 1-5.
rating_maxnumber
isteğe bağlı
En yüksek değerlendirme puanı, 1-5.
limitnumber
isteğe bağlı
Sayfa başına sonuç sayısı, 1-50 (varsayılan 25).
offsetnumber
isteğe bağlı
Sayfalama için atlanacak sonuç sayısı, en fazla 10000 (varsayılan 0).

Arama, diğer okumalardan ayrı olarak jeton başına dakikada 10 istekle sınırlıdır ve sıkı bir süre bütçesiyle çalışır. Zamanında bitmeyen arama 504 döndürür. Aynı sorguyu yinelemek yerine süzgeçleri daraltın (tarih aralığı veya panel ekleyin) ve yeniden deneyin. Doğrulamadan geçmeyen değerler isteği reddetmek yerine düşürülür, bu yüzden tam olarak neyin uygulandığını görmek için yanıtta geri dönen filters nesnesine bakın.

Arama, sunucuda Premium varken kurulan ve ilk yükseltmenizde mevcut arşivinize de uygulanan konuşma kaydı dizinini okur. Her yanıttaki coverage nesnesi, sakladığınız toplam kayıt (total) içinde kaçının dizinlendiğini (indexed) söyler. Dizin doldurma sürüyorsa bu iki sayı henüz uyuşmaz.

İstek örneği: bir kullanıcının, belirli bir ekip üyesinin de çalıştığı taleplerde söyledikleri
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"
İstek örneği: aynı arama JSON gövdesiyle
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
Yanıt örneği
{
  "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 }
}