codibris/billbee-api

Fork from official Billbee API SDK for PHP - update php 8

0.0.1 2024-05-04 18:26 UTC

This package is auto-updated.

Last update: 2024-05-08 13:49:29 UTC


README

Packagist GitHub license Packagist

Logo

Billbee API

With this package you can implement the official Billbee API in your application. This is a fork from billbeeio/billbee-php-sdk including some changes for php >8.0.

Prerequisites

Install

You can add this package as composer dependency

$ composer require codibris/billbee-api

Instructions without composer

Official API Documentation

https://app.billbee.io/swagger/ui/index

Usage

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);

Example: Retrieve a list of products

<?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);
}

Example: Batch requests

<?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];

Testing

Run phpunit

Contributing

Feel free to fork the repository and create pull-requests