Prihlásiť sa

195 Krajín3 400 716 Miest3 004 607+ Stránok umelcov 12 030 638+ Stránok firiem · Dostupné v 417+ jazykoch

Partner API Rýchly štart

Vaša prvá integrácia sedí na jednej obrazovke.

Skúste to teraz, bez kľúča, bez prihlásenia.

Otvorte túto adresu vo svojom prehliadači. Hneď uvidíte ukážkové udalosti.

https://timtim.live/api/partner-network/demo?city=Washington
  1. 1

    Získať testovací kľúč

    Prihláste sa, povedzte nám kto ste a stlačte tlačidlo Vytvoriť testovací kľúč. Začína s tt_test_ a vidí len ukážkové udalosti.

  2. 2

    Nájsť udalosti

    Pýtajte sa na udalosti v meste.

    curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
      -H "Authorization: Bearer tt_test_YOUR_KEY"
  3. 3

    Zobraziť udalosť

    Každá udalosť má názov, dátum, miesto, obrázok, cenu a pripravené štítky pre vašu kartu.

  4. 4

    Použiť buy_url

    Použite buy_url dáme vám. To je ono. TimTim.Live spracováva priradenie v rámci tohto odkazu.

  5. 5

    Zobraziť výsledky

    Vidieť posielaných ľudí, predané lístky a zárobky na palubnej doske, alebo požiadať o ne.

    GET https://api.timtim.live/v1/earnings

TimTim.Live Stav

Odkaz

Kde zaslať žiadosti

https://api.timtim.live/v1

Kľúč spojeniaName

Pošlite kľúč do hlavičky Autorizácie. Testovacie klávesy (tt_test_) zobraziť iba ukážkové udalosti. Klávesy webových stránok (tt_pk_live_) môžu sedieť na webovej stránke a čítať len udalosti. Serverové klávesy (tt_sk_live_) zostávajú na vašom serveri a môžu tiež čítať príjmy. Ukazujeme kľúč raz a udržať ho v bezpečí.

curl
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
  -H "Authorization: Bearer tt_test_YOUR_KEY"
JavaScript
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
// 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();
Python
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
<?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;
}

Filtre

city
Udalosti v tomto meste.
country
Dvojpísmenový kód krajiny, napríklad USA.
category
Napríklad hudba, festival alebo konferencia.
from
Udalosti k tomuto dátumu alebo po tomto dátume (2026-10-20).
to
Udalosti na alebo pred týmto dátumom.
changed_since
Iba udalosti, ktoré sa po tomto čase zmenili.
commissioned
true = len udalosti, ktoré platia odmenu.
minimum_earnings
Iba udalosti, ktoré platia aspoň toľko za lístok.
near
Miesto, napríklad blízko Paríža,FR.
limit
Koľko akcií na stránku, 1 až 100 (20, ak ho vynecháte).

Len mi povedz, čo sa zmenilo.

Uložiť čas vašej poslednej synchronizácie a poslať ho ako zmenený_od. Dostanete len udalosti, ktoré zmenili Webhook nepotreboval. Udalosti, ktoré musíte prestať zobrazovať, sa vrátia do stiahnutého zoznamu.

GET https://api.timtim.live/v1/events?changed_since=2026-10-06T10:00:00Z

Viac ako jedna strana

Ak má odpoveď ďalšiu, pošlite ju späť ako kurzor=, aby ste dostali ďalšiu stránku. Keď je ďalšia prázdna, máte všetko.

GET https://api.timtim.live/v1/events?city=Paris&cursor=eyJtIjoiZCIs…

Zarábanie

Každá udalosť zarába. Ak zarábať.oprávnené je falošné, udalosť nemá žiadnu odmenu a stále stojí za to ukázať. Ak je to pravda, zarobiť.opis hovorí, čo dostanete, napríklad "5 dolárov za oprávnený lístok." Ak je nákup refundovaný, odmena je obrátená.

Objemové kanály (všetko v jednom súbore)

Uložiť hromadný krmivo na palubnej doske. Potom stiahnuť každú udalosť, ktorá sa vzťahuje v jednom zipped súboru, s kľúčom k serveru: GET /v1/bulk/FEED_ID.ndjson.gz alebo .csv.gz. Pridať?zmenený_pretože= len to, čo sa zmenilo, vrátane udalostí zostrelených. Testové kľúče to môžu vyskúšať teraz; live použitie potrebuje TimTim.Live recenziu.

