PHP code example of fernleafsystems / apiwrappers-freeagent
1. Go to this page and download the library: Download fernleafsystems/apiwrappers-freeagent 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/ */
fernleafsystems / apiwrappers-freeagent example snippets
$OauthProvider = ( new Connection() )
->setClientId( $freeagentAppClientId )
->setIsSandbox( $isSandbox )
->getOAuthProvider();
$redirectUrlBase = $OauthProvider->getBaseAuthorizationUrl();
$authUrlParams = array(
'redirect_uri' => 'https://www.theUrlForMyApp.com/To/Receive/Redirection/From/OAuth',
'client_id' => $freeagentAppClientId,
'response_type' => 'code'
);
$authorizationUrl = $redirectUrlBase.'?'.http_build_query( $authUrlParams );
header( 'Location: '. $authorizationUrl );
$tokenRequestParameters = array(
'code' => $OauthCodeFromThePreviousStage,
'client_id' => $freeagentAppClientId,
'client_secret' => $freeagentAppClientSecret,
'redirect_uri' => 'https://www.theUrlForMyApp.com/To/Receive/Redirection/From/OAuth'
);
$OauthProvider = ( new Connection() )
->setClientId( $freeagentAppClientId )
->setIsSandbox( $isSandbox )
->getOAuthProvider();
$accessToken = $OauthProvider->getAccessToken( 'authorization_code', $aTokenRequestParameters );
// Store the Access Token $accessToken.
$tokenRequestParameters = array(
'client_id' => $freeagentAppClientId,
'client_secret' => $freeagentAppClientSecret,
'refresh_token' => $OAuth2RefreshTokenStoredFromPreviousStage
);
$OauthProvider = ( new Connection() )
->setClientId( $freeagentAppClientId )
->setIsSandbox( $isSandbox )
->getOAuthProvider();
$accessToken = $OauthProvider->getAccessToken( 'refresh_token', $tokenRequestParameters );
// Store the Access Token $accessToken.
$connection = ( new Connection() )
->setIsSandbox( $isSandbox )
->setAccessToken( $accessTokenFromStage3 );
$oCompany = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Company\Retrieve() )
->setConnection( $connection )
->retrieve();
$oCompany = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Company\Retrieve() )
->setConnection( $connection )
->retrieve();
echo $oCompany->getName();
$oContact = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Contacts\Retrieve() )
->setConnection( $connection )
->setEntityId( 12345 )
->retrieve();
$connection = ( new Connection() )->setAccessToken( $accessTokenFromStage3 );
$oNewBill = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Bills\Create() )
->setConnection( $connection )
->setContact( $freeagentContact ) // a Freeagent ContactVO
->setReference( 'My Bill Reference' )
->setTotalValue( '12.34' ) // a float
->setCategory( $freeagentContegory ) // a Freeagent CategoryVO
->setDatedOn( '2018-12-18' ) // or unix timestamp
->setDueOn( '2018-12-25' ) // or unix timestamp
->create();
$oFoundBill = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Bills\Find() )
->setConnection( $connection )
->filterByReference( 'My Bill Reference' )
->first();
$oFoundBill = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Bills\Find() )
->setConnection( $connection )
->filterByDateRange( 123123123, 5 )
->filterByReference( 'My Bill Reference' )
->first();
$aAllBills = ( new \FernleafSystems\ApiWrappers\Freeagent\Entities\Bills\Find() )
->setConnection( $connection )
->filterByDateRange( 123123123, 5 )
->all();
$oCreator = new \FernleafSystems\ApiWrappers\Freeagent\Entities\Invoices\Create();
/** creation code parameters*/
$oNewInvoice = $oCreator->create();
if ( is_null( $oNewInvoice ) ) {
$sErrorMessageFromFreeAgent = $oCreator->getLastError()->getMessage();
}