Skip to content

RSVP-Template-API ​

Achte auf die Details!

Diese API behandelt lediglich RSVP-Template-Blocks.

Ein funktionierendes RSVP-Formular besteht aus 2 Grund-Elementen. Einen solchen RSVP-Template-Block, der die Informationen zur Strukture des Formulars beinhaltet, sowie ein Event, das den eigentlichen Termin definiert.

RSVP-Template lesen ​

GET /rsvp-block/:id

Beim Abrufen eines RSVP-Blocks sind keine zusätzlichen Parameter möglich. Es wird lediglich die ID in der Anfrage-URL benötigt, um alle Daten für ein bestimmtes Element zu erhalten.

Mögliche Response ​

json
{
    "name": "Demo RSVP Block",
    "max": 50,
    "maxpp": 2,
    "expires": "2024-12-31T14:29:01.000Z",
    "maybe_option": true,
    "initial_confirmation": false,
    "doi": false,
    "headline": "Join the Add to Calendar User Community!",
    "text": "<p>Entdecke die Event-Tools der nächsten Generation - Add to Calendar Buttons, RSVP und mehr. <strong>Für dich gemacht! </strong>🫵</p>",
    "fields": [
        {
            "type": "hidden",
            "name": "hidden_field",
            "label": "",
            "required": true,
            "default": "ein paar versteckte Informationen"
        },
        {
            "type": "checkbox",
            "name": "required_check",
            "label": "Ein verpflichtender Check",
            "required": true,
            "default": false
        }
    ],
    "date_updated": "2023-12-09T14:54:27.586Z",
    "date_created": "2023-11-19T08:43:16.180Z",
}

RSVP-Template erstellen ​

POST /rsvp-block

Um einen neuen RSVP-Template-Block zu erstellen, musst du mindestens das Feld "name" im Body angeben.

json
{
    "name": "Name des Elements", // nur fĂĽr interne Nutzung relevant
}

Möglicher Request mit allen Feldern ​

json
{
    "name": "Demo RSVP Block",
    "max": 50, // maximale Anzahl von Slots/Plätzen; Standardwert: unbegrenzt
    "maxpp": 2, // maximale Anzahl an Slots pro Anmeldung; Standardwert ist 1
    "expires": "2024-12-31T14:29:01.000Z", // ein optionales Ablaufdatum als ISO 8601 UTC datetime
    "maybe_option": true,
    "initial_confirmation": false, // falls true wird die initiale Anmeldung stets als "confirmed" gewertet
    "doi": false, // falls true muss jeder Nutzer zunächst seine E-Mail bestätigen
    "headline": "Join the Add to Calendar User Community!",
    "text": "<p>Entdecke die Event-Tools der nächsten Generation - Add to Calendar Buttons, RSVP und mehr. <strong>Für dich gemacht! </strong>🫵</p>", // erlaubt <p>, <strong>, <em>, <u>, <h1>, <h2>, <h3>, <h4>, <ul>, <ol>, <li>, <a>
    "fields": [ // Details hierzu findest du unter dem Code-Block
        {
            "type": "text",
            "name": "additional_info",
            "label": "Zusätzliche Nachricht",
            "required": false,
            "placeholder": "Hier einfĂĽgen...",
            "default": "Ruf mich doch mal an"
        },
        {
            "type": "checkbox",
            "name": "required_check",
            "label": "Ein verpflichtender Check",
            "required": true,
            "default": false
        }
    ],
}

For the fields array, you can add the following types: Im Rahmen des "fields"-Arrays können folgende Typen (type) genutzt werden:

  • text: Stellt ein normales Eingabefeld vom Typ Text dar.
  • number: Stellt ein Eingabefeld vom Typ Zahl dar.
  • checkbox: Rendert eine Checkbox.
  • radio: Render einen Radio-Button. Aufeinanderfolgende Radio-Buttons werden zu einer Gruppe zusammengefasst.
  • label: Stell reinen Text dar. Wird das Feld vor einem Radio-Button platziert, wird es als Label der Gruppe verwendet.
  • hidden: Wird auf der UI-Ebene nicht angezeigt. Kann verwendet werden, um bei jeder Anmeldung zusätzliche Daten zu ĂĽbermitteln.

Neben dem type, können folgende Attribute zugefügt werden:

  • name: Der "Identifier". Wird auch fĂĽr die Ergebnis-Tabelle genutzt.
  • required: true/false.
  • label: Das Label des Felds. Ein einfacher String.
  • placeholder: Ein optionaler Platzhalter (nur bei "text", "number" und "radio"). Bei Radio-Buttons ist dies der "Value" des Felds.
  • default: Der Standard-Wert des Felds. String bei "text", "number" und "hidden". True/false bei "checkbox" und "radio".

Mögliche Response ​

json
{
    "success": "RSVP block created",
    "id": "67"
}

Die id aus einer erfolgreichen RĂĽckmeldung kannst du fĂĽr weitere Schritte verwenden - bspw. im Zuge der Erstellung eines neuen Events.


RSVP-Template aktualisieren ​

PATCH /rsvp-block/:id

Die Aktualisierung eines RSVP-Template-Blocks folgt den gleichen Regeln wie die Erstellung eines neuen.

Beachte die Datenstruktur

Wenn du das Template für ein aktives RSVP-Formular änderst, ändert sich die Datenstruktur.

Dies ist kein schwerwiegendes Problem, da wir uns technisch darum kĂĽmmern. Es wĂĽrde also nicht direkt etwas "kaputt" gehen.

Allerdings könnten die gesammelten Daten schwieriger zu vergleichen sein, da einige Antworten anders aussehen als andere!


RSVP-Template löschen ​

DELETE /rsvp-block/:id

Das Löschen eines RSVP-Blocks ist einfach. Gib hierzu lediglich die id an und das Element ist verschwunden.

Sei bei diesem Aufruf sehr vorsichtig!

Dies löscht keine Events oder Gruppen!

Diese bleiben aktiv, verwandeln sich aber in reguläre Events, da die RSVP-Verbindungen verloren geht.

Das bedeutet, dass ein eingebundenes RSVP-Formular zu einem Add to Calendar Button wird.