REST-API
38 Ressourcen, 280 Endpunkte, OpenAPI-Spezifikation.
Kunden und Ansprechpartner, Belege, Vorgänge, Verkaufschancen, Zeiten und Objekte sind über eine dokumentierte HTTP-Schnittstelle erreichbar — lesend und schreibend. Authentifizierung über ein Token, das an einem Benutzer hängt und dessen Rechte erbt.
Eine Schnittstelle ist erst dann eine Zusage, wenn man vor dem Kauf nachlesen kann, was sie kann. Deshalb steht hier der tatsächliche Bestand: jede Ressource, jeder Endpunkt, jedes Feld — nicht als Beispiel, sondern als Liste.
Die Schnittstelle bildet nicht jeden Bereich der Software ab und wird laufend erweitert. Was sie heute kann, steht vollständig auf dieser Seite; was Sie darüber hinaus brauchen, klären wir im Gespräch.
Was ist die ameax REST-API?
Eine HTTP-Schnittstelle unter /api/rest/2.0 nach REST-Konventionen: GET liest, POST legt an, PUT und PATCH ändern, DELETE löscht. Antworten und Fehler kommen als JSON.
Was ist die OpenAPI-Spezifikation?
Eine maschinenlesbare Beschreibung aller Endpunkte und Felder. Werkzeuge wie Postman oder Insomnia lesen sie ein, Codegeneratoren bauen daraus fertige Clients.
Alle Ressourcen
Gruppiert nach Bereich. Jede Ressource hat eine eigene Seite mit ihren Endpunkten und Feldern.
Diese Liste zeigt den Gesamtumfang über alle Module hinweg. Welche Ressourcen Sie tatsächlich nutzen können, hängt davon ab, welche Module Sie einsetzen — ohne Zeiterfassung gibt es keine Zeitbuchungen abzurufen. Im Zweifel klären wir das vorab.
CRM
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Aktivitäten | 6 | Activity entries for customers |
| Ansprechpartner | 6 | Contact persons associated with customers |
| Kategorie-Zuweisungen | 3 | Customer to category assignments |
| Kunden | 8 | Customer management - companies and contacts |
| Kunden-Accounts | 12 | Customer login accounts (Kunden-Logins) |
| Kunden-Beziehungen | 6 | Customer-to-customer relationships (parent, child, supplier, etc.) |
| Kunden-Kampagnen | 6 | Customer assignments to projects with campaign status |
| Kunden-Kennungen | 6 | External customer identifiers (e.g. Google Places ID, Yelp, Apple Maps) |
| Notizen | 6 | Notes/notices for customers |
| Verkaufschancen | 6 | Sales opportunities (Verkaufschancen) |
| Vorgänge | 14 | Tasks/Tickets (Vorgänge) |
| Wiedervorlagen | 6 | Reminders/follow-ups for customers |
Faktura
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Artikel | 2 | Article catalogue |
| Belege | 30 | Receipts/documents (invoices, offers, orders, delivery notes, etc.) |
| Provisionen | 6 | Commission assignments for receipts |
| Stornogründe | 6 | Cancellation reasons for cancellation documents, return notes, and cancellation notices |
| Zahlungseinstellungen | 10 | Customer billing settings - global tax and delivery preferences |
Stammdaten und Verwaltung
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Auswahlwerte | 6 | Properties (Merkmale) - options within a purpose |
| Berechtigungs-Gruppen | 2 | Account roles (Berechtigungsrollen) |
| Betreuergruppen | 6 | Sales agents/territories (Betreuergruppen) |
| Betreuergruppen-PLZ | 6 | Agent postal code territories (Betreuergruppen PLZ-Zuordnung) |
| Kampagnen | 10 | Projects/Campaigns for customer segmentation |
| Kampagnen-Stati | 6 | Type stages within a project/campaign |
| Kategorien | 7 | Customer categories (hierarchical/nested set) |
| Vorgangs-Schemas | 14 | Task Schemes/Workflows (Vorgangs-Schemata) |
| Wertelisten | 11 | Purposes (Verwendungszwecke) - groups of properties |
| Zusatzfelder | 8 | Custom fields (Zusatzfelder) for various modules |
Dateien
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Dateien | 2 | File attachments for entities |
Objektsystem
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Kunden-Objekt-Verknüpfungen | 6 | Customer-object links |
| Kunden-Objekte | 6 | Combined object and customer-object entries |
| Objektarten | 10 | Object type definitions for custom objects |
| Objekteinträge | 6 | Object entries |
Zeiterfassung
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Leistungen | 8 | Time type management - service types for time tracking (Leistungsarten) |
| Zeitbuchungen | 5 | Time entry management - individual time tracking records |
| Zeiterfassung Projekte | 8 | Time project management - projects for time tracking |
System
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| System | 1 | System endpoints |
Inhalte
| Ressource | Endpunkte | Beschreibung |
|---|---|---|
| Textvorlagen | 8 | Text module management - text templates for emails, messages, etc. |
| Textvorlagen Kategorien | 5 | Text module category management - categories for text templates |
Authentifizierung
Jede Anfrage trägt ein API-Token, entweder als Authorization: Bearer <token> oder als Basic-Auth mit dem Benutzernamen api und dem Token als Passwort.
Entscheidend ist, woran das Token hängt: an einem Benutzer. Es erbt dessen Rechte, es gibt also keinen Weg an der Rechteverwaltung vorbei. Was ein Benutzer in der Oberfläche nicht sehen darf, liefert die API mit seinem Token auch nicht.
- Ablaufdatum — abgelaufene Token werden beim nächsten Zugriff automatisch deaktiviert.
- IP-Beschränkung — je Token eine Liste erlaubter Adressen, IPv4 und IPv6.
- Letzter Zugriff — wird protokolliert, ungenutzte Token fallen auf.
- Jederzeit deaktivierbar, ohne das Benutzerkonto anzufassen.
Filtern, sortieren, blättern
Listen-Endpunkte nehmen dieselben Parameter entgegen:
| Parameter | Beispiel | Wirkung |
|---|---|---|
| Filter | filter[ort]=Berlin | schränkt auf einen Feldwert ein |
| Filter mit Operator | filter[name][like]=Muster% | Vergleich statt Gleichheit |
| Sortierung | sort=-created_at,name | mehrere Felder, - kehrt um |
| Seite | page=2&per_page=50 | Standard 25, höchstens 100 je Seite |
| Mitladen | include=persons,actions | verknüpfte Datensätze in einer Anfrage |
Jede Listen-Antwort enthält neben den Daten die Blätterlinks und die Gesamtzahl der Treffer — man muss also nicht raten, wie viele Seiten folgen.
Fehler
Fehlerantworten folgen RFC 7807 und benennen bei Validierungsfehlern das einzelne Feld samt Fehlercode und Klartext. Statt „Anfrage ungültig" steht dort, welches Feld welchen Wert nicht annimmt — das erspart beim Anbinden die Rätselei.
Zusätzlich trägt jede Antwort eine X-Request-Id. Bei einer Rückfrage an den Support genügt diese Kennung, um genau den einen Aufruf wiederzufinden.
OpenAPI-Spezifikation
Ihre Installation stellt die Spezifikation als openapi.json und openapi.yaml bereit — und zwar nicht als allgemeines Handbuch, sondern mit Ihren eigenen Feldern darin. Jedes Zusatzfeld, das Sie an Kunden, Ansprechpartnern, Belegen oder Wiedervorlagen angelegt haben, erscheint dort mit Bezeichnung, Typ und Feldnamen — genauso dokumentiert und genauso ansprechbar wie die Standardfelder.
Das erspart die übliche Rückfragerunde beim Anbinden. Wer ein System an Ihre Installation anschließt, muss nicht erfragen, wie das Feld heißt, das Sie sich vor zwei Jahren angelegt haben — er lädt eine Datei, in der es steht.
Damit lässt sich die Schnittstelle in Postman oder Insomnia importieren oder ein Client in der Sprache Ihrer Wahl generieren. Die Seiten hier zeigen die neutrale Fassung: alle Module, keine kundenspezifischen Felder.
Konfiguration als Blueprint
Neben den Daten lässt sich auch die Konfiguration über die Schnittstelle bewegen. Für Kampagnen, Objektarten, Wertelisten, Vorgangs-Schemas und Zeitarten gibt es je einen Blueprint-Endpunkt: Ein GET liefert die vollständige Einrichtung als ein JSON-Dokument, ein POST legt daraus eine neue an oder überträgt sie auf eine bestehende.
Zu jedem Blueprint gibt es zusätzlich das passende JSON-Schema. Man kann ein Dokument also prüfen, bevor man es einspielt — und maschinell erzeugen, statt es abzutippen.
Was das löst, kennt jeder, der mehr als eine Installation betreut: Ein Vorgangs-Schema, das mit seinen Status und Prozessschritten einmal durchdacht wurde, muss beim nächsten Mandanten nicht neu geklickt werden. Es wird exportiert, geprüft und eingespielt. Dasselbe gilt für eine Kampagne mit ihren Status oder eine Werteliste mit ihren Ausprägungen.
Anbinden ohne eigene Entwicklung
Eine Schnittstelle nach REST-Konventionen mit Token im Kopf ist genau das, was Automatisierungsplattformen erwarten. Wer kein Entwicklungsteam hat, verbindet ameax deshalb auch über ein solches Werkzeug mit anderen Systemen — ein Formular auf der Website legt einen Kunden an, ein neuer Auftrag im Shop erzeugt einen Beleg.
Was dafür nötig ist, steht auf dieser Seite: die Adresse, das Token, die Ressource und ihre Felder.
Anbindung besprechen.
In 30 Minuten klären wir, was Ihre Anbindung braucht — welche Ressourcen, welche Richtung, welcher Aufwand.