Hierbei handelt es sich um eine PHP-Bibliothek eines Drittanbieters, die darauf abzielt, die Verwendung des Vebra XML-Webdienstes zu vereinfachen.
Die aktuelle Version der API ist Version 9.
Hinweis: Diese Bibliothek ist in keiner Weise mit Vebra verbunden.
Weitere Informationen finden Sie im Benutzerhandbuch oder im Schema der Vebra API Version 9.
PHP 5.3+
Die leichtgewichtige Buzz-HTTP-Request-Bibliothek.
Wenn Sie ein neues Projekt starten oder Ihr bestehendes Projekt Composer nicht verwendet, laden Sie es herunter und installieren Sie es:
curl -s http://getcomposer.org/installer | php
Erstellen Sie eine neue Datei „composer.json“ mit dieser Bibliothek als Abhängigkeit:
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
Wenn Ihr Projekt bereits Composer verwendet, bearbeiten Sie die Datei „composer.json“ in Ihrem Projekt und fügen Sie diese Bibliothek wie oben gezeigt als Abhängigkeit hinzu.
Installieren Sie Ihre Projektabhängigkeiten mit Composer:
php composer.phar install
Erfordern Sie den Composer-Autoloader in Ihrem Skript oder Bootstrap-Code:
<?php
require ' vendor/autoload.php ' ;
Weitere Informationen zu Composer finden Sie auf der Composer-Website.
Anfragen an den Webservice müssen authentifiziert werden. Dies geschieht zunächst mit Ihrem Benutzernamen und Passwort und der Webservice gibt ein Autorisierungstoken zurück, das gespeichert und für alle nachfolgenden Anfragen verwendet werden muss. Wenn Sie das Token nicht speichern, können Sie keine weiteren Anfragen an den Webservice stellen, bis das Authentifizierungstoken abgelaufen ist. Das Authentifizierungstoken ist etwa eine Stunde lang gültig und der Webservice gibt einen 401-Header (Nicht autorisiert) zurück, wenn Sie eine Anfrage mit einem abgelaufenen Autorisierungstoken stellen. In diesem Fall führt die API automatisch eine erneute Authentifizierung durch und erhält ein neues Authentifizierungstoken.
Um dieses Verhalten zu ermöglichen, enthält die Bibliothek eine Standard-Token-Speicherklasse, die das Token aus einer Datei im lokalen Dateisystem speichert und lädt. Wenn Sie das Token anders speichern möchten (z. B. in einer Datenbank), können Sie Ihre eigene Token-Speicherklasse bereitstellen, die TokenStorageInterface implementieren muss.
Um eine Instanz von YDDVebraTokenStorageFile zu erstellen, übergeben Sie den Benutzernamen und den Pfad zu dem Verzeichnis, das Sie zum Speichern der Token verwenden möchten (das beschreibbar sein sollte). Um mehrere Benutzer zu unterstützen, verfügt jeder Benutzer über eine eigene Token-Datei (abgeleitet von einem Hash des Benutzernamens).
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
Diese schlanke HTTP-Request-Bibliothek wird verwendet, um HTTP-Requests an den Webservice zu senden bzw. HTTP-Antworten von diesem zurückzugeben. Buzz verfügt über mehrere Clients zur Auswahl (FileGetContents/Curl), weitere werden möglicherweise in Zukunft hinzugefügt. Sie müssen eine Instanz des Buzz-Clients erstellen, den Sie verwenden möchten, und eine Instanz der BuzzMessageFactory (die von der API zum Erstellen eines Antwortobjekts verwendet wird).
Da wir nun über die erforderlichen Parameter und Objekte verfügen, können wir eine Instanz der API erstellen:
use YDDVebraAPI as VebraAPI;
use YDDVebraTokenStorageFile as TokenStorageFile;
use BuzzClientCurl as BuzzClientCurl;
use BuzzMessageFactoryFactory as BuzzMessageFactory;
$api = new VebraAPI(
'datafeedid',
'username',
'password',
new TokenStorageFile('username', __DIR__.'/tokens/'),
new BuzzClientCurl(),
new BuzzMessageFactory()
);
Rufen Sie alle Zweige ab (als iterierbare Sammlung von Zweigzusammenfassungsobjekten):
$branchSummaries = $api->getBranches();
Durchlaufen Sie die Verzweigungszusammenfassungsobjekte und rufen Sie für jedes einzelne Verzweigungsobjekte ab:
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
Das zurückgegebene Zweigobjekt verfügt über Zugriffsfunktionen für jede der Eigenschaften:
echo $branch->getName();
Rufen Sie die Eigenschaften für einen bestimmten Zweig ab (als iterierbare Sammlung von Eigenschaftszusammenfassungsobjekten):
$propertySummaries = $api->getPropertyList($branch->getClientId());
Durchlaufen Sie die Eigenschaftenzusammenfassungsobjekte und rufen Sie für jedes einzelne Eigenschaftsobjekte ab:
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
Das zurückgegebene Eigenschaftsobjekt verfügt über Zugriffsfunktionen für jede der Eigenschaften:
echo $property->getAddress();
Eigenschaften abrufen, die sich seit einem bestimmten Datum geändert haben:
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
Rufen Sie Dateien ab, die sich seit einem bestimmten Datum geändert haben:
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
Damon Jones – [email protected]
Matthew Davis [email protected]
Vebra PHP API Wrapper ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der LIZENZ-Datei