vivait/docbuild-php

PHP client for doc.build

3.0.1 2018-12-17 10:36 UTC

README

Installation

composer require vivait/docbuild-php

and then write an Adapter that's compatible with the Adapter interface.

Usage

See Doc.Build's Api documentation for detailed information on its methods.

The class requires your client id, client secret and a compatible Adapter.

// Instantiate your adapter
$client = new MyAdapter();

$docBuild = new DocBuild($clientId, $clientSecret, $client);

$docBuild->createDocument('ADocument', 'docx', '/path/to/file.docx');

$docs = $docBuild->getDocuments();

$docBuild->convertToPdf('documentid', 'http://mycallback.url/api');

Caching

This library uses the doctrine/cache library to cache access_token between requests. By default it will use the Doctrine\Common\Cache\FilesystemCache, but this can be changed by injecting a cache that implements Doctrine\Common\Cache\Cache into the constructor:

$docBuild = new DocBuild(
    $clientId, 
    $clientSecret, 
    GuzzleAdapter::createWithConfig([]), 
    $options, 
    null, 
    new ArrayCache()
);

Manually refresh access_token

By default, the client will automatically refresh your access_token. However, this behaviour can be changed by setting the following option, or passing this options array into the constructor on instantiation.

$docBuild->setOptions(
    [
        'token_refresh' => false, // Default: true
    ]
);

try {
	$docs = $docBuild->getDocuments();
} catch (TokenExpiredException $e) {
	// Have another go
}