With this package you can implement the official Billbee API in your application.
You can add this package as composer dependency
$ composer require billbee/billbee-api
https://app.billbee.io/swagger/ui/index
Simply instantiate a client object for accessing the api:
<?php
use BillbeeDe\BillbeeAPI\Client;
$user = 'Your Billbee username';
$apiPassword = 'Your Billbee API Password'; // https://app.billbee.io/de/settings/api
$apiKey = 'Your Billbee API Key';
$client = new Client($user, $apiPassword, $apiKey);
<?php
use BillbeeDe\BillbeeAPI\Client;
$user = 'Your Billbee username';
$apiPassword = 'Your Billbee API Password'; // https://app.billbee.io/de/settings/api
$apiKey = 'Your Billbee API Key';
$client = new Client($user, $apiPassword, $apiKey);
/** @var \BillbeeDe\BillbeeAPI\Response\GetProductsResponse $productsResponse */
$productsResponse = $client->products()->getProducts($page = 1, $pageSize = 10);
/** @var \BillbeeDe\BillbeeAPI\Model\Product $product */
foreach ($productsResponse->data as $product) {
echo sprintf("Id: %s, SKU: %s, Price: %f\n", $product->id, $product->sku, $product->price);
}
<?php
use BillbeeDe\BillbeeAPI\Client;
use BillbeeDe\BillbeeAPI\Response;
$user = 'Your Billbee username';
$apiPassword = 'Your Billbee API Password'; // https://app.billbee.io/de/settings/api
$apiKey = 'Your Billbee API Key';
$client = new Client($user, $apiPassword, $apiKey);
$client->enableBatchMode();
$client->products()->getProducts(1, 1); # Adds the request to the batch pool / returns null
$client->orders()->getOrders(1, 1); # Adds the request to the batch pool / returns null
$client->events()->getEvents(1, 1); # Adds the request to the batch pool / returns null
$results = $client->executeBatch(); # Results contain all responses in the added order
/** @var Response\GetProductsResponse $productsResult */
$productsResult = $results[0];
/** @var Response\GetOrdersResponse $ordersResult */
$ordersResult = $results[1];
/** @var Response\GetEventsResponse $eventsResult */
$eventsResult = $results[2];
Run phpunit
Feel free to fork the repository and create pull-requests