API-Schnittstelle zu VereinOnline

Die API-Schnittstelle ermöglicht den Abruf der Daten per JSON. Der Web-Server fragt dabei im Hintergrund den VereinOnline-Server an. Die API-Schnittstelle muss zunächst freigeschaltet sein.

Anschließend benötigt Sie einen entsprechend berechtigten Benutzerzugang (wie ein normales Mitglied mit Userlogin, Passwort un einer zugeordneten Rollen mit den gewünschten Rechten, z.B. Veranstaltungen lesen usf.).

Es existiert zudem ein WordPress-Plugin, welches genau dieses API nutzt und selbst WordPress-Tags bereitstellt.

Die Erklärung erfolgt im Nachfolgendem anhand von PHP, dies ist aber nur beispielhaft zu sehen.

Alle Parameter müssen utf8-codiert übergeben werden.


Nutzung per PHP - Variante 1: Übergabe der Parameter als JSON-Daten
$url = "https://www.vereinonline.org/IHRVEREIN/";
$usr = "...";   // der API-Benutzername mit entsprechenden Rollenrechten ("admin" ist nicht zulässig!)
$pwd = "...";   // das zugehörige Passwort
$token="A/$usr/".md5($pwd);
print_r(VereinOnlineRequest($url, "GetMembers", array("suche"=>utf8_encode("müller")), $token));

function VereinOnlineRequest($url, $funktion, $daten, $token)
{
   $curl=curl_init();
   curl_setopt($curl, CURLOPT_URL, $url."?api=$funktion");
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json", "Authorization: $token"));
   curl_setopt($curl, CURLOPT_POST, 1);
   curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($daten));
   return json_decode(curl_exec($curl));
}

Nutzung per PHP - Variante 2: Übergabe der Parameter als Aufrufparameter
$url = "https://www.vereinonline.org/IHRVEREIN/";
$usr = "...";   // der API-Benutzername mit entsprechenden Rollenrechten ("admin" ist nicht zulässig!)
$pwd = "...";   // das zugehörige Passwort
$token="A/$usr/".md5($pwd);
print_r(VereinOnlineRequest($url, "GetMembers", array("suche"=>utf8_encode("müller")), $token));

function VereinOnlineRequest($url, $funktion, $daten, $token)
{
   $url.="?api=$funktion&token=$token";
   foreach($daten as $k=>$v) $url.="&$k=".urlencode($v);
   $curl=curl_init();
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   return json_decode(curl_exec($curl));
}

Nutzung per JavaScript: (mit Hilfe der jQuery-Bibliothek):

jQuery.ajax(
{
  type: 'GET',
  crossDomain: true, 
  url: ' https://www.vereinonline.org/IHRVEREIN/?api=GetMembers&token=...',
  success: function(result) { ... },
  error: function(r,e,txt) { ... } 
});

Nutzung per PowerShell: (Bereitgestellt von einem VereinOnline-Nutzer)
PowerShellSample.ps1


Funktionen der Schnittstelle


Abruf Mitgliederliste: "GetMembers"

ArtNameBeschreibung
MethodennameGetMembers
(analog "GetContacts" für externe Kontakte)
Übergabeparameterfelder optional:
Liste der zusätzlich angefragten Felder, auch "rollen","gruppen","beitraege","beitraegewert","beitragsdaten" und Extrafelder "key_..."

ohne Angabe werden standardmäßig geliefert:
id,mandant,vorname,nachname,firma,p_freigabe,g_freigabe,freigabe,foto
filter optional:
Folgende Möglichkeiten:
  • SQL-Ausdruck zur Einschränkung der Datensätze:
    nur Felder aus der Mitglieder-Feldliste, keine Extrafelder, keine Klammern erlaubt
    z.B.: nachname='Meier' AND geburtstag>'2010-01-01'
  • rolle=123
  • gruppe=456
  • gruppenleiter=123
  • gruppenleiter2=123 (1 steht für Leiter, 2 steht für Stellvertreter)
  • key_FELDNAME=wert
  • key_FELDNAME=*
