Die Liste der Veranstaltungen ermitteln
curl http://hostname/webservice/events \ -u webservice:apikey \ -G \ -d filter[include_closed]=true|false
Als Ergebnis wird ein XML-Dokument geliefert, das im Element events
alle Veranstaltungen enthält, auf die die (optionalen) Filterkriterien zutreffen. Jede Veranstaltung ist in einem event
-Element enthalten.
Mit dem Filter filter[include_closed]
, dessen Wert true
oder false
(Voreinstellung) sein kann, können auch abgeschlossene Veranstaltungen in das Suchergebnis aufgenommen werden.
<?xml version="1.0" encoding="UTF-8"?> <events type="array"> <event> <closed type="boolean">false</closed> <closed_at nil="true"></closed_at> <details>wine, snacks, arrival, car, rockets</details> <ends_at type="datetime">2010-10-03T00:00:00+02:00</ends_at> <id type="integer">1</id> <name>back2010</name> <starts_at type="datetime">2010-10-01T00:00:00+02:00</starts_at> <title>Back 2010</title> </event> <event> ... </event> </events>
Eine einzelne Veranstaltung auslesen
Eine einzelne Veranstaltung kann über ihre ID oder ihren Namen ermittelt werden:
curl http://hostname/webservice/events/id \ -u webservice:apikey curl http://hostname/webservice/events \ -u webservice:apikey \ -G \ -d filter[name]="event_name"
Das Ergebnis ist die einzelne Veranstaltung mit ihren Feldern im Element event
.
<?xml version="1.0" encoding="UTF-8"?> <event> <closed>false</closed> <closed_at type="datetime">2010-07-13T16:00:36+02:00</closed_at> <details>wine, snacks, arrival, car, rockets</details> <ends_at type="datetime">2010-07-03T00:00:00+02:00</ends_at> <id type="integer">1</id> <name>Sommer Event</name> <starts_at type="datetime">2010-07-01T00:00:00+02:00</starts_at> <title>sommer_event</title> </event>
Eine Veranstaltung anlegen
Eine Veranstaltung kann über einen POST-Request angelegt werden. Es muss mindestens der Name der Veranstaltung als der Parameter event[name]
angegeben werden.
curl http://hostname/webservice/events \ -u webservice:apikey \ -X POST \ --form-string event[name]='new_event_name' \ --form-string event[title]='New Event Title' \ --form-string event[starts_at]='2008-12-31T00:00:00+01:00' \ --form-string event[ends_at]='2009-01-01T01:00:00+01:00' \ --form-string event[details]='day1, day2'
Als Ergebnis wird die neue Veranstaltung zurückgegeben:
<?xml version="1.0" encoding="UTF-8"?> <event> <closed type="boolean">false</closed> <closed_at nil="true"></closed_at> <details>day1, day2</details> <ends_at type="datetime">2009-01-01T01:00:00+01:00</ends_at> <id type="integer">3</id> <name>new_event_name</name> <starts_at type="datetime">2008-12-31T00:00:00+01:00</starts_at> <title>New Event Title</title> </event>
Eine Veranstaltung ändern
Um die Daten einer Veranstaltung zu ändern, verwenden Sie einen PUT-Request unter Angabe der Veranstaltungs-ID in der URL sowie der zu ändernden Felder im Body des Requests:
curl curl http://hostname/webservice/events/id \ -u webservice:apikey \ -X PUT \ --form-string event[title]="Invitation to next summer's product show"
Wie beim Anlegen gibt das OMC die Veranstaltungsdaten zurück.
Teilnehmerliste einer Veranstaltung ermitteln
curl http://hostname/webservice/events/id/contacts \ -u webservice:apikey
Das Ergebnis ist die Liste der Teilnehmer im Element event_contacts
. Jeder Teilnehmer ist darin in einem event_contact
-Element enthalten. Das Element details
eines Teilnehmers enthält dessen Teilnehmerfelder mit deren Werten als Unterelemente.
<?xml version="1.0" encoding="UTF-8"?> <event_contacts type="array"> <event_contact> <contact_id type="integer">1</contact_id> <details> <car>true</car> <snacks>popcorn, chocolate</snacks> </details> <event_id type="integer">1</event_id> <id>1</id> <state>reg</state> </event_contact> <event_contact> <contact_id type="integer">2</contact_id> <event_id type="integer">1</event_id> <details> <car>true</car> <snacks>popcorn, chocolate</snacks> </details> <id>2</id> <state>reg</state> </event_contact> </event_contacts>
Einen einzelnen Veranstaltungsteilnehmer ermitteln
curl http://hostname/webservice/events/id/contacts/contact_id \ -u webservice:apikey
Das Ergebnis ist der über die contact_id
referenzierte Teilnehmer im event_contact
-Element:
<?xml version="1.0" encoding="UTF-8"?> <event_contact> <contact_id type="integer">2</contact_id> <details> <car>true</car> <snacks>popcorn, chocolate</snacks> </details> <event_id type="integer">1</event_id> <id>2</id> <state>reg</state> </event_contact>
Die Daten eines Veranstaltungsteilnehmers ändern
Verwenden Sie einen PUT-Request nach dem folgenden Schema, um die Daten eines Veranstaltungsteilnehmers zu ändern. Geben Sie die zu ändernden Felder als Parameter an:
curl http://hostname/webservice/events/id/contacts/contact_id \ -u webservice:apikey \ -X PUT \ --form-string event_contact[details][car]="false" \ --form-string event_contact[state]="att"
Das Ergebnis ist wie bei der Ermittlung des Teilnehmers der über die contact_id
referenzierte Teilnehmer im event_contact
-Element.