Veranstaltungen ermitteln
Die Liste der Veranstaltungen ermitteln
curl https://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 https://hostname/webservice/events/id \ -u webservice:apikey curl https://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>
Veranstaltungen anlegen und ändern
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 https://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 https://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.
Teilnehmerdaten ermitteln und ändern
Teilnehmerliste einer Veranstaltung ermitteln
curl https://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 https://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 https://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.