Συνδέσεις κόμβου ενσωμάτωσης και API
1) Ρόλος του κόμβου και τομέας ευθύνης
Ο κόμβος ολοκλήρωσης (εφεξής «HUB») είναι το επίπεδο μεταξύ του πυρήνα της πλατφόρμας και του εξωτερικού κόσμου (πάροχοι παιχνιδιών, πάροχοι υπηρεσιών PSP, KYC/AML, CRM, βαθμολόγηση κινδύνου, καταπολέμηση της απάτης, BI/analytics, κοινοποιήσεις). Τα καθήκοντά της είναι:- ενοποίηση πρωτοκόλλων και μορφοτύπων·
- διασφάλιση της αξιοπιστίας (επανασυσκευές, ουρές αναμονής, πολιτικές χρονισμού, διακόπτης κυκλώματος)·
- εγγυητική ασφάλεια (mTLS, OAuth2, JWT, HMAC, επίδομα IP)·
- συγκέντρωση της παρατηρησιμότητας (κορμοί, μετρήσεις, ίχνη)·
- Απλούστευση του μεταβαλλόμενου παρόχου (προσαρμογείς + χαρτογράφηση πεδίου)
- παρέχουν συμβάσεις σταθερότητας για ομάδες προϊόντων.
2) Αρχές σχεδιασμού
Συνεκτικές συμβάσεις: ενιαίος DTO/εκδηλώσεις, αυστηρό σύστημα και έκδοση.
Idempotency - κλειδιά αιτήσεων, απεμπλοκή, ασφαλείς επαναλήψεις.
Προκαθορισμένη ασφάλεια αστοχίας: timeout, backoff, πολιτικές διακόπτη κυκλώματος.
Η παρατηρησιμότητα ως συνάρτηση: όλα είναι μετρήσιμα και ανιχνεύσιμα.
Διαχωρισμός της ολοκλήρωσης από τον τομέα: οι προσαρμογείς δεν «γνωρίζουν» την επιχειρηματική λογική του πυρήνα.
Τιμή γεγονότος: δημοσίευση/εγγραφή για ασύγχρονες διαδικασίες.
Έκδοση: Συμβάσεις SemVer και διαχείριση της εξαθλίωσης.
3) Αρχιτεκτονική υψηλού επιπέδου
API πύλης: επαλήθευση ταυτότητας, όρια ταχύτητας, εκπομπές καναρινιών, WAF.
Ενορχηστρωτής/Router: δρομολόγηση από παρόχους, προτεραιότητες, αποτυχία, έξυπνη δρομολόγηση.
Προσαρμογείς παρόχου: REST/gRPC/GraphQL/WebSocket, χαρτογράφηση πεδίου, τοπικές κρύπτες.
EDA λεωφορείο (Kafka/RabbitMQ/NATS): εκδηλώσεις «δημιουργήθηκε πληρωμή», «KYC πέρασε», «ξεκίνησε συνεδρία παιχνιδιού».
Υπηρεσία σύμβασης/συστήματος: Schema Registry for JSON/Avro/Protobuf.
Αποθήκευση κατάστασης ενσωμάτωσης: κλειδιά ταυτότητας, συσχέτιση, καταστάσεις.
Παρατηρησιμότητα: Prometheus/Otel + ταμπλό και προειδοποιήσεις.
DevPortal: καταλόγους ενσωμάτωσης, OpenAPI/Protobuf, παραδείγματα, sandboxes.
4) Συμβάσεις και σχήματα δεδομένων
Αυστηρά συστήματα (JSON Schema/Avro/Protobuf), υποχρεωτική επικύρωση εισόδου/εξόδου.
Μητρώο Schema με οπισθοδρομική πολιτική.
Σαφείς συμβάσεις σφάλματος (ενιαίος κωδικός/λεπτομερής μορφότυπος).
5) Υποστηριζόμενα πρωτόκολλα
REST (OpenAPI): ευέλικτο, εύκολο στην τεκμηρίωση.
gRPC: υψηλές επιδόσεις για εσωτερικές επικοινωνίες.
GraphQL: όταν απαιτούνται συγκεντρωτικά δείγματα.
Webhooks: εκδηλώσεις σε εξωτερικά συστήματα. Υπογραφή HMAC, ανακατανομή.
SSE/WebSocket: ζωντανή μετάδοση γεγονότων (ζωντανές καταστάσεις, συναλλαγές).
6) Ασφάλεια και πρόσβαση
mTLS μεταξύ εσωτερικών υπηρεσιών.
για εξωτερικούς πελάτες, βραχύβια μάρκες.
JWT for Service Federation of Identities, αιτήματα ελέγχου.
Υπογραφές HMAC για webhooks/critical collbacks.
Επιτρεπόμενος κατάλογος IP, WAF, RASP, φίλτρα αντι-bot.
Μυστική διαχείριση (KMS/HSM), εναλλαγή κλειδιού, διαχωρισμός γνώσεων.
GDPR/PCI DSS: ελαχιστοποίηση δεδομένων προσωπικού χαρακτήρα και καρτών, μαρκινοποίηση.
7) Δρομολόγηση και ενορχήστρωση
Δρομολόγηση βάσει πολιτικής: ανά γεω, νόμισμα, μετρήσεις αστοχίας, πάροχος SLA.
Αποτυχία: ακολουθία PSP/παρόχου, αυτόματη υποβάθμιση.
Διακόπτης κυκλώματος: κλαδιά ταχείας ανοχής βλάβης για συχνά σφάλματα.
Διάφραγμα: απομόνωση ανά πάροχο/ενοικιαστή/δεξαμενή νήματος.
Saga/ενορχήστρωση για μακρές διαδικασίες (καταχώριση → KYC → κατάθεση).
8) Idempotence and Except-Once (όσο πιο αληθινό γίνεται)
Idempotency-Key + status/response cache.
Αφαίρεση γεγονότων λεωφορείου (κλειδί συσχέτισης).
Αποθήκευση «ορατών αιτήσεων» με TTL.
http
POST /payments
Idempotency-Key: 3d8c1a4f-7f0e-4a2a-9e5a-2b8d3e7e2c11
Content-Type: application/json
json
{
"tenantId": "eu-casino-12",
"userId": "u-9812",
"currency": "EUR",
"amount": 50. 00,
"method": "card",
"metadata": {"orderId": "ORD-2025-1105-001"}
}
Το HUB θα αποθηκεύσει το αποτέλεσμα και θα επιστρέψει την ίδια απάντηση στις επαναλήψεις.
9) Ουρές αναμονής και λεωφορείο εκδήλωσης
Kafka/NATS/RabbitMQ για ασύγχρονα βήματα: αποτελέσματα KYC, καταστάσεις πληρωμής, ισορροπία παρόχου παιχνιδιού.
Τα θέματα με κλειδιά μέλους είναι «tenantId», «userId» ή «providerId».
Διατήρηση και DLQ (νεκρό γράμμα) με αυτόματη εκ νέου υποβολή μετά τη διόρθωση.
Outbox μοτίβο σε υπηρεσίες πυρήνα για εγγυημένες εκδόσεις εκδηλώσεων.
10) Έκδοση και συμβατότητα
SemVer για τις συμβάσεις: 'v1', 'v1. 1 ',' v2 '.
Παράλληλη ύπαρξη δύο μικρών εκδοχών, ένα σαφές χρονοδιάγραμμα αποπροσανατολισμού.
Προσαρμογείς μετανάστευσης (προσωρινοί χάρτες πεδίου) για ομαλή μετάβαση.
11) Παρατηρησιμότητα και αξιοπιστία
Μετρήσεις: καθυστέρηση p50/p95/p99, ρυθμός σφάλματος, απόδοση, λόγος επιτυχίας από τους παρόχους, χρόνος επιβεβαίωσης γεγονότων, «Time-to-Wallet».
Ιχνηλάτηση (OTEL): end-to-end 'trace _ id '/' span _ id' από API call to provider response.
Καταγραφές: δομημένες, με συσχέτιση 'request _ id', συγκάλυψη PII/PAN.
SLO: για παράδειγμα, 99. 9% ποσοστό επιτυχίας <1. 5s για κρίσιμες διαδρομές.
Καταχωρίσεις: από τον προϋπολογισμό SLO-σφάλμα, ανάπτυξη DLQ, ανωμαλίες επαναπροσδιορισμού/χρονοδιαγράμματος.
12) Αμμοκιβώτια και κυκλώματα δοκιμής
Sandbox για κάθε πάροχο: διορθώσεις, εξομοιωτές απαντήσεων, έκδοση δεδομένων.
Δοκιμές συμβάσεων (Σύμφωνο/Buf) και αυτοπαραγωγή SDK.
Προφίλ φορτίου σύμφωνα με τα σενάρια «τουρνουά αιχμής», «κύματα πληρωμής».
13) Κατηγορίες ένταξης (π.χ. iGaming)
Πληρωμές/αναλήψεις: ΠΥΠ, A2A/Open Τραπεζική, κρυπτογραφικές πύλες.
KYC/AML/Κίνδυνος: επαλήθευση ταυτότητας/διεύθυνσης, κατάλογος κυρώσεων, βαθμολόγηση συμπεριφοράς.
Πάροχοι/συλλέκτες παιχνιδιών: Session Launches, Game Tokens, Return Collecks.
Επικοινωνίες: email/SMS/push/messengers.
Analytics/BI: Ροή γεγονότων και συγκεντρωτικά στοιχεία.
Απάτη/Φορτιστές: κέντρα διαφορών, προειδοποιήσεις.
14) Πολυπλοκότητα και περιφερειακός χαρακτήρας
απομόνωση TenantId: κλειδιά κρυπτογράφησης, ποσοστώσεις, όρια, ομάδες σύνδεσης.
Geo-sharing: δρομολόγηση προς την πλησιέστερη RAP/περιφέρεια, λαμβανομένων υπόψη των τοπικών κανόνων.
Τοπικές μέθοδοι παροχής/πληρωμής: κατάλογος ανά δικαιοδοσία και επίπεδα KYC.
15) Επιδόσεις και εγκλωβισμός
Token cache (PSP/KYC), απαντήσεις μεταδεδομένων παρόχου (TTL).
Συνένωση σύνδεσης και επαναχρησιμοποίηση συνεδριών TLS.
Async I/O για υψηλή RPS· σφίξιμο σε προσαρμογείς.
Οριακές τιμές για την περίμετρο του πελάτη και του παρόχου.
16) Σενάρια από το τέλος έως το τέλος (παραδείγματα)
16. 1 Κατάθεση (κάρτα)
1. 'POST/πληρωμές' → ενορχηστρωτής → PSP # 1.
2. Timeout 2s, '5xx/timeout' - επαναδραστηριοποίηση backoff, κατά την αποικοδόμηση - PSP # 2.
3. Πληρωμή γεγονότος. εγκεκριμένος "πυρήνας ισοζυγίου ΔΙ/καταπολέμηση της απάτης.
16. 2 KYC
1. 'POST/kyc/υποβολή' → προσαρμογέα παρόχου KYC.
2. async: webhook 'kyc. το αποτέλεσμα "υπογράφεται από την HMAC· σε περίπτωση βλάβης - επαναλαμβανόμενη παράδοση (έως N φορές).
3. Εκδήλωση 'kyc. ο έλεγχος "δημοσιεύεται στο λεωφορείο.
16. 3 συνεδρία παιχνιδιού
1. 'POST/παιχνίδια/συνεδρία' → προσαρμογέας aggregator → σύμβολο συνεδρίας.
2. Συλλογές αποτελεσμάτων/στοιχημάτων → HUB επικυρώνει την υπογραφή και την ιδιοτέλεια.
3. Παιχνίδι γεγονότων. στρογγυλό. ο διακανονισμός "αφορά τον υπολογισμό των πληρωμών και την υποβολή εκθέσεων.
17) Σφάλματα και ομοιόμορφος μορφότυπος απόκρισης
: 'INTEGRATION _ TIMEOU Коды,' PROVIDER _ UNAILABLE ',' CONTRACT _ VALIDATION _ FAILED ',' SECURITY _ SIGNATURE _ INVALALID ID '.
Σφάλμα:json
{
"code": "PROVIDER_UNAVAILABLE",
"message": "Primary PSP degraded, switched to fallback",
"correlationId": "9f8e1b6a-1c2d-4b4e-9d31-91c6bc31c1d4",
"provider": "psp-1",
"hint": "Retry allowed; idempotency key required"
}
18) Ασφαλή webhooks: Υπογραφή και επανάληψη
Υπογράψτε κάθε webhook:
X-Signature: sha256=hex(hmac_sha256(secret, body + timestamp))
X-Timestamp: 1730812800
Ελέγχεται η χρονική μετατόπιση και γίνονται δεκτές μόνο νέες κοινοποιήσεις. Επαναλήψεις - εκθετικά σε N, στη συνέχεια σε DLQ.
19) Διαχείριση και εκδόσεις αλλαγών
Οι προσαρμογείς καναρινιών (1-5% της κυκλοφορίας), φέρουν σημαίες ανά ενοικιαστή.
Οπισθοδρομικές αποδεσμεύσεις: πρώτα προσαρμογείς και μετά συμβάσεις.
CAB/CRQ για εξωτερικούς παρόχους, τα παράθυρα ανάπτυξης είναι συνεπή με το SLA.
20) SLA/SLO/OLA
Πάροχος SLA: uptime ≥ 99. 9%, ack webhooks ≤ 3c, οριστικοποίηση πληρωμών ≤ 30c (p95).
SLO HUB: p95 <1. 5c σε κρίσιμα τελικά σημεία, ποσοστό σφάλματος <0. 3%.
OLA στο εσωτερικό: όρια αναμονής, προϋπολογισμός επαναπροσδιορισμού, μέγιστες ώρες DLQ.
21) Κατάλογος ενσωμάτωσης και DevPortal
Σελίδες παρόχου: καταστάσεις, εκδόσεις προσαρμογέα, απαιτήσεις πεδίου, λίστες ελέγχου.
Αυτόματο SDK (OpenAPI/gRPC), παραδείγματα, συλλογές Postman, διακομιστές mock.
Κουμπί «Δοκιμή σε Sandbox» και γραμμές ενσωμάτωσης CI.
22) Ασφάλεια και συμμόρφωση
Έκδοση PII σε αρχεία καταγραφής, κρυπτογράφηση πεδίων ανάπαυσης, πεδία PAN μόνο σε μαρκαρισμένη μορφή.
RBAC/ABAC για τα πάνελ χειριστή, αρχή ελάχιστων δικαιωμάτων.
Μητρώα συγκατάθεσης (GDPR), δικαίωμα διαγραφής/θύρας.
Κίνδυνος πωλητή και DPIA για νέες ενοποιήσεις.
23) Σχέδιο εφαρμογής (κλίμακα MVP)
MVP (0-2 μήνες): Gateway, 1-2 PSP, 1 KYC, 1 aggregator παιχνιδιών, βασικές μετρήσεις, idempotency, DLQ.
Φάση 2 (3-4 μήνες): EDA λεωφορείο, DevPortal, δοκιμές συμβάσεων, οπισθοδρόμηση, webhooks υπογραφή.
Φάση 3 (5-6 μήνες): συστάδες με γεω-ανατροπή, έξυπνη διαδρομή μέσω SLA, εκτεταμένη SLO/ειδοποίηση, αυτόματο SDK, καναρίνι.
24) Κατάλογος ελέγχου πριν από την πώληση
Οι συμβάσεις στο μητρώο, οι δοκιμές συμβατότητας πέρασαν.
Οι πολιτικές χρονισμού/επανακαθορισμού/διακοπής καθορίζονται και καλύπτονται με δοκιμές e2e.
Το IdempotetKey περιλαμβάνεται στο κρίσιμο POST/PUT.
Οι υπογραφές Webhooks επαληθεύονται, οι επαναλήψεις ρυθμίζονται, το DLQ παρακολουθείται.
Οι μετρήσεις p95/p99 και ο ρυθμός σφάλματος αντιστοιχούν σε SLO, ενώ οι καταχωρίσεις είναι συνδεδεμένες.
Μυστικά στο KMS, δοκιμή περιστροφής. Ενεργός είναι ο κατάλογος δικαιωμάτων IP/WAF.
Runbooks/accident playbooks δημοσιευμένα, προγραμματισμένα σε εφημερία.
Η DevPortal και τα sandboxes είναι διαθέσιμα στους συνεργάτες, οι εκδόσεις είναι τεκμηριωμένες.
Περίληψη
Ένας κόμβος ολοκλήρωσης είναι ένας βιομηχανικός «ασπίδα και μεταφραστής» μεταξύ του πυρήνα σας και του κόσμου των εξωτερικών υπηρεσιών. Η δύναμή του έγκειται σε αυστηρές συμβάσεις, ιδιοτέλεια, λεωφορείο γεγονότων, ελεγχόμενη έκδοση και παρατηρησιμότητα. Η αρχιτεκτονική αυτή επιταχύνει την επιβίβαση των παρόχων, μειώνει τον κίνδυνο, παρέχει προβλέψιμες SLO και απλουστεύει την κλιμάκωση για τις κορυφές της κυκλοφορίας και την είσοδο σε νέες αγορές.