Mit der API von NumNum erstellen Sie programmatisch Dokumente in Ihrer eigenen NumNum-Umgebung. Einmal erstellt, können Sie diese Dokumente per E-Mail, Peppol oder Post versenden, genau wie manuell erstellte Dokumente.
Die API ist für Server-zu-Server-Integrationen gedacht, zum Beispiel:
Die API ist schreibgeschützt im Sinne von „nur erstellen" (write-only): Sie erstellen damit Dokumente. Es gibt drei Endpunkte:
| Was | Endpunkt | Dokumentation |
|---|---|---|
| Verkaufsrechnungen erstellen | POST /api/v1/webhooks/create-invoice |
Rechnungen erstellen |
| Ausgestellten Einkaufsbeleg (Self-Billing) erstellen | POST /api/v1/webhooks/create-purchase-borderelle |
Self-Billing / Einkaufsbeleg |
| Gutschrift zu einem Einkaufsbeleg erstellen | POST /api/v1/webhooks/create-purchase-borderelle-creditnote |
Self-Billing / Einkaufsbeleg |
Um die Erwartungen klar zu setzen:
reference oder die zurückgegebenen IDs).ℹ️ Der Versand über Peppol oder E-Mail ist nicht Teil dieser API; er erfolgt anschließend in der App oder über Ihren üblichen Versandablauf.
Sie generieren Ihren API-Token selbst auf der Seite Meine APIs in Ihren Unternehmenseinstellungen (siehe Authentifizierung). Sehen Sie diese Seite nicht? Kontaktieren Sie den Support (help@numnum.be).
Jede API-Anfrage benötigt zwei Header: Ihren persönlichen API-Token und das Unternehmen, für das Sie arbeiten.
https://app.numnum.be/company/connection/myapi)Einige wichtige Eigenschaften:
X-Company-Id.Ihre X-Company-Id bestimmt, in welchem Unternehmen das Dokument erstellt wird. Sie finden sie:
https://app.numnum.be/company/12345/... → Company ID = 12345).https://app.numnum.be/api/v1
| Header | Erforderlich | Beispiel |
|---|---|---|
Authorization |
Ja | Bearer <ihr-api-token> |
X-Company-Id |
Ja | 12345 |
Content-Type |
Ja | application/json |
Accept |
Empfohlen | application/json |
Achten Sie auf das Leerzeichen zwischen Bearer und dem Token.
Behandeln Sie nur HTTP 201 als Erfolg. Jeder andere Statuscode bedeutet, dass das Dokument nicht erstellt wurde; stellen Sie die Anfrage in eine Warteschlange und versuchen Sie es später erneut (mit exponentiellem Back-off bei 429 und 5xx).
| Status | Bedeutung | Antwort-Body |
|---|---|---|
201 Created |
Dokument(e) erstellt | { "invoices": [1234] } (je nach Endpunkt) |
400 Bad Request |
Header fehlen | { "error": "Required headers are missing." } |
400 Bad Request |
Falsches Authorization-Format |
{ "error": "Authorization header format is invalid." } |
400 Bad Request |
Validierungsfehler in der Nutzlast | { "error": "invalid_body", "errors": { "0.client.email": ["..."] } } |
401 Unauthorized |
Ungültiger API-Token | { "error": "Invalid API token." } |
403 Forbidden |
Ihr Benutzer hat keinen Zugriff auf dieses Unternehmen | { "error": "Access to this company is forbidden." } |
404 Not Found |
Unbekannte Company ID | { "error": "Invalid company ID." } |
429 Too Many Requests |
Ratenlimit oder Monatslimit erreicht | { "error": "Monthly API document limit reached." } |
500 |
Unerwarteter Serverfehler | Kontaktieren Sie help@numnum.be |
Bei Validierungsfehlern (400 invalid_body) verweist der Schlüssel auf die Position im Array und das Feld, z. B. 0.client.email = erstes Dokument, Feld client.email.
429 zurück.Ein älterer Endpunkt, POST /webhooks/create-invoice (ohne /api/v1), existiert noch für bestehende Integrationen. Er verwendet denselben Token, gibt aber eine einfache Liste ([10232, 10233]) und andere Fehlercodes (406, 401) zurück. Dieser Endpunkt ist veraltet; verwenden Sie für neue Integrationen immer POST /api/v1/webhooks/create-invoice.
Fragen? Kontaktieren Sie help@numnum.be.