Zum Hauptinhalt springen

FSA-API (v2.0) für Entwickler und Integratoren - Wissensdatenbank / Kurse- und Events / FSA Eventliste- und Eventdetails-API - Fairgate DeskPro

FSA-API (v2.0) für Entwickler und Integratoren

(Liste und Details für externe Websites)

Veröffentlichung: Oktober 2026 | Für: Entwickler & Integratoren | Fairgate FSA-API (v2.0)

Was ist neu?

Die Fairgate FSA-API bietet neu zwei lesende Schnittstellen für Events: eine Eventsliste und die Eventdetails pro Organisation. Externe Websites können damit Events, Preise, den Anmeldestatus und die Inhalte der Ausschreibung eines Vereins anzeigen. Authentifizierung, Versionierung und Gateway funktionieren genau wie bei der Contacts-API (v2.0).

Zurückgegeben werden nur veröffentlichte, öffentliche Events. Was ein Verein in den Einstellungen der Ausschreibung ausblendet, bleibt auch in der Antwort ausgeblendet. Sie können nach Status und Zeitraum filtern, ein Event samt Teilevents laden und alle Texte in der gewünschten Sprache erhalten.

Voraussetzungen (und Umfang)

  • Das Eventmodul muss für die Organisation gebucht sein

  • Beide Schnittstellen sind nur lesend. Der Zugriff wird in der Verwaltung aktiviert (siehe Abschnitt 1), die Authentifizierung funktioniert wie bei der Contacts-API (v2.0).



Der Ablauf im Überblick

2026-10-13 09_14_15-FSAEvent_Versionshinweis_Veranstaltungs_API_DE_v2.docx  -  Schreibgeschützt - Wo.png

2026-10-13 09_14_15-FSAEvent_Versionshinweis_Veranstaltungs_API_DE_v2.docx  -  Schreibgeschützt - Wo.png


Wie aktiviere ich den API-Zugriff? (1)

Für Administratoren. Gehen Sie zu Einstellungen → FSA Service und öffnen Sie den Reiter Kontakte-/Events-API.

  • Stellen Sie API aktivieren auf Aktiviert.

  • Erstellen Sie weiter unten auf derselben Seite Ihre Zugriffstoken.

  • Eine Aktivierung und ein Satz Zugriffstoken gelten für die Kontakte- und die Events-Schnittstelle. Die Events-API wird gemäss der FSA-API vorkonfiguriert bereitgestellt.


Abbildung 1: Einstellungen → FSA Service → Kontakte-/Events-API mit dem Schalter «API aktivieren»

eapi.png



Wie rufe ich die Eventsliste ab? (2)

Für Entwickler. Senden Sie eine GET-Anfrage, mit Ihrer Organisations-ID als {oid}:

  • GET /fsa/v2.0/event/{oid}/events


Parameter

Werte

Funktion

pageNo

Zahl, z. B. 1

Seite, die zurückgegeben wird.

pageLimit

Zahl, z. B. 32

Anzahl Events pro Seite.

status

open, running, ended, cancelled (durch Komma getrennt)

Zeigt nur Events mit diesem Ausführungsstatus.

time_filter

nextmonth, next3months, nextyear, pastevents (Gross-/Kleinschreibung egal)

Zeigt nur Events in diesem Zeitraum.


  • Die Events sind nach dem frühesten Startdatum sortiert, die nächsten zuerst.

  • Vergangene Events werden nicht angezeigt, ausser Sie verwenden time_filter=pastevents.

  • Die Antwort enthält am Ende einen pagination-Block: total_records, total_pages, page_no, page_limit sowie Links zur nächsten und vorherigen Seite.

 

Beispiel

?status=open&time_filter=nextmonth liefert offene Events, die ab heute bis zum gleichen Datum im nächsten Monat stattfinden. Beide Filter lassen sich kombinieren.




Welche Events werden zurückgegeben? (3)


  • Nur Events mit publication_status = published.

  • Interne Events und Events für eingeladene Kontakte werden nie zurückgegeben. In der Liste erscheinen nur öffentliche Events.

  • Links (detail_url und die Anmelde-url) zeigen immer auf die Hauptdomain der Organisation.




