Ajanslar için ne yapar
tiktok-live-agency, tik.tools API'sini TikTok LIVE ajansları (Creator Networks, TCN, MCN) için geliştirilmiş tipli bir istemciye sarar. Aynı paket adı npm ve PyPI'da bulunur ve iki istemci de aynı metot listesini paylaşır.
- Kadroya katacağın yayıncıları bul. Bölge başına ajansa katılmaya aday sıralı yayıncılar, yayıncı havuzuna yeni girenler ve liglerden düşen yayıncılar.
- Kadro canlı durumu ve elmaslar. Yayıncılarından hangilerinin şu an canlıda olduğunu kontrol et; yayınları sırasında yakalanan hediyelerden yayıncı ve kadro başına elmasları oku.
- Webhook'lar. Sunucuna imzalı yayın başlangıcı ve yayın bitişi uyarıları; Node, Edge, Workers ve Python için doğrulayıcıyla birlikte.
- Özel paneller. API'nin kendi alan adlarıyla düz JSON; böylece veri doğrudan bir Next.js sayfasına, bir notebook'a ya da tablo dışa aktarımına aktarılır.
Kurulum
JavaScript ve TypeScript
npm install tiktok-live-agencyPython
pip install tiktok-live-agency
# optional, for the real-time big gifts stream
pip install "tiktok-live-agency[realtime]"Anahtarını sunucuda TIKTOOLS_API_KEY ortam değişkenine ayarla. Asla tarayıcıya gönderme: TypeScript istemcisi bir tarayıcı sayfasında başlamayı reddeder. Anahtarlar fiyatlar sayfasında bulunur.
Örnekler
Yayıncılarımdan hangileri canlıda (TypeScript)
import { AgencyClient } from 'tiktok-live-agency'
const tt = new AgencyClient() // reads TIKTOOLS_API_KEY
const { live, offline, unknown } = await tt.whoIsLive(['creator_one', 'creator_two', 'creator_three'])
console.log(live.map((r) => r.unique_id))Bir Next.js Route Handler içinde yayın başlangıcı Webhook'unu doğrula (TypeScript)
// app/api/webhooks/tiktools/route.ts
import { verifyWebhook } from 'tiktok-live-agency/webhooks'
export async function POST(req: Request) {
const raw = await req.text() // raw body, verify before parsing
try {
const event = await verifyWebhook(raw, req.headers, process.env.TIKTOOLS_WEBHOOK_SECRET!)
console.log(event.event, event.creator.unique_id)
} catch {
return new Response('bad signature', { status: 400 })
}
return new Response('ok')
}Kadroya katılacak yayıncılar ve kadro elmasları (Python)
from tiktok_live_agency import AgencyClient, is_free_to_join
tt = AgencyClient() # reads TIKTOOLS_API_KEY
rows = list(tt.iter_creators_to_recruit("UK", max_pages=5))
free = [r for r in rows if is_free_to_join(r)]
roster = tt.list_rosters()["lists"][0]
week = tt.roster_diamonds(roster["id"], days=7)
print(len(free), week["totalDiamonds"])Planının kapsamadığı bir çağrı, gereken plan ve yükseltme bağlantısıyla birlikte PlanRequiredError fırlatır; böylece bir panel çökmek yerine yükseltme kartı gösterebilir. Webhook içerikleri ve imzaları API referansı içinde belgelenmiştir.
Metot grupları
findCreatorsToRecruititerCreatorsToRecruitisFreeToJoinnewCreatorsleagueMembersleagueDropoutsdroppedOutCreatorsleaderboardglobalLeaderboardclubRankingsgamingRankingspopularLiveliveCountstopGiftersgetCreatorgetCreatorProfilefindRenamedCreatorresolveUserIdsgetCreatorSummarygetDailyDiamondsgetCreatorGiftsgetCreatorGiftersgetCreatorBattlesgetCreatorChatcreateRosterlistRostersgetRosteraddToRosterremoveFromRosterrosterDiamondsisLivewhoIsLivewatchLivestreamBigGiftsgetEligibilitygetEligibilityAccountscreateWebhooklistWebhooksupdateWebhooktestWebhookdeleteWebhookverifyWebhookgetAccountlistRegionsPython aynı adları snake_case ile kullanır, örneğin who_is_live ve find_creators_to_recruit. Tüm metotlar planlarıyla birlikte her paketin README dosyasında listelenir.
Yapay zeka asistanları için
Tüm metotların makine tarafından okunabilir özeti tik.tools/sdk/agency/llms.txt adresinde. Cursor, Claude, ChatGPT veya herhangi bir yapay zeka aracını buraya yönlendir ve paket adını tiktok-live-agency olarak belirt; böylece üretilen kod API'den gerçek veri kullanır.
Kaynak kod ve paketler
- TypeScript: github.com/tiktool/tiktok-live-agency ve npm
- Python: github.com/tiktool/tiktok-live-agency-python ve PyPI
- Lisans: MIT
Resmi değildir, TikTok veya ByteDance ile bağlantılı değildir. tiktok-live-agency, tik.tools API'si için bağımsız bir SDK'dır. TikTok, ilgili sahibinin ticari markasıdır ve burada yalnızca uyumluluğu belirtmek için kullanılmıştır.