Die Liste der Accounts ermitteln, paginiert
curl http://hostname/webservice/accounts \ -u webservice:apikey \ -G \ -d filter[per_page]='2' \ -d filter[page]='1'
Mit dem Filter per_page
kann die maximal zurückzugebende Anzahl Accounts begrenzt werden. Der Maximalwert von per_page
ist 1000 (dies ist zugleich die Voreinstellung). Mit page
kann der zu liefernde Abschnitt der Accountliste festgelegt werden, basierend auf der Abschnittgröße per_page
.
Als Ergebnis wird ein XML-Dokument geliefert, das im Root-Element accounts
, je nach vorhandener Datenmenge und der angegebenen Filterwerte, bis zu per_page
Accounts enthält. Jeder Account ist in einem account
-Element enthalten. Es werden nur die wichtigsten Account-Daten geliefert:
<?xml version="1.0" encoding="UTF-8"?> <accounts type="array"> <account> <home_page>www.example.org</home_page> <id type="integer">5</id> <name>ADSL Telecomm Ltd.</name> <parent_id nil="true"></parent_id> <phone>099-99 99 99 99</phone> <responsible1 nil="true"></responsible1> <responsible2 nil="true"></responsible2> </account> <account> <home_page nil="true"></home_page> <id type="integer">7</id> <name>Fantasia Ltd.</name> <parent_id nil="true"></parent_id> <phone nil="true"></phone> <responsible1 nil="true"></responsible1> <responsible2 nil="true"></responsible2> </account> </accounts>
Die Liste der Accounts mit ihren Standorten ermitteln
Es ist möglich, vom OMC zusätzlich zu den Accountdaten auch die Standorte anzufordern:
curl http://hostname/webservice/accounts \ -u webservice:apikey \ -G \ -d include[]="locations"
Das OMC liefert die folgende XML-Antwort:
<?xml version="1.0" encoding="UTF-8"?> <accounts type="array"> <account> <home_page>www.example.org</home_page> <id type="integer">5</id> <name>ADSL Telecomm Ltd.</name> <parent_id nil="true"></parent_id> <phone>099-99 99 99 99</phone> <locations type="array"> <location> <city>Berlin</city> <address1 nil="true"></address1> <address2>Unter den Linden 20</address2> <country>Germany</country> <postal_code>10117</postal_code> <account_id type="integer">1</account_id> <lng nil="true"></lng> <id type="integer">1</id> <want_assign_geoloc type="boolean">false</want_assign_geoloc> <lat nil="true"></lat> <state nil="true"></state> <address0 nil="true"></address0> </location> ... </locations> <responsible1 nil="true"></responsible1> <responsible2 nil="true"></responsible2> </account> <account> <home_page nil="true"></home_page> <id type="integer">7</id> <name>Fantasia Ltd.</name> <phone nil="true"></phone> <parent_id nil="true"></parent_id> <locations type="array"/> <responsible1 nil="true"></responsible1> <responsible2 nil="true"></responsible2> </account> </accounts>
Einen Account finden
Die Daten eines bestimmten Accounts kann man über dessen ID direkt ermitteln:
curl http://hostname/webservice/accounts/id \ -u webservice:apikey
Das OMC liefert, sofern der gesuchte Account existiert, ein XML-Dokument mit dessen Daten. Diese sind im Element account
enthalten. Beispiel:
<?xml version="1.0" encoding="UTF-8"?> <account> <home_page>www.example.org</home_page> <id type="integer">1</id> <name>Example AG</name> <parent_id type="integer" nil="true"></parent_id> <phone nil="true"></phone> <responsible1 nil="true"></responsible1> <responsible2 nil="true"></responsible2> </account>
Auch hier kann man mit -d include[]="locations"
die dem Account zugeordneten Standorte anfordern.
Existiert kein Account mit der angegebenen ID, liefert das OMC den Status-Code 404 sowie eine entsprechende Meldung im Element hash
.
Account anlegen
Über einen POST-Request können Sie einen Account anlegen. Es muss mindestens dessen Name als der Parameter account[name]
angegeben werden:
curl http://hostname/webservice/accounts \ -u webservice:apikey \ -X POST \ --form-string account[name]='New Webservice AG' \ --form-string account[home_page]='http://nws.ag' \ --form-string account[phone]='+49-123-56789-0' \ --form-string account[responsible1]='first_responsible' \ --form-string account[responsible2]='another_responsible'
Das OMC gibt den kompletten Account zurück:
<?xml version="1.0" encoding="UTF-8"?> <account> <name>New Webservice AG</name> <home_page>http://nws.ag</home_page> <id type="integer">5</id> <phone>+49-123-56789-0</phone> <parent_id nil="true"></parent_id> <responsible1>first_responsible</responsible1> <responsible2>another_responsible</responsible2> </account>
Account ändern
Um Felder eines Accounts zu ändern, verwenden Sie einen PUT-Request unter Angabe der Account-ID in der URL sowie der zu ändernden Felder im Body des Requests:
curl curl http://hostname/webservice/accounts/id \ -u webservice:apikey \ -X PUT \ --form-string account[home_page]='http://nws.ag' \ --form-string account[phone]='+49-123-56789-0'
Wie beim Anlegen eines Accounts gibt das OMC den Account zurück.