A Lightweight PHP Wrapper to query the Webling API.
Install with Composer:
composer require usystems/webling-api-php
$api = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY');
$response = $api->get('member/123');
if ($response->getStatusCode() < 400) {
var_dump($response->getData()); // returns the parsed JSON
var_dump($response->getRawData()); // returns the raw response string
}
$response = $api->put('/member', $data);
$response = $api->post('/member', $data);
$response = $api->delete('/member/123');
Create a new client with some options:
$options = [
'connecttimeout' => 5, // connection timeout in seconds
'timeout' => 10, // transfer timeout
'useragent' => 'My Custom User-Agent' // custom user agent
];
$api = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY', $options);
For more examples see the "examples" folder.
If you are doing lots of GET requests, you may want to use a cache. The Cache Class in combination with the FileCacheAdapter lets you cache Webling API requests on the filesystem. It does check which objects have changed and only fetches the changed objects.
This is how you use the Cache:
// create a cache object
$client = new Webling\API\Client('https://demo.webling.ch','MY_APIKEY');
$adapter = new Webling\CacheAdapters\FileCacheAdapter([
'directory' => './webling_cache'
]);
$cache = new Webling\Cache\Cache($client, $adapter);
// get single object
$member = $cache->getObject('member', 506);
// get binary data of object
$cache->getObjectBinary('member', 506, $member['properties']['Mitgliederbild']['href']);
// get multiple objects
$cache->getObjects('member', [506, 507, 508]);
// get object lists
$cache->getRoot('membergroup');
// check for updates and renew cache
$cache->updateCache();
// clear the whole cache
$cache->clearCache();
To use this library you need at least:
- PHP >=5.6
- PHP cURL Extension
- PHP JSON Extension
- A Webling Account with API enabled
You can find the Full Documentation of the Webling REST-API at demo.webling.ch/api
- Fixed a bug that prevented response caching from working properly
Support for binary files caching has been added.
- The interface
ICache
now has a new functiongetObjectBinary()
. - The
FileCacheAdapter
andIFileCacheAdapter
has been updated to support the new functions. - Starting this release, only PHP >= 5.6 is tested and supported
The Webling\Cache\FileCache
has been marked as deprecated and will be removed in the future. Use the more generic Webling\Cache\Cache
with the Webling\CacheAdapters\FileCacheAdapter
instead.