Neden bu API var
Etkinlik bilgisinin en doğru kaynağı, etkinliği düzenleyendir. Aracıdan aracıya taşınan bilgi eskiyor: saat değişiyor, mekân değişiyor, etkinlik iptal oluyor — ama internette hâlâ eski hâli duruyor. Bu API o zinciri kısaltır. Verini sen gönderirsin, sen güncellersin.
Etkinlik oluşturmak kolaydır; asıl mesele iptal ve erteleme bilgisinin insana zamanında ulaşmasıdır. Kendi bildirdiğin etkinliği her zaman iptal edebilirsin — kapsam şartı aranmaz. Yanlış bilginin yayında kalması, geç yayından daha kötüdür.
Anahtarını nasıl alırsın
İki yol var. Hangisi olduğuna göre anahtarın kapsamı değişir.
1 · Kendi sayfanı yönetiyorsan — anahtarı kendin üret
Bir mekân, sanatçı veya organizatörsen: siteye üye ol, Sayfam bölümünden sayfanı sahiplen. Sahipliğin onaylandığı anda aynı ekranda API anahtarı düğmesi çıkar. Tek tıkla üretirsin — kimseden izin beklemene gerek yok.
Anahtarı bir sanatçı ürettiyse, o anahtarla gelen etkinlik sanatçıdan gelmiş sayılır ve otomatik olarak o sanatçıya bağlanır — başkasının mekânında sahne alsan bile. Mekân ürettiyse mekândan, organizatör ürettiyse organizatörden gelir. Yani "ben kimim" diye ayrıca belirtmene gerek yok: anahtar zaten söylüyor.
2 · Başkaları adına bildirim yapan bir sistemsen
Bir etkinlik yönetim ürünüysen (birden çok mekân/sanatçı müşterisi olan), sana platform anahtarı
veririz. Bu anahtar başlangıçta boş kapsamla gelir; her müşteri için bir kez
POST /baglanti ile bağlantı kurarsın (aşağıda).
Yazman yeterli: [email protected]
Kimlik doğrulama
Her istekte API anahtarını Authorization başlığında gönder:
Authorization: Bearer ae_live_xxxxxxxxxxxxxxxxxxxx
Anahtar yalnızca sunucu-sunucu iletişimi içindir. Tarayıcıya, mobil uygulamaya veya herkese açık bir depoya koyma. Anahtarın tamamı yalnız üretildiği an gösterilir — sunucuda saklanmaz. Kaybedersen Sayfam ekranından yenilersin (eski anahtar anında geçersiz olur).
Yayın kapısı — nasıl çalışır
Her anahtar bir kapsama sahiptir: adına bildirim yapabileceği mekân, sanatçı ve organizatörlerin listesi. Kapsamındaki bir varlık için gönderdiğin etkinlik doğrudan yayına çıkar; kapsam dışına gönderirsen bildirim onay kuyruğuna düşer — kaybolmaz, incelenir.
Sayfam ekranından ürettiğin anahtarın kapsamı zaten doludur (kendi mekânın/sanatçı sayfan/organizatörün). Bağlantı kurmana gerek yok — doğrudan etkinlik bildirmeye geçebilirsin. Aşağısı, başkaları adına bildirim yapan platformlar içindir.
GET /mekan-ara?q=... ile sistemdeki mekân id'sini al.POST /baglanti ile o mekân adına konuşma yetkisi iste. Kiracının kurumsal e-posta alan adı
mekânın resmî sitesiyle eşleşiyorsa (örn. [email protected] ↔ mekan.com)
bağlantı otomatik onaylanır. Eşleşmiyorsa elle doğrularız.Kimse başkasının sahnesine veri yazamasın diye. Doğrulanmış kaynak hızlı yayınlar; doğrulanmamış kaynak beklemeye alınır.
Uçlar
Kimliğini, kapsamını ve günlük kotanı döner. Anahtarını test etmek için en hızlı yol.
Geçerli kategori, şehir ve etkinlik durumu listeleri. Sabit kodlamak yerine buradan oku.
Mekân adından mekanId bulur. Etkinlik bildirmeden önce buradan doğru id'yi al.
Bir mekân/sanatçı/organizatör adına bildirim yapma yetkisi ister. Onaylanınca kapsamına eklenir.
Etkinlik bildirir. Aynı kaynakId ile tekrar gönderirsen yeni kayıt açılmaz, mevcut kayıt güncellenir.
Bildirdiğin etkinliğin durumunu sorgular: yayında mı, kuyrukta mı.
Etkinliği iptal eder, erteler veya yeni tarihe taşır. Kendi etkinliğin için kapsam şartı yoktur.
Etkinlik bildirme
POST /api/v1/etkinlik
Authorization: Bearer ae_live_...
Content-Type: application/json
{
"kaynakId": "PL-1001", // senin sistemindeki id
"baslik": "Yaz Gecesi Konseri",
"aciklama": "Açık havada bir yaz akşamı.",
"baslangic": "2026-08-14T21:00:00+03:00", // ISO 8601
"sehir": "antalya",
"kategori": "konser",
"mekanId": "ven-panda-sahne", // /mekan-ara ile bul
"sanatcilar": ["Sanatçı Adı"],
"biletUrl": "https://pandasahne.com/bilet/1001",
"fiyat": 450
}
Alanlar
| Alan | Tip | Açıklama |
|---|---|---|
| kaynakId zorunlu | metin | Senin sistemindeki etkinlik id'si. Kimlik anahtarıdır: aynı id ile tekrar gönderirsen kayıt çoğalmaz, güncellenir. |
| baslik zorunlu | metin | Etkinlik adı. |
| baslangic zorunlu | ISO 8601 | Saat dilimiyle birlikte: 2026-08-14T21:00:00+03:00. Geçmiş tarih kabul edilmez. |
| sehir zorunlu | metin | Şu an yalnız antalya. Diğer şehirler kabul edilmez. |
| kategori zorunlu | metin | konser · tiyatro · stand-up · dans-gösterisi ·
müzikal · festival · sahne · cocuk · spor |
| mekanId zorunlu | metin | /mekan-ara ile bulunan mekân id'si. |
| aciklama ops. | metin | Etkinlik metni. |
| sanatcilar ops. | dizi | Sahne alan isimler: ["Ad Soyad"] |
| biletUrl ops. | URL | Bilet satış sayfan. Aşağıya bak. |
| fiyat ops. | sayı | TL cinsinden. Bilinmiyorsa alanı hiç gönderme. |
| sahip ops. | nesne | Kendi anahtarınla gönderiyorsan hiç gönderme — eksen zaten anahtarında kodlu.
Sadece platform anahtarı kullanan sistemler, hangi müşterisi adına bildirdiğini
burada belirtir: {"tip":"sanatci","entityId":"art-..."}.
Belirtmezse mekân sahibi varsayılır. |
Sadece saati düzeltmek için kaynakId, baslik, baslangic,
sehir, kategori, mekanId göndermen yeter —
açıklaman, bilet linkin ve sanatçı listen silinmez. Bir alanı silmek istiyorsan
açıkça null gönder.
Yanıt
{
"ok": true,
"durum": "yayinda", // kapsamındaysa
"kaynakId": "PL-1001",
"etkinlikId": "evt-yaz-gecesi-konseri-2026-08-14",
"url": "https://antalyaetkinlikleri.com.tr/etkinlik/evt-yaz-gecesi-konseri-2026-08-14/"
}
Kapsamın dışındaki bir mekâna gönderdiysen "durum": "kuyrukta" döner ve bir
talepId alırsın — bildirim kaybolmaz, incelenmeye alınır.
İptal ve erteleme
POST /api/v1/etkinlik/PL-1001/iptal
{ "durum": "EventCancelled", "not": "Sanatçı rahatsızlığı" }
Erteleyip yeni tarih vermek için:
{
"durum": "EventRescheduled",
"yeniBaslangic": "2026-10-05T21:00:00+03:00"
}
| Durum | Anlamı |
|---|---|
| EventScheduled | Normal — planlandığı gibi (varsayılan). |
| EventCancelled | İptal edildi. |
| EventPostponed | Ertelendi, yeni tarih henüz belli değil. |
| EventRescheduled | Yeni tarihe alındı — yeniBaslangic ile birlikte gönder. |
| EventMovedOnline | Çevrim içine taşındı. |
Bilet linki
biletUrl gönderirsen, sitedeki Bilet Al butonu kendi yönlendirme ucumuzdan
(/bilet/<id>) geçerek senin sayfana çıkar. Kullanıcı için fark yoktur: tek tıkla senin bilet
sayfandadır.
Bu yönlendirme bize tıklama sayısını verir — hangi etkinliğe ne kadar ilgi geldiğini ölçebiliriz. Kişisel veri toplanmaz; yalnız etkinlik, kaynak ve zaman kaydedilir.
Hatalar
Her hata aynı biçimde döner: makine için hata kodu, insan için mesaj, ve çoğu zaman
ne yapman gerektiğini söyleyen bir ipucu.
{
"ok": false,
"hata": "dogrulama",
"mesaj": "Etkinlik kabul edilmedi.",
"eksikler": [
"kategori geçersiz: \"rock\" · geçerli: konser, tiyatro, stand-up, ..."
]
}
| Kod | Anlamı |
|---|---|
| 400 | Doğrulama hatası — eksikler dizisinde tek tek yazar. |
| 401 | Anahtar geçersiz veya eksik. |
| 404 | Mekân, etkinlik veya uç bulunamadı. |
| 429 | Hız sınırı (dakikada 60) veya günlük kota aşıldı. |
Bilmediğimiz bir bilgiyi tahmin etmek yerine reddederiz. Doğru olmayan bir etkinlik kaydı, hiç olmayan bir kayıttan kötüdür.
Hızlı başlangıç
# 1 · anahtarını test et
curl -H "Authorization: Bearer $ANAHTAR" \
https://antalyaetkinlikleri.com.tr/api/v1/ben
# 2 · mekânını bul
curl -H "Authorization: Bearer $ANAHTAR" \
"https://antalyaetkinlikleri.com.tr/api/v1/mekan-ara?q=panda sahne"
# 3 · bağlantı kur (bir kez)
curl -X POST -H "Authorization: Bearer $ANAHTAR" -H "Content-Type: application/json" \
https://antalyaetkinlikleri.com.tr/api/v1/baglanti \
-d '{"tip":"mekan","entityId":"ven-panda-sahne","eposta":"[email protected]"}'
# 4 · etkinliğini bildir
curl -X POST -H "Authorization: Bearer $ANAHTAR" -H "Content-Type: application/json" \
https://antalyaetkinlikleri.com.tr/api/v1/etkinlik \
-d '{"kaynakId":"PL-1001","baslik":"Yaz Gecesi","baslangic":"2026-08-14T21:00:00+03:00",
"sehir":"antalya","kategori":"konser","mekanId":"ven-panda-sahne"}'
Sınırlar
- Dakikada 60 istek, günde 1000 bildirim (artırılabilir — yaz yeter).
- Şu an yalnız Antalya etkinlikleri yayınlanır. Türkiye geneli için ölçek büyüdükçe aynı veri modeliyle açılacak.
- Yayına alınan etkinlik siteye birkaç dakika içinde yansır.
Anahtar almak için
Mekân, sanatçı, organizatör ya da bir etkinlik yönetim sistemiysen yaz: [email protected]. Kim olduğunu ve hangi mekân/sanatçı adına bildirim yapacağını belirt.