# Licentivo-Konto- und Kaufintegration

Diese Anleitung beschreibt den aktuellen Licentivo-Anbieter. Händler mit einem anderen Lizenzsystem können den [benutzerdefinierten HTTP-Anbieter](/de/launch-documents/external-licensing/) wählen; dieser Modus ruft Licentivo nicht auf und benötigt keinen seiner API-Schlüssel.

## Administratorkonfiguration

1. Produkte und Richtlinien in Licentivo erstellen.
2. Einen Lese-/Schreib-Management-Schlüssel in Launch unter **Systemeinstellungen → Licentivo** konfigurieren. Der Licentivo-Origin ist fest auf `https://www.licentivo.com` gesetzt.
3. Für jede Launch-Verkaufsplanversion die Richtlinie wählen. Launch liest Produkt, Richtlinienversion und Laufzeitanzeigeeinstellungen.
4. Launch registriert getrennte sandbox/live-Kontovertrauensverbindungen unter seiner einen Licentivo-Managementverbindung, einschließlich öffentlichem Identitätssignaturschlüssel und Händler-Origin.

Der Management-Schlüssel bleibt verschlüsselt auf dem Händlerserver. Client-Installationsdateien enthalten nur öffentliche Routinginformationen und angeheftete öffentliche Produktschlüssel.

## Serverseitige API-Abfolge

Alle folgenden Pfade liegen bei Licentivo und werden von Launch mit seinen Management-Zugangsdaten aufgerufen:

| Endpunkt | Zweck |
| --- | --- |
| `GET /api/v1/products` | Produktfindung |
| `GET /api/v1/policies`, `GET /api/v1/policies/{id}` | Richtlinienfindung und Versionsprüfungen |
| `GET /api/v1/launch/connections` | Origin-/Umgebungs-Vertrauensverbindungen finden |
| `POST /api/v1/launch/connections`, `PUT /api/v1/launch/connections/{id}` | Öffentliche Identitätsschlüssel und Routing registrieren/aktualisieren |
| `PUT /api/v1/launch/connections/{id}/plans/{plan}` | Unveränderliche Verkaufsplanversion und Licentivo-Richtlinienzuordnung registrieren |
| `POST /api/v1/launch/connections/{id}/events` | Absoluten versionierten Kauf-Snapshot übermitteln |
| `GET /api/v1/launch/connections/{id}/events/{event}` | Ursprüngliches Ergebnis wiederherstellen/abfragen |
| `POST /api/v1/launch/connections/{id}/events/{event}/retry` | Dasselbe Ereignis nach Prüfung erneut versuchen |
| `POST /api/v1/launch/connections/{id}/session-revocations` | Konto-/Sitzungswiderruf mitteilen |
| `GET /api/v1/launch/connections/{id}/session-revocations/{event}` | Widerrufsbeleg verifizieren |

Launch erfasst verifizierte Zahlungen, unveränderliche bezahlte Abdeckung und die ausgehende Aufgabe in einer lokalen Transaktion. Ein Worker sendet vollständige absolute Kaufdaten und eine stabile Ereignis-ID. Nur ein `applied`-Beleg bestätigt die Synchronisierung; der HTTP-Empfang allein nicht.

Erstattungen und bestätigte Zahlungsrücknahmen entfernen die Abdeckung der jeweiligen Bestellung. Der nächste vollständige Snapshot kann einen aktiven Basiskauf bewahren, dessen Laufzeit verkürzen, einen niedrigeren Plan wiederherstellen oder sämtliche Abdeckung beenden. Wiederholungen addieren niemals weitere Tage. Alte Bindungen ausgestellter Lizenzen verwenden ausdrückliche Migrationsereignisse statt automatischer Wiederholung alter Verwaltungsbefehle.

## Ablauf in der Kundenanwendung

1. Die Anwendung meldet sich mit einer Desktop-Kontositzung bei Launch an.
2. `POST /api/v1/software/products/{id}/identity` auf Launch gibt eine höchstens 120 Sekunden gültige Identitäts-Assertion zurück, gebunden an echte Sitzung, Produkt, Umgebung, Aussteller und Empfänger.
3. Das Launch-Paket übergibt sie im Speicher an das offizielle SDK, das sie bei Licentivo über `POST /api/v1/launch/exchange` austauscht.
4. Licentivo stellt Gerätezugangsdaten und signierte Berechtigung aus. Das SDK prüft jede geschützte Aktion, Geräterichtlinie, Laufzeitstatus und Offline-Regel.

Eine Launch-Anmeldung, bezahlte Bestellung oder synchronisierter Kauf ist keine Laufzeitberechtigung. Der alte Endpunkt `/credential` gibt HTTP 410 zurück. Die Bereitstellung für benutzerdefinierte Anbieter ist eine separate, auf den Eigentümer beschränkte API und stellt diesen Endpunkt nicht wieder her.

Geräteliste, Freigabequoten, Bindungsgenerationen und Logout-Wiederherstellung bleiben Aufgaben von Licentivo. Sitzungs-/Kontowiderrufe verwenden dauerhafte Benachrichtigungen mit Belegen je Umgebung; Offline-Widerruf bleibt durch bereits ausgestellte SDK-Berechtigungen begrenzt.

Siehe [Anwendungsintegration](/de/launch-documents/software-sdk-integration/), [Kauf-/Kontogrenze](/de/launch-documents/account-purchase-boundary/), [manuelle Integration](/de/launch-documents/manual-integration/) und [Abnahme](/de/launch-documents/acceptance/). Die Implementierung befindet sich in `internal/adapters/licentivo/launch_bridge.go`, `internal/app/launch_trust.go`, `internal/app/purchase_sync.go` und `internal/app/identity.go`.
