1. Go to this page and download the library: Download beckonbilling/api-client 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/ */
beckonbilling / api-client example snippets
use BeckonBilling\ApiClient\Client;
$client = new Client([
'token' => 'bbp_your_token', // organisation or user token
'base_uri' => 'https://portal.beckonbilling.com', // your portal host
'organisation' => 'organisation-uuid', // optional default scope
]);
// List open invoices
$page = $client->outboundInvoices->list(['status' => 'issued', 'paid' => 0]);
foreach ($page as $invoice) {
echo $invoice->public_index, ' - ', $invoice->gross_total, "\n";
}
// Create a customer
$customer = $client->customers->create([
'label' => 'Musterfirma AG',
'customer_info' => "Musterfirma AG\nIndustriestraße 45\n1220 Wien",
]);
// Download an invoice PDF
file_put_contents('invoice.pdf', $client->outboundInvoices->pdf($invoice->id()));
$client->recurringInvoices->update($id, [
'document_uuids' => ['1f2e…', '9a8b…'], // the way to set attachments
]);
$template->documentUuids(); // read them back
$template->documentIds(); // still works, @deprecated
$page = $client->customers->list(['limit' => 50, 'offset' => 0]);
$page->total; // full server-side count
$page->hasMore(); // more pages available?
foreach ($client->customers->autoPaging() as $customer) {
// ...
}
use BeckonBilling\ApiClient\Exception\ApiException;
use BeckonBilling\ApiClient\Exception\PermissionException;
try {
$client->outboundInvoices->issue($id);
} catch (PermissionException $e) {
if ($e->getErrorKey() === 'send_not_permitted') {
// token lacks the `send` capability
}
} catch (ApiException $e) {
// any other API error
error_log($e->getStatusCode() . ' ' . $e->getErrorKey() . ': ' . $e->getMessage());
}
use GuzzleHttp\Client as Guzzle;
use Nyholm\Psr7\Factory\Psr17Factory;
$psr17 = new Psr17Factory();
$client = new Client([
'token' => 'bbp_...',
'base_uri' => 'https://portal.beckonbilling.com',
'http_client' => new Guzzle(['timeout' => 10]),
'request_factory' => $psr17,
'stream_factory' => $psr17,
]);
$customer->label; // property access
$customer['label']; // array access
$customer->id(); // the UUID
$customer->toArray(); // the full payload
$invoice->isPaid(); // a few typed helpers on quotes/invoices
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.