Etkinlikler API

Etkinlikler modülünün tüm işlemleri (11) ve veri modelleri (3): adresler, izinler, girdiler, ön koşullar, olaylar ve örnekler.

Biletli, kayıtlı ve giriş listeli tek seferlik etkinlikler.

Modül kodu happenings · 11 işlem · 3 veri modeli · 9 olay. Bir anahtar ya da token, arkasındaki kişinin bu modülde yapabildiğinden fazlasını asla yapamaz; satır düzeyindeki güvenlik uygulamadakiyle birebir aynıdır. Yetki kapsamları: happenings (hepsi), happenings:read (yalnız okuma) ya da happenings:<yetenek>.

Kaynaklar

KaynakTabloListeleme ve okumaPOSTPATCHDELETE
happening_registrationshappening_registration/api/v1/happening_registrationshappenings.register
happening_ticketshappening_ticket/api/v1/happening_tickets
happeningshappening/api/v1/happeningshappenings.createhappenings.update

Listeler limit (en çok 200), cursor, order (ör. -created_at), fields ve q alır; diğer her sorgu parametresi bir sütun süzgecidir: ?status=paid, ?total[gte]=100, ?id[in]=a,b, ?x=null.

İşlemler

İşlemGereken izinNe yapar
happenings.cancelhappenings:writeEtkinliği iptal et
happenings.cancel_registrationhappenings:writeKaydı iptal et
happenings.check_inhappenings:writeGirişi kaydet
happenings.completehappenings:writeGiriş listesini kapat
happenings.createhappenings:writeEtkinlik oluştur
happenings.publishhappenings:writeKaydı aç
happenings.registerhappenings:writeKişiyi kaydet
happenings.register_onlinehappenings:writeOnline kayıt ol
happenings.remove_tickethappenings:writeBileti kaldır
happenings.save_tickethappenings:writeBileti kaydet
happenings.updatehappenings:writeEtkinliği düzenle

happenings.cancel

Etkinliği iptal et — Etkinliği iptal eder ve tüm kayıtları serbest bırakır; kayıtlı kişilere haber verilebilmesi için onları listeler.

Gereken izin happenings:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/happenings/{id}/actions/cancel
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.cancel

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etkinlik · kimliği: happening
reasonstringNeden · en çok 2000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_closedİptal edilmiş veya bitmiş bir etkinlik değiştirilmez.

Yayımladığı olaylar: happenings.cancelled

Neye yazar: happening (update) — Marks it cancelled; happening_registration (update) — Releases the registrations

curl -X POST https://app.getera.io/api/v1/happenings/HAPPENING_ID/actions/cancel \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"reason":"Reason"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.cancelled"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happenings.cancel("HAPPENING_ID", {
  reason: "Reason"
})
era happenings cancel HAPPENING_ID \
  --reason "Reason"
tools/call
{
  "name": "era__happenings__cancel",
  "arguments": {
    "id": "HAPPENING_ID",
    "reason": "Reason"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_closed · 429 çok sık istek

happenings.cancel_registration

Kaydı iptal et — Bir kişinin yerlerini serbest bırakır.

Gereken izin happenings:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/happening_registrations/{id}/actions/cancel_registration
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.cancel_registration

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Kayıt · kimliği: happening_registration
reasonstringNeden · en çok 1000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
registration_not_foundKayıt bulunmalı.
registration_not_checkableYalnızca kayıtlı bir yer için giriş yapılır veya yer serbest bırakılır.

Yayımladığı olaylar: happenings.registration_cancelled

Neye yazar: happening_registration (update) — Marks it cancelled

curl -X POST https://app.getera.io/api/v1/happening_registrations/HAPPENING_REGISTRATION_ID/actions/cancel_registration \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"reason":"Reason"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.registration_cancelled"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happeningRegistrations.cancelRegistration("HAPPENING_REGISTRATION_ID", {
  reason: "Reason"
})
era happening_registrations cancel_registration HAPPENING_REGISTRATION_ID \
  --reason "Reason"
tools/call
{
  "name": "era__happenings__cancel_registration",
  "arguments": {
    "id": "HAPPENING_REGISTRATION_ID",
    "reason": "Reason"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 registration_not_found, registration_not_checkable · 429 çok sık istek

happenings.check_in

Girişi kaydet — Kayıtlı bir kişiyi geldi olarak işaretler — giriş listesinden ya da giriş koduyla.

Gereken izin happenings:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/happening_registrations/{id}/actions/check_in
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.check_in

Girdi

AlanTürZorunluAçıklama
iduuidDoldurulduğu yer: adresteki {id} · Kayıt · kimliği: happening_registration
happeningIduuidEtkinlik · kimliği: happening
codestringKapı kodu · en çok 12

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
registration_not_foundKayıt bulunmalı.
registration_not_checkableYalnızca kayıtlı bir yer için giriş yapılır veya yer serbest bırakılır.

Yayımladığı olaylar: happenings.checked_in

Neye yazar: happening_registration (update) — Marks it checked in

curl -X POST https://app.getera.io/api/v1/happening_registrations/HAPPENING_REGISTRATION_ID/actions/check_in \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"happeningId":"HAPPENING_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.checked_in"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happeningRegistrations.checkIn("HAPPENING_REGISTRATION_ID", {
  happeningId: "HAPPENING_ID"
})
era happening_registrations check_in HAPPENING_REGISTRATION_ID \
  --happening-id "HAPPENING_ID"
