Illustration

Musikvertriebs-API ermöglicht Labels, Releases programmatisch und genau einmal an Streaming-Stores zu liefern, mit strikt getrennten Daten je Label.

21/21 Stores erhielten das erste echte Release
<8 Wo. vom Kickoff bis zum ersten Live-Release
2 Delivery-Provider hinter einem Adapter-Vertrag
Project
Project

Profil des Partners

Hintergrund

Der Kunde ist ein Joint Venture im Musikvertrieb, das ein API-First-Produkt für Plattenlabels entwickelt. Labels müssen Releases mit Audio, Artwork, Metadaten und Splits programmatisch über externe Delivery-Provider an Streaming-Dienste übermitteln. Die Branche verzeiht wenig: Wird ein Release erneut gesendet, entsteht ein Duplikat im Store, das zur Sperrung führen kann. Automatisches Failover zwischen Providern ist daher ausgeschlossen. Zudem liegen die Daten vieler Labels in einer gemeinsamen Datenbank.

Ziel

Gefragt war der Kern der Plattform: eine Delivery-Pipeline, die jedes Release genau einmal übermittelt, auch wenn die Infrastruktur Nachrichten wiederholt; ein einheitlicher Vertrag für die Anbindung von Delivery-Providern; verlässliche Integrationspunkte für Labels und eine Mandantentrennung, die auch bei einem vergessenen Filter hält. Dazu ein Label-Portal und eine Operations-Konsole für das Team des Kunden. Projektstart war der 31. August 2026, ein zweiter Provider folgt.

Lösung

Wir haben den Kern als API-First-Backend mit expliziten State Machines aufgebaut, rund 14 davon dokumentiert: Übermittlung, Zustellung je Store, Takedown, Dateien, Report-Import, Outbox, Webhook-Zustellung, Abrechnungen, Split-Schemata, Mitgliedschaften und weitere. Jeder Delivery-Provider wird über einen einheitlichen Adapter-Vertrag angebunden, alle Provider-Aufrufe laufen über ein zentrales Gateway. Labels integrieren über ein OpenAPI-Schema mit Idempotency Keys und signierte Webhooks; das Team des Kunden arbeitet in zwei React-SPAs, dem Label-Portal und der Operations-Konsole.

Die größte Herausforderung war Exactly-once-Zustellung auf Basis eines At-least-once-Brokers. RabbitMQ kann eine Nachricht erneut zustellen, und ein wiederholter Provider-Aufruf bedeutet eine zweite Übermittlung des Releases. Die Lösung kombiniert einen PostgreSQL Advisory Lock, eine „Übertragung gestartet“-Markierung vor dem ersten Provider-Aufruf und genau einen Release-Entwurf pro Provider. Ist das Ergebnis eines Aufrufs unklar, prüft der Support den Fall manuell, statt blind zu wiederholen. Events laufen über eine transaktionale Outbox: Sie werden in derselben Transaktion wie die Zustandsänderung geschrieben und gelten erst nach Bestätigung durch den Broker als veröffentlicht.

Für eine mandantenfähige SaaS-Plattform ist die Trennung zweistufig: expliziter Filter im Code plus PostgreSQL Row-Level Security, wobei der Mandant per SET LOCAL gesetzt wird und nicht über den Connection Pool durchsickern kann. Ein vergessener Filter liefert ein leeres Ergebnis, nicht die Daten eines anderen Labels.

  • Webhooks sind mit HMAC-SHA256 signiert; während der Secret-Rotation gelten zwei Signaturen, nach einer Reihe fehlgeschlagener Zustellungen wird ein Endpunkt automatisch deaktiviert.
  • Zweistufiger SSRF-Schutz und eine Whitelist für Audioformate auf Basis von ffprobe.
  • Rund 6.000 automatisierte Tests, darunter 68 Angriffstests zur Mandantentrennung und 18 Playwright-End-to-End-Specs.

Am 22. und 23. Oktober 2026, weniger als acht Wochen nach dem Projektstart am 31. August, lief das erste echte Release über einen produktiven Delivery-Provider, bestand die Moderation, erreichte 21 von 21 Stores und ging auf Plattformen wie Deezer live. Der zweite Provider wechselt gerade von der Sandbox in den Pilotbetrieb.

Exactly-once-Auslieferung