Was enthält ein Event in der Liste? (4)


Feld

Inhalt

id, scope, publication_status

Event-ID, wer das Event sehen darf und ob es veröffentlicht ist.

execution_status

open, running, ended oder cancelled.

hierarchy

parent_id, root_id (das Top-Event), has_children und children_count.

title, summary

Texte in der gewünschten Sprache.

location, categories

Die Sichtbarkeit folgt den Einstellungen des Vereins (siehe Abschnitt 5).

dates

Alle Termine des Events: id, start, end, door_opening und full_day.

media

Bild-Links aus der Ausschreibung.

pricing

Preisübersicht des Events (siehe Abschnitt 6).

seats

max_participants: ob eine Begrenzung gesetzt ist und wie hoch sie ist.

registration

status, closes_at, url und subscription_status (siehe Abschnitt 7).

documents_count

Anzahl der in der Ausschreibung hochgeladenen Dokumente.

detail_url

Link zur Eventsseite.




Wie beeinflussen die Einstellungen des Vereins die Liste? (5)


Vereine legen in den Einstellungen der Ausschreibung fest, was angezeigt wird. Die API richtet sich danach:


Feld

Wenn in den Einstellungen der Ausschreibung ausgeblendet

location

value ist null. Wenn angezeigt, folgt der Wert der gewählten Anzeigeeinstellung: vollständiger Standort, nur Ort oder benutzerdefinierter Text.

categories

data ist null.

pricing

Alle Preisfelder sind null.

pricing.open_seats

count ist null.

Bitte beachten

Ausgeblendete Felder werden nie entfernt. Der Schlüssel bleibt mit dem Wert null in der Antwort, damit die Struktur immer gleich ist.




Wie werden Eintrittspreise in der Liste angezeigt? (6)


pricing_type ist single, free oder range. tickets_count hat in allen zutreffenden Fällen einen Wert.


Tickets des Events

pricing_type

ticket_price

price_from

price_to

1 Ticket

single

Ticketpreis

null

null

Mehr als 1 Ticket, unterschiedliche Preise

range

null

Tiefster Preis

Höchster Preis

Mehr als 1 Ticket, gleicher Preis

range

null

Gleicher Preis

Gleicher Preis

Alle Tickets sind kostenlos

free

null

null

null

Mix aus kostenlosen und bezahlten Tickets

range

null

0

Höchster Preis


  • Bei free ist auch currency null.

  • open_seats.count zeigt die noch verfügbaren Plätze, ausser der Verein blendet den Wert aus (siehe Abschnitt 5).




Was bedeutet der Anmeldestatus? (7)


Jedes Event in der Liste hat registration.subscription_status. Es verwendet dieselben Werte wie die Eventdetails:


Wert

Bedeutung

subscription_possible

Die Anmeldung ist offen.

sold_out

Alle Plätze sind vergeben.

no_subscription_needed

Es ist keine Anmeldung nötig.

execution_uncertain

Es ist noch nicht sicher, ob das Event stattfindet.

subscription_closed

Die Anmeldung ist geschlossen.

ongoing

Das Event findet gerade statt.

past_event

Das Event ist vorbei.

event_is_cancelled

Das Event wurde abgesagt.




Wie lade ich ein einzelnes Event? (8)


Für Entwickler. Senden Sie eine GET-Anfrage mit der Event-ID:

  • GET /fsa/v2.0/event/{oid}/events/{eventId}

 

Die Details enthalten alles aus der Liste und zusätzlich:

  • hierarchy.path und hierarchy.depth, die zeigen, wo das Event in der Eventhierarchie steht.

  • responsible_persons: ID, Vor- und Nachname, Funktion, Mobilnummer und E-Mail.

  • pricing.tickets: Name, Preis, Status, MWST-Satz und Kapazität (max_bookings, available_bookings, waiting_list_count). Deaktivierte Tickets werden weggelassen.

  • pricing.resource_pricing: Zusatzleistungen, mit Preis, Beschreibung und MWST-Satz.

  • registration: opens_at, closes_at, approval_required, waiting_list_enabled und subscription_status.

  • Der neue Block announcement (siehe Abschnitt 10).

 

Tickets sind mit ticket_type gekennzeichnet:


ticket_type

Bedeutung

bundle

Eigenständiges Ticket ohne Zusatztickets.

composite

Ticket mit Zusatztickets in sub_tickets.

single

Zusatzticket eines Composite-Tickets.




Was kann ein Verein in den Eventdetails ausblenden? (9)


Die Einstellungen der Infobox und der Ankündigung steuern die Details. Ausgeblendete Felder behalten ihren Schlüssel und werden auf null gesetzt, wie in Abschnitt 5.


Feld

Wenn ausgeblendet

dates

data ist null.

location

value ist null. Wenn angezeigt, folgt der Wert der Standort-Anzeigeeinstellung, ein benutzerdefinierter Wert wird also so zurückgegeben, wie er erfasst wurde.

categories

data ist null.

pricing

Das Flag visible zeigt die Einstellung. Die Ticket-Parameter bleiben in der Antwort.

pricing.resource_pricing

data ist null.

registration.closes_at

value ist null (Anmeldefrist).

registration.subscription_status

value ist null.

announcement.text_sections

Ausgeblendete Abschnitte haben visible: false, title und content sind null.

announcement.contact

value ist null.

announcement.info_box.subscription_status

value ist null.

announcement.info_box.custom_rows

Ausgeblendete Zeilen haben visible: false, label und content sind null.



Was enthält der Block «announcement»? (10)


Der Block announcement enthält die Inhalte der Ausschreibungsseite des Vereins:

  • media: in den Einstellungen der Ausschreibung hochgeladene Bilder.

  • documents: in den Einstellungen der Ausschreibung hochgeladene Dokumente (ID, Name, Link, Typ).

  • text_sections: vom Administrator hinzugefügte eigene Textabschnitte.

  • contact: Kontaktangaben als Freitext.

  •  

  • info_box: der Anmeldestatus und vom Administrator definierte eigene Zeilen.




Wie lade ich Teilevents? (11)


Ergänzen Sie die Anfrage für die Details um expand=children. Mit depth legen Sie fest, wie viele Ebenen Sie möchten:

  • GET /fsa/v2.0/event/{oid}/events/{eventId}?expand=children&depth=2

 

  • Teilevents erscheinen in einer Liste children innerhalb des Events. Jedes hat die vollständige Struktur eines Events.

  • Jedes Teilevent hat ihre eigene hierarchy (parent_id, root_id, path und depth).

  • Sichtbarkeitseinstellungen, Veröffentlichungsregeln und Sprache gelten für Teilevents genauso.

  • meta.expansion zeigt, was erweitert wurde, sowie die angeforderte und die gelieferte Tiefe.

  • Ohne expand erhalten Sie nur has_children und children_count.


Beispiel

Die Tennis-Meisterschaft hat drei Teilevents. Eine davon, das Herren-Einzel, hat auf Ebene 2 eigene Teilevents (Viertelfinale und Halbfinale).




Welche Fehler können auftreten? (12)


Situation

Schnittstelle

Antwort

Eventmodul ist nicht gebucht

Liste und Details

403 Forbidden

Event ist intern oder für eingeladene Kontakte

Details

403 Access Restricted

Event existiert nicht

Details

404 Not Found




Was sollte ich sonst noch wissen? (13)


Gut zu wissen

Sprachabhängige Felder werden in der Sprache zurückgegeben, die Sie im Header der Anfrage übergeben. Fehlt ein Text in dieser Sprache, erhalten Sie die Version in der Hauptsprache des Vereins.

Bitte beachten

Der frühere Schlüssel status heisst neu execution_status (open, running, ended, cancelled), damit klarer ist, was er beschreibt.


Hilfreich Nicht hilfreich

1 von 1 Personen fanden diese Seite hilfreich