Download the PHP package justpilot/billomat-php-api without Composer

On this page you can find all versions of the php package justpilot/billomat-php-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package billomat-php-api

Billomat PHP API SDK

PHP Version Packagist PHPStan codecov

Sprache / Language: Deutsch (diese Datei) · English

Modernes, typisiertes PHP 8.4+ SDK für die Billomat-API — basiert auf Symfony-Komponenten, mit Read-Modellen, getrennten Write-Optionen und einer sauberen Exception-Hierarchie.

Unoffizielles SDK. Dieses Projekt steht in keiner offiziellen Verbindung zur Billomat GmbH und wird unabhängig entwickelt und gepflegt.

[!NOTE] 4.0 ist als Vorabversion erschienen (v4.0.0-alpha.1): PHP 8.5, beliebiger PSR-18-Client, exakte Beträge statt float. Die englische Doku zu 4.0 steht auf billomat-php.justpilot.io, der Umstieg in UPGRADE-4.0.md. Diese README beschreibt weiterhin 3.x.

Inhalt

Voraussetzungen

billomatId ist der Subdomain-Teil deiner Billomat-URL. Bei https://mycompany.billomat.net/ ist die ID also mycompany.

Installation

Quickstart

Vollständige, ausführbare Beispiele liegen unter examples/.

Features

Ressourcen

Jede Ressource ist als public readonly-Eigenschaft auf dem BillomatClient zugreifbar. Die Tabelle gruppiert die Ressourcen nach Themengebiet — eine Zeile pro Doku-Datei.

Stammdaten

Ressource Zugriff Doku
Kunden $billomat->clients, clientPropertyValues docs/resources/clients.md
Kundenschlagworte $billomat->clientTags docs/resources/client-tags.md
Ansprechpartner $billomat->contacts docs/resources/contacts.md
Lieferanten $billomat->suppliers, supplierTags, supplierPropertyValues docs/resources/suppliers.md
Artikel $billomat->articles, articleTags, articlePropertyValues docs/resources/articles.md
Property-Definitionen $billomat->articleProperties, clientProperties, supplierProperties, incomingProperties, userProperties docs/resources/properties.md

Ausgangsbelege

Ressource Zugriff Doku
Rechnungen $billomat->invoices, invoiceItems, invoicePayments, invoiceComments, invoiceTags tags
Abo-Rechnungen $billomat->recurrings, recurringItems, recurringTags, recurringEmailReceivers docs/resources/recurrings.md
Angebote $billomat->offers, offerItems, offerComments, offerTags docs/resources/offers.md
Auftragsbestätigungen $billomat->confirmations, confirmationItems, confirmationComments, confirmationTags docs/resources/confirmations.md
Lieferscheine $billomat->deliveryNotes, deliveryNoteItems, deliveryNoteComments, deliveryNoteTags docs/resources/delivery-notes.md
Gutschriften $billomat->creditNotes, creditNoteItems, creditNoteComments, creditNoteTags, creditNotePayments docs/resources/credit-notes.md
Mahnungen $billomat->reminders, reminderItems, reminderTags docs/resources/reminders.md
Briefe $billomat->letters, letterComments, letterTags docs/resources/letters.md

Eingangsbelege

Ressource Zugriff Doku
Eingangsrechnungen $billomat->incomings, incomingComments, incomingPayments, incomingTags, incomingPropertyValues docs/resources/incomings.md
Eingangsrechnungs-Kategorien $billomat->incomingCategories docs/resources/incoming-categories.md
Posteingang (Inbox) $billomat->inboxDocuments docs/resources/inbox-documents.md

Account & Hilfs-Ressourcen

