Stellen Sie noch heute Ihre eBills mit Hilfe unserer leistungsstarken API zu.
Die Dibito-REST-API erlaubt eine vollständige Integration in Ihr Buchhaltungssystem. Folgen Sie diesem Tutorial, um einen Einblick in die Möglichkeiten zu erhalten.
Inhalt
Voraussetzungen
- Sie haben curl oder ein vergleichbares Tool lokal installiert.
- Sie haben Ihre Organisation erfolgreich bei Dibito als Rechnungssteller verifiziert.
Für weitere Programmiersprachen wie Python, Java, C#, Go etc. finden Sie Programmierbeispiele in der API-Dokumentation.
API-Schlüssel generieren
Gehen Sie in Ihrem Dibito-Konto auf Dibito -> API-Schlüssel und klicken Sie auf «Schlüssel generieren».

Geben Sie dem Schlüssel einen Namen und notieren Sie sich den generierten Schlüssel. Dieser wird für alle API-Anfragen benötigt.
Sie können jederzeit neue Schlüssel generieren oder bestehende löschen.
Beispielrechnung erstellen
Vorsicht: Diese Testrechnungen werden im produktiven eBill-Portal zugestellt. Es fallen Transaktionsgebühren an. Verwenden Sie als eBill-Empfänger sich selber oder eine Person welche über die Tests informiert ist.
In einem ersten Schritt benötigen Sie ein Beispielrechnung, um die API zu testen. Sie können eine passende Testrechnung für einen beliebigen eBill-Empfänger direkt in Dibito unter dem Menupunkt «Beispiele» generieren. Jede der drei Dokumente-Varianten funktioniert mit der API:

Alternativ können Sie auch eine beliebige Rechnung mit unserem QR-Rechnungsgenerator erstellen. Benutzen Sie dabei die QR-IBAN Ihres Kontos, setzen Sie eine QR-Referenznummer und einen gültigen eBill-Empfänger.
Speichern Sie die generierte QR-Rechnung als PDF bei Ihnen ab.
Hinweis: Jede Referenznummer kann nur einmal ins eBill-Portal eingeliefert werden. Für weitere Versuche müssen Sie neue Rechnungen generieren.
Rechnung als eBill einliefern
Um eine Rechnung im PDF-Format ins eBill-Portal einzuliefern, genügt der folgenden curl-Befehl:
curl -i -X POST \
'https://app.dibito.ch/api/v1/business-cases?processingMode=STAGE' \
-H 'Content-Type: application/pdf' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-H 'x-filename: qr-invoice.pdf' \
--data-binary '@/path/to/your/qr-invoice.pdf'
Hinweis: Bei curl ist in diesem Fall das @
vor dem Dateipfad wichtig, um die Datei als Binärdaten zu senden.
Im Erfolgsfall befindet sich Ihre Rechnung jetzt in Dibito unter den bereitgestellten Geschäftsfällen.
Wünschen Sie die Rechnung nach der Validierung durch Dibito direkt ans eBill-Portal einzuliefern, so ändern Sie den Parameter processingMode
zu DELIVER
:
curl -i -X POST \
'https://app.dibito.ch/api/v1/business-cases?processingMode=DELIVER' \
-H 'Content-Type: application/pdf' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-H 'x-filename: qr-invoice.pdf' \
--data-binary '@/path/to/your/qr-invoice.pdf'
In diesem Fall ist kein manueller Schritt zur Freischaltung mehr notwendig.
Rechnungsempfänger suchen
Um einem Empfänger eine Rechnung zustellen zu dürfen, ist eine gültige Anmeldung des Empfängers im System notwendig. Sie können folgendermassen eine Anmeldung mit einer E-Mail-Adresse überprüfen:
curl -i -X POST \
https://app.dibito.ch/api/v1/bill-recipients/search \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"items": [
{
"emailAddress": "hans.muster@example.org"
}
]
}'
Wie finde ich die eBill-Identifikation meiner Kontakte?
Für Privatpersonen ist die eBill-Identifikation die E-Mail-Adresse. Beachten Sie, dass jede private Person im eBill-Portal nur eine einzige E-Mail-Adresse hinterlegen kann. Unter Umständen entspricht diese E-Mail-Adresse nicht der primären E-Mail-Adresse des Kontakts.
Für Unternehmen ist es die Unternehmens-Identifikationsnummer (UID). Sie finden die UID jedes Schweizer Unternehmens im UID-Register des Bundes. (Beispiel: CHE-428.851.403).
Ob Sie einer Person oder einem Unternehmen eine eBill-Rechnung zustellen können, finden Sie im Dibito-Interface unter dem Menupunkt «Empfänger» heraus. Dort finden Sie auch die 17-stellige Empfänger-ID aus dem eBill-Portal. Diese bleibt konstant, auch wenn z.B. eine Privatperson ihre E-Mail-Adresse ändert.
Die Antwort im JSON-Format:
{
"items": [
{
"emailAddress": "hans.muster@example.org",
"billRecipientSixId": "41234567890123456",
"activeSubscription": true,
"enterpriseIdentificationNumber": null,
"submissionStatus": "ALLOWED"
}
]
}
Erläuterung: Der Empfänger wurde gefunden und mit allen verfügbaren Informationen zurückgegeben (In diesem Fall seine E-Mail-Adresse und seine eindeutige fixe ebillRecipientId.)
Das Flag activeSubscription
ist wahr, d.h. es besteht bereits eine Anmeldung dieses Empfängers an Ihren Rechnungssteller.
Der submissionStatus
ist ALLOWED
. Sie können diesem Empfänger eBills zustellen. Dieser Status kann auch ohne Anmeldung auf ALLOWED
stehen, wenn der Empfänger allgemeine Zustellung von eBills erlaubt und dies so in seinem eBill-Portal eingestellt hat.
Weitere Möglichkeiten
Die Dibito-API verfügt über weitere Funktionen:
- Beispiel-Billing-Objekte erzeugen, welche zur Einlieferung beliebiger PDF-Dokumente als eBills mit XML-Attachments verwendet werden können.
- Anmeldungs-Einladungen an Rechnungsempfänger schicken.
- Webhooks für Event-Notifikationen erstellen (Neue Anmeldung, bezahlte Rechnungen etc.)
- PDF-Konvertierungstools für PDF/A-3b
- Zustandsabfrage für das eBill-Portal
Haben Sie noch weitere Fragen? Kontaktieren Sie uns.