
🏠 घर
आशा निर्माण करा
प्रत्येक कुटुंबाला आपले म्हणता येईल असे घर मिळावे यासाठी मदत करा — OseloHelp.com या आमच्या करमुक्त ना-नफा संस्थेद्वारे.
जागतिक संगीत वितरण: लवकरच येत आहे!
३०,०४,६०५+ कलाकार पाने · ८६,८४,००२+ व्यवसाय पाने · ४१७+ भाषांमध्ये उपलब्ध

तुमचे पहिले कनेक्शन एकाच स्क्रीनवर बसते.
हा पत्ता तुमच्या ब्राउझरमध्ये उघडा. तुम्हाला लगेच नमुना इव्हेंट दिसतील.
https://timtim.live/api/partner-network/demo?city=Washingtonसाइन इन करा, तुम्ही कोण आहात ते सांगा, आणि "टेस्ट की तयार करा" दाबा. ती tt_test_ ने सुरू होते आणि फक्त नमुना इव्हेंट पाहते.
एखाद्या शहरातील इव्हेंट मागा.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
-H "Authorization: Bearer tt_test_YOUR_KEY"प्रत्येक इव्हेंटमध्ये नाव, तारीख, ठिकाण, फोटो, किंमत आणि तुमच्या कार्डसाठी तयार लेबल असतात.
आम्ही देतो तो buy_url वापरा. एवढेच. त्या लिंकमधील हिशोब TimTim.Live सांभाळते.
पाठवलेले लोक, विकलेली तिकिटे आणि कमाई तुमच्या डॅशबोर्डवर पाहा, किंवा ती मागा.
GET https://api.timtim.live/v1/earningshttps://api.timtim.live/v1तुमची की Authorization हेडरमध्ये पाठवा. टेस्ट की (tt_test_) फक्त नमुना इव्हेंट पाहतात. वेबसाइट की (tt_pk_live_) वेब पानात ठेवता येतात आणि फक्त इव्हेंट वाचतात. सर्व्हर की (tt_sk_live_) तुमच्या सर्व्हरवर राहतात आणि कमाईही वाचू शकतात. आम्ही की एकदाच दाखवतो — ती सुरक्षित ठेवा.
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_earningsnearlimitतुमच्या शेवटच्या सिंकची वेळ सेव्ह करा आणि ती changed_since म्हणून पाठवा. तुम्हाला फक्त बदललेले इव्हेंट मिळतील — रद्द झालेले आणि विकले गेलेले शोसुद्धा. वेबहुकची गरज नाही. जे कार्यक्रम तुम्हाला दाखवणे थांबवायचे आहेत ते withdrawn यादीत येतात.
GET https://api.timtim.live/v1/events?changed_since=2026-10-06T10:00:00Zउत्तरात next असेल, तर पुढचे पान मिळवण्यासाठी ते cursor= म्हणून परत पाठवा. next रिकामे असेल, तर तुमच्याकडे सगळे आहे.
GET https://api.timtim.live/v1/events?city=Paris&cursor=eyJtIjoiZCIs…प्रत्येक इव्हेंटमध्ये earn असते. earn.eligible false असेल, तर इव्हेंटवर बक्षीस नाही — तरीही तो दाखवणे चांगले आहे. true असेल, तर earn.description सांगते की तुम्हाला काय मिळेल, उदाहरणार्थ "प्रत्येक पात्र तिकिटावर $5". खरेदी परत केली, तर बक्षीस परत जाते.
तुमच्या डॅशबोर्डवर एक बल्क फीड सेव्ह करा, मग त्यातील सर्व इव्हेंट एका संकुचित फाइलमध्ये डाउनलोड करा: GET /v1/bulk/FEED_ID.ndjson.gz किंवा .csv.gz, तुमच्या सर्व्हर कीने. फक्त बदलांसाठी ?changed_since= जोडा, काढलेल्या इव्हेंटसह. टेस्ट की आत्ता हे वापरून पाहू शकतात; खऱ्या वापरासाठी TimTim.Live ची तपासणी लागते.
GET https://api.timtim.live/v1/bulk/bfs_YOURFEED.ndjson.gz?changed_since=2026-10-06T00:00:00Zमोठे पार्टनर खरेदीदारांना स्वतःच्या ॲपमध्येच ठेवू शकतात. काय विक्रीला आहे हे पाहण्यासाठी GET /v1/events/EVENT_ID/tickets विचारा, मग खरेदीदाराच्या निवडीसह POST /v1/orders पाठवा. खरेदीदारासाठी उघडायला तुम्हाला 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": "…"}GET /v1/offers बक्षीस देणारा प्रत्येक इव्हेंट एक ऑफर म्हणून देते: आयोजक, खरेदी करता येतील त्या तारखा, किंमत, ठिकाण आणि बक्षीस. तुमचा ग्राहक तुमच्या ट्रॅक होणाऱ्या लिंकने ती सुरू करतो, आणि बक्षीस /v1/earnings द्वारे तुमच्या कंपनीला दिले जाते. टेस्ट की नमुना ऑफर पाहते. खऱ्या ऑफरसाठी TimTim.Live ची तपासणी लागते. कार्ड पेमेंट थेट जुळवण्यासाठी कार्ड नेटवर्क किंवा बँकेशी करार लागतो, आणि ते जोडलेले नाही.
GET https://api.timtim.live/v1/offers?country=USstatus म्हणजे scheduled, postponed, rescheduled, cancelled, sold_out किंवा completed. tickets.availability म्हणजे available, limited, sold_out, not_on_sale किंवा ended. इव्हेंट रद्द झाला की तो काढून टाका.
GET https://api.timtim.live/v1/events/evt_test_washington_konpaटेस्ट की: मिनिटाला 60 विनंत्या. लाइव्ह की: मिनिटाला 120. यापेक्षा वेगाने गेल्यास 429 उत्तर मिळते, सोबत Retry-After, म्हणजे किती सेकंद थांबायचे.
TimTim.Live आयोजक तयार करतात आणि शेअर करायचे ठरवतात ते इव्हेंट. इतर तिकीट साइट्सवरून आणलेले इव्हेंट कधीच नसतात, कारण ते शेअर करण्याचा हक्क आमच्याकडे नाही.
खरेदीदारांची नावे, ईमेल पत्ते, घरचे पत्ते, फोन नंबर आणि कार्डची माहिती. Partner API इव्हेंटची माहिती शेअर करते, आमच्या सदस्यांची नाही.
HTML ची एक ओळ कोणत्याही वेबसाइटवर इव्हेंट दाखवते. वेबसाइट की (tt_pk_live_) वापरा आणि तुमची वेबसाइट त्या कीच्या परवानगी यादीत जोडा. की नसेल तर ते नमुना इव्हेंट दाखवते.
<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.
ऐच्छिक. तुमच्या डॅशबोर्डवर एक OAuth क्लायंट तयार करा, मग त्याचा क्लायंट आयडी आणि सीक्रेट देऊन एक तासाचा ॲक्सेस टोकन घ्या, आणि की ऐवजी तो टोकन पाठवा. सीक्रेट कधीच तुमच्या API कॉलसोबत जात नाही, आणि तुम्ही क्लायंटकडे आहेत त्यापेक्षा कमी परवानग्या (scopes) मागू शकता.
# 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/revoke वर पाठवा. डॅशबोर्डवर क्लायंट बंद केल्यास त्याचे सगळे टोकन एकदम संपतात.
पर्यायी. तुमच्या डॅशबोर्डवर सर्व्हर की, टेस्ट की किंवा OAuth क्लायंटखाली "फक्त माझ्या सर्व्हरवर लॉक करा" उघडा आणि तुमच्या सर्व्हरचे पब्लिक पत्ते लिहा. इतर कुठूनही आलेले कॉल — आणि टोकन विनंत्या — ip_not_allowed सह नाकारल्या जातात, योग्य की असली तरीही.
क्लायंट सर्टिफिकेट (mTLS): तुमचे TLS क्लायंट सर्टिफिकेट एका कीला जोडा, मग त्याच्यासह https://api.timtim.live ला कॉल करा. प्रत्येक कॉलने ते सर्टिफिकेट दाखवले पाहिजे; TLS हँडशेक सिद्ध करतो की त्याची खाजगी की तुमच्याकडे आहे.
# 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"WordPress वापरता? TimTim.Live Events इन्स्टॉल करा: एक ब्लॉक आणि एक शॉर्टकोड, जे तुमच्या स्वतःच्या TimTim.Live तिकीट लिंकसह इव्हेंट दाखवतात. ते TimTim.Live ने बनवले आहे, फक्त timtim.live शी बोलते आणि फक्त timtim.live वरून अपडेट होते.
Plugins → Add New → Upload Plugin मध्ये फाइल अपलोड करा. Settings → TimTim.Live Events मध्ये तुमची वेबसाइट की पेस्ट करा आणि Test Connection दाबा. मग कोणत्याही पेजवर TimTim.Live Events ब्लॉक जोडा.
WordPress प्लगइन डाउनलोड करा[timtim_events city="Washington" category="music" limit="6"]तेच इव्हेंट JSON Feed, RSS, XML, CSV किंवा कॅलेंडर (.ics) मध्ये, जे Google Calendar, Apple Calendar आणि Outlook सबस्क्राइब करू शकतात. फीड रीडर हेडर पाठवू शकत नाहीत, म्हणून ?key= मध्ये वेबसाइट की किंवा टेस्ट की टाका. सर्व्हर की कधीही लिंकमध्ये टाकू नका.
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तुमच्या डॅशबोर्डवर एक पत्ता जोडा. काही बदलले की आम्ही त्या पत्त्यावर संदेश पाठवतो: event.changed किंवा earnings.changed. वेबहुक ऐच्छिक आहेत — changed_since मधूनही हीच माहिती मिळते.
{
"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"
}
}
}प्रत्येक संदेश तपासा: तो तुमच्या सीक्रेटने साइन केलेला असतो. पाच मिनिटांपेक्षा जुने काहीही नाकारा, आणि जो TimTim-Delivery-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);
});10 सेकंदांच्या आत कोणतेही 2xx उत्तर द्या. नाहीतर आम्ही 1 मिनिट, 5 मिनिटे आणि 30 मिनिटांनी, मग 2, 6, 12 आणि 24 तासांनी पुन्हा प्रयत्न करतो, आणि मग थांबतो. आम्ही रीडायरेक्ट कधीच फॉलो करत नाही.
टेस्ट की ना "टेस्ट इव्हेंट — खरे पैसे नाहीत" असे लिहिलेले नमुना इव्हेंट मिळतात. एक buy_url उघडा, "टेस्ट तिकीट खरेदी करा" दाबा, मग तुमची कमाई मागा. परतावा करून पाहा, ती परत जाते ते पाहा.
चुका सोप्या शब्दांत स्वतःच समजावतात, एक शीर्षक आणि पुढे काय करायचे यासह. प्रत्येक उत्तरात एक TimTim-Request-Id असतो. तो आम्हाला पाठवा, आम्ही तुमची विनंती शोधू.
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.प्रत्येक फील्डचे पूर्ण वर्णन, OpenAPI फॉरमॅटमध्ये जे तुमची टूल्स वाचू शकतात.
openapi.yaml डाउनलोड करातुमची टेस्ट की लगेच काम करते. लाइव्ह कीसाठी, TimTim.Live मधील एक व्यक्ती तुमच्या कंपनीचे नाव, तुमची वेबसाइट आणि तुम्ही इव्हेंट कसे दाखवाल ते पाहते. उत्तर तुम्हाला तुमच्या डॅशबोर्डवर दिसते.
व्हर्जन 1 फक्त वाढते. आम्ही नवीन गोष्टी जोडतो. जे आधीच आहे ते आम्ही काढत नाही किंवा त्याचे नाव बदलत नाही.
आमचा उद्देश
मानवतेसाठी वारसा मागे ठेवण्यास मदत करण्यासाठी आम्ही सर्वांना आमंत्रित करतो.
आपल्यानंतरही टिकणाऱ्या तीन मिशन्समध्ये सामील व्हा

आशा निर्माण करा
प्रत्येक कुटुंबाला आपले म्हणता येईल असे घर मिळावे यासाठी मदत करा — OseloHelp.com या आमच्या करमुक्त ना-नफा संस्थेद्वारे.

संगीतातून मानवतेचे जतन करा
मानवतेचे संगीत आणि कथा पुढील 1,000+ वर्षांसाठी जपा.

अन्वेषकांच्या पुढच्या पिढीला प्रेरणा द्या
अंतराळ शोधण्याची संधी सर्वांसाठी उपलब्ध करा.

रॉकेटने प्रक्षेपित होण्याऐवजी धावपट्टीवरून उड्डाण करणाऱ्या अंतराळ विमानाची रचना. ही एक संकल्पना आहे, पूर्ण झालेले यान नाही.
ते कसे चालते ते पाहासगळे कसे जोडले जाते
इथे काहीही वेगळा व्यवसाय नाही — प्रत्येक टप्पा पुढच्याला बळकट करतो.
एक उद्देश. एकमेकांना बळ देणारे अनेक व्यवसाय.
तुम्ही एखादे गाणे ऐका, एखादी कथा शेअर करा, मर्चंडाइज घाला, मैफिलीला जा, गीतांचा अनुवाद करा, एखाद्या देशाची शिफारस करा, किंवा फक्त मित्राला सांगा — पिढ्यानपिढ्या टिकण्यासाठी बनवलेल्या गोष्टीचा तुम्ही भाग बनता.
प्रत्येकजण सहभागी होऊ शकतो. कोणतेही योगदान लहान नसते.
TimTim.Live — संगीतातून जग अनुभवा.
195 देशांतील लोकांना जोडत आहोत, सध्या ३०,०४,६०५+ कलाकार पाने 4+ दशलक्षांपर्यंत वाढत आहेत · ८६,८४,००२+ व्यवसाय पाने 400 दशलक्षांपर्यंत वाढत आहेत · साइट जगभरातील 417 स्थानिक भाषांमध्ये अनुवादित होईल.
TimTim.Live ने सर्व १९५ देशांमधील २,३३,८३९ ठिकाणे आधीच नकाशावर आणली आहेत, अगदी 1,000 लोकसंख्येच्या समुदायांपर्यंत पोहोचत, यात समाविष्ट:
२५७ राज्ये • १,६९० प्रांत • ४,८०८ काउंटी • ४१,१३० जिल्हे • १३,४७१ शहरे • १,१७,८९६ गावे • ४०,९८८ खेडी
© 2026 TimTim.Live. सर्व हक्क राखीव.