Pressmatix Aboverwaltung Integrationsmöglichkeiten
Zielarchitektur
- Benutzerauthentifizierung läuft über einen OIDC-Provider (PX-User, Auth0 oder Keycloak)
- Benutzer Authentifiziert sich in der PressMatrix App oder im Web am Pressmatrix-Kontext [läuft über den OIDC-Provider]
- Es wird ein Access Token-Generiert
- Pressmatrix ruft beim Zugriff die eigene Middleware auf
- Middleware erhält den OIDC-Token
Beispiel-Aufruf durch Pressmatrix
curl -X POST https://{auth-server-url}/pmx-api/v2/{profile_token}/authorize \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "OIDC-ID-Token: {OIDC_ID_TOKEN}" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"issue_name": "Sample Issue May 2014",
"issue_date": "2014-05-01",
"category_name": "Sample Category",
"category_ids": "20924,20925",
"product_id_apple": "sample_issue_2014_05",
"product_id_google": "sample_issue_2014_05",
"product_id_amazon": "sample_issue_2014_05",
"product_id_external": "sample_id_1,sample_id_2"
}'
Die Middleware prüft zuerst ob der Token gültig ist [Anfrage zum OIDC-Provider]
Wenn der Token ungültig ist, wird der Status 401, Unauthorized zurückgegeben
Wenn der Token gültig ist, wird geprüft, ob der Kunde Zugriff auf die angefragte Ressource hat
falls ja: Rückgabe von granted: true
falls nein: Rückgabe von granted: false
Die Daten der Abonnemente müssen in eine eigene Datenbank der Middleware synchronisiert werden, damit beim zugriff nicht auf die Live-Daten im CRM zugegriffen werden müssen. Sonst kann der Kunde bei beispielsweise eines API-Problems bei Sage nicht auf eine Ausgabe zugreifen.
Mögliche CRM Datenstruktur
Kontakt beziehungsweise Benutzer
| Feld | Beispiel |
|---|---|
| CRM Account ID | 4711 |
| OIDC Subject | 8b153fb2-... |
kunde@example.ch |
|
| Status | aktiv |
| Identity Provider | keycloak |
Der wichtigste Schlüssel ist der OIDC-Claim sub. Die E-Mail-Adresse sollte nicht als dauerhafter Primärschlüssel verwendet werden, weil sie sich ändern kann.
Abonnement
| Feld | Beispiel |
|---|---|
| Subscription ID | SUB-2026-00123 |
| Contact ID | 4711 |
| Produktcode | MAGAZIN-PREMIUM |
| Beginn | 2026-01-01 |
| Ende | 2026-12-31 |
| Status | aktiv |
| Kündigungsdatum | optional |
| Grace Period bis | optional |
Produktzuordnung
| CRM-Produktcode | PressMatrix-ID |
|---|---|
MAGAZIN-PREMIUM |
com.publisher.magazin.premium |
MAGAZIN-2026 |
magazin_issue_2026_* |
ARCHIV-ZUGANG |
Kategorie archive |
Mögliche Middleware Datenbank:
Synchronisation
Sage CRM ─────────────────────────────────► Middleware-Datenbank
▲
│ schnelle Abfrage
PressMatrix ───────────── authorize/issues ─────────┘
identity_mapping
----------------
issuer
oidc_subject
crm_contact_id
subscriptions
-------------
subscription_id
crm_contact_id
status
valid_from
valid_until
grace_until
entitlements
------------
subscription_id
product_code
pressmatrix_product_id
valid_from
valid_until