rolleoptional:
Einschränkung auf eine Rolle, z.B. "Mitglieder"
gruppeoptional:
Einschränkung auf eine Gruppe, z.B. "Tennis"
sortoptional:
Angabe von Feldern zur Sortierung. Standard: nachname, vorname
sucheoptional:
Suchbegriff, sucht in Vorname und Nachname
plzoptional:
PLZ, gibt die Geoposition des Mitglieds und die Luftlinie in km zurück (Geodaten müssen aktiviert sein)
Übergabe: ##### oder D-##### oder A-#### oder CH-####
kmoptional:
Kilometer-Wert, schränkt die Rückgabe der PLZ-Suche auf den km-Radius ein
RückgabeparameterArrayListe Datensätze
  • Mitgliedsfelder: id,mandant,vorname,nachname,firma,p_freigabe,g_freigabe,freigabe,foto)
  • zusätzlich angefragte Felder ("felder") aus Anfrage bzw. Parameter (s.u.)
  • "name": voller Name des Mitglieds
  • "fotourl": Url zum Foto

zum Beispiel alle Mitglieder mit der Rolle "Mitglied", deren Nachname mit "Mü" beginnen:
$parameter=array();
$parameter["filter"]="nachname LIKE 'Mü%'";
$parameter["rolle"]="Mitglied";

$daten=VereinOnlineRequest($url, "GetMembers", $parameter, $token);

if ($daten->error!="") 
{
   echo $daten->error."<BR>";
}
else
{
   foreach($daten as $mitglied)
   {
      echo "ID=".$mitglied->id.", ";
      echo "Name=".$mitglied->vorname." ".$mitglied->nachname."<BR>";
   }
}

Optionale Konfigurierbarkeit in Administration/Basiskonfiguration/Parameter:

  • Einschränkung der gelieferten Felder, andere Felder werden nicht zurückgegeben selbst wenn über das API angefordert:
    api.getmembers.felder.freigegeben=vorname,nachname,p_email,g_email

  • Weitere Bedingungen:
    api.getmembers.datensatz.freigegeben=key_ABC=123|branche=Finanzen

  • Ergänzende Felder, die das API zurückliefern soll (analog "felder" aus der Anfrage):
    api.getmembers.felder=p_email,g_email

  • Mitglieds-Feld, das nicht leer sein darf:
    api.getmembers.filter=mitgliedsnummer


Abruf aller Daten eines Mitglieds: "GetMember"

ArtNameBeschreibung
MethodennameGetMember
(analog "GetContact" für externe Kontakte)
ÜbergabeparameteridID der Mitglieds
RückgabeparameterObjektEin Objekt
  • Alle Daten des Mitglieds ("vorname", "nachname", ...)
  • Alle Extradelder (key_extrafeld1, ...)
  • "rollen"
  • "gruppen"
  • "gruppenids"
  • "code"
  • "maxmahnstufe"

Zum Beispiel das Mitglied mit der ID=12345:
$daten=VereinOnlineRequest($url, "GetMember", array("id"=>12345), $token);
if ($daten->error!="") 
{
   echo $daten->error."<BR>";
}
else
{
   echo "ID=".$daten->id.", ";
   echo "Vorname=".$daten->vorname.", ";
   echo "Nachname=".$daten->nachname.", ";
   echo "Strasse=".$daten->p_strasse.", ";
   echo "Ort=".$daten->p_ort."<BR>";
   //... viele weitere Daten!
}

Optionale Konfigurierbarkeit in Administration/Basiskonfiguration/Parameter:

  • Einschränkung der gelieferten Felder:
    api.getmembers.felder.freigegeben=vorname,nachname,p_email,g_email

  • Weitere Bedingungen:
    api.getmembers.datensatz.freigegeben=key_ABC=123|branche=Finanzen


Anlage eines Mitglieds: "CreateMember"

ArtNameBeschreibung
[-]CreateMember
Übergabeparametervorname
nachname
...
key_FELDNAME1
rolle=Name
gruppe=Name
rollen=Name1,..
gruppen=Name1,..
beitraege=Name1,..
beitragsgruppen=Name1,..
einheit=Kürzel (bei VerbandOnline)
Daten
Rückgabeparameter"id" des neuen Datensatzes oder "error"

