latheesan-k / laravel-xero by latheesan-k

Xero Service Provider for Laravel 4
14
2
1
Package Data
Maintainer Username: latheesan-k
Maintainer Contact: chris@venturecraft.com.au (Chris Duell)
Package Create Date: 2014-12-03
Package Last Update: 2014-12-04
Language: PHP
License: MIT
Last Refreshed: 2024-05-03 03:00:50
Package Statistics
Total Downloads: 14
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 1
Total Forks: 0
Total Open Issues: 1

Xero Service Provider for Laravel 4

Originally forked from https://github.com/VentureCraft/xero-laravel and updated to support newer API features (e.g. ContactGroups and paging results etc...).

A simple Laravel 4 service provider for including the PHP Xero API.

Installation

The Xero Service Provider can be installed via Composer by requiring the latheesan-k/laravel-xero package and setting the minimum-stability to dev in your project's composer.json.

{
	"require": {
		"laravel/framework": "4.0.*",
		"latheesan-k/laravel-xero": "dev-master"
	},
	"minimum-stability": "dev"
}

Usage

To use the Xero Service Provider, you must register the provider when bootstrapping your Laravel application.

Use Laravel Configuration

Create a new app/config/xero.php configuration file with the following options:

return array(
    'key'           => '<your-xero-key>',
    'secret'        => '<your-xero-secret>',
    'publicPath'    => app_path() .'/config/xero/publickey.cer',
    'privatePath'   => app_path() .'/config/xero/privatekey.pem'
);

Find the providers key in app/config/app.php and register the Xero Service Provider.

    'providers' => array(
        // ...
        'Latheesan\LaravelXero\LaravelXeroServiceProvider',
    )

Find the aliases key in app/config/app.php and add in our LaravelXero alias.

    'aliases' => array(
        // ...
        'LaravelXero' 	  => 'Latheesan\LaravelXero\Facades\LaravelXero',
    )

Setting up the application

Create public and private keys, and save them in /app/config/xero/ as publickey.cer and privatekey.pem.

For more info on setting up your keys, check out the Xero documentation

Example Usage

Create a Contact in Xero

$contact = array(
    array(
       	"Name"        => 'Company Name Ltd',
       	"FirstName"   => 'John',
		"LastName"    => 'Doe',
	)
);

$xero_contact = LaravelXero::Contacts($contact);

GET Contacts with WHERE clause & Paging

$where = "ContactNumber!=null&IsCustomer=true";
$page  = 1;

print_r(LaravelXero::Contacts(false, false, $where, false, $page));

Reference