Ressource Zugriff Doku
Konto-Info $billomat->account docs/resources/account.md
Aktivitätsverlauf $billomat->activities docs/resources/activities.md
Suche $billomat->search docs/resources/search.md
Einstellungen $billomat->settings docs/resources/settings.md
Steuersätze $billomat->taxes docs/resources/taxes.md
Steuerfreie Länder $billomat->countryTaxes docs/resources/settings-tax-free-countries.md
Rollen $billomat->roles docs/resources/settings-roles.md
Vorlagen $billomat->templates docs/resources/templates.md
Lookups (Countries, Currencies, Units, DunningLevels, Users, EmailTemplates, FreeTexts, ReminderTexts) $billomat->countries, currencies, units, dunningLevels, users, emailTemplates, freeTexts, reminderTexts docs/resources/lookups.md

Weitergehende Konzepte

Vertiefende Themen sind unter Webhooks (nur UI-konfigurierbar, kein REST-Endpunkt — daher auch im SDK nicht abgebildet).

Konfiguration

BillomatClient::create() ist der bequeme Einstieg:

Für volle Kontrolle (etwa eigene baseUri) lässt sich BillomatConfig direkt verwenden:

Details zu allen Optionen und zur HTTP-Client-Injection: docs/configuration.md.

Pagination

Für List-Endpunkte stehen zusätzlich zu list() zwei Helfer bereit:

Details und Beispiele: docs/advanced/pagination.md.

Fehlerbehandlung

Alle vom SDK geworfenen Exceptions erben von BillomatException. HTTP-Fehler werden auf spezialisierte Subklassen abgebildet:

Statuscode Exception
401, 403 AuthenticationException
404 NotFoundException
400, 422 ValidationException
sonstige 4xx/5xx HttpException

get($id)-Methoden geben bei einer 404-Antwort null zurück, statt eine Exception zu werfen. Auf jeder HttpException sind getStatusCode() und getResponseBody() verfügbar — letzteres enthält den Roh-Body von Billomat und ist beim Debuggen oft hilfreich.

Beispiele und Patterns: docs/concepts/errors-and-rate-limits.md.

Logging & HTTP-Client

Der Symfony-HTTP-Client lässt sich vor der Übergabe an BillomatClient dekorieren — für Logging, Tracing, Retry oder Tests reicht die Standard-Symfony-Toolbox:

Für Unit-Tests eignet sich Symfony\Component\HttpClient\MockHttpClient als Drop-in. Patterns und Eigenheiten des HTTP-Layers (Query-Encoding, + vs. %2B, Array-Filter) sind in docs/advanced/http-layer.md beschrieben.

Tests

Die Unit-Suite läuft mit MockHttpClient und benötigt keine Credentials. Integrationstests unter tests/Integration/ werden übersprungen, solange BILLOMAT_ID und BILLOMAT_API_KEY nicht gesetzt sind. Mehr dazu in docs/testing.md.

Beispiele

Lauffähige, kommentierte Skripte liegen unter examples/ — vom Anlegen eines Kunden bis zum Abrufen eines PDFs. Jede Datei nimmt die Credentials aus Umgebungsvariablen, damit sie ohne Code-Änderungen direkt ausführbar ist.

Wechsel von phobetor/billomat oder vrok/billomat-client? Siehe docs/migration-from-phobetor.md.

Beitragen

Pull Requests sind willkommen. Der Beitragsleitfaden inklusive Coding-Standards, Test-Anforderungen und dem Drei-Schichten-Muster pro Ressource liegt in agents.md-Konvention.

Sicherheit

Hinweise zum Umgang mit API-Keys und zur verantwortlichen Meldung von Sicherheitslücken stehen in SECURITY.md.

Changelog

Versionshistorie und Release-Notes nach Keep a Changelog in Semantic Versioning.

Lizenz

Apache License 2.0 — siehe LICENSE.


All versions of billomat-php-api with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
ext-bcmath Version *
php-http/discovery Version ^1.20
psr/event-dispatcher Version ^1.0
psr/http-client Version ^1.0.3
psr/http-client-implementation Version ^1.0
psr/http-factory Version ^1.1
psr/http-factory-implementation Version ^1.0
psr/http-message Version ^2.0
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package justpilot/billomat-php-api contains the following files

Loading the files please wait ...