
🏠 Otthon
Építsünk reményt
Segítsünk, hogy minden családnak legyen otthona — az OseloHelp.com, adómentes nonprofit szervezetünk támogatásával.
Globális zeneterjesztés: hamarosan!
3 004 605+ előadói oldal · 8 684 002+ vállalkozói oldal · Elérhető 417+ nyelven

Az első bekötésed elfér egy képernyőn.
Nyisd meg ezt a címet a böngésződben. Azonnal mintaeseményeket látsz.
https://timtim.live/api/partner-network/demo?city=WashingtonJelentkezz be, mondd el, ki vagy, és nyomd meg a Tesztkulcs létrehozása gombot. A kulcs tt_test_ kezdetű, és csak mintaeseményeket lát.
Kérj eseményeket egy városban.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
-H "Authorization: Bearer tt_test_YOUR_KEY"Minden eseménynek van neve, dátuma, helyszíne, képe, ára és kész felirata a kártyádhoz.
Használd a buy_url-t, amit adunk. Ennyi. A TimTim.Live a linken belül rögzíti, honnan jött az eladás.
Az irányítópultodon látod, hány embert küldtél, hány jegy kelt el és mennyi a bevétel — vagy kérd le őket.
GET https://api.timtim.live/v1/earningshttps://api.timtim.live/v1Küldd a kulcsodat az Authorization fejlécben. A tesztkulcsok (tt_test_) csak mintaeseményeket látnak. A weboldalkulcsok (tt_pk_live_) lehetnek egy weboldalon, és csak eseményeket olvasnak. A szerverkulcsok (tt_sk_live_) a szervereden maradnak, és a bevételeket is olvassák. Egy kulcsot csak egyszer mutatunk meg — őrizd biztonságban.
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;
}citycountrycategoryfromtochanged_sincecommissionedminimum_earningsnearlimitMentsd el az utolsó szinkronizálás idejét, és küldd el changed_since értékként. Csak a megváltozott eseményeket kapod — a lemondásokat és a teltházas előadásokat is. Nem kell webhook. Azok az események, amelyeket már nem szabad megjelenítened, a withdrawn listában érkeznek.
GET https://api.timtim.live/v1/events?changed_since=2026-10-06T10:00:00ZHa a válaszban van next, küldd vissza cursor= értékként a következő oldalért. Ha a next üres, mindent megkaptál.
GET https://api.timtim.live/v1/events?city=Paris&cursor=eyJtIjoiZCIs…Minden eseménynek van earn mezője. Ha az earn.eligible értéke false, az eseményhez nem tartozik jutalom — ettől még érdemes megmutatni. Ha true, az earn.description megmondja, mit kapsz, például „$5 jogosult jegyenként”. Ha a vásárlást visszatérítik, a jutalmat visszavonjuk.
Ments el egy tömeges feedet az irányítópultodon, majd töltsd le az összes eseményét egyetlen tömörített fájlban: GET /v1/bulk/FEED_ID.ndjson.gz vagy .csv.gz, a szerverkulcsoddal. Add hozzá a ?changed_since= részt, ha csak a változásokat kéred, a levett eseményekkel együtt. A tesztkulcsok már most kipróbálhatják; az éles használathoz a TimTim.Live ellenőrzése kell.
GET https://api.timtim.live/v1/bulk/bfs_YOURFEED.ndjson.gz?changed_since=2026-10-06T00:00:00ZA nagy partnerek a saját alkalmazásukban tarthatják a vevőket. Kérdezd le GET /v1/events/EVENT_ID/tickets hívással, mi kapható, majd küldd el POST /v1/orders hívással a vevő választását. Kapsz egy TimTim.Live fizetési linket, amelyet megnyitsz a vevőnek; az eladást közvetlenül a cégednek írjuk jóvá. A tesztkulcsokkal már most kipróbálhatod. Az éles használathoz TimTim.Live ellenőrzés és bekapcsolt kártyás fizetés kell.
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": "…"}A GET /v1/offers minden jutalmat fizető eseményt ajánlatként ad meg: a szervezőt, a vásárlási napokat, az árat, a helyet és a jutalmat. Az ügyfeled a követett linkeden keresztül aktiválja, a jutalmat pedig a /v1/earnings útján fizetjük a cégednek. A tesztkulcsok mintaajánlatokat látnak. A valódi ajánlatokhoz TimTim.Live ellenőrzés kell. A kártyás fizetések közvetlen párosításához megállapodás kell egy kártyahálózattal vagy bankkal, és ez nincs bekötve.
GET https://api.timtim.live/v1/offers?country=USA status értéke scheduled, postponed, rescheduled, cancelled, sold_out vagy completed. A tickets.availability értéke available, limited, sold_out, not_on_sale vagy ended. Ha egy eseményt lemondanak, vedd le.
GET https://api.timtim.live/v1/events/evt_test_washington_konpaTesztkulcsok: percenként 60 kérés. Éles kulcsok: percenként 120. Ha gyorsabb vagy, 429-es választ kapsz Retry-After értékkel, ami megmondja, hány másodpercet várj.
Olyan eseményeket, amelyeket TimTim.Live szervezők hoznak létre és megosztanak. A más jegyoldalakról átvett események soha nincsenek benne, mert nincs jogunk megosztani őket.
Vevők nevét, e-mail-címét, lakcímét, telefonszámát és kártyaadatait. A Partner API eseményadatokat oszt meg, nem a tagjainkat.
Egy sor HTML bármelyik weboldalon megmutatja az eseményeket. Használj weboldalkulcsot (tt_pk_live_), és add hozzá a weboldaladat a kulcs engedélyezett listájához. Kulcs nélkül mintaeseményeket mutat.
<script src="https://timtim.live/widget/events.js"
data-key="tt_pk_live_YOUR_WEBSITE_KEY"
data-city="Washington" data-category="music" async></script>Beállítások: data-city, data-country, data-category, data-limit (1–24), data-earn="true", data-lang és data-color.
Nem kötelező. Hozz létre egy OAuth-klienst az irányítópultodon. Utána cseréld be a kliensazonosítóját és a titkát egy egyórás hozzáférési tokenre, és kulcs helyett ezt a tokent küldd. A titok soha nem utazik az API-hívásaiddal, és kevesebb jogosultságot (scopes) is kérhetsz, mint amennyi a kliensnek van.
# 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"Ha korábban le akarsz zárni egy tokent, küldd el POST-tal a /v1/oauth/revoke címre ugyanazzal a kliensazonosítóval és titokkal. Ha kikapcsolod a klienst az irányítópultodon, az összes tokenje egyszerre megszűnik.
Nem kötelező. Az irányítópultodon nyisd meg a „Zárolás a szervereimre” részt egy szerverkulcs, tesztkulcs vagy OAuth-kliens alatt, és írd be a szervereid nyilvános címeit. A máshonnan jövő hívásokat — és token-kéréseket — ip_not_allowed hibával elutasítjuk, még a helyes kulccsal is.
Kliens-tanúsítványok (mTLS): kösd a TLS kliens-tanúsítványodat egy kulcshoz, majd azzal hívd a https://api.timtim.live címet. Minden hívásnak meg kell mutatnia ezt a tanúsítványt; a TLS-kézfogás bizonyítja, hogy nálad van a privát kulcsa.
# 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"WordPresst használsz? Telepítsd a TimTim.Live Events bővítményt: egy blokk és egy rövidkód, amelyek a saját TimTim.Live jegylinkjeiddel mutatják az eseményeket. A TimTim.Live készítette, csak a timtim.live-val beszél, és csak a timtim.live-ról frissül.
Töltsd fel a fájlt itt: Bővítmények → Új hozzáadása → Bővítmény feltöltése. Illeszd be a weboldalkulcsodat itt: Beállítások → TimTim.Live Events, és nyomd meg a Test Connection gombot. Utána add hozzá a TimTim.Live Events blokkot bármelyik oldalhoz.
A WordPress-bővítmény letöltése[timtim_events city="Washington" category="music" limit="6"]Ugyanazok az események JSON Feed, RSS, XML, CSV formában vagy naptárként (.ics), amelyre a Google Calendar, az Apple Calendar és az Outlook fel tud iratkozni. A feedolvasók nem tudnak fejlécet küldeni, ezért a weboldalkulcsot vagy a tesztkulcsot a ?key= részbe tedd. Szerverkulcsot soha ne tegyél linkbe.
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=ParisAz irányítópulton nyomd meg a „Cím hozzáadása” gombot, és ha valami változik, üzenetet küldünk arra a címre: event.changed vagy earnings.changed. A webhookok nem kötelezők — a changed_since ugyanezt az információt adja.
{
"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"
}
}
}Ellenőrizz minden üzenetet: a titkos kulcsoddal van aláírva. Utasíts el mindent, ami öt percnél régebbi, és hagyd figyelmen kívül azt a TimTim-Delivery-Id-t, amit már feldolgoztál.
// 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);
});Válaszolj bármilyen 2xx kóddal 10 másodpercen belül. Ha nem, újra próbáljuk 1 perc, 5 perc, 30 perc, majd 2, 6, 12 és 24 óra múlva, aztán abbahagyjuk. Átirányítást soha nem követünk.
A tesztkulcsok TESZTESEMÉNY — NEM VALÓDI PÉNZ jelölésű mintaeseményeket kapnak. Nyiss meg egy buy_url-t, nyomd meg a Tesztjegy vásárlása gombot, majd kérd le a bevételeidet. Próbálj ki egy visszatérítést, és nézd meg, ahogy visszavonódik.
A hibák egyszerű szavakkal magyarázzák el magukat, címmel és a következő lépéssel. Minden válaszban van TimTim-Request-Id. Küldd el nekünk, és megtaláljuk a kérésedet.
missing_keyPlease add your TimTim.Live key. Send it as: Authorization: Bearer tt_test_… — get a test key at /partners/dashboard.invalid_keyWe do not recognise that key. Check you copied the whole key, or make a new one at /partners/dashboard.revoked_keyThat key was switched off. Make a new key at /partners/dashboard.partner_inactiveThis partner account cannot use live keys right now. Your test key still works. Contact TimTim.Live partnerships to review the account.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.domain_not_allowedThis website is not allowed to use this key. Add the website to the key's allowed domains at /partners/dashboard.unknown_parameterWe do not know one of those parameters. See /partners/docs for the list.invalid_countryWe could not read that country. Use a two-letter code, for example country=US or country=FR.invalid_dateWe could not read that date. Dates look like 2026-10-20.invalid_changed_sinceWe could not read changed_since. Use a full time, for example changed_since=2026-10-06T10:00:00Z.invalid_booleanThat value must be true or false. For example commissioned=true.invalid_numberThat value must be a number. For example minimum_earnings=5.invalid_nearWe could not find that place. Try near=Paris,FR or city=Paris&country=FR.invalid_locationWe could not read that location. Send lat, lng and optionally radius in kilometres.invalid_limitlimit must be between 1 and 100. Leave it out to get 20.invalid_cursorThat cursor is not one we gave you. Use the `next` value from the previous page exactly as it came.event_not_foundWe could not find that event. It may have been removed, or it is not shared with partners.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.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.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.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.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.order_invalidWe could not read that order. See /partners/docs for the fields an order needs.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.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.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.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.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.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.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.not_foundThere is nothing at this address. The Partner API lives at /v1/events, /v1/events/{id}, /v1/offers and /v1/earnings.method_not_allowedThis address does not answer that method. The Allow header lists the methods it answers.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.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.certificate_requiredThis key needs your client certificate. Connect to https://api.timtim.live with the TLS client certificate pinned to this key.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.rate_limitedToo many requests — please slow down. Wait the number of seconds in Retry-After, then try again.server_errorSomething went wrong on our side. Please try again. If it keeps happening, send us your TimTim Request ID.Minden mező teljes leírása OpenAPI formátumban, amit az eszközeid be tudnak olvasni.
openapi.yaml letöltéseA tesztkulcsod azonnal működik. Az éles kulcsoknál a TimTim.Live egyik munkatársa megnézi a céged nevét, a weboldaladat és azt, hogyan mutatod majd az eseményeket. A választ az irányítópultodon látod.
Az 1-es verzió csak bővül. Új dolgokat adunk hozzá. Ami már ott van, azt nem vesszük el és nem nevezzük át.
Célunk
Mindenkit hívunk, hogy segítsen örökséget hagyni az emberiségnek.
Csatlakozz három küldetéshez, amelyek túlélnek mindannyiunkat

Építsünk reményt
Segítsünk, hogy minden családnak legyen otthona — az OseloHelp.com, adómentes nonprofit szervezetünk támogatásával.

Őrizzük meg az emberiséget a zenén keresztül
Őrizzük meg az emberiség zenéjét és történeteit a következő 1000+ évre.

Inspiráljuk a felfedezők következő nemzedékét
Tegyük mindenki számára elérhetővé az űr felfedezésének lehetőségét.

Egy űrrepülőgép terve, amely kifutópályáról emelkedik fel, nem pedig rakétával indul. Ez egy koncepció, nem kész jármű.
Nézze meg, hogyan működikHogyan kapcsolódik össze minden
Itt semmi sem különálló vállalkozás — minden szakasz erősíti a következőt.
Egy cél. Sok, egymást erősítő vállalkozás.
Akár meghallgatsz egy dalt, megosztasz egy történetet, viseled az ajándéktárgyakat, elmész egy koncertre, dalszöveget fordítasz, ajánlasz egy országot, vagy csak szólsz egy barátodnak — valami olyannak a része leszel, ami nemzedékeken át megmarad.
Mindenki részt vehet. Egyetlen hozzájárulás sem túl kicsi.
TimTim.Live — Fedezd fel a világot a zenén keresztül.
Embereket kötünk össze 195 országban · jelenleg 3 004 605+ előadói oldallal, amelyek száma akár 4+ millióra bővül · 8 684 002+ vállalkozói oldallal, amelyek száma akár 400 millióra bővül · az oldal a világ 417 helyi nyelvére lesz lefordítva.
A TimTim.Live már 233 870 helyet jelöl a térképen mind a 195 országban, akár 1000 lakosú közösségekig, többek között:
Államok: 257 • Tartományok: 1690 • Megyék: 4808 • Kerületek: 41 161 • Városok: 13 471 • Kisvárosok: 117 896 • Falvak: 40 988
© 2026 TimTim.Live. Minden jog fenntartva.