qbil-software / read-soft-online
ReadSoftOnline PHP client
Installs: 104 812
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/qbil-software/read-soft-online
Requires
- php: >=7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.3 || ^7.4
README
ReadSoftOnline PHP client (RSO PHP Client)
What is ReadSoft Online ?
From https://www.kofax.com/Products/Financial-Process-Automation/ReadSoft-Online/Overview/
ReadSoft Online leads the industry in capture, extraction and validation of invoices in the cloud. Process your invoices seamlessly and affordably and for free. Download your free trial version and experience how easy ReadSoft Online solution easily integrates into your existing ERP system.
This package uses Guzzle PHP Http Client to make API requests to services.readsoftonline.com and provides some easy methods for interacting with ReadSoftOnline.
Click here for more information about ReadSoftOnline API.
The package is fairly simple. All you need to do is install this package via composer, require autoload.php file and create instance of Qbil\ReadSoftOnline\Client class, it expects one parameter (API key).
Installation
composer require qbil-software/read-soft-onlinerequire_once 'vendor/autoload.php';$client = new Qbil\ReadSoftOnline\Client('insert_api_key_here');- Authenticate using
$client->authenticate('rso username here', 'rso password here')
Qbil\ReadSoftOnline\Client has following public methods
setHeaders(): Set additional headers or modify existing header information.isAuthenticated(): Check whether client is authenticated or not.authenticate($userName, $password): Authenticate client with username and password.getCustomers(): Return array ofModels\Customerwith all customers associated with current accountgetBuyers(Customer $customer): Return array ofModels\Buyerwith all buyers associated with passed customer.getOutputDocuments(Customer $customer): Return array ofModels\OutputDocumentwith all processed documents associated with passed customer. TheOutputDocumentclass contains mostly meta data about Document like DocumentId, BatchId, BuyerId, etc.getDocument(OutputDocument $document): Return whole processed document info (instance ofModels\Documentclass) including meta data, buyer and customer info. etc.getProcessedInvoice(Document $document): Return instance ofModels\Invoicecontaining only relevant data of processed invoice (without any meta data).setDocumentStatus(Document $document, $status): Set status of processed document (STATUS_SUCCESSorSTATUS_REJECTED)setSuppliers($organizationId, array $suppliers): Upload suppliers to ReadSoftOnline.$organizationIdis either Buyer Id or Customer Id (depends upon settings of RSO)
and one protected method:
request(string $method, string $route, array $options = []): This method is mostly internally used to make request via GuzzleHttp/Client. You may extend the class to implement more methods from RSO API and use this method for making proper requests.
See Qbil\ReadSoftOnline\Client for definition of each method