The mediabank client library is released for third parties who want to integrate a serverside fallback for the mediabank component. This can be used to improve SEO ranking (or) and sharing on social networks as facebook, twitter which do not support javascript.
Currently there is only a PHP implementation but it can serve as an example for implementation in other languages as Javascript / C# / Java etc.
composer require picturae/mediabank
See below the code example for the client
$client = new \Picturae\Mediabank\Client('api-key');
// Get a record
$media = $client->getMedia($id);
// Get a result list
// all parameters are optional
$result = $client->search([
'q' => 'something', // search query
'rows' => 100, // amount of rows to return
'page' => 1, // page to return
'facetFields' => [ // facet's to return
'search_s_place'
],
'fq' => [
'search_s_place: "Amsterdam"' // apply filter query
],
'sort' => 'search_s_place asc' // sort result set (default by relevance)
]);
// If you do not provide a url the current url is used
$url = new \Picturae\Mediabank\URL();
// Check if we are on a permalink
if ($url->isDetail()) {
// Get the id for the record from the URL
$id = $url->getUUID();
// Instantiate the client with your API key
$client = new \Picturae\Mediabank\Client('api-key');
// Fetch the record
$media = $client->getMedia($id);
// Check if the record is returned
if (!empty($media) {
// Add your logic for the fallback
// e.g add opengraph tags for facebook / twitter
// or provide a html fallback
}
}
For an example how to implement a sitemap to improve discoverability for search engines look at the sitemap example
Refresh data in the API, updates the image in the API only use sparingly when a record is modified and must be shown on the frontend directly.
$client->refresh($entity, $id);