Intégration des partenaires dans l'écosystème
1) Rôles et modèles de participation
Opérateurs/marques : vitrines, calculs, KYC/AML, responsabilité de l'expérience utilisateur.
Studios/RGS/Agrégateurs de contenu : jeux/strimes, catalogues, outils de promotion.
Fournisseurs de paiement/portefeuilles : PSP, APM, crypto, chargbecks.
KYC/AML/Antifrod : vérification, feuilles de sank, risque-scoring.
Affiliations/réseaux marketing : trafic, postbacks, attribution.
ISV/intégrateurs : modules supplémentaires, applications de marketing.
Modèles : referral/resell, white-label/OEM, marketplace/app-store, hub & spoke (fédération).
2) « Passeport partenaire » et paquet de départ
Pourquoi : une source unique de vérité sur les droits, les zones, les versions, les SLO, les clés et les processus.
yaml partner_passport. v1:
partner_id: "kyc-omega"
type: "KYC/AML"
regions: ["EU","TR","LATAM"]
contracts: { msa: "2025-01-10", dpa: "2025-01-10", sla: "99. 9/30d" }
api_versions: ["identity. v1","events. v1","webhook. v1"]
auth: { oidc_client_id: "p_omega", scopes: ["kyc:read","kyc:write"] }
webhooks: { signature: "Ed25519", retry: "exp", dedupe: true, ttl_s: 300 }
rate_limits: { rps: 100, burst: 300 }
pii_policy: { minimization: true, retention: "180d", geo_pinning: ["EU"] }
recon: { window_days: 7, epsilon: 0. 002 }
owners: { biz: "ecosystem-biz", tech: "integrations" }
status: "sandbox"
3) Onbording : processus « de la demande à la production »
1. Screening : questionnaire, partenaire KYC, sources de données/trafic, chèque sank.
2. Contrats : MSA/DPA/SLA/OLA, Commerce (CPA/RevShare/Hybride/net-basis).
3. Départ : délivrance des clés/client OIDC, accès au bac à sable, jeu de tests.
4. Tests de conformité : schémas d'événements, webhooks, limites, idempotence.
5. Examen de sécurité : signature des artefacts, SBOM/SLSA (si SDK/client).
6. Pilote/canaris : volume limité/géo, surveillance renforcée.
7. Go-live : traduction du statut, SLO-dashboards, plan d'intervention.
8. QBR/MBR : examens réguliers des KPI, incidents, feuilles de route.
4) Contrats de données et schémas d'événements
Principes : minimisation, versions (semver), compatibilité « vN/vN + 1 », signatures.
yaml event. common. v1:
id: uuid occurred_at_utc: timestamp source_partner_id: string trace_id: uuid type: enum # e. g., "kyc. approved. v1"
payload: object signature: ed25519 version: "1. 0. x"
Catalogues et rapports : JSON Schema/Avro, contrôle des champs obligatoires, TTL/Retenshen, Legal Hold.
Stabilité : Modifications par breaking uniquement via les nouveaux types/versions avec la fenêtre deprecation.
5) Authentification, autorisation, secrets
OAuth2/OIDC : jetons à courte durée de vie, PoP/DPoP si possible.
mTLS pour serveur-serveur.
Webhooks signés : Ed25519/HMAC ; anti-replay ('X-Timestamp', fenêtre 5 min).
PoLP/ABAC : scoops/attributs : 'partner', 'region', 'dataset', 'bou'.
Rotation des clés : bidirectionnelle, avec fenêtre de compatibilité et journal d'audit.
python def verify(req):
if abs(now()-req. h["X-Timestamp"])>300: return 401 if not sig_ok(req. body, req. h["X-Signature"], partner_pubkey): return 401 if seen(req. json["event_id"]): return 200 store(req. json); mark_seen(req. json["event_id"]); return 200
6) Idempotence, limites, durabilité
Idempotency-Key: `partner_id + external_id + op_type`.
Taux de limitation/quots : RPS, burst, « démarrage chaud », réduisant les coefficients de dégradation.
Retry-politics : exposant + gitter, dedup à la réception.
Patterns outbox/inbox : livraison garantie, dedup, audit.
Backpressure : files d'attente, DLQ avec retentchen séparé.
7) Observabilité et SLO
Метки: `partner`, `region`, `api_version`, `route`, `env`.
SLI : disponibilité, p95/99 latency, error-rate, delivery-within-window, recon-bou.
Taux de SLO & burn : par partenaire/nœud ; alerte de dépassement.
Traces : "trace _ id'de bout en bout ; sample des queues et des erreurs (tail sampling).
Synthétique : contrôles externes des endpoints/signatures/TTL.
rego package partner. release deny["SLO at risk"] { input. slo_forecast. error_burn > 1. 0 }
deny["Missing schema tests"] { input. tests. schemas_passed == false }
8) Conformité et vie privée
Geo-pinning : les données des domaines sensibles ne quittent pas les régions autorisées.
Minimisation PII et pseudonyme : 'user _ pseudo _ id'au lieu de PD directs.
Durée de conservation : TTL/ILM ; crypto-érasure par clé (per partner/per region).
Droits du sujet : routage DSAR vers la source, journal d'exécution.
Journaux d'accès et vérification : qui a vu quand, pourquoi ; logiques immuables.
9) Calculs, attribution et reconnaissance
Base de calcul : net vs gross, taux de change, taxes, bonus.
Attribution : fenêtres (click/view), priorité des canaux, dédupit par 'event _ id/click _ id'.
Reconnaissance : rapports bilatéraux, ε-dopusk, SLA de clôture des écarts (≤5 d.).
sql
SELECT a. event_id
FROM partner_report a
LEFT JOIN internal_events b ON a. event_id=b. event_id
WHERE a. date BETWEEN:from AND:to AND b. event_id IS NULL;
10) Versioning API et gestion du changement
Semver : 'v1' est une branche stable ; breaking → 'v2' avec double support pendant ≥90 jours.
Processus de déprécation : Annonce → drapeau sur le passeport → Synthetic/Alert → Désactivation.
SDK/connecteurs : signature des versions, SBOM, interopérabilité, hydes de migration.
11) Routage et fédération (si plusieurs partenaires du même type)
SOR (Smart Order Routing) : prix/qualité/latence/conformité/réputation.
Fairness : limitation de la part du chiffre d'affaires, tie-break par SLA/réputation.
Degradation : fallback honnête, détérioration transparente (notifications/bannières).
12) Pleybooks d'incidents
12. 1 « Drafe du Web Hook »
yaml detect: "schema_validation_error_rate>0. 5%"
steps:
- "auto-pause partner webhooks"
- "fallback to cached/default behavior"
- "notify partner; open war-room"
- "provide diff & test vectors; hotfix window 24h"
kpi: ["RTA<=1h","residual_errors<0. 1%"]
12. 2 « L'échec de SLO chez PSP/KYC »
1. Redistribution par l'intermédiaire du DORS →
2. Activer graceful-degradation dans le flux →
3. Appliquer les limites/quotas →
4. Avoir un crédit SLA et post-incident.
12. 3 « Divergence dans les calculs »
1. Paiement Freeze par gamme de →
2. Re-drive des événements de l'outbox →
3. Rapprochement/ ε-corrections →
4. Un acte conjoint et un dégel.
13) Marketplace/portail partenaire
Certification des intégrations : chèques-feuilles, badges de qualité (Gold/Silver/Bronze).
Répertoire des connecteurs : recherche/filtres par marché/type/version de l'API.
Autogen-SDK/specks : OpenAPI/AsyncAPI, exemples, collection Postman.
Self-service : clés, webhooks, limites, journaux, cadres de test.
14) Métriques de maturité des intégrations
Time-to-Integrate (TTI) : médiane des jours jusqu'à prod.
Coverage : part des marchés/fonctions soutenus par le partenaire.
SLO pass-rate : mois par partenaire/région.
Recon-health : taux de fermeture des écarts, ε résiduel.
Security posture : fréquence de rotation des clés, coverage SBOM.
Cost/egress : $/req et $/GB par partenaire, efficacité du DORS.
15) Anti-modèles
« D'abord, connectons, les normes ensuite » → le zoo des intégrations.
Des schémas uniques pour chaque partenaire → une explosion de complexité.
Seulement un cookie d'attribution sans S2S → perte et de controverse.
Il n'y a pas d'idempotence ou de limites → doublons/tempêtes rétrogrades.
PII dans les logs/webhooks → les risques réglementaires.
Une « super-intégration » sans alternative → le risque de concentration.
Modifications de l'API sans fenêtre de déprécation et synthétiques → accident dans la vente.
16) Chèque de l'architecte des intégrations
1. Passeport partenaire rempli (contrats, régions, versions, clés, SLO) ?
2. Les schémas d'événements et de rapports sont validés par un test-pack, y a-t-il un bac à sable ?
3. OAuth/OIDC, signature du mandat des webhooks et anti-replay inclus ?
4. Idempotence, limites, outbox/inbox et DLQ mis en œuvre ?
5. Dashboards SLO/SLA, traces, alertes burn-rate personnalisés ?
6. La reconnaissance et les fenêtres de règlement/attribution sont formalisées ?
7. Geo-pinning/TTL/crypto-erasure et routage DSAR sur place ?
8. Semver, processus de déprécation et double prise en charge des versions documentées ?
9. Pleybooks incidents testés (dérive des circuits, échec SLO, recon-diff) ?
10. Plan d'exit : Désactiver les clés, exporter les données, migrer vers second-source ?
Conclusion
L'intégration des partenaires est une chaîne de production : normes → vérification → observabilité → amélioration. Lorsque le passeport d'un partenaire est plein, les événements et les contrats sont typés, l'authentification et les signatures sont obligatoires, les SLO sont mesurés, les calculs sont vérifiés et les changements sont gérés à travers les versions et les gates - l'écosystème grandit rapidement et en toute sécurité, et chaque nouveau partenaire renforce la valeur du réseau.