Ini adalah perpustakaan PHP pihak ketiga yang bertujuan untuk menyederhanakan penggunaan layanan web Vebra XML.
Versi API saat ini adalah versi 9.
NB: Perpustakaan ini tidak berafiliasi dengan Vebra dengan cara apapun.
Lihat Panduan Pengguna atau skema Vebra API Versi 9 untuk informasi lebih lanjut.
PHP 5.3+
Pustaka Permintaan HTTP ringan Buzz.
Jika Anda memulai proyek baru, atau jika proyek Anda saat ini tidak menggunakan composer, unduh dan instal proyek tersebut:
curl -s http://getcomposer.org/installer | php
Buat file composer.json baru dengan pustaka ini sebagai dependensi:
{
"require" : {
"ydd/vebra" : " *@dev "
}
}
Jika proyek Anda sudah menggunakan composer, edit file composer.json di proyek Anda dan tambahkan perpustakaan ini sebagai dependensi, seperti yang ditunjukkan di atas.
Instal dependensi proyek Anda menggunakan composer:
php composer.phar install
Memerlukan pemuat otomatis komposer dalam skrip atau kode bootstrap Anda:
require ' vendor/autoload.php ' ;
Untuk informasi lebih lanjut tentang komposer, lihat situs web komposer.
Permintaan yang dibuat ke layanan web harus diautentikasi. Awalnya, ini dilakukan dengan nama pengguna dan kata sandi Anda dan layanan web mengembalikan token otorisasi yang harus disimpan dan digunakan untuk semua permintaan berikutnya. Jika Anda gagal menyimpan token, Anda tidak akan dapat membuat permintaan lebih lanjut ke layanan web hingga token autentikasi habis masa berlakunya. Token autentikasi valid selama sekitar satu jam dan layanan web akan mengembalikan header 401 (Tidak Diotorisasi) jika Anda membuat permintaan dengan token otorisasi yang sudah habis masa berlakunya. Dalam hal ini, API akan secara otomatis mengautentikasi ulang dan menerima token autentikasi baru.
Untuk mengaktifkan perilaku ini, perpustakaan menyertakan kelas penyimpanan token default yang akan menyimpan dan memuat token dari file di sistem file lokal. Jika Anda ingin menyimpan token secara berbeda (misalnya dalam database) maka Anda dapat menyediakan kelas penyimpanan token Anda sendiri yang harus mengimplementasikan TokenStorageInterface.
Untuk membuat instance YDDVebraTokenStorageFile, Anda meneruskan nama pengguna dan jalur ke direktori yang ingin Anda gunakan untuk menyimpan token (yang seharusnya dapat ditulisi). Untuk mendukung banyak pengguna, setiap pengguna memiliki file tokennya sendiri (berasal dari hash nama pengguna).
$tokenStorage = new YDDVebraTokenStorageFile('username', __DIR__.'/tokens/');
Pustaka Permintaan HTTP ringan ini digunakan untuk mengirim Permintaan HTTP ke/mengembalikan Respons HTTP dari layanan web. Buzz memiliki beberapa klien untuk dipilih (FileGetContents/Curl) dan klien lainnya mungkin ditambahkan di masa mendatang. Anda perlu membuat instance klien Buzz yang ingin Anda gunakan dan instance BuzzMessageFactory (digunakan oleh API untuk membuat objek Response).
Sekarang kita memiliki parameter dan objek yang diperlukan, kita dapat membuat instance 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()
);
Ambil semua cabang (sebagai kumpulan objek ringkasan cabang yang dapat diubah):
$branchSummaries = $api->getBranches();
Ulangi objek ringkasan cabang dan ambil objek cabang untuk masing-masing objek:
foreach ($branchSummaries as $branchSummary) {
$branch = $api->getBranch($branchSummary->getClientId());
}
Objek cabang yang dikembalikan memiliki pengakses untuk setiap properti:
echo $branch->getName();
Ambil properti untuk cabang tertentu (sebagai kumpulan objek ringkasan properti yang dapat diubah):
$propertySummaries = $api->getPropertyList($branch->getClientId());
Ulangi objek ringkasan properti dan ambil objek properti untuk masing-masing objek:
foreach ($propertySummaries as $propertySummary) {
$property = $api->getProperty($branch->getClientId(), $propertySummary->getPropId());
}
Objek properti yang dikembalikan memiliki pengakses untuk setiap properti:
echo $property->getAddress();
Ambil properti yang telah berubah sejak tanggal tertentu:
$properties = $api->getChangedProperties(new DateTime('2012-01-01'));
Ambil file yang telah berubah sejak tanggal tertentu:
$files = $api->getChangedFiles(new DateTime('2012-01-01'));
Damon Jones - [email protected]
Matthew Davis [email protected]
Vebra PHP API Wrapper dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya