PHP code example of apility / workiva-laravel

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);
bash
php artisan vendor:publish --provider="Apility\Workiva\WorkivaServiceProvider" --tag="config"