Beispiel:
$daten=VereinOnlineRequest($url, "CreateMember", array("vorname"=>"Anton", "nachname"=>"Meier"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "ID: ".$daten->id;


Ändern eines Mitglieds: "UpdateMember"

ArtNameBeschreibung
MethodennameUpdateMember
ÜbergabeparameteridID des zu ändernden Datensatzes
vorname
nachname
...
key_FELDNAME1
rollen=[-]Name1,..
gruppen=[-]Name1,..
beitraege=[-]Name1,..
beitragsgruppen=[-]Name1,..
einheit=Kürzel (bei VerbandOnline)
Daten
Rückgabeparameter"id" des Datensatzes oder "error"

Beispiel:
$daten=VereinOnlineRequest($url, "UpdateMember", array("id"=>12345, "vorname"=>"Anton", "nachname"=>"Meier"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "ID: ".$daten->id;


Löschen eines Mitglieds: "DeleteMember"

ArtNameBeschreibung
MethodennameDeleteMember
ÜbergabeparameteridID des zu löschenden Datensatzes
Rückgabeparameter"id" des Datensatzes oder "error"

Beispiel:
$daten=VereinOnlineRequest($url, "DeleteMember", array("id"=>12345), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "ID: ".$daten->id;


Abruf Veranstaltungsliste: "GetEvents"

ArtNameBeschreibung
MethodennameGetEvents
Übergabeparametertypoptional
1=öffentliche Veranstaltung, 11=interne Veranstaltung
100... eigene Typen (Administration/Optionen/Veranstaltungen/Details/Weitere "Veranstaltungsart"-Listeneinträge)
filteroptional:
SQL-Ausdruck zur Einschränkung der Datensätze
jahroptional:
"2020": nur aus dem Jahr 2020 (beispielhaft)
"zukunft": für alle zukünftigen Termine
"zukunft12" für alle ab in 12 Monaten
"aktuellermonat"
"vergangenheit": für vergangene Termine
"aktuellesjahr"
"naechstermonat"
gruppenidoptional:
"1234": nur Gruppentermine der angegebenen Gruppen-ID 1234 (beispielhaft)
"1234+" es werden auch alle Veranstaltungen der Untergruppen zurückgegeben.
"#gruppenid#" es wird die Gruppen-ID aus dem Url-Parameter "id" entnommen.
monatoptional:
nur Termine aus dem angegebenen Monat (Format: "YYYYMM")
abmonatoptional:
nur Termine ab dem angegebenen Monat (Format: "YYYYMM")
kostenfremdoptional:
nur ein Kostenbereich (z.B. "1000-2000")
searchoptional:
Suchbegriff, der in den Feldern "titel", "beschreibung", "ort" sucht
restrictionoptional:
Angabe von Einschränkungen: feldname=wert;...
sichtbaroptional:
"alle" = die Veranstaltungen aller Sichtbarkeiten werden geliefert
RückgabeparameterArrayListe Datensätze
je nach Rollenrecht eingeschränkte oder alle Daten
  • Veranstaltungsfelder ("id", "datum", "titel", "ort", ...)
  • Alle Extrafelder "key_..."
  • "anmeldungen": Anzahl Anmeldungen
  • "freieplaetze": Anzahl der noch freien Plätze
  • "wotagdatum": formatiertes Datum
  • "url": VereinOnline-Url der veranstaltenden Einheit
  • "ampel": liefert den Anmeldestatus "gruen","rot","gelb"
  • "bildurl": die Url des Verabstaltungsbildes
  • "link" Link zur Veranstaltung
  • "beschreibungteaser": die ersten 200 Zeichen der Beschreibung
  • "rabattinfo": Text zu Frühbucherrabatt, sofern relevant
  • "verein" Vereinsname (bei VerbandOnline)

Hinweis: Es werden nur öffentliche Termine geliefert (Feld "Sichtbarkeit")!

$daten=VereinOnlineRequest($url, "GetEvents", array("jahr"=>"zukunft"), $token);
if ($daten->error!="")
{
   echo $daten->error."<BR>";
}
else
{
   foreach($daten as $veranstaltung)
   {
      echo "ID=".$veranstaltung->id.", ";
      echo "Datum=".$veranstaltung->datum.", ";
      echo "Titel=".$veranstaltung->titel."<BR>";
   }
}

Optionale Konfigurierbarkeit in Administration/Basiskonfiguration/Parameter:

  • Angabe der Sortierung:
    api.getevents.order=datum DESC, zeit

  • Fester Titel, um den echten Titel zu verbergen
    api.getevents.titel=belegt


Abruf aller Daten einer Veranstaltung: "GetEvent"

ArtNameBeschreibung
MethodennameGetEvent
ÜbergabeparameteridID der Veranstaltung
typoptional
1=öffentliche Veranstaltung, 11=interne Veranstaltung
100... eigene Typen (Administration/Optionen/Veranstaltungen/Details/Weitere "Veranstaltungsart"-Listeneinträge)
RückgabeparameterObjektEin Objekt
je nach Rollenrecht eingeschränkte oder alle Daten
  • Daten der Veranstaltung ("id", "datum", "titel", "ort", ...)
  • Alle Extrafelder "key_..."
  • "anmeldungen": Anzahl Anmeldungen
  • "freieplaetze": Anzahl der noch freien Plätze
  • "wotagdatum": formatiertes Datum
  • "gruppenname": Name der veranstaltenden Gruppe
  • "raume": Alle gebuchten Räume
  • "link": Link zur Veranstaltung
  • "beschreibungteaser": die ersten 200 Zeichen der Beschreibung
  • "rabattinfo": Text zu Frühbucherrabatt, sofern relevant
  • "verein" Vereinsname (bei VerbandOnline)

Zum Beispiel die Veranstaltung mit der ID=2345:
$daten=VereinOnlineRequest($url, "GetEvent", array("id"=>2345), $token);
if ($daten->error!="")
{
   echo $daten->error."<BR>";
}
else
{
   echo "ID=".$daten->id.", ";
   echo "Datum=".$daten->datum.", ";
   echo "Titel=".$daten->titel.", ";
   echo "Ort=".$daten->ort.", ";
   echo "Zeit=".$daten->zeit."<BR>";
   //... viele weitere Daten!
}


Abruf von Anmeldungen: "GetRegistrations"

ArtNameBeschreibung
MethodennameGetRegistrations
ÜbergabeparameteridID der Veranstaltung
RückgabeparameterArrayListe Datensätze:
  • "veranstaltungid"
  • "vorname"
  • "nachname"
  • "geburtstag"
  • "email"
  • "adresse"
  • "firma"
  • "status"
  • "userid"
  • "anmeldeid"
  • "anmerkungen"
  • "anmerkungenpublic"
  • "zeitpunkt"
  • "key_..."

Beispiel:
$daten=VereinOnlineRequest($url, "GetRegistrations", array("id"=>12345), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Erfassung einer Anmeldung: "CreateRegistration"

ArtNameBeschreibung
MethodennameCreateRegistration
ÜbergabeparameterveranstaltungidID der Veranstaltung
userid
-oder-
vorname
nachname
ID des Mitglieds
-oder-
Vorname und Nachname des externen Teilnehmers
 
begleiter1.vorname
begleiter1.nachname
begleiter2.vorname
begleiter2.nachname
usw.
Vornamen/Nachnamen der Begleiter (optional)
anmerkungText, der als Anmerkung ergänzt wird (optional)
Rückgabeparameter"id" des neuen Datensatzes oder "error"

Beispiel:
$daten=VereinOnlineRequest($url, "CreateRegistration", array("veranstaltungid"=>12345, "userid"=>789), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "ID: ".$daten->id;


Ändern einer Anmeldung: "ChangeRegistration"

ArtNameBeschreibung
MethodennameChangeRegistration
ÜbergabeparameteranmeldeidID der Anmeldung
statusNeuer Status der Anmeldung
(0=angemeldet, 1=angemeldet, 3=auf Warteliste)
anmerkungText, der als Anmerkung ergänzt wird
kurs="1": Passt die Anmeldung in allen verbundenen Serienterminen an

Beispiel:
$daten=VereinOnlineRequest($url, "ChangeRegistration", array("anmeldeid"=>12345, "status"=>1, "anmerkung"=>"xyz"), $token);


Abruf von Anmeldungen: "GetCalendar": zentralen Kalender-Daten eines Monats

ArtNameBeschreibung
MethodennameGetCalendar
ÜbergabeparametermMonat
yJahr
typoptional
1=öffentliche Veranstaltung, 11=interne Veranstaltung
100... eigene Typen (Administration/Optionen/Veranstaltungen/Details/Weitere "Veranstaltungsart"-Listeneinträge)
Rückgabeparameteroffset1. Tag des Monats (0…6)
tageAnzahl Tage des Monats
text"Monatsname Jahreszahl"
tagListe von Tagen, an denen Veranstaltungen stattfinden
idListe der IDs zu den Veranstaltungen aus "tag"
datumListe zu Datumswerten
titelListe der Veranstaltungstitel (bei mehr als 1 Termin pro Tag: "X Termine")

Hinweis: Es werden nur öffentliche Termine geliefert (Feld "Sichtbarkeit")!
Beispiel:
$daten=VereinOnlineRequest($url, "GetCalendar", array("m"=>7, "y"=>2023), $token);
print_r($daten);


Anlage eines Mitglieds: "CreateEvent"

ArtNameBeschreibung
MethodennameCreateEvent
Übergabeparameterdatum
titel
...
Daten der Veranstaltung
key_FELDNAME1
key_...
Extrafelder der Veranstaltung
anmeldung1=...
anmeldung2=...
Anlage von "Extrafelder für die Anmeldung bei der Veranstaltung"
Format: Beschreibung|Feldname|Feldtyp|FeldtypDetails|Pflicht

Beispiel:
anmeldung1=Extra+1|extra1
anmeldung2=Extra+2|extra2|select|AAA~BBB~CCC|1
Rückgabeparameter"id" des neuen Datensatzes oder "error" bei Fehler

Beispiel:
$daten=VereinOnlineRequest($url, "CreateEvent", array("datum"=>"2023-07-24", "titel"=>"Sommerfest"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Ändern eines Mitglieds: "UpdateEvent"

ArtNameBeschreibung
MethodennameUpdateEvent
ÜbergabeparameteridID der Veranstaltung
datum
titel
...
key_FELDNAME1
Daten
kurs="1": Passt die Veranstaltung in allen verbundenen Serienterminen an

Beispiel:
$daten=VereinOnlineRequest($url, "UpdateEvent", array("id"=>12345, "datum"=>"2023-07-25", "titel"=>"Sommerfest (verschoben)"), $token);


Abruf aller öffentlichen Newsletter: "GetNewsletter"

ArtNameBeschreibung
MethodennameGetNewsletter
RückgabeparameterArrayListe aller Datensätze:
  • "id"
  • "datum"
  • "titel"
  • "html": HTML-Ansicht des Newsletters
  • "beitraege": Array von IDs (nutzbar für API "GetNewsletterBeitrag")

Beispiel:
$daten=VereinOnlineRequest($url, "GetNewsletter", array(), $token);
print_r($daten);


Abruf aller öffentlichen Newsletter-Beiträge: "GetNewsletterBeitrag"

ArtNameBeschreibung
MethodennameGetNewsletter
Übergabeparameteridoptional:
ID des Beitrags
RückgabeparameterArrayListe aller Datensätze:
  • "id"
  • "rubrik"
  • "datum"
  • "subject"
  • "body"
  • "attachments"
  • "newsletterid"

Beispiel:
$daten=VereinOnlineRequest($url, "GetNewsletterBeitrag", array("id"=>222), $token);
print_r($daten);


Anlage eines Newsletter-Abonnenten: "CreateSubscriber"

ArtNameBeschreibung
MethodennameCreateSubscriber
Übergabeparametervorname
nachname
g_email
gruppe
Daten
Rückgabeparameter"error"- oder "ok"-Wert

Beispiel:
$daten=VereinOnlineRequest($url, "CreateSubscriber", array("vorname"=>"Susi", "nachname"=>"Sorglos", "g_email"=>"susi@sorglos.de"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "OK";


Abruf der flexiblen Listen-Defintionen: "GetLists"

ArtNameBeschreibung
MethodennameGetLists
RückgabeparameterArrayListe Datensätze:
  • "id"
  • "name"
  • "schemaid"
  • "schemaname"

Beispiel:
$daten=VereinOnlineRequest($url, "GetLists", array(), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf von Daten aus einer flexiblen Liste: "GetList"

ArtNameBeschreibung
MethodennameGetList
ÜbergabeparameteridID der flexiblen Liste
filteroptional:
ein Wert im Datensatz, z.B. "mitglied=1234"
returnoptional:
"object": gibt die Daten als Object (Key-Value-Array) zurück
RückgabeparameterArrayListe aller Datensätze:
  • Array von "key=wert" bzw. "key"=>"wert"

Beispiel:
$daten=VereinOnlineRequest($url, "GetList", array("id"=>10), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Anlage eines Datensatzes in einer flexible Liste: "CreateListData"

ArtNameBeschreibung
MethodennameCreateListData
ÜbergabeparameteridID der flexiblen Liste
POST-DatenFELDNAME1=WERT
&FELDNAME2=WERT
&DATEIFELDNAME1=filename|content
&DATEIFELDNAME2[]=filename|content
&DATEIFELDNAME2[]=filename|content
Rückgabeparameterid des neuen Datensatzes, bzw. "error" falls die Listen-ID nicht existiert

Beispiel:
$daten=VereinOnlineRequest($url, "CreateListData", array("id"=>10, "feld1"=>"123", "feld2"=>"abc"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Ändern eines Datensatzes in einer flexible Liste: "UpdateListData"

ArtNameBeschreibung
MethodennameUpdateListData
ÜbergabeparameteridID der flexiblen Liste
data idID des Datensatzes (wird per "_dataid" von "GetList" geliefert)
POST-DatenFELDNAME1=WERT
&FELDNAME2=WERT
&DATEIFELDNAME1=filename|content
&DATEIFELDNAME2[]=filename|content
&DATEIFELDNAME2[]=filename|content
Auch möglich sind die Workflows-Felder: _status, _protokoll
Rückgabeparameterid des Datensatzes, bzw. "error" falls die Listen-ID nicht existiert

Beispiel:
$daten=VereinOnlineRequest($url, "CreateListData", array("id"=>10, "feld1"=>"123", "feld2"=>"abc"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf aller Mitgliedsbeiträge: "GetMemberFees"

ArtNameBeschreibung
MethodennameGetMemberFees
Übergabeparameterkeine
RückgabeparameterArrayListe Datensätze aller Mitgliedsbeiträge

Beispiel:
$daten=VereinOnlineRequest($url, "GetMemberFees", array(), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf aller aktuellen Meldungen: "GetNews"

ArtNameBeschreibung
MethodennameGetNews
Übergabeparameteralle=jaoptional:
liefert auch bereits (gültig bis) abgelaufene News.
maximaloptional:
maximale Anzahl der News
idoptional:
nur diese ID laden
conditionoptional:
Sie haben folgende Möglichkeiten:
  • feld=wert
  • gruppenid=..
  • rollenid=..
RückgabeparameterArrayListe Datensätze
  • Alle Datenfelder ("datum", "subject", "body", ...)
  • alle Extrafelder ("key_feldname1", ...)
  • "bodyteaser": liefert die ersten Zeichen der Nachricht (gemäß Zeichenzahl in der Nachricht) und die Attachments
  • Falls mit zugeordneter Veranstaltung:
    zusätzliche Felder: "veranstaltungtitel", "veranstaltungdatum", "veranstaltunganztage"

Hinweis: Es werden nur gültige öffentliche News zurückgegeben (gültig ab/bis, keine Rollen/Gruppen-Einschränkung, extern sichtbar)

Beispiel:
$daten=VereinOnlineRequest($url, "GetNews", array(), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf von Rechnungsdaten: "GetRechnung"

ArtNameBeschreibung
MethodennameGetRechnung
ÜbergabeparameteridID der Rechnung
RückgabeparameterObjektEin Objekt
  • Alle Daten der Rechnung ("datum", "rechnungsnummer", "betrag", ...)
  • "mwststd"
  • falls es eine zugehörige -R-Rechnung gibt:
    "ruecklastschriftid", "ruecklastschriftstatus", "ruecklastschriftdatum", "ruecklastschriftbezahlt", "ruecklastschriftbezahltdatum"
  • Alle Extrafelder: key_
  • Rechnungspositionen

Beispiel:
$daten=VereinOnlineRequest($url, "GetRechnung", array("id"=>7000), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf aller Gruppen: "GetGroups"

ArtNameBeschreibung
MethodennameGetGroups
Übergabeparametertypoptional:
="v": nur Veranstaltungs-Gruppen
RückgabeparameterArrayListe Datensätze:
  • "id"
  • "name"
  • ...

Beispiel:
$daten=VereinOnlineRequest($url, "GetGroups", array(), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf von Bildergalerie: "GetPictures"

ArtNameBeschreibung
MethodennameGetPictures
RückgabeparameterArrayListe Datensätze:
  • "id"
  • "datum"
  • "titel"
  • "nachlese"
  • "bilder"
  • "bildersmall"
  • "text"

Beispiel:
$daten=VereinOnlineRequest($url, "GetPictures", array(), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf von Shop-Artikeln: "GetShop"

ArtNameBeschreibung
MethodennameGetShop
Übergabeparametermaximaloptional:
maximale Menge Datensätze
kategorieoptional:
Filter auf Kategorie
parentidoptional:
=0: Liefert nur die Hauptartikel
>0: Es werden nur die Unterartikel zum angegebenen Hauptartikel ausgegeben
mandantoptional:
Filter auf eine Einheit (nur VerbandOnline)
RückgabeparameterArrayListe Datensätze aller Hauptartikel
  • alle Felder ("id", "textkurz", ...)
  • alle Extrafelder
  • "bestand": Bestandsanzahl
  • "url": Url der Einheit

Beispiel:
$daten=VereinOnlineRequest($url, "GetShop", array("maximal"=>10), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Abruf von Shop-Käufen: "GetShopPurchases"

ArtNameBeschreibung
MethodennameGetShopPurchases
Übergabeparameteruseriddie ID des Mitglieds/externen Kontakts
RückgabeparameterArrayListe Datensätze aller Käufe: datum,anzahl,artikelid

Beispiel:
$daten=VereinOnlineRequest($url, "GetShopPurchases", array("userid"=>123), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);


Prüfung einer Platzbelegung: "CheckPlace"

ArtNameBeschreibung
MethodennameCheckPlace
ÜbergabeparameterplatzPlatzname oder Platz-ID
beginnBeginn-Zeitpunkt: YYYY-MM-DD HH:MM
endeEnde-Zeitpunkt: YYYY-MM-DD HH:MM
TextRückgabeparameterresult: "-" falls frei
ansonsten "belegt" oder Detailsinfo

Beispiel:
$daten=VereinOnlineRequest($url, "CheckPlace", array("platz"=>"Tennis 1", "beginn"=>"2023-07-24 18:00", "beginn"=>"2023-07-24 22:00"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "Ergebnis: ".$daten->resulr;


Prüfung eines Logins

Methode 1:
ArtNameBeschreibung
MethodennameVerifyLogin
ÜbergabeparameteruserUserlogin
passwordPasswort
result="id": als Ergebnis wird die "id" geliefert
="nameemail": als Ergebnis wird ein Array mit "name" und "email" geliefert
ansonsten: "nachname, vorname"
RückgabeparameterArrayfalls Fehler leerer String, ansonsten: "nachname, vorname" bzw."id"

Beispiel:
$daten=VereinOnlineRequest($url, "VerifyLogin", array("user"=>"susi", "password"=>"test1234"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);

Methode 2:
ArtNameBeschreibung
MethodennameCheckLogin
HinweisAufruf nur erlaubt wenn zuvor authentifizert
ÜbergabeparameteruserUserlogin
passwordPasswort
auth(optional), prüft Rollen/Gruppen-ZUgehörigkeit
z.B. "rolle:ROLLENNAME1,rolle:ROLLENNAME2,gruppe:GRUPPENNAME1" (auch Rollen/Gruppen-ID möglich!)
felder(optional), gibt weitere Felder an, die mit dem positiven Ergebnis zurück geliefert werden: p_email,g_email,rollen,gruppen
RückgabeparameterArraymit "email","vorname","nachname","token","rolle", "id"
bzw. falls Fehler: "error"

Beispiel:
$daten=VereinOnlineRequest($url, "CheckLogin", array("user"=>"susi", "password"=>"test1234"), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   print_r($daten);

Optionale Konfigurierbarkeit in Administration/Basiskonfiguration/Parameter:

  • Einschränkung der gelieferten Felder, andere Felder werden nicht zurückgegeben selbst wenn über das API angefordert:
    api.checklogin.felder.freigegeben=p_email,g_email


Erstellung von Zugangsdaten

ArtNameBeschreibung
MethodennameSendLogin
ÜbergabeparameteridID des Mitglieds
Rückgabeparameterstringdas Ergebnis

Beispiel:
$daten=VereinOnlineRequest($url, "SendLogin", array("id"=>12345), $token);
if ($daten->error!="")
   echo "Fehler: ".$daten->error;
else
   echo "Ergebnis: ".$daten->resulr;