Жылдам API- ге қосылу
Алғашқы біріктіруіңіз бір экранда шағын.
Енді көріп көріңіз: кілті жоқ, қолтаңбалаусыз
Осы адресті шолғышта ашу. Осы оқиғаларды содан кейін көресіз.
https://timtim.live/api/partner-network/demo?city=Washington- 1
Сынақ кілтін алу
Қолтаңбалап, оның кім екенін білдіріп, сынап көрушіні жасау. Үлгіні келесіден бастайды
- 2
Оқиғаларды табу
Қалада болған оқиғалар туралы сұралсын.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \ -H "Authorization: Bearer tt_test_YOUR_KEY" - 3
Оқиғаны көрсету
Әрбір оқиға картаңызға атау, күн, орын, баға және дайындағы жарлықтары болады.
- 4
Жо_лтап алуды қолдану
Қолдануы бітті. Болды. Сілтемеге кіретін TimTim.Live сәйкестік. Name
- 5
Нәтижелерді қарау
Адамдарды тауып, билеттерді сатып, олардан сұрайтынын көрші.
GET https://api.timtim.live/v1/earnings
Сілтеме
Сұрауларды қайда жіберу керек
https://api.timtim.live/v1Қосылымыңыз
Қатынауды ашық айдарында жіберу. Түпнұсқаларды (тірсетілмеген) сынап көру. Веб пернелері (сбелгі_ т. б.) веб парақта орналасады да, тек оқиғаларды ғана оқуға болады. Сервер кілттері серверіңізде қалдырылғандарды оқып алуға да болады. Бір рет пернені көрсетіп, оны қауіпсіз қылу керек.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
-H "Authorization: Bearer tt_test_YOUR_KEY"const res = await fetch("https://api.timtim.live/v1/events?city=Washington&category=music", {
headers: { Authorization: "Bearer tt_test_YOUR_KEY" },
});
const { events, next } = await res.json();
for (const event of events) {
console.log(event.name, event.display.date_label, event.tickets.buy_url);
}// Node 18+ — keep server keys (tt_sk_live_) on the server
const res = await fetch("https://api.timtim.live/v1/events?city=Washington", {
headers: { Authorization: `Bearer ${process.env.TIMTIM_KEY}` },
});
if (!res.ok) {
const problem = await res.json();
throw new Error(`${problem.title} (${problem.request_id})`);
}
const { events } = await res.json();import os, requests
res = requests.get(
"https://api.timtim.live/v1/events",
params={"city": "Washington", "category": "music"},
headers={"Authorization": f"Bearer {os.environ['TIMTIM_KEY']}"},
)
res.raise_for_status()
for event in res.json()["events"]:
print(event["name"], event["tickets"]["buy_url"])<?php
$ch = curl_init("https://api.timtim.live/v1/events?city=Washington&category=music");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("TIMTIM_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
foreach ($data["events"] as $event) {
echo $event["name"] . " " . $event["tickets"]["buy_url"] . PHP_EOL;
}Сүзгілер
city- Мына қалада оқиғалар.
country- Мысалы, АҚШ-тың екі әріпті елдің коды.
category- Мысалға, музыкалық немесе жігіттер.
from- Оқиға не соңындағы оқиғалар (2026- 1020)
to- Оқиға не жоспардың алдында.
changed_since- Тек осы уақыттан кейін өзгерген оқиғалар ғана.
commissioned- шынымен, тек қаныйрлықты төлейтін оқиғалар.
minimum_earnings- Әрине, тек қана билетке қарай төлейтін оқиғалар.
near- Мысалы, Қатысушы, фарисейлер қашықтықта.
limit- Бір парақта қанша оқиға өтіп кететін болса, 1- 100-ге 20-ге дейін.
Тек өзгерісіңізді түсіндіріп беріңіз
Соңғы қадамдастырып оны өзгертіп жіберіңіз. Сіз тек өзгерген оқиғаларды, сонымен басып шығаруларды және өтпеген жолдарды сатып аласыз. Веб-құрылмайтын. Жүгіртпейтіндер тізімінде кіргізу қажет.
GET https://api.timtim.live/v1/events?changed_since=2026-10-06T10:00:00ZБір бет жұрнақ
Жауап келесіде болса, оны келесі бетті табу үшін меңзер= жолына қайтарыңыз. Келесіде бос қалдырсаңыз, барлығы бар.
GET https://api.timtim.live/v1/events?city=Paris&cursor=eyJtIjoiZCIs…Бастау
Әр оқиғаның бағасы. Қолдануға жарамайтын, табыстың ақшасы жоқ, әлі де көрінетін. Егер десе, білім алу өзің білім алсаңыз, мысалы "5 $". Егер сатып алса, алшақта ақша басқарып кетеді.
Bulk ақпарлары (бір файлда тағайындалмаған)
Кереметкі ақпарды аспаптарда сақтау. Ар бир оқиғаны жүктеп алу деген сервердің кілтімен бірге берілген қысылды: /v1/ libulk/ FEEDID. gz. g.cs. gzg. # Өзгертілген нүктені тек өзгертілген айнымалыға, соның ішінде жазылған оқиғаларға қарай. Қазір сынап көруге болады; TimTim.Live бағдарламасын қажет етеді.
GET https://api.timtim.live/v1/bulk/bfs_YOURFEED.ndjson.gz?changed_since=2026-10-06T00:00:00ZСүйермендің қосымшасымен билет (үтікті сауалдармен)
Үлкен әріпттерді өзінің құрамына сатып алуға болады. Жіберу үшін / vv1/теншілес кішкене қарай, содан кейін сатып алушыны таңдауы үшін GTV/ DID/ tripts. сатып алушы үшін TimTim.Live төлемінің сілтемесі бар, яғни сатылу компанияңызға жеке қаржыланды. Кілттерді қолданып көруге болады. Өсім мөлшерлемесі мен карта төлемдерін TimTim.Live қажет етеді.
POST https://api.timtim.live/v1/orders (Idempotency-Key: …) {"event_id": "evt_test_washington_konpa", "ticket_type_id": "tt_test_washington_konpa", "quantity": 2, "buyer_email": "…", "buyer_name": "…"}Картаға бөлінген кіргізі (барак және жүлде бағдарламалар)
MODN / Fast1/ Бүлденгісі әрбір оқиғаны ұсыныс ретінде төлемейді. Әр ұсыныстар ұйымдастырушылар, күн, баға, шақ пен сыйлығы бар. Шақырушыларыңызға жолсызық сілтеме арқылы назар аударыңыз, ал жүлдеңізге / v1/wintings арқылы қаржы төледі. Түпнұсқаны көрсеткіз. Маңызды TimTim.Live ескерту керек. Сәйкестік төлемдер үшін карта не банкпен сәйкестікке тікелей сәйкес келеді, ал бұл қосылмаған.
GET https://api.timtim.live/v1/offers?country=USОқиға күй- жайы мен bileттеріName
Күй- жайы жоспарланған, уақыт белгіленбеген, доғарылған не аяқталған. Оқиғадан басталғанда оны төмендету.
GET https://api.timtim.live/v1/events/evt_test_washington_konpaҚанша сұрағыңыз
Сынақ пернелері: минут 60 сұрау. Live пернелері: 120 минут. Қайталау саны 429 рет қайталануы және күтудің секундтары саны.
Қай оқиғалар
Ұйымдастыру TimTim.Live ұйымдастырғыштарының оқиғасы. Басқа виртуалды сайттардан импортталған оқиғалар ешқашан кірмейді, өйткені біз оларды ортақтастыру құқығына ие емес.
Ешқашан жібергіз жіберілмеген амал.
Қосымша атаулар, эл. пошта адрестері, мекен адрестері, телефон нөмірі және егжей- тегжейі. Білесуші API мүшелерімізге емес, оқиға туралы ақпаратты бөлу.
Веб- парақ бөлшегі
HTML- нің бір жолында барлық веб- сайттағы оқиғалар көрсетіледі. Веб- сайт кілтін қолдану (tp_ plle_ word') және веб- сайтыңызды тізімге қосу. Тұрақты оқиғалар жоқ.
<script src="https://timtim.live/widget/events.js"
data-key="tt_pk_live_YOUR_WEBSITE_KEY"
data-city="Washington" data-category="music" async></script>Параметрлер: data-city, data-country, data-category, data-limit (1–24), data-earn="true", data-lang және data-color.
Оу 2. 0 (үсілтеулерін басқару)
Қосымша. Көрнекті аспаптарда ОАтуш клиентін жасаңыз. Соңғы бір сағатты қолдау үшін клиенті және құпиясы. Кілттің орнына бұл қолтаңбаны жіберу. Құпиясы, API арқылы ешқашан саяхаттаған кезде, клиенттің әңгімелері көп.
# 1. Trade the client ID and secret for a one-hour token
curl -u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=client_credentials -d "scope=events:read events:details" \
https://api.timtim.live/v1/oauth/token
# → {"access_token":"tt_at_…","token_type":"Bearer","expires_in":3600,"scope":"events:read events:details"}
# 2. Use the token exactly like a key
curl -H "Authorization: Bearer $ACCESS_TOKEN" "https://api.timtim.live/v1/events?city=Washington"Ертелеуді алдын- ала белгісі үшін, POST / v1/oauth/autarchim- пен құпия бір клиенттің идентификаторымен бірге. Клиентті панельден шығатын барлық түстестеріне ауыстырып шығу.
Сервердің пернені бұғаттау
Қосымша. Көрсететін аспаптарда сервердің кілтін, сынақ немесе OAuth клиентін табу. Серверлер мен серверлеріңіздің адресіне 'Күптілу' дегенді ашу. Шақырулар - басқа жерден сұрақтар қабылданбайды, ал түбірге рұқсат етпеді, хәтта оң кілтімен қоса.
Клиент куәліктері (mTLS), үлкен компаниялар үшін: бізге сервердің ID- і беріп, оны кілттерге тіркеп беру. Алайда, https://bpim.org sayған жөн. Тек осы куәлікті қолданатын серверге жауап беруге болады.
# Your certificate's SHA-256 — paste this (or the PEM) under "Lock to my servers"
openssl x509 -in client.crt -noout -fingerprint -sha256
# Every call then presents the certificate
curl --cert client.crt --key client.key \
-H "Authorization: Bearer $KEY" "https://api.timtim.live/v1/events?city=Washington"Сөздерді баптау плагиніName
Сөздерін қолдану керек пе? TimTim.Live оқиғалар: блок және қысқа кодыңыз TimTim.Live виртуалды сілтемелеріңізден көрінетін оқиғаларды орнату. Тірі қалған TimTim.Live, тұлға тек timtmis. қайталануға және жаңалауға болады.
Файл плагин модульдерін жүктеп алу Баптау TimTim.Live оқиғаларды қолданып сынап көру. Содан кейін TimTim.Live оқиғалар блокын кез келген параққа қосу.
Сөздерді жүктеп алу модуліName[timtim_events city="Washington" category="music" limit="6"]Ақпарлар
JSON ақпары, RSS, XML, CSV не күнтізбедегі оқиғалар секілді. Google күнтізбе, Apple күнтізбесі және Outlook бағдарламасы күнтізбеге жазыла алады. Ақпар оқитын айдарларын жіберуге болмайды, сондықтан веб- кілтті не тексеру кілтін? Серверге кілтті сілтеме түрінде ешқашан қою.
https://timtim.live/v1/feeds/events.json?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.rss?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.xml?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.csv?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.ics?key=tt_pk_live_YOUR_KEY&city=ParisВеб- қирау
Мүмкіндігіне орай адресін қосу мен оны бірдеме өзгеріскенде жібереміз. Өзгертілмеген не істемейді. Веб ұйымдастыру - өзгертілді. Себебі бір ақпаратты ұсынады.
{
"id": "whd_8Fk2mQxR7tLp",
"type": "event.changed",
"created_at": "2026-10-06T15:04:05.000Z",
"mode": "live",
"data": {
"event": {
"id": "ev_…",
"name": "…",
"status": "cancelled",
"tickets": {
"availability": "ended",
"buy_url": "https://timtim.live/b/…"
},
"…": "the same event object as GET /v1/events"
}
}
}Келесі хатты түгелдеп қойыңыз: ол - құпияңызды қолтаңбалаған. 5 минуттан артық нәрседен бас тарту, оларды елемей, TimTim- Mail- ID- ді бұзғаныңыз.
// Node — Express with the RAW body (do not JSON.parse before checking)
import crypto from "node:crypto";
app.post("/timtim", express.raw({ type: "application/json" }), (req, res) => {
const header = req.get("TimTim-Signature") ?? ""; // t=1700000000,v1=<hex>
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const body = req.body.toString("utf8");
const expected = crypto.createHmac("sha256", process.env.TIMTIM_WEBHOOK_SECRET)
.update(`${parts.t}.${body}`).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) <= 300;
const same = expected.length === (parts.v1 ?? "").length &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
if (!fresh || !same) return res.sendStatus(400);
const message = JSON.parse(body); // { id, type, mode, data }
if (alreadyHandled(req.get("TimTim-Delivery-Id"))) return res.sendStatus(200);
// message.type === "event.changed" → message.data.event
// message.type === "earnings.changed" → message.data.earning
res.sendStatus(200);
});Кез келген 2xx- секпен жауап беріңіз. 10 секундтан кейін. Қандай болмасаңыз, 5 минуттан кейін қайталап көріңіз: 5 минут, 30 минут, сосын 2, 6, 12 және 24 сағат. Ешқашан бағыт бөлуді атқарамыз.
Сынақ ортасы
Сынақ кілттер үшін сынақ оқиғалар сынақтан өтіп кеткен ЖОҚ БЕСТУҢ ҚОРАЗЫН НЕМЕСЕ деген белгіленген. Жобаны ашу үшін Surl дегенді сынап көріңіз, содан кейін қажетті талғауды сұраңыз. Осы бейіндікке қарап көресіз.
Бірдеме қате пайда болғанда
Қателер өз-өзін кәдімгі сөздерде, айдары және келесіні не істеу керек деп сипаттайды. Бұл жауаптар әрбір TimTim-Request- ID- ді түсінеді. Оны бізге жіберіп қойсаңыз, біз сұраны біле аламыз.
- 401
missing_keyPlease add your TimTim.Live key. Send it as: Authorization: Bearer tt_test_… — get a test key at /partners/dashboard. - 401
invalid_keyWe do not recognise that key. Check you copied the whole key, or make a new one at /partners/dashboard. - 401
revoked_keyThat key was switched off. Make a new key at /partners/dashboard. - 403
partner_inactiveThis partner account cannot use live keys right now. Your test key still works. Contact TimTim.Live partnerships to review the account. - 403
missing_scopeThis key is not allowed to do that. Earnings need a secret key (tt_sk_live_…) or a test key, used from your server. - 403
domain_not_allowedThis website is not allowed to use this key. Add the website to the key's allowed domains at /partners/dashboard. - 400
unknown_parameterWe do not know one of those parameters. See /partners/docs for the list. - 400
invalid_countryWe could not read that country. Use a two-letter code, for example country=US or country=FR. - 400
invalid_dateWe could not read that date. Dates look like 2026-10-20. - 400
invalid_changed_sinceWe could not read changed_since. Use a full time, for example changed_since=2026-10-06T10:00:00Z. - 400
invalid_booleanThat value must be true or false. For example commissioned=true. - 400
invalid_numberThat value must be a number. For example minimum_earnings=5. - 400
invalid_nearWe could not find that place. Try near=Paris,FR or city=Paris&country=FR. - 400
invalid_locationWe could not read that location. Send lat, lng and optionally radius in kilometres. - 400
invalid_limitlimit must be between 1 and 100. Leave it out to get 20. - 400
invalid_cursorThat cursor is not one we gave you. Use the `next` value from the previous page exactly as it came. - 404
event_not_foundWe could not find that event. It may have been removed, or it is not shared with partners. - 403
capability_requiredCard-linked offers are not switched on for your account. Offers are an enterprise feature. Your test key shows sample offers now; ask TimTim.Live partnerships to review your account for live offers. - 403
server_key_requiredThis is for your server only. Use a secret key (tt_sk_live_…) or a test key from your server, never a website key in a web page. - 403
commerce_not_enabledSelling tickets in your own app is not switched on for your account. This is an enterprise feature (EMBEDDED_CHECKOUT). Your test key can try it now; ask TimTim.Live partnerships to review your account. Until then, use each event's buy_url. - 503
checkout_not_openCard payments are not open on TimTim.Live yet. Send the buyer to the event's buy_url instead. Your test key can still rehearse orders. - 409
ticket_not_availableThat ticket cannot be bought right now. It may be sold out, not on sale yet, or no longer on sale. Ask /v1/events/{id}/tickets for what is on sale now. - 400
order_invalidWe could not read that order. See /partners/docs for the fields an order needs. - 409
idempotency_conflictThat Idempotency-Key was already used for a different order. Send exactly the same order to get the same answer back, or use a new Idempotency-Key for a new order. - 400
idempotency_key_requiredPlease send an Idempotency-Key header. 8 to 80 letters, digits, - or _. Send the same key again to retry safely — you will get the same order, never a second one. - 404
order_not_foundWe could not find that order. Only orders your company began with this kind of key (test or live) can be read here. - 403
bulk_not_enabledBulk feeds are not switched on for your account. This is an enterprise feature (BULK_FEEDS). Your test key can try it now; ask TimTim.Live partnerships to review your account. Until then, page through /v1/events or the feeds. - 404
bulk_not_foundWe could not find that bulk feed. Use the address shown on /partners/dashboard: /v1/bulk/<subscription id>.ndjson.gz or .csv.gz. - 429
bulk_too_soonA full file was made for this feed a few minutes ago. Full files can be made every 15 minutes. For what changed since, add changed_since=<time> — that is not limited. - 410
event_withdrawnThis event is no longer shared with partners. Stop showing it and remove its buy_url. Nothing else is needed — your old link still takes people to the event page. - 400
invalid_trackWe could not read that tracking signal. Send {"type":"impression"}, {"type":"event_view","event_id":"…"} or {"type":"event_click","event_id":"…"}. Sales are recorded by TimTim.Live, never sent from a page. - 404
not_foundThere is nothing at this address. The Partner API lives at /v1/events, /v1/events/{id}, /v1/offers and /v1/earnings. - 405
method_not_allowedThis address does not answer that method. The Allow header lists the methods it answers. - 401
key_in_urlSend your key in the Authorization header. Only /v1/feeds reads a key from the URL (?key=). Everywhere else use Authorization: Bearer <key> — keys in URLs end up in logs. - 403
ip_not_allowedThis key only works from your listed servers. Call from an address on the key's allowlist, or change the list at /partners/dashboard. - 401
certificate_requiredThis key needs your client certificate. Connect to https://api.timtim.live with the TLS client certificate pinned to this key. - 401
certificate_mismatchThat is not the certificate pinned to this key. Use the certificate whose SHA-256 is on your dashboard, or pin the new one there. - 429
rate_limitedToo many requests — please slow down. Wait the number of seconds in Retry-After, then try again. - 500
server_errorSomething went wrong on our side. Please try again. If it keeps happening, send us your TimTim Request ID.
Экрандағы пернені ашуStencils
Сынақ кілтіңіз орындалуы бітті. Себебі TimTim.Live жалған кілттер, компанияңыздың атауы, сайтыңызға және оқиғаларға қалай қарай аласыз. Сіздің аспаптарыңыздың жауабын көресіз.
TimTim.Live API жаңарту
1- нұсқасы ғана өседі. Біз жаңа оқиғаларды қосамыз. Біз ол бар нәрсені өшірмей- өшірмейміз, қайта атауымыз керек.
- — Оқиғаның жауабы қазір Eag'ты қабылдайды. Ештеңе өзгермейтін 304 болса, бірден тез (Match) жіберіңіз. Қосымша.
- — Сайтқа кіретін сайттардың әрбір мүшесін өзінің sayады, сондықтан жұмыс істейді. Әрекетті қажет етпеді.
- — Клиент куәліктерін (mTLS) ашылып жатыр: Сіздің куәлігіңізді бар бар сырттағы кілт арқылы енгізіңіз. Қосымша. Әрекетті қажет етпеді.
- — Bulk ақпарлары: Сіз келтірілген кезде бір файлда көрсете аласыз, Жілде / vv1/bulk. Қосымша. Әрекетті қажет етпеді.
- — Оны өзінің адресі бар: http: // psim. mbm1.net/ vimm1. https://mart.v1.net- жұмыстарды жалғастыруды жалғастыруда берей береді Әрекетті қажет етпеді.
- — Ақпарат тапсырудың өзінің тексеру парағы: tmtimMive/ freeter. Қосымша. Әрекетті қажет етпеді.
- — Өзіңіздің қолданбаңыздан билетдер: ITSP / etc/eev1/ecuments /ID/ DOWELP/ tripts және PATH1/ 32. Қосымша. Әрекетті қажет етпеді.
- — Әрбір минут сайын мемлекеттік күй- жай жолағының нөмірі. Әрекетті қажет етпеді.
- — Полицияға айлық түсініктемесі: / vv1/ Interfeals. Әрекетті қажет етпеді.
- — Кысқалар: ? ? !?? Қосымша. Әрекетті қажет етпеді.
- — Banks мен жүлде бағдарламалар ұсынады: / vv1/ Бүлдені. Name Қосымша. Әрекетті қажет етпеді.
- — Күнтізбе ақпары: / v1/ тәуелдіess. Google күнтізбесі, Apple күнтізбесі және Outlook бағдарламасы. Әрекетті қажет етпеді.
- — Серверіңізге сервердің пернені бұғаттауға болады: IPlists, клиенттің (mTLS) куәліктері aipimmit. Live Қосымша. Әрекетті қажет етпеді.
- — Бірлескен жұмыс 2. 0 ағымына міндеттік тәсілдері: / vv1/oauth/auth /ew/ auto1/auto/reviok. Кілттер жүріспейді. Әрекетті қажет етпеді.
- — Сөздер плагин модулі 1, 0. 0: Блок- гистограмма мен баптау бет. Тексергеннің өзінің жаңалықтары. @ title: window Әрекетті қажет етпеді.
- — Веб- парағы, JSON/ QRSS/CSV ақпарлары және вебсайттар (үстелмеген). Name Әрекетті қажет етпеді.
- — partpart( API) - оқиға, бір оқиға, таблица, сандыр және Boxs. Әрекетті қажет етпеді.