mantix/eboekhouden-rest-laravel

Laravel integration for e-Boekhouden.nl REST API

V1.0 2025-03-18 20:20 UTC

This package is auto-updated.

Last update: 2025-04-18 20:40:58 UTC


README

Laravel integratie voor de e-Boekhouden.nl REST API.

Installatie

Je kunt dit package installeren via Composer:

composer require mantix/eboekhouden-rest-laravel

Laravel Compatibiliteit

Dit package ondersteunt Laravel versies 10, 11 en 12.

Configuratie

Je kunt direct beginnen met alleen het instellen van je API token en source identifier in je .env bestand:

EBOEKHOUDEN_API_TOKEN=jouw_api_token
EBOEKHOUDEN_SOURCE=JouwApp

Optioneel kun je het configuratiebestand publiceren als je meer controle wilt over de instellingen:

php artisan vendor:publish --tag=eboekhouden-config

Dit maakt een config/eboekhouden.php bestand aan in je project dat je kunt aanpassen.

Basis gebruik

Je kunt de e-Boekhouden REST API gebruiken via de EBoekhouden facade:

use Mantix\EBoekhoudenRestLaravel\Facades\EBoekhouden;

// Relaties ophalen
$relations = EBoekhouden::getRelations();

// Een nieuwe relatie aanmaken
$newRelation = EBoekhouden::createRelation([
    'name' => 'Mijn nieuwe klant',
    'address' => 'Voorbeeldstraat 123',
    'postalCode' => '1234 AB',
    'city' => 'Amsterdam',
]);

Dependency Injection

Je kunt ook dependency injection gebruiken:

use Mantix\EBoekhoudenRestApi\Client;

class RelationController
{
    public function index(Client $eboekhouden)
    {
        return $eboekhouden->getRelations();
    }
}

Filter Gebruik

De Filter class uit het basis package werkt ook hier:

use Mantix\EBoekhoudenRestApi\Filter;
use Mantix\EBoekhoudenRestLaravel\Facades\EBoekhouden;

// Zoek relaties met "Bedrijf" in de naam
$relations = EBoekhouden::getRelations([
    'name' => Filter::like('%Bedrijf%'),
]);

Sessie Beheer

Sessie beheer gebeurt automatisch. De client zal een sessie aanmaken wanneer nodig en deze hergebruiken voor volgende aanroepen. In een typische Laravel applicatie gaat dit achter de schermen. Je kunt wel expliciet de sessie beƫindigen als je dat wilt:

EBoekhouden::endSession();

Foutafhandeling

Fouten van de API worden als EBoekhoudenException geworpen, die je kunt afhandelen met try/catch:

use Mantix\EBoekhoudenRestApi\EBoekhoudenException;
use Mantix\EBoekhoudenRestLaravel\Facades\EBoekhouden;

try {
    $relations = EBoekhouden::getRelations();
} catch (EBoekhoudenException $e) {
    Log::error('e-Boekhouden API fout: ' . $e->getMessage());
    Log::error('API foutcode: ' . $e->getErrorCode());
    
    // Volledige foutrespons
    Log::debug($e->getErrorResponse());
}

Beschikbare Methodes

Alle methodes van de onderliggende client zijn beschikbaar via de facade. Zie de documentatie van mantix/eboekhouden-rest-api voor een volledige lijst.

Tests uitvoeren

composer test

License

MIT