API Ressourcen
Die MILKEE API bietet Zugriff auf verschiedene Buchhaltungsressourcen über RESTful Endpoints. Alle Ressourcen sind firmen-spezifisch und erfordern eine gültige Authentifizierung.
Verfügbare Ressourcen
Tags
Verwalten Sie Tags für die Kategorisierung Ihrer Buchhaltungseinträge.
Endpoints:
GET /companies/{company}/tags- Alle Tags auflistenPOST /companies/{company}/tags- Neuen Tag erstellenGET /companies/{company}/tags/{tag}- Einzelnen Tag abrufenPUT /companies/{company}/tags/{tag}- Tag aktualisierenDELETE /companies/{company}/tags/{tag}- Tag löschenGET /companies/{company}/tags/colors- Verfügbare Farben abrufen
Customers
Verwalten Sie Ihre Geschäftskunden mit allen relevanten Informationen.
Endpoints:
GET /companies/{company}/customers- Alle Kunden auflistenPOST /companies/{company}/customers- Neuen Kunden erstellenGET /companies/{company}/customers/{customer}- Einzelnen Kunden abrufenPUT /companies/{company}/customers/{customer}- Kunden aktualisierenDELETE /companies/{company}/customers/{customer}- Kunden löschenGET /companies/{company}/customers/number- Nächste Kundennummer abrufenGET /companies/{company}/customers/{customer}/statistics- KundenstatistikenPUT /companies/{company}/customers/multiple- Mehrere Kunden aktualisierenDELETE /companies/{company}/customers/multiple- Mehrere Kunden löschenPOST /companies/{company}/customers/import- Kunden aus CSV importieren
URL-Struktur
Alle API-Endpoints folgen einem konsistenten URL-Schema:
https://app.milkee.ch/api/v2/companies/{company}/{resource}Parameter
{company}: Ihre Firmen-ID (numerisch){resource}: Name der Ressource (z.B.tags,customers,invoices)
Standard-Operationen
Die meisten Ressourcen unterstützen CRUD-Operationen (Create, Read, Update, Delete):
| HTTP-Verb | Aktion | URL-Muster |
|---|---|---|
GET | Liste abrufen | /companies/{company}/{resource} |
POST | Erstellen | /companies/{company}/{resource} |
GET | Einzeln abrufen | /companies/{company}/{resource}/{id} |
PUT | Aktualisieren | /companies/{company}/{resource}/{id} |
DELETE | Löschen | /companies/{company}/{resource}/{id} |
Request/Response-Format
Content-Type
Alle Requests und Responses verwenden JSON:
Content-Type: application/json
Accept: application/jsonAuthentifizierung
Jeder Request erfordert einen Bearer Token:
Authorization: Bearer abcdef123456789...Standard-Response-Struktur
Einzelne Ressource
{
"id": 1,
"name": "beispiel",
"created_at": "2024-01-15T10:30:00.000000Z",
"updated_at": "2024-01-15T10:30:00.000000Z"
}Ressourcen-Liste
{
"data": [
{
"id": 1,
"name": "beispiel1"
},
{
"id": 2,
"name": "beispiel2"
}
],
"links": {
"first": "...",
"last": "...",
"prev": null,
"next": "..."
},
"meta": {
"current_page": 1,
"last_page": 5,
"per_page": 15,
"total": 67
}
}Validierung
Validation-Regeln
Jede Ressource hat spezifische Validierungsregeln für ihre Felder. Häufige Regeln sind:
required: Feld ist erforderlichmax:n: Maximale Länge/Wertmin:n: Minimale Länge/Wertunique: Eindeutigkeit (meist pro Firma)email: Gültige E-Mail-Adresseurl: Gültige URL
Validation-Errors
Bei Validierungsfehlern erhalten Sie eine 422-Antwort:
{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"The field name is required.",
"The field name must be unique."
]
}
}Rate Limiting
Alle Ressourcen unterliegen den gleichen Rate Limits:
- 120 Requests pro Minute und IP Adresse
Pagination
Listen-Endpoints verwenden Pagination mit folgenden Standard-Parametern:
page: Seitennummer (Standard: 1)per_page: Elemente pro Seite (Standard: 15, Max: 100)
Fehlerbehandlung
Alle Ressourcen verwenden standardisierte HTTP-Status-Codes und Fehlerformate:
401: Authentifizierung fehlgeschlagen403: Keine Berechtigung404: Ressource nicht gefunden422: Validierung fehlgeschlagen429: Rate Limit überschritten
Best Practices
Effiziente API-Nutzung
- Caching implementieren: Cachen Sie API-Responses lokal
- Pagination nutzen: Verwenden Sie angemessene
per_page-Werte - Rate Limits beachten: Monitoren Sie Ihre Request-Frequenz
- Fehlerbehandlung: Implementieren Sie robuste Fehlerbehandlung
Sicherheit
- HTTPS verwenden: Alle Requests über HTTPS senden
- Tokens sicher verwahren: API-Tokens niemals öffentlich teilen
- Minimaler Zugriff: Verwenden Sie separate Tokens für verschiedene Anwendungen
- Token-Rotation: Erneuern Sie Tokens regelmässig
