1. Go to this page and download the library: Download apility/workiva-laravel library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
apility / workiva-laravel example snippets
use Apility\Workiva\Types\Document;
$documents = Document::list();
$sections = $documents->first()->sections;
use Apility\Workiva\Facades\Workiva;
use Apility\Workiva\Enums\OperationStatus;
use Exception;
$request = [
'format' => 'xhtml',
'sections' => [
$sections->first()->id, // Example, just pass in the ID's of the sections you want to export
],
'xhtmlOptions' => [
'editableXhtml' => true,
],
];
$response = Workiva::withoutRedirecting()->post(sprintf('documents/%s/export', $document->id), $request);
$location = $response->header('Location');
$retryAfter = $response->header('Retry-After') ?? 0;
sleep($retryAfter);
$export = null;
while ($export === null) {
$response = Workiva::get($location);
if ($response->json()['status'] === OperationStatus::Completed->value) {
$documentUrl = $response->json()['resourceUrl'];
try {
$exportResponse = Workiva::dontThrow()
->http()
->get($documentUrl);
$export = $exportResponse->body();
} catch (Exception $e) {
throw new Exception('Failed to export document:' . $e->getMessage());
}
}
sleep($response->header('Retry-After') ?? 0);
}
Storage::put($document->name . '.html', $export);