Partner Ecosystem Integration
1) Roles and participation models
Operators/brands: storefronts, settlements, KYC/AML, responsibility for user experience.
Studios/RGS/Content aggregators: games/streams, catalogs, promotional tools.
Payment providers/wallets: PSP, APM, crypto, chargebacks.
KYC/AML/Antifraud: verification, sank lists, risk scoring.
Affiliates/marketing networks: traffic, postbacks, attribution.
ISV/integrators: additional modules, marketplace applications.
Models: referral/resell, white-label/OEM, marketplace/app-store, hub & spoke (federation).
2) "Partner Passport" and Starter Pack
Why: A single source of truth about rights, zones, versions, SLOs, keys and processes.
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) Onboarding: Application to production process
1. Screening: questionnaire, partner KYC, data/traffic sources, sank check.
2. Contracts: MSA/DPA/SLA/OLA, commerce (CPA/RevShare/Hybrid/net-basis).
3. Tech start: OIDC key/client issuance, sandbox access, test suite.
4. Conformance tests: event schemas, webhooks, limits, idempotency.
5. Security review: signature of artifacts, SBOM/SLSA (if SDK/client).
6. Pilot/canary: limited volume/geo, enhanced monitoring.
7. Go-live: status transfer, SLO-dashboards, response plan.
8. QBR/MBR: regular KPI reviews, incidents, roadmaps.
4) Data contracts and event schemas
Principles: minimization, versions (semver), compatibility '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"
Catalogs and reports: JSON Schema/Avro, mandatory field control, TTL/retention, Legal Hold.
Stability: breaking changes only through new types/versions with the deprecation window.
5) Authentication, authorization, secrets
OAuth2/OIDC: short-lived tokens, PoP/DPoP if possible.
mTLS for server-to-server.
Signed webhooks: Ed25519/HMAC; anti-replay ('X-Timestamp', 5 min window).
PoLP/ABAC: scopes/attributes: 'partner', 'region', 'dataset', 'env'.
Key rotation: two-sided, with a compatibility window and audit trail.
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) Idempotency, limits, persistence
Idempotency-Key: `partner_id + external_id + op_type`.
Rate limiting/quotas: RPS, burst, warm start, degradation reduction factors.
Retry politicians: exhibitor + jitter, grandfather at the reception.
Patterns outbox/inbox: guaranteed delivery, dedup, audit.
Backpressure: queues, DLQ with a separate retention.
7) Observability and SLO
Метки: `partner`, `region`, `api_version`, `route`, `env`.
SLI: availability, p95/99 latency, error-rate, delivery-within-window, recon-diff.
SLO & burn rate: per partner/node; alerts by excess.
Traces: end-to-end 'trace _ id'; tail sampling and error sampling.
Synthetics: external checks of 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) Compliance and privacy
Geo-pinning: sensitive domain data does not leave permitted regions.
PII minimization and pseudonymization: 'user _ pseudo _ id' instead of direct PDs.
Shelf life: TTL/ILM; crypto-erasure by key (per-partner/per-region).
Subject rights: routing DSAR to source, execution log.
Access logs and audits: who saw when, why; immutable logs.
9) Calculations, attribution and reconciliation
Calculation base: net vs gross, exchange rates, taxes, bonuses.
Attribution: windows (click/view), channel priority, dedup by 'event _ id/click _ id'.
Reconciliation: two-sided reports, ε - tolerance, SLA for closing discrepancies (≤5 business days).
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) API versioning and change management
Semver: 'v1' is a stable branch; breaking → 'v2' with dual ≥90 day support.
Rejection process: announcement → flag in the passport → synthetics/alerts → shutdown.
SDK/connectors: release signature, SBOM, compatibility, migration guides.
11) Routing and federation (if several partners of the same type)
SOR (Smart Order Routing): price/quality/latency/compliance/reputation.
Fairness: turnover share limits, tie-break by SLA/reputation.
Degradation: fair fallback, transparent degradation (notifications/banners).
12) Incident playbooks
12. 1 "Web Hook Diagram Drift"
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 "SLO Failure at PSP/KYC"
1. Redistribute via SOR →
2. Enable graceful-degradation in → stream
3. Apply limits/quotas →
4. Create SLA credit and post-incident.
12. 3 "Discrepancy in calculations"
1. Freeze payments by → range
2. Re-drive events from outbox →
3. Reconciliation/ ε corrections →
4. Joint act and defrosting.
13) Marketplace/Partner Portal
Certification of integrations: checklists, quality badges (Gold/Silver/Bronze).
Connector catalog: search/filters by market/type/API version.
Autogen-SDK/specs: OpenAPI/AsyncAPI, examples, Postman collections.
Self-service: keys, webhooks, limits, magazines, test frames.
14) Integration maturity metrics
Time-to-Integrate (TTI) -Median days to prod.
Coverage: Share of markets/features supported by partner.
SLO pass-rate: monthly by partner/region.
Recon-health: rate of closure of discrepancies, residual ε.
Security posture: key rotation frequency, SBOM coverage.
Cost/egress: $/req and $/GB by partner, SOR performance.
15) Anti-patterns
"First connect, then standards" → zoo integrations.
Unique schemes for each partner → an explosion of complexity.
Only cookie attribution without S2S → loss and disputes.
No idempotency/limits → duplicates/retray storm.
PII in logs/webhooks → regulatory risks.
One "super-integration" without alternatives → concentration risk.
API changes without the deprecation window and synthetics → accidents in the product.
16) Integration Architect Checklist
1. Partner passport filled (contracts, regions, versions, keys, SLO)?
2. Event and report schemas are validated by a test pack, is there a sandbox?
3. OAuth/OIDC, mandatory webhook signature and anti-replay enabled?
4. Idempotence, limits, outbox/inbox and DLQ implemented?
5. Dashboards SLO/SLA, traces, alerts burn-rate configured?
6. Reconciliation and calculation/attribution windows formalized?
7. Geo-pinning/TTL/crypto-erasure and DSAR routing in place?
8. Semver, deprecation process and dual version support documented?
9. Incident playbooks checked (circuit drift, SLO fail, recon diff)?
10. Exit plan: disable keys, export data, migrate to second-source?
Conclusion
Partner integration is a production pipeline: standards → verification → observability → improvement. When a partner's passport is full, events and contracts are typed, authentication and signatures are required, SLOs are measured, calculations are reconciled, and changes are managed through versions and gates - the ecosystem grows quickly and securely, and each new partner adds value to the network.