Eine erneute Zustellung durch den Broker darf nie zu einer zweiten Übermittlung werden. Advisory Lock, eine „Übertragung gestartet“-Markierung vor dem ersten Provider-Aufruf und ein Entwurf pro Provider verhindern Duplikate; unklare Fälle prüft der Support manuell.

Zweistufige Mandantentrennung

Abfragen werden im Code und zusätzlich per PostgreSQL Row-Level Security gefiltert, der Mandant wird per SET LOCAL je Transaktion gesetzt. Ein vergessener Filter liefert nichts statt fremder Label-Daten; 68 Angriffstests prüfen Leaks, Seitenkanäle, Routen, Webhooks und Jobs.

Signierte Webhooks mit Rotation

Label-Integrationen erhalten Webhooks mit HMAC-SHA256-Signatur. Während der Secret-Rotation sind alte und neue Signatur gültig, Integrationen brechen also nicht ab. Nach einer Reihe fehlgeschlagener Zustellungen wird der Endpunkt automatisch deaktiviert.

Transaktionale Outbox

Events werden in derselben Datenbanktransaktion geschrieben wie die Zustandsänderung, die sie beschreiben, und gelten erst nach Bestätigung durch RabbitMQ als veröffentlicht. Ein Absturz zwischen beiden Schritten verliert nichts und meldet nichts, was nicht passiert ist.

Ein Vertrag für alle Provider

Delivery-Provider werden über einen einheitlichen Adapter-Vertrag angebunden, jeder Provider-Aufruf läuft über ein zentrales Gateway. Der erste Provider liefert Releases produktiv aus, der zweite wechselt über denselben Vertrag von der Sandbox in den Pilotbetrieb.

Technologien

Backend

Python 3.12, Django, Django REST Framework, drf-spectacular, Celery, RabbitMQ

Daten und Speicher

PostgreSQL 18 mit Row-Level Security, Redis, S3

Frontend

React 19, TypeScript, Vite, Tailwind CSS, TanStack Query

Qualität und Infrastruktur

Playwright, Sentry, Ansible, Jenkins

Project

Projekte

AIMCP

KI-Avatar-Videopipeline und MCP-Server für Astrologie-Medien

Horoskop-Reels mit drei KI-Personas und ein MCP-Server, der LLM-Agenten exakte astrologische Berechnungen liefert.

58 fertige Reels aus der Pipeline
~20 Min. von Datum und Sternzeichen bis zum fertigen Reel
0 Codeänderungen für eine neue KI-Persona

APISaaS

API-First-Plattform für die Auslieferung von Musik-Releases an Streaming-Dienste

Auslieferungskern für Labels mit Exactly-once-Übermittlung und Mandantentrennung; das erste echte Release ging in 21 von 21 Stores live.

21/21 Stores erhielten das erste echte Release
<8 Wo. vom Kickoff bis zum ersten Live-Release
2 Delivery-Provider hinter einem Adapter-Vertrag

AIVideo Localization

KI-Videolokalisierung in 17 Sprachen ohne erneutes Rendering

Sprachvarianten für KI-generierte Kurzvideos: übersetzt, neu vertont und auf das bestehende Bildmaterial abgestimmt.

17 Sprachen aus einem fertigen Video
4–20× günstiger als eine Dubbing-API (Teamschätzung)
1 Klick für alle Sprachvarianten

SMPL3D

Virtueller Anproberaum mit SMPL-Anthropometrie

virtuelle Kleidung an SMPL-Modelle anpassen, um eine virtuelle Anprobe zu ermöglichen.

ML fähige Lösung
3D Die Modelle basieren auf Skinning und Shape Blending

SaaSDigital Transformation

SaaS für Fitnessstudios — Gymistration

für das ultimative Sport-Business-Management.

5 Monate bis zum Start
$90K monatliche Gebühren bezahlt

MVPAPI

Astrologie-Applikation MVP - Starmantic

für personalisierte Horoskope von Astrologie-Enthusiasten

4 Monate bis zum MVP-Start
1.9K aktive Benutzer
$6.6KEinkommen monatlich

Benötigen Sie einen Projektkostenvoranschlag?

Schreiben Sie uns, und wir bieten Ihnen eine qualifizierte Beratung.

x

Partnerschaft, die für Sie funktioniert

Ihre vertrauenswürdige Agentur für digitale Transformation und kundenspezifische Software-Innovation.

Suchbegriff eingeben …