Esta es una biblioteca PHP de terceros que tiene como objetivo simplificar el uso del servicio web Vebra XML.
La versión actual de la API es la versión 9.
NB: esta biblioteca no está afiliada a Vebra de ninguna manera.
Consulte la Guía del usuario o el esquema de Vebra API versión 9 para obtener más información.
PHP 5.3+
La biblioteca de solicitudes HTTP ligera de Buzz.
Si está iniciando un nuevo proyecto, o si su proyecto existente no utiliza Composer, descárguelo e instálelo:
curl -s http://getcomposer.org/installer | php
Cree un nuevo archivo compositor.json con esta biblioteca como dependencia:
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
Si su proyecto ya utiliza Composer, edite el archivo compositor.json en su proyecto y agregue esta biblioteca como una dependencia, como se muestra arriba.
Instale las dependencias de su proyecto usando Composer:
php composer.phar install
Requiere el cargador automático del compositor en su script o código de arranque:
<?php
require ' vendor/autoload.php ' ;
Para obtener más información sobre Composer, consulte el sitio web de Composer.
Las solicitudes realizadas al servicio web deben estar autenticadas. Inicialmente, esto se hace con su nombre de usuario y contraseña y el servicio web devuelve un token de autorización que debe almacenarse y usarse para todas las solicitudes posteriores. Si no almacena el token, no podrá realizar más solicitudes al servicio web hasta que el token de autenticación haya caducado. El token de autenticación es válido durante aproximadamente una hora y el servicio web devolverá un encabezado 401 (No autorizado) si realiza una solicitud con un token de autorización vencido. En este caso, la API se volverá a autenticar automáticamente y recibirá un nuevo token de autenticación.
Para habilitar este comportamiento, la biblioteca incluye una clase de almacenamiento de token predeterminada que guardará y cargará el token desde un archivo en el sistema de archivos local. Si desea almacenar el token de manera diferente (por ejemplo, en una base de datos), puede proporcionar su propia clase de almacenamiento de token que debe implementar TokenStorageInterface.
Para crear una instancia de YDDVebraTokenStorageFile, pasa el nombre de usuario y la ruta al directorio que desea usar para almacenar los tokens (que deben poder escribirse). Para admitir múltiples usuarios, cada usuario tiene su propio archivo token (derivado de un hash del nombre de usuario).
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
Esta biblioteca de solicitudes HTTP liviana se utiliza para enviar solicitudes HTTP o devolver respuestas HTTP desde el servicio web. Buzz tiene un par de clientes para elegir (FileGetContents/Curl) y es posible que se agreguen otros en el futuro. Debe crear una instancia del cliente Buzz que desea usar y una instancia de BuzzMessageFactory (utilizada por la API para crear un objeto de respuesta).
Ahora que tenemos los parámetros y objetos necesarios, podemos crear una instancia de la 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()
);
Recupere todas las ramas (como una colección iterable de objetos de resumen de ramas):
$branchSummaries = $api->getBranches();
Itere sobre los objetos de resumen de rama y recupere objetos de rama para cada uno:
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
El objeto de rama devuelto tiene descriptores de acceso para cada una de las propiedades:
echo $branch->getName();
Recupere las propiedades de una rama determinada (como una colección iterable de objetos de resumen de propiedades):
$propertySummaries = $api->getPropertyList($branch->getClientId());
Itere sobre los objetos de resumen de propiedades y recupere objetos de propiedad para cada uno:
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
El objeto de propiedad devuelto tiene descriptores de acceso para cada una de las propiedades:
echo $property->getAddress();
Recuperar propiedades que han cambiado desde una fecha determinada:
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
Recuperar archivos que han cambiado desde una fecha determinada:
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
Damon Jones - [email protected]
Matthew Davis [email protected]
Vebra PHP API Wrapper tiene la licencia MIT; consulte el archivo de LICENCIA para obtener más detalles.