All Projects → pdffiller → pdffiller-php-api-client

pdffiller / pdffiller-php-api-client

Licence: MIT License
The PHP Client Library has been designed for users to quickly and easily implement the PDFfiller REST API. With the PHP Client users can fill documents, send signature requests, download signed documents and more. Sign up for our API here:

Programming Languages

PHP
23972 projects - #3 most used programming language

PDFfiller PHP Client

Join the chat at https://gitter.im/pdffiller/pdffiller-php-api-client

PDFfiller API You can sign up for the API here

System Requirements

  • PHP >= 7.0 but the latest stable version of PHP is recommended;
  • mbstring extension;
  • intl extension;

Installation

The library is available on Packagist and can be installed using Composer. This is done by running the following command on a composer installed box:

$ composer require pdffiller/pdffiller-php-api-client

Most modern frameworks include Composer out of the box. However, please ensure that the following file is included:

// Include the Composer autoloader
require 'vendor/autoload.php';

Troubleshooting

If you have the following error:

[RuntimeException]
 Could not load package pdffiller/pdffiller-php-api-client in http://packagi
 st.org: [UnexpectedValueException] Could not parse version constraint ^5.2:
  Invalid version string "^5.2"


 [UnexpectedValueException]
 Could not parse version constraint ^5.2: Invalid version string "^5.2"

Try running

composer self-update 

Also you might encounter the following:

Warning: require_once(../../vendor/autoload.php): failed to open stream: No such file or directory

This issue is easily fixed by installing composer dependencies:

composer install

Quick getting started steps

Install required libraries using composer

cd pdffiller-php-api-client/
composer install

Edit .env file in examples directory setting client_id, client_secret, username and password (for authorization via password_grant)

cd examples/ 
cp .env.example .env
vi .env

Run any example

cd signature_request/
php 1_get_signature_request_list.php

Authentication

Access tokens automatically initialize when they’re successfully retrieved from the given user's credentials (after PDFfiller\OAuth2\Client\Provider\PDFfiller::getAccessToken($grant_type, $options) method), according to the example below:

<?php
require_once __DIR__.'/vendor/autoload.php';

use \PDFfiller\OAuth2\Client\Provider\Enums\GrantType;
use \PDFfiller\OAuth2\Client\Provider\PDFfiller;

$oauthParams = [
    'clientId'       => 'YOUR_CLIENT_ID',
    'clientSecret'   => 'YOUR_CLIENT_SECRET',
    'urlAccessToken' => 'https://api.pdffiller.com/v2/oauth/token',
    'urlApiDomain'   => 'https://api.pdffiller.com/v2/'
];

$passwordGrantCredentials = [
    'username' => '[email protected]',
    'password' => 'some_pass'
];

/** @var \PDFfiller\OAuth2\Client\Provider\PDFfiller $provider */
$provider = new PDFfiller($oauthParams);

$accessToken = $provider->getAccessToken(GrantType::PASSWORD_GRANT, $passwordGrantCredentials);
print_r($accessToken);

When your authorization has been completed successfully you can use the provider for retrieving, creating, updating or deleting information from your profile.

Usage

Use a static method to retrieve a list of all applications: PDFfiller\OAuth2\Client\Provider\Core\Model::all(PDFfiller $provider)

$list = Application::all($provider);
print_r($list);

For retrieving information about one application, call static: PDFfiller\OAuth2\Client\Provider\Core\Model::one(PDFfiller $provider, $appClientId)

$application = Application::one($provider, 'app_client_id');
print_r($application);

If you want to create a new application, you must create a new Application object with the necessary information and save it using the following method: PDFfiller\OAuth2\Client\Provider\Core\Model::save()

$application = new Application($provider);

$application->name = 'App name';
$application->description = 'Some application description';
$application->domain = 'http://some.domain.com';
print_r($application->save());

If you want to update an instance, you must retrieve an Application object and save it by using the following method: PDFfiller\OAuth2\Client\Provider\Core\Model::save()

$application = Application::one($provider, 'app_client_id');

$application->name = 'Updated App name';
$application->description = 'Some changed application description';
$result = $application->save();
print_r($result);

Updating information is easy by using: PDFfiller\OAuth2\Client\Provider\Core\Model::save() method. If you wish to remove an application, use: PDFfiller\OAuth2\Client\Provider\Core\Model::remove() method

$application = Application::one($provider, 'app_client_id');
$result = $application->remove();
print_r($result);

All examples with other endpoints are available in the examples folder

Support

If you have any problems feel free to contact us:

License

This software is licensed under the following MIT license

Author

API Team ([email protected])

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].