GET https://api.timtim.live/v1/bulk/bfs_YOURFEED.ndjson.gz?changed_since=2026-10-06T00:00:00Z

Predaj vstupeniek vo svojej vlastnej app (vstavaný obchod)

Veľkí partneri si môžu ponechať kupujúcich vo vlastnej aplikácii. Opýtajte sa GET /v1/events/Events_ID/ tikety na to, čo je v predaji, potom POST /v1/orders podľa výberu kupujúceho. Získate TimTim.Live platobný odkaz otvoriť pre kupujúceho; predaj je pripísaný priamo vašej spoločnosti. Testovacie kľúče to môžu skúsiť teraz. Živé použitie potrebuje TimTim.Live recenziu a platby kartou zapnuté.

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": "…"}

Ponuky súvisiace s kartami (banky a programy odmien)

GET /v1/ponuky zobrazuje každú udalosť, ktorá vypláca odmenu ako ponuku. Každá ponuka má organizátora, dátumy, ktoré si môžete kúpiť, cenu, miesto a odmenu. Váš zákazník aktivuje cez váš vystopovaný odkaz, a odmena je vyplácaná vašej spoločnosti prostredníctvom /v1/earnings. Testovacie kľúče vidieť vzorky ponuky. Live ponuky potrebujú TimTim.Live recenziu. Zodpovedajúce platby kartou priamo potrebuje dohodu s kartovou sieťou alebo bankou, a nie je pripojený.

GET https://api.timtim.live/v1/offers?country=US

Stav udalosti a vstupenky

stav je naplánovaný, odložený, preplánovaný, zrušený, vypredaný alebo dokončený. vstupenky.dostupnosť je k dispozícii, obmedzená, vypredané_out, nie_on_sale alebo končí. Keď sa udalosť zruší, zrušte ju.

GET https://api.timtim.live/v1/events/evt_test_washington_konpa

Ako rýchlo sa môžete spýtať

Testovacie kľúče: 60 žiadostí za minútu. Živé kľúče: 120 za minútu. Rýchlejšie dostane 429 odpoveď s Retry-Potom, počet sekúnd čakať.

Ktoré udalosti dostanete

Udalosti, ktoré TimTim.Live organizátori vytvoriť a rozhodnúť sa zdieľať. Udalosti, ktoré sme dovážali z iných predajní lístkov, nie sú nikdy zahrnuté, pretože nemáme právo ich zdieľať.

Čo nikdy nepošleme

Mená kupujúceho, e-mailové adresy, adresy domov, telefónne čísla a údaje o karte. Partner API zdieľa informácie o udalostiach, nie našich členov.

Widget stránky

Jeden riadok HTML ukazuje udalosti na akejkoľvek webovej stránke. Použite kľúč na webových stránkach (tt_pk_live_) a pridajte svoju webovú stránku do povoleného zoznamu kľúčov. Bez kľúča ukazuje ukážkové udalosti.

<script src="https://timtim.live/widget/events.js"
        data-key="tt_pk_live_YOUR_WEBSITE_KEY"
        data-city="Washington" data-category="music" async></script>

Možnosti: údaje-mesto, dátová-krajina, dátová kategória, dátový-limit (1

OAuth 2.0 (veľké integrácie)

Nepovinné. Urobte si klienta OAuth na palubnej doske. Obchodovať s jeho klientom ID a tajomstvom za prístupový token, ktorý trvá jednu hodinu. Pošli ten token namiesto kľúča. Tajomstvo nikdy necestuje s vašimi API hovory, a môžete požiadať o menej ďalekohľadov ako klient má.

# 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"

Ak chcete ukončiť token čoskoro, POST to /v1/oauth/revoke s rovnakým klientom ID a tajomstvom. Vypínanie klienta na palubnej doske končí všetky jeho žetóny naraz.

Zamknúť kľúč k serverom

Nepovinné. Na prístrojovej doske nájdete serverový kľúč, testovací kľúč alebo klienta OAuth. Otvorte "Lock na moje servery" a zoznam verejných adries serverov. Výzvy a žetónové požiadavky sú odmietnuté s ip_not_povolený, aj keď so správnym kľúčom.

Client certificates (mTLS), pre veľké spoločnosti: dajte nám ID kartu vášho servera (certifikát) a pritlačte ju na kľúč. Potom zavolajte na https://api.timtim.live s ním. Odpovedáme len na server, ktorý je držiteľom tohto certifikátu.

# 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"

Modul WordPressName

Použiť WordPress? Nainštalujte TimTim.Live Udalosti: blok a krátky kód, ktorý ukazuje udalosti s vlastnou TimTim.Live vstupenky odkazy. Je vyrobený TimTim.Live, hovorí len timtim.live, a aktualizácie len z timtimu.live.

Nahrajte súbor v moduloch → Pridajte nový → Nahrajte Plugin. Vložiť svoju webovú stránku kľúč v Nastaveniach → TimTim.Live Udalosti a stlačte Test Connection. Potom pridajte TimTim.Live Udalosti blok na ktorúkoľvek stránku.

Stiahnuť modul WordPress
[timtim_events city="Washington" category="music" limit="6"]

Krmivá

Rovnaké udalosti ako JSON Feed, RSS, XML, CSV alebo súbor kalendára (.ics). Google Kalendár, Apple Kalendár a Outlook sa môžu prihlásiť do kalendára. Napájacie čítačky nemôžu posielať hlavičky, tak dať webové stránky kľúč alebo testovací kľúč v?key=. Nikdy nedávajte serverový kľúč do odkazu.

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

Webhooky

Pridať adresu na palubnej doske a my ju poslať správu, keď sa niečo zmení: event.zmenený alebo zisk.zmenené. Webhooks sú voliteľné

{
  "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"
    }
  }
}

Skontrolujte každú správu: je podpísaná s vaším tajomstvom. Odmietnite čokoľvek staršie ako päť minút, a ignorujte TimTim-Delivery-Id by ste už zvládli.

// 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);
});

Odpovedzte akýmkoľvek 2xx do 10 sekúnd. Ak nie, skúsime to znova po 1 minúte, 5 minútach, 30 minútach, potom 2, 6, 12 a 24 hodinách, potom prestaňte. Nikdy nesledujeme presmerovanie.

Pieskovisko

Testovacie klávesy získať vzorky udalostí označené TEST EVENT Zatiaľ žiadne skutočné peniaze. Otvorte buy_url, stlačte tlačidlo Buy Test Ticket, potom požiadať o svoje príjmy. Simulujte vrátenie peňazí a sledujte to naopak.

Keď sa niečo pokazí

Chyby sa vysvetľujú jednoduchými slovami, názvom a tým, čo robiť ďalej. Každá odpoveď nesie TimTim-Request-Id. Pošlite nám to a nájdeme vašu žiadosť.

  • 401missing_keyPlease add your TimTim.Live key. Send it as: Authorization: Bearer tt_test_… — get a test key at /partners/dashboard.
  • 401invalid_keyWe do not recognise that key. Check you copied the whole key, or make a new one at /partners/dashboard.
  • 401revoked_keyThat key was switched off. Make a new key at /partners/dashboard.
  • 403partner_inactiveThis partner account cannot use live keys right now. Your test key still works. Contact TimTim.Live partnerships to review the account.
  • 403missing_scopeThis key is not allowed to do that. Earnings need a secret key (tt_sk_live_…) or a test key, used from your server.
  • 403domain_not_allowedThis website is not allowed to use this key. Add the website to the key's allowed domains at /partners/dashboard.
  • 400unknown_parameterWe do not know one of those parameters. See /partners/docs for the list.
  • 400invalid_countryWe could not read that country. Use a two-letter code, for example country=US or country=FR.
  • 400invalid_dateWe could not read that date. Dates look like 2026-10-20.
  • 400invalid_changed_sinceWe could not read changed_since. Use a full time, for example changed_since=2026-10-06T10:00:00Z.
  • 400invalid_booleanThat value must be true or false. For example commissioned=true.
  • 400invalid_numberThat value must be a number. For example minimum_earnings=5.
  • 400invalid_nearWe could not find that place. Try near=Paris,FR or city=Paris&country=FR.
  • 400invalid_locationWe could not read that location. Send lat, lng and optionally radius in kilometres.
  • 400invalid_limitlimit must be between 1 and 100. Leave it out to get 20.
  • 400invalid_cursorThat cursor is not one we gave you. Use the `next` value from the previous page exactly as it came.
  • 404event_not_foundWe could not find that event. It may have been removed, or it is not shared with partners.
  • 403capability_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.
  • 403server_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.
  • 403commerce_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.
  • 503checkout_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.
  • 409ticket_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.
  • 400order_invalidWe could not read that order. See /partners/docs for the fields an order needs.
  • 409idempotency_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.
  • 400idempotency_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.
  • 404order_not_foundWe could not find that order. Only orders your company began with this kind of key (test or live) can be read here.
  • 403bulk_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.
  • 404bulk_not_foundWe could not find that bulk feed. Use the address shown on /partners/dashboard: /v1/bulk/<subscription id>.ndjson.gz or .csv.gz.
  • 429bulk_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.
  • 410event_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.
  • 400invalid_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.
  • 404not_foundThere is nothing at this address. The Partner API lives at /v1/events, /v1/events/{id}, /v1/offers and /v1/earnings.
  • 405method_not_allowedThis address does not answer that method. The Allow header lists the methods it answers.
  • 401key_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.
  • 403ip_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.
  • 401certificate_requiredThis key needs your client certificate. Connect to https://api.timtim.live with the TLS client certificate pinned to this key.
  • 401certificate_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.
  • 429rate_limitedToo many requests — please slow down. Wait the number of seconds in Retry-After, then try again.
  • 503unavailableThe Partner API is resting for a moment. Please try again in a minute.
  • 500server_errorSomething went wrong on our side. Please try again. If it keeps happening, send us your TimTim Request ID.

Zmluva

Celý popis každého poľa, vo formáte OpenAPI si môžete prečítať vaše nástroje.

Stiahnuť openapi.yaml

Ako otvoriť živé kľúče

Váš testovací kľúč funguje hneď. Pre live kľúče, osoba na TimTim.Live sa pozerá na názov vašej spoločnosti, vaše webové stránky a ako budete zobrazovať udalosti. Vidíte odpoveď na prístrojovej doske.

TimTim.Live API aktualizácie

Verzia 1 rastie len. Pridávame nové veci. Neodstraňujeme ani nepremenujeme to, čo tam už je.

  • — Odpovede na udalosti teraz nesú ETag. Pošlite to späť ako Ak-None-Match získať rýchly 304 keď sa nič nezmenilo. Nepovinné.
  • — Klávesy webových stránok teraz počítať každý návštevník na vlastnú päsť, takže rušné stránky ďalej pracovať. Netreba nič robiť.
  • — Klientské certifikáty (mTLS) sú otvorené: pripnite si certifikát na kláves na palubnej doske. Nepovinné. Netreba nič robiť.
  • — Objemové kanály: každá udalosť, ktorú môžete zobraziť, v jednom súbore, na GET /v1/bulk. Nepovinné. Netreba nič robiť.
  • — API má svoju vlastnú adresu: https://api.timtim.live/v1. https://timitim.live/v1 pokračuje v práci. Netreba nič robiť.
  • — Vaša vlastná značková stránka na timtim.live/checkout. Nepovinné. Netreba nič robiť.
  • — Predaj vstupeniek vo svojej vlastnej aplikácii: GET /v1/events/Events_ID/tickets and POST /v1/orders. Nepovinné. Netreba nič robiť.
  • — Verejná stránka o stave v /partneroch/štatúte, skontrolovaná každú minútu. Netreba nič robiť.
  • — Mesačné vyhlásenia pre spoločnosti: GET /v1/sídel. Netreba nič robiť.
  • — Postbacks: add ?sub_id= to a buy link and we send it back to you with the sale. Nepovinné. Netreba nič robiť.
  • — Kartové ponuky pre banky a programy odmien: GET /v1/ponuky. Nepovinné. Netreba nič robiť.
  • — Kalendár feed: /v1/feeds/events.ics pre Google Kalendár, Apple Kalendár a Outlook. Netreba nič robiť.
  • — Zamknúť kľúč k serverom: IP povoľuje teraz, klientske certifikáty (mTLS) na api.timtim.live. Nepovinné. Netreba nič robiť.
  • — OAuth 2.0 klientov pre veľké integrácie: POST /v1/oauth/token a /v1/ oauth /revoke. Kľúče fungujú. Netreba nič robiť.
  • — WordPress plugin 1.0.0: blok, krátky kód a nastavenie stránky. Aktualizuje sa z timtim.live. Netreba nič robiť.
  • — Widget webových stránok, JSON/RSS/XML/CSV kanály a webhooks (event.changed, profit.changed). Netreba nič robiť.
  • — Partner API v1: akcie, jedna udalosť, zárobok, a pieskovisko. Netreba nič robiť.