Einleitung
Ouruka ist ein cloud-nativer REST-API-Dienst zur Generierung eindeutiger, strukturierter IDs. Er richtet sich an Entwickler und Systemintegratoren, die in ihren Anwendungen zuverlässig einzigartige Identifikatoren benötigen — ohne selbst Logik für Zähler, Datumsstempel oder Eindeutigkeitsgarantien implementieren zu müssen.
Typische Einsatzbereiche
- Produktinformationssysteme (PIM): Einheitliche Artikel- und Produktnummern über mehrere Verkaufskanäle hinweg.
- ERP-Systeme: Belegnummern, Auftragsnummern und Lieferscheinnummern in einheitlichem Format.
- Webshops und E-Commerce: Bestellnummern, Kundennummern und Transaktions-IDs.
- Logistik: Sendungsnummern, Paletten-IDs und Versandlabels.
- Healthcare: Patientenakten-Nummern, Proben-IDs und Vorgangsnummern.
- Produktion und Fertigung: Seriennummern, Chargenbezeichnungen und Qualitäts-IDs.
Ouruka läuft produktiv unter ouruka.com und ist von überall erreichbar. Die vollständige API-Dokumentation mit interaktivem Testbereich ist unter ouruka.com/swagger/ verfügbar.
Schnellstart
In drei Schritten zur ersten generierten ID:
-
Paket wählen & registrieren
Wählen Sie ein Paket (Discovery, Solar, Galaxy oder Universe) und schließen Sie die Registrierung ab. Das System legt automatisch Ihren persönlichen Tenant an — Ihren isolierten Bereich im Ouruka-System — und stellt Ihnen dabei einmalig einen
api_keyaus.Den API-Key sicher aufbewahren — er wird nur einmalig ausgegeben und ist für alle weiteren API-Aufrufe erforderlich.
-
Schema erstellen
Ein Schema definiert das Format der IDs. Sie legen fest, aus welchen Bausteinen — Datum, Zähler, feste Zeichen, Variablen — sich eine ID zusammensetzt.
HTTP RequestPOST /v2/schema X-API-KEY: <Ihr API-Key> { "name": "bestellnummer", "pattern": "ORD-{DATE:YYYY}{DATE:MM}-{COUNTER:5}" }
Dieses Pattern erzeugt IDs wie
ORD-202503-00001. -
ID generieren
Mit dem Namen des Schemas rufen Sie die nächste ID ab. Ouruka stellt sicher, dass jede generierte ID eindeutig ist — auch bei parallelen Anfragen.
HTTP RequestPOST /v2/id/generate X-API-KEY: <Ihr API-Key> { "schema": "bestellnummer" }
Response 200 OK{ "id": "ORD-202503-00042" }
Authentifizierung
Alle Endpunkte, die Daten lesen oder schreiben, erfordern einen gültigen API-Key. Dieser wird als HTTP-Header übermittelt:
X-API-KEY: <Ihr API-Key>
Der API-Key wird bei der Registrierung automatisch vom System ausgegeben. Er identifiziert Ihren Tenant eindeutig und steuert den Zugriff auf alle Ihre Schemas, Zähler und ID-Historien.
- Speichern Sie den API-Key nie im Quellcode oder in versionierten Dateien.
- Verwenden Sie Umgebungsvariablen oder Secret-Manager (z.B. AWS Secrets Manager, HashiCorp Vault, Kubernetes Secrets).
- Geben Sie den Key nicht an Dritte weiter. Jeder mit Kenntnis des Keys kann in Ihrem Namen IDs generieren.
- Der Key wird ausschließlich über HTTPS übertragen.
ID-Generierung mit Schemas
Schemas sind das Herzstück von Ouruka. Sie definieren das exakte Format einer ID durch ein Pattern — eine Zeichenkette, in der feste Textelemente mit dynamischen Platzhaltern kombiniert werden.
ART-{DATE:YY}{DATE:MM}-{COUNTER:4} ↓ ART-2503-0017
{DATE:YYYY}
Fügt das vierstellige Jahr des Generierungszeitpunkts ein (z.B. 2025).
| Pattern | Beispiel-ID | Einsatz |
|---|---|---|
FB-{DATE:YYYY}-{COUNTER:6} |
FB-2025-000134 |
Logistik · Frachtbriefe |
LAB-{DATE:YYYY}-{COUNTER:5} |
LAB-2025-00891 |
Healthcare · Laborproben |
{DATE:YY}
Fügt die zweistellige Kurzform des Jahres ein (z.B. 25 für 2025). Spart Zeichen bei platzbeschränkten ID-Feldern.
| Pattern | Beispiel-ID | Einsatz |
|---|---|---|
JKT-{DATE:YY}{DATE:MM}-{COUNTER:4} |
JKT-2503-0056 |
Fashion · Saisonkennzeichnung |
SN{DATE:YY}{DATE:MM}{COUNTER:6} |
SN2504001782 |
Produktion · Seriennummern |
{DATE:MM}
Fügt den zweistelligen Monat des Generierungszeitpunkts ein (01 bis 12).
| Pattern | Beispiel-ID | Einsatz |
|---|---|---|
RE-{DATE:YYYY}-{DATE:MM}-{COUNTER:5} |
RE-2025-03-00421 |
E-Commerce · Rechnungen |
RET{DATE:YY}{DATE:MM}-{COUNTER:4} |
RET2503-0088 |
Logistik · Retourenscheine |
{DATE:DD}
Fügt den zweistelligen Tag des Generierungszeitpunkts ein (01 bis 31).
| Pattern | Beispiel-ID | Einsatz |
|---|---|---|
BON-{DATE:YYYY}{DATE:MM}{DATE:DD}-{COUNTER:4} |
BON-20250318-0047 |
Gastronomie · Tagesbons |
PA-{DATE:DD}{DATE:MM}{DATE:YY}-{COUNTER:3} |
PA-180325-014 |
Healthcare · Patientenaufnahmen |
{COUNTER:N}
Fügt einen automatisch hochzählenden, nullaufgefüllten numerischen Zähler ein. N gibt die Mindestanzahl der Stellen an. Der Zähler beginnt beim definierten start_value (Standard: 1) und wird bei jeder ID-Generierung dieses Schemas um 1 erhöht.
Ouruka garantiert Atomarität — auch bei gleichzeitigen Anfragen aus mehreren Systemen wird jede Zahl nur einmal vergeben. Keine Race Conditions, kein Locking-Overhead.
| Parameter | Beschreibung |
|---|---|
N |
Mindeststellenzahl (mit führender Null aufgefüllt). {COUNTER:4} + Wert 7 → 0007 |
start_value |
Optionaler Startwert beim Schema-Anlegen. Standard ist 1. |
| Pattern | start_value | Beispiel-ID | Einsatz |
|---|---|---|---|
ORD-{DATE:YYYY}-{COUNTER:6} |
1 |
ORD-2025-000342 |
E-Commerce · Bestellnummern |
CH-{DATE:YYYY}-{COUNTER:5} |
10000 |
CH-2025-10047 |
Pharma · Chargennummern |
{VAR1} – {VAR4}
Die Platzhalter {VAR1} bis {VAR4} ermöglichen es, beim Generierungsaufruf eigene Werte in die ID einzubetten. Sie werden nicht automatisch gefüllt, sondern müssen bei jedem generate-Aufruf mitgegeben werden — etwa Ländercodes, Abteilungskennungen oder Produktgruppen.
{VAR1} — Wert direkt eingefügt {VAR1:-} — Wert mit Bindestrich als Separator {VAR2:/} — Wert mit Schrägstrich als Separator
Der Separator erscheint nur, wenn der Wert nicht leer ist — so entstehen keine doppelten Trennzeichen in der ID.
| Pattern | VAR1 | Ergebnis | Einsatz |
|---|---|---|---|
SEND-{DATE:YYYY}-{VAR1:-}{COUNTER:6} |
DE |
SEND-2025-DE-000071 |
Logistik · Sendungsnummern |
SEND-{DATE:YYYY}-{VAR1:-}{COUNTER:6} |
FR |
SEND-2025-FR-000072 |
Logistik · Sendungsnummern |
ART-{VAR1:-}{DATE:YY}-{COUNTER:5} |
ELEK |
ART-ELEK-25-00019 |
PIM · Produktnummern |
ART-{VAR1:-}{DATE:YY}-{COUNTER:5} |
MODE |
ART-MODE-25-00020 |
PIM · Produktnummern |
Zufalls-IDs (UID)
Neben strukturierten Schema-IDs bietet Ouruka zufallsbasierte Unikate. UIDs enthalten keine semantischen Informationen wie Datum oder Zähler — sie sind rein eindeutig und eignen sich für Tokens, API-Keys und alle Szenarien, in denen Anonymität und Zufälligkeit gefragt sind.
Numerische UIDs
POST /v2/uid/numeric
Generiert eine zufällige numerische ID in der gewünschten Länge. Jede ID besteht ausschließlich aus Ziffern (0–9).
| Länge | Beispiel-UID | Einsatz |
|---|---|---|
8 |
73920481 |
Gutscheincodes (telefonisch durchgebbar) |
12 |
829401736254 |
Barcodes / EAN-kompatible Seriennummern |
Alphanumerische UIDs
POST /v2/uid/alpha
Generiert eine UID aus Buchstaben und Ziffern (a–z, A–Z, 0–9). Durch den größeren Zeichenraum ist die Kollisionswahrscheinlichkeit selbst bei kurzen Längen astronomisch gering — bei 16 Zeichen gibt es knapp 8 Quadrillionen mögliche Kombinationen.
| Länge | Beispiel-UID | Einsatz |
|---|---|---|
24 |
aX7kP2mRnQz9wLvBcT4eYdJ0 |
Session-Tokens, Cookies |
16 |
Kf3mX9pLrT2nVqBw |
Anonymisierungs-IDs für klinische Studien |
String-Konvertierung (Keyify)
POST /v2/keyify
Keyify konvertiert beliebige Freitext-Strings in URL-sichere, einheitlich formatierte Schlüssel. Typische Anwendungsfälle sind URL-Slugs, Datenbankschlüssel, technische Bezeichner oder suchmaschinenfreundliche Produkt-URLs aus natürlichsprachlichen Eingaben.
Transformationen
- Leerzeichen werden durch Bindestriche (
-) ersetzt - Sonderzeichen werden entfernt oder umgewandelt
- Groß- und Kleinschreibung wird vereinheitlicht (Lowercase)
- Deutsche Umlaute werden aufgelöst:
ä→ae,ö→oe,ü→ue,ß→ss - Mehrfach aufeinanderfolgende Bindestriche werden bereinigt
Umlaut-Referenz
| Eingabe | Ausgabe | Eingabe | Ausgabe |
|---|---|---|---|
ä | ae | Ä | Ae |
ö | oe | Ö | Oe |
ü | ue | Ü | Ue |
ß | ss |
Praxisbeispiele
| Eingabe | Ausgabe (Keyify) | Einsatz |
|---|---|---|
Schwarze Lederjacke Größe XL |
schwarze-lederjacke-groesse-xl |
E-Commerce · Produkt-URLs |
Herren-Uhr aus Edelstahl |
herren-uhr-aus-edelstahl |
E-Commerce · Produkt-URLs |
Kühlschränke & Gefriergeräte |
kuehlschraenke-gefriergerate |
PIM · Kategorieschlüssel |
Sportartikel / Outdoor |
sportartikel-outdoor |
PIM · Kategorieschlüssel |
History
Ouruka protokolliert jede generierte ID in einer History-Liste, die pro Schema abrufbar ist. Gespeichert werden die generierte ID, der Zeitstempel (UTC) sowie optionale Metadaten.
Die History ermöglicht es, nachzuvollziehen, welche IDs wann generiert wurden — nützlich für Audits, Fehleranalysen und Workflows, die auf Vollständigkeit prüfen.
GET /v2/history X-API-KEY: <Ihr API-Key>
Speicherdauer nach Paket
| Paket | Aufbewahrungsdauer |
|---|---|
| Discovery · Trial | Begrenzte Anzahl an Einträgen |
| Solar · Einstieg | Mehrere Wochen |
| Galaxy · Standard | Mehrere Monate |
| Universe · Komplett | Individuell konfigurierbar |
FAQ
UIDs sind rein zufällig generierte, bedeutungsfreie Zeichenketten. Sie eignen sich für technische Schlüssel, Tokens und Szenarien, in denen die ID keine semantischen Informationen tragen soll.
Swagger / API-Referenz
Die vollständige technische API-Dokumentation ist interaktiv über den Swagger-Bereich erreichbar — direkt im Browser, ohne externe Tools.
- Vollständige Endpunkt-Übersicht: Alle verfügbaren API-Endpunkte mit Methoden, Pfaden und Beschreibungen.
- Request- und Response-Schemas: Genaue Definitionen aller Ein- und Ausgabefelder, Datentypen und Pflichtfelder.
- Interaktives Testen: Endpunkte direkt im Browser mit eigenem API-Key aufrufen.
- Beispiel-Requests und -Responses: Konkrete Beispiele für typische Anwendungsfälle.
- Fehlercodes: Dokumentation aller HTTP-Fehlercodes und deren Bedeutung.
Um den Swagger-Bereich zu nutzen, klicken Sie auf Authorize und tragen Sie Ihren X-API-KEY ein.