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
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/json
Authentifizierung
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