tools/call
{
  "name": "era__happenings__check_in",
  "arguments": {
    "id": "HAPPENING_REGISTRATION_ID",
    "happeningId": "HAPPENING_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 registration_not_found, registration_not_checkable · 429 çok sık istek

happenings.complete

Giriş listesini kapat — Etkinliği bitti işaretler; giriş yapmayanlar gelmedi olarak kaydedilir.

Gereken izin happenings:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır) · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/happenings/{id}/actions/complete
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.complete

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etkinlik · kimliği: happening

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_not_publishedYalnızca yayımlanmış bir etkinlik kapatılır.

Yayımladığı olaylar: happenings.completed

Neye yazar: happening (update) — Marks it completed; happening_registration (update) — Marks the absent as no-shows

curl -X POST https://app.getera.io/api/v1/happenings/HAPPENING_ID/actions/complete \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.completed"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happenings.complete("HAPPENING_ID")
era happenings complete HAPPENING_ID
tools/call
{
  "name": "era__happenings__complete",
  "arguments": {
    "id": "HAPPENING_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_not_published · 429 çok sık istek

happenings.create

Etkinlik oluştur — Tarihli ve kontenjanlı bir etkinlik; bilet ekleyin, sonra kaydı açın.

Gereken izin happenings:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/happenings/actions/create
API anahtarı ya da OAuth token · happenings:write
  • REST kısayolu: POST /api/v1/happenings
  • Asıl adres: POST /api/v1/actions/happenings.create

Girdi

AlanTürZorunluAçıklama
titlestringevetBaşlık · en çok 200
descriptionstringAçıklama · en çok 8000
locationstringKoşul · en çok 300
startsAtdate-timeevetBaşlangıç
endsAtdate-timeevetBitiş
capacitynumberevetYer · en az 1 · en çok 100000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
invalid_happening_timeBitiş başlangıçtan sonra gelmeli.

Yayımladığı olaylar: happenings.created

Neye yazar: happening (insert) — Writes the draft event

curl -X POST https://app.getera.io/api/v1/happenings/actions/create \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"title":"Title","startsAt":"2026-11-02T09:00:00Z","endsAt":"2026-11-02T09:00:00Z","capacity":1}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.created"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happenings.create({
  title: "Title",
  startsAt: "2026-11-02T09:00:00Z",
  endsAt: "2026-11-02T09:00:00Z",
  capacity: 1
})
era happenings create \
  --title "Title" \
  --starts-at "2026-11-02T09:00:00Z" \
  --ends-at "2026-11-02T09:00:00Z" \
  --capacity 1
tools/call
{
  "name": "era__happenings__create",
  "arguments": {
    "title": "Title",
    "startsAt": "2026-11-02T09:00:00Z",
    "endsAt": "2026-11-02T09:00:00Z",
    "capacity": 1
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 invalid_happening_time · 429 çok sık istek

happenings.publish

Kaydı aç — Taslak bir etkinliği yayımlar, böylece kişiler kaydedilebilir.

Gereken izin happenings:write · dışarıya ulaşır (gönderir, yayımlar ya da ücret alır)

POSThttps://app.getera.io/api/v1/happenings/{id}/actions/publish
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.publish

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etkinlik · kimliği: happening

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_not_draftYalnızca taslak yayımlanır.
happening_needs_ticketEn az bir bilet satışta olmalı.

Yayımladığı olaylar: happenings.published

Neye yazar: happening (update) — Marks it published

curl -X POST https://app.getera.io/api/v1/happenings/HAPPENING_ID/actions/publish \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.published"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happenings.publish("HAPPENING_ID")
era happenings publish HAPPENING_ID
tools/call
{
  "name": "era__happenings__publish",
  "arguments": {
    "id": "HAPPENING_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_not_draft, happening_needs_ticket · 429 çok sık istek

happenings.register

Kişiyi kaydet — Bir müşteri için bir bilette yer ayırır; fiyat dondurulur ve finansa aktarılır.

Gereken izin happenings:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/happening_registrations/actions/register
API anahtarı ya da OAuth token · happenings:write
  • REST kısayolu: POST /api/v1/happening_registrations
  • Asıl adres: POST /api/v1/actions/happenings.register

Girdi

AlanTürZorunluAçıklama
happeningIduuidevetEtkinlik · kimliği: happening
ticketIduuidevetBilet · kimliği: happening_ticket
customerIduuidevetKişi · kimliği: customer
quantitynumberYer · en az 1 · en çok 50
notestringNot · en çok 1000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_not_openYalnızca yayımlanmış ve başlamamış bir etkinlik kayıt alır.
customer_not_foundKişi bulunmalı.
customer_archivedArşivlenmiş bir kişi kaydedilmez.
happening_ticket_not_foundBilet bulunmalı ve satışta olmalı.
already_registeredBir kişinin bir etkinlikte yalnızca bir geçerli kaydı olabilir.
happening_fullEtkinlikte ve bilette yer kalmış olmalı.

Yayımladığı olaylar: happenings.registered

Neye yazar: happening_registration (insert) — Writes the registration with its door code

curl -X POST https://app.getera.io/api/v1/happening_registrations/actions/register \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"happeningId":"HAPPENING_ID","ticketId":"HAPPENING_TICKET_ID","customerId":"CUSTOMER_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.registered"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happeningRegistrations.create({
  happeningId: "HAPPENING_ID",
  ticketId: "HAPPENING_TICKET_ID",
  customerId: "CUSTOMER_ID"
})
era happening_registrations create \
  --happening-id "HAPPENING_ID" \
  --ticket-id "HAPPENING_TICKET_ID" \
  --customer-id "CUSTOMER_ID"
tools/call
{
  "name": "era__happenings__register",
  "arguments": {
    "happeningId": "HAPPENING_ID",
    "ticketId": "HAPPENING_TICKET_ID",
    "customerId": "CUSTOMER_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_not_open, customer_not_found, customer_archived, happening_ticket_not_found, already_registered, happening_full · 429 çok sık istek

happenings.register_online

Online kayıt ol — Ziyaretçi, siteden bir etkinlik biletinde yer alır; fiyat sabitlenir ve ödeme her kayıtta olduğu gibi alınır.

Gereken izin happenings:write · veriyi değiştirir · Yayındaki bir siteden de çağrılabilir (visitor)

Bir web sitesi işlemi: siteniz bunu site API’si üzerinden çağırır (/api/site/v1/{siteId}, örneğin @getera/storefront ile). API anahtarı ya da token ile istek reddedilir (403 site_only).
POSThttps://app.getera.io/api/v1/happening_registrations/actions/register_online
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.register_online

Girdi

AlanTürZorunluAçıklama
happeningIduuidevetEtkinlik · kimliği: happening
ticketIduuidevetBilet · kimliği: happening_ticket
quantitynumberYer · en az 1 · en çok 10

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
guest_details_requiredMisafirin kayıt olmadan önce bilgilerini girmesi gerekir.
happening_fullEtkinlikte ve bilette yer kalmış olmalı.

Yayımladığı olaylar: happenings.registered

Neye yazar: happening_registration (insert) — Writes the registration with its door code

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 guest_details_required, happening_full · 429 çok sık istek

happenings.remove_ticket

Bileti kaldır — Kullanılmamış bir bileti siler; kayıt yapılmış olan kullanımdan kaldırılır.

Gereken izin happenings:write · siler ya da geri alınamaz · Era çalıştırırken bir kişiye onaylatır

POSThttps://app.getera.io/api/v1/happening_tickets/{id}/actions/remove_ticket
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.remove_ticket

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Bilet · kimliği: happening_ticket

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_ticket_not_foundBilet bulunmalı ve satışta olmalı.

Yayımladığı olaylar: happenings.tickets_changed

Neye yazar: happening_ticket (delete) — Deletes an unused ticket; happening_ticket (update) — Retires a used one

curl -X POST https://app.getera.io/api/v1/happening_tickets/HAPPENING_TICKET_ID/actions/remove_ticket \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.tickets_changed"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happeningTickets.removeTicket("HAPPENING_TICKET_ID")
era happening_tickets remove_ticket HAPPENING_TICKET_ID
tools/call
{
  "name": "era__happenings__remove_ticket",
  "arguments": {
    "id": "HAPPENING_TICKET_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_ticket_not_found · 429 çok sık istek

happenings.save_ticket

Bileti kaydet — Bir bilet türü — fiyatı, kendi kontenjanı ve isteğe bağlı olarak satıldığı katalog ürünü.

Gereken izin happenings:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/happening_tickets/{id}/actions/save_ticket
API anahtarı ya da OAuth token · happenings:write
  • Asıl adres: POST /api/v1/actions/happenings.save_ticket

Girdi

AlanTürZorunluAçıklama
iduuidDoldurulduğu yer: adresteki {id} · Bilet · kimliği: happening_ticket
happeningIduuidEtkinlik · kimliği: happening
namestringAd · en çok 120
itemVariantIduuidKatalog ürünü · kimliği: item_variant
priceAmountnumberFiyat (küçük birim) · en az 0
currencystringPara birimi · en çok 3
capacitynumberBu bilet için yer sayısı · en az 1

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_ticket_not_foundBilet bulunmalı ve satışta olmalı.
invalid_happening_ticketBiletin geçerli bir fiyatı, para birimi ve kontenjanı olmalı.

Yayımladığı olaylar: happenings.tickets_changed

Neye yazar: happening_ticket (upsert) — Writes the ticket

curl -X POST https://app.getera.io/api/v1/happening_tickets/HAPPENING_TICKET_ID/actions/save_ticket \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"happeningId":"HAPPENING_ID"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.tickets_changed"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happeningTickets.saveTicket("HAPPENING_TICKET_ID", {
  happeningId: "HAPPENING_ID"
})
era happening_tickets save_ticket HAPPENING_TICKET_ID \
  --happening-id "HAPPENING_ID"
tools/call
{
  "name": "era__happenings__save_ticket",
  "arguments": {
    "id": "HAPPENING_TICKET_ID",
    "happeningId": "HAPPENING_ID"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_ticket_not_found, invalid_happening_ticket · 429 çok sık istek

happenings.update

Etkinliği düzenle — Başlığı, zamanı, yeri veya kontenjanı değiştirir.

Gereken izin happenings:write · veriyi değiştirir

POSThttps://app.getera.io/api/v1/happenings/{id}/actions/update
API anahtarı ya da OAuth token · happenings:write
  • REST kısayolu: PATCH /api/v1/happenings/{id}
  • Asıl adres: POST /api/v1/actions/happenings.update

Girdi

AlanTürZorunluAçıklama
iduuidevetDoldurulduğu yer: adresteki {id} · Etkinlik · kimliği: happening
titlestringBaşlık · en çok 200
descriptionstringAçıklama · en çok 8000
locationstringKoşul · en çok 300
startsAtdate-timeBaşlangıç
endsAtdate-timeBitiş
capacitynumberYer · en az 1 · en çok 100000

Ön koşullar

Koşul tutmazsa işlem 409 ve şu kodlardan biriyle reddedilir:

KodNe zaman reddedilir
happening_not_foundEtkinlik bulunmalı.
happening_closedİptal edilmiş veya bitmiş bir etkinlik değiştirilmez.
invalid_happening_timeBitiş başlangıçtan sonra gelmeli.
happening_capacity_below_takenKontenjan alınan yerlerin altına inemez.

Yayımladığı olaylar: happenings.updated

Neye yazar: happening (update) — Rewrites the event

curl -X POST https://app.getera.io/api/v1/happenings/HAPPENING_ID/actions/update \
  -H "Authorization: Bearer $ERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"title":"Title"}'
Yanıt
{
  "ok": true,
  "result": "…",
  "events": [
    "happenings.updated"
  ]
}
import { createEra } from "@getera/sdk"

const era = createEra({ apiKey: process.env.ERA_API_KEY })
const res = await era.happenings.update("HAPPENING_ID", {
  title: "Title"
})
era happenings update HAPPENING_ID \
  --title "Title"
tools/call
{
  "name": "era__happenings__update",
  "arguments": {
    "id": "HAPPENING_ID",
    "title": "Title"
  }
}

Hatalar: 401 kimlik bilgisi yok ya da süresi dolmuş · 403 kimlik bilgisinde happenings:write izni yok · 404 kayıt ya da modül erişim dışında · 422 geçersiz girdi (problems[]) · 409 happening_not_found, happening_closed, invalid_happening_time, happening_capacity_below_taken · 429 çok sık istek

Veri modelleri

HappeningRegistration

Tablo happening_registration · Kaynak happening_registrations

  • GET /api/v1/happening_registrations
  • GET /api/v1/happening_registrations/{id}
  • POST /api/v1/happening_registrations → happenings.register
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
happening_idstring (uuid) · uuidhappening
ticket_idstring (uuid) · uuidhappening_ticket
customer_idstring (uuid) · uuidcustomer
quantityinteger · int4
statusstring · textregistered, checked_in, no_show, cancelled
price_amountstring (int64) · int8
currencystring · bpcharen çok 3
codestring · text
notestring · textevet
checked_in_atstring (date-time) · timestamptzevet
cancelled_atstring (date-time) · timestamptzevet
cancel_reasonstring · textevet
created_by_user_idstring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

Denetimler:

  • CHECK ((currency ~ '^[A-Z]{3}$'::text))
  • CHECK ((price_amount >= 0))
  • CHECK (((quantity >= 1) AND (quantity <= 50)))

HappeningTicket

Tablo happening_ticket · Kaynak happening_tickets

  • GET /api/v1/happening_tickets
  • GET /api/v1/happening_tickets/{id}
SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
happening_idstring (uuid) · uuidhappening
namestring · text
item_variant_idstring (uuid) · uuidevetitem_variant
price_amountstring (int64) · int8
currencystring · bpcharen çok 3
capacityinteger · int4evet
positioninteger · int4
retired_atstring (date-time) · timestamptzevet
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz
is_publicboolean · boolevet

Birincil anahtar: id

Denetimler:

  • CHECK (((capacity IS NULL) OR (capacity > 0)))
  • CHECK ((currency ~ '^[A-Z]{3}$'::text))
  • CHECK ((length(TRIM(BOTH FROM name)) > 0))
  • CHECK ((price_amount >= 0))

Happening

Tablo happening · Kaynak happenings

SütunTürBoş olabilirİzin verilen değerlerBağlı olduğu tablo
idstring (uuid) · uuid
organization_idstring (uuid) · uuidorganization
workspace_idstring (uuid) · uuidworkspace
titlestring · text
descriptionstring · textevet
locationstring · textevet
starts_atstring (date-time) · timestamptz
ends_atstring (date-time) · timestamptz
capacityinteger · int4
statusstring · textdraft, published, cancelled, completed
cancel_reasonstring · textevet
owner_user_idstring (uuid) · uuidevetapp_user
created_by_user_idstring (uuid) · uuidevetapp_user
created_atstring (date-time) · timestamptz
updated_atstring (date-time) · timestamptz

Birincil anahtar: id

Denetimler:

  • CHECK ((capacity > 0))
  • CHECK ((ends_at > starts_at))
  • CHECK ((length(TRIM(BOTH FROM title)) > 0))

Olaylar

İş akışları ve webhook'lar bu olaylara tepki verir.

OlayNe olurTaşıdığı alanlar
happenings.cancelledBir etkinlik iptal edildi ve kayıtları serbest bırakıldı.id, ownerUserId, customerIds, reason
happenings.checked_inBir kişi bir etkinliğe geldi.id, happeningId, customerId
happenings.completedBir etkinlik bitti.id, noShows, title, ownerUserId, customerId, customerIds, noShowCustomerIds
happenings.createdBir etkinlik taslağı hazırlandı.id, ownerUserId
happenings.publishedBir etkinlik kayda açıldı.id
happenings.registeredBir kişi bir etkinliğe kaydoldu — ücretlendirmeyi finans yapar.id, happeningId, customerId, ticketId, itemVariantId, quantity, amount, currency, description, code, ownerUserId, title, startsAt
happenings.registration_cancelledBir kayıt iptal edildi.id, happeningId, customerId
happenings.tickets_changedBir etkinliğin biletleri değişti.id
happenings.updatedBir etkinlik düzenlendi.id
Bu sayfa yardımcı oldu mu?