Il s'agit d'une bibliothèque PHP tierce qui vise à simplifier l'utilisation du service Web Vebra XML.
La version actuelle de l'API est la version 9.
NB : Cette bibliothèque n'est en aucun cas affiliée à Vebra.
Consultez le Guide de l'utilisateur ou le schéma Vebra API version 9 pour plus d'informations.
PHP5.3+
La bibliothèque de requêtes HTTP légère Buzz.
Si vous démarrez un nouveau projet ou si votre projet existant n'utilise pas Composer, téléchargez-le et installez-le :
curl -s http://getcomposer.org/installer | php
Créez un nouveau fichier composer.json avec cette bibliothèque comme dépendance :
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
Si votre projet utilise déjà composer, modifiez le fichier composer.json dans votre projet et ajoutez cette bibliothèque en tant que dépendance, comme indiqué ci-dessus.
Installez les dépendances de votre projet à l'aide de composer :
php composer.phar install
Exigez le chargeur automatique du compositeur dans votre script ou votre code d'amorçage :
<?php
require ' vendor/autoload.php ' ;
Pour plus d’informations sur composer, consultez le site Web de composer.
Les requêtes faites au webservice doivent être authentifiées. Initialement, cela se fait avec votre nom d'utilisateur et votre mot de passe et le webservice renvoie un jeton d'autorisation qui doit être stocké et utilisé pour toutes les demandes ultérieures. Si vous ne parvenez pas à stocker le jeton, vous ne pourrez plus faire de requêtes au service Web tant que le jeton d'authentification n'aura pas expiré. Le jeton d'authentification est valide pendant environ une heure et le webservice renverra un en-tête 401 (Non autorisé) si vous faites une demande avec un jeton d'autorisation expiré. Dans ce cas, l'API se réauthentifiera automatiquement et recevra un nouveau jeton d'authentification.
Pour activer ce comportement, la bibliothèque inclut une classe de stockage de jetons par défaut qui enregistrera et chargera le jeton à partir d'un fichier sur le système de fichiers local. Si vous souhaitez stocker le jeton différemment (par exemple dans une base de données), vous pouvez fournir votre propre classe de stockage de jetons qui doit implémenter TokenStorageInterface.
Pour créer une instance de YDDVebraTokenStorageFile, vous transmettez le nom d'utilisateur et le chemin d'accès au répertoire que vous souhaitez utiliser pour stocker les jetons (qui doivent être accessibles en écriture). Afin de prendre en charge plusieurs utilisateurs, chaque utilisateur possède son propre fichier de jeton (dérivé d'un hachage du nom d'utilisateur).
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
Cette bibliothèque de requêtes HTTP légère est utilisée pour envoyer des requêtes HTTP vers/retourner des réponses HTTP depuis le service Web. Buzz a le choix entre quelques clients (FileGetContents/Curl) et d'autres pourraient être ajoutés à l'avenir. Vous devez créer une instance du client Buzz que vous souhaitez utiliser et une instance de BuzzMessageFactory (utilisée par l'API pour créer un objet Response).
Maintenant que nous disposons des paramètres et des objets requis, nous pouvons créer une instance de l'API :
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()
);
Récupérez toutes les branches (en tant que collection itérable d'objets récapitulatifs de branche) :
$branchSummaries = $api->getBranches();
Parcourez les objets de résumé de branche et récupérez les objets de branche pour chacun :
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
L'objet branche renvoyé possède des accesseurs pour chacune des propriétés :
echo $branch->getName();
Récupérez les propriétés d'une branche donnée (en tant que collection itérable d'objets récapitulatifs de propriétés) :
$propertySummaries = $api->getPropertyList($branch->getClientId());
Parcourez les objets récapitulatifs des propriétés et récupérez les objets de propriété pour chacun :
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
L'objet de propriété renvoyé possède des accesseurs pour chacune des propriétés :
echo $property->getAddress();
Récupérer les propriétés qui ont changé depuis une date donnée :
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
Récupérer les fichiers modifiés depuis une date donnée :
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
Damon Jones - [email protected]
Matthew Davis [email protected]
Vebra PHP API Wrapper est sous licence MIT - voir le fichier LICENSE pour plus de détails