GH GambleHub

ოპერაციები API ინტერფეისის საშუალებით

(განყოფილება: ოპერაციები და კონტროლი)

1) დანიშვნა და პრინციპები

API არის ეკოსისტემის „ოპერაციული ფენა“: ყველაფერი, რაც ხელშეკრულებით არ არის ავტომატიზირებული, გადაიქცევა ხელით მუშაობაში და რისკებად.

პრინციპები:
  • Contract-first: პირველი სპეციფიკაცია (OpenAPI/JSON Schema/AsyncAPI), შემდეგ განხორციელება.
  • Secure-by-default: მინიმალური ნაკრები, მოკლე TTL, miutual-TLS/ხელმოწერები.
  • Observable: end-to-end კვალი და მეტრიკა SLA.
  • Idempotent: გამეორება უსაფრთხოა.
  • Backwards-compatible: ევოლუცია „გატეხილი“ ცვლილებების გარეშე.
  • Auditable: კრიპტოგრაფიულად დადასტურებული ფაქტები (ქვითრები).

2) კონტრაქტი და მოდელები (რეფერენდუმი)

OpenAPI sync მოთხოვნებისთვის; AsyncAPI მოვლენებისთვის/ვებჰუკებისთვის.
სავალდებულო ველები თითოეულ რესურსში: 'id', 'version', 'created _ at', 'განახლება _ at', 'tenant', 'region', 'trace _ id'.

ხელშეკრულების ფრაგმენტის მაგალითი

yaml paths:
/payments/payouts:
post:
operationId: createPayout requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutRequest'
responses:
"202": { $ref: '#/components/responses/AcceptedWithReceipt' }
headers:
Idempotency-Key:
schema: { type: string }
required: true components:
responses:
AcceptedWithReceipt:
description: Accepted, processing asynchronously headers:
Receipt-Hash: { schema: { type: string } }

3) ავთენტიფიკაცია, ავტორიზაცია, კოპირება

OAuth2/OIDC მომხმარებლებისთვის/პარტნიორებისთვის; client-credentials/JWT для S2S.
Scopes/რესურსების როლები: 'payments. write`, `catalog. read`, `audit. export`.
ReBAC: წვდომა „მფლობელობაში“ (ტენანტი/ანგარიში/sab ანგარიში).
JIT საიდუმლოებები: ხანმოკლე ნიშნები, მოწყობილობის/ქვესახეობის/რეგიონის კავშირი.
Device posture & mTLS კრიტიკული ოპერაციებისთვის (გადახდები, გასაღებები).

4) Idempotence და „ზუსტად ერთხელ“

Idempotency-Key (სათაური) + დედაპლატი '(key, account, მარშრუტი)' TTL ფანჯარაში.
Outbox/CDC მოვლენების გამოსაცემად გარანტირებული მიწოდებაა.
Exactly-once-effects: გვერდითი მოვლენები ფიქსირდება გარიგების ჟურნალის საშუალებით; გამეორება იწვევს იმავე „ქვითარს“ ('receipt _ hash').
რეტრის პოლიტიკა: ექსპონენციალური სარეზერვო ოფი, ჯიტერი, მაქსიმალური ფანჯრები.

5) ლიმიტები, კვოტები, პრიორიტეტები

Rate limits: per-key/tenant/route/region; „რბილი“ (429) და „მკაცრი“ (შემცირება).
კვოტები/ბიუჯეტები: ყოველთვიური/ყოველდღიური ქუდი, ვებჰუკი 'ÉtaCapReached'.
Fair-use: ტენდერების პრიორიტეტი მომსახურების დონეზე (Gold/Silver/Bronze).
ბურსტის ბუფერები: მოკლე ადიდებები მეზობლების დეგრადაციის გარეშე.

6) პაგინაცია, ფილტრები, ნიმუშები

Cursor-based (stable ordering по `created_at,id`), `page_size` ≤ 1000.
დროული შერჩევა ('from', 'to', 'watermark') ჟურნალებისთვის/გარიგებისთვის.
Filtering DSL: whitelisted поля, `?status=...&tenant=...&region=...`.
Consistence hints: 'snapshot _ at '/' as _ of' რეპორტირების API- სთვის.

7) ვერსია და თავსებადობა

SemVer: `v1`, `v1. 1 '(გაფართოება),' v2 '- მხოლოდ ახალი მარშრუტებით/ნეიმსპეისებით.
ევოლუციის წესები: მხოლოდ ველების/მნიშვნელობების დამატება, ფანჯრის მეშვეობით „დეპრესია - რემოვა“.
Compatibility tests: consumer-driven.

8) მოვლენები, ვებჰუკი და ქვითრები

AsyncAPI აღწერს თემებს/payload/ხელმოწერებს.
ხელმოწერა: HMAC/EdDSA, სათაურები 'X-Signature', 'X-Nonce', 'X-Timestamp' (ვიწრო ფანჯარა).
ქვითრები: 'receipt _ hash' და DSSE ხელმოწერა კრიტიკულ მოვლენებზე (გადახდები, ცვლილებები RTP/limites, ფასების სიები).
Retrai და dedup: idempotence 'idempotency _ key '/' event _ id'.
DLQ/კარანტინი: არასასურველი/განმეორებითი შეტყობინებები მიზეზებით.

9) დაკვირვება და ხარისხი

Traces: სავალდებულო 'trace _ id/span _ id' კარიბჭის/ბიზნეს მოვლენების/ვებჰუკების საშუალებით.
Metrics: წვდომა, p50/p95/p99, error-rate, retry-rate, cost per 1k.
ლოგები: სტრუქტურირებული, საიდუმლოებების გარეშე/PII; ეტიკეტები 'tenant/region/version'.
SLO/ალერტები: SLO ორიენტირებული პირობები და მანქანის რუნები (pause/re-route/rollback).

10) სტატუსის შეცდომები და სემანტიკა

2xx - წარმატება (202 ასინქრონული ოპერაციებისთვის).
4xx - კლიენტის დანაშაული (422 - შესაბამისობა, 409 - კონფლიქტი/იდემპოტენტობა, 429 - ლიმიტები).
5xx არის დროებითი პრობლემები.
შეცდომის სხეული: 'code', 'მესიჯი', 'trace _ id', 'hint', 'retry _ after? ".
UX პარტნიორებისთვის: ცხრილი „რა უნდა გააკეთო“ თითოეული შეცდომისთვის.

11) პოლიტიკა-კოდი (OPA/ABAC)

ცენტრალიზებული ავტორიზაცია: „ვინ/რა/სად/როდის/რატომ“.
პოლიტიკოსები Git- ში, კოდის შურისძიებით, CI ტესტები (pre-flight: "დაუშვებს პოლიტიკას? »).
SoD ჩეკი: "შექმენით გადახდა" დამტკიცება ".

12) უსაფრთხოება, კონფიდენციალურობა, შესაბამისობა

PII მინიმიზაცია: ტოკენიზაცია/ნიღბები, პირველადი წვდომა მხოლოდ დამტკიცებული ჯობის საშუალებით.
საიდუმლოებები: Vault/KMS, მოკლე TTL, როტაცია; აკრძალული საიდუმლოების აკრძალვა.
დაშიფვრა: mTLS/TLS 1. 3, AES-GCM at-rest, HSTS/PKP სადაც შესაფერისია.
Jurisdiction-aware: მონაცემთა/გასაღებების ლოკალიზაცია.
აუდიტის ჟურნალები: WORM, მერკლის ნაჭრები, DSSE ხელმოწერები.

13) ოპერაცია: SLI/SLO და დაშბორდები

SLI (მაგალითი):
  • Per route/region ხელმისაწვდომობა.
  • ლატენტობა p95 (read/write).
  • ვებჰუკების (ქვითრების) წარმატება, მიწოდების გზა.
  • Error-rate/Retry-rate.
  • Cost per 1k მოთხოვნა და egress.

SLO (მაგალითი): 99. წვდომის 95%; p95-120/250 ms; ვებჰუკი - 99. 5 %/5 წუთი; P1 MTTR - 60 წთ

14) ცვლილების მენეჯმენტი (გამოშვებები/გამოტოვება)

Blue-Green/Canary საკეტები და კრიტიკული მარშრუტები.
ფიჩეფლაგები ქცევისთვის გამოშვების გარეშე.
Expand - Migrate - Contract სქემებისა და payload- ისთვის.
Руны: Rollback Release, Disable Flag, Re-route, Flush Cache.
არტეფაქტები: ხელმოწერილი სურათები/მანიფესტები, ვერსიების რეესტრი.

15) SDK, მომხმარებლები, „ქვიშის ყუთები“

ოფიციალური SDK (TS/Java/Python/Go) იგივე შეცდომებისა და რეაგირების სემანტიკით.
Sandbox გარემო ტესტის კლავიშებით/სერთიფიკატებით და PSP/KYC/შინაარსის პროვაიდერების სიმულატორებით.
Contract-tests შედის SDK CI, nightly თავსებადობა.

16) მონაცემთა მოდელი (გამარტივებული)

`api_key` `{id, tenant, scopes[], ttl, created_by}`

`rate_plan` `{tenant, quotas{route→cap}, burst, priority}`

`request_log` `{trace_id, route, actor, idempotency_key?, status, latency_ms, region, cost_unit}`

`webhook_receipt` `{event_id, endpoint, status, attempts, receipt_hash, signature}`

`policy` `{version, rules, signer, dsse}`

17) RACI

რეგიონიResponsibleAccountableConsultedInformed
კონტრაქტი/ვერსიებიPlatform/APICTOProduct, ClientsPartners
ავტორიზაცია/პოლიტიკაSecurity/IAMCISOLegal, OpsAudit
დაკვირვება/SLOSREHead of EngData, FinOpsAll
ვებჰუკი/ქვითრებიIntegrationCOOPartners, FinanceCompliance
SDK/ქვიშის ყუთებიDevExCTOSRE, ProductPartners

18) ხარისხის მეტრიკა

Contract Drift: 0 „დაშლის“ ცვლილებები დეპრესიის გარეშე.
Idempotency Error Rate: ≤ 0. 01%.
Webhook Success: ≥ 99. 5%, lag p95-60.
Auth Fail vs Abuse: მავნე ბლოკების პროპორცია, სამიზნე დონის ხმაური.
Cost/1k: კონტროლი მარშრუტებსა და რეგიონებში (ბიუჯეტები/კაპი-ალერტები).
SDK Adoption: ტრეფიკის წილი ოფიციალური SDK- ით.

19) ინციდენტების ფლეიბუკი

Spike 429/limites: გაზარდეთ ქუდი გოლდისთვის, trotling „ხმაურიანი“ გასაღებები, პარტნიორთან კომუნიკაცია.
WebhookLag: გაზარდეთ workers/batchs, პრიორიტეტული რიგები, დროებით გამორთეთ არჩევითი ვებჰუკები.
PriceMismatch (catalog/FX/Tax): ვერსიების შერიგება, ქეში ინვალიდობა, არტეფაქტის გამოტოვება, კომპენსაცია.
PSP Outage: მარშრუტის გადართვა, „ნაცრისფერი“ გარიგების საკარანტინო, რაფები.
Compromise API-key: დაუყოვნებელი მიმოხილვა, როტაცია, ბოლო 30 დღის აუდიტი.

20) iGaming/fintech სპეციფიკა

RTP/Limits API: მხოლოდ დანაყოფები და პროფილის ვერსიები; ცვლილებები - ქვითრებით.
გადახდა/გადახდა: 202 + ვებჰუკი ხელმოწერებით; იდემპოტენტურობა შეკვეთის გასაღებად.
Affiliates: Conversium- ის დედაპლატი, სადავო ესკიზი, ხელმოწერილი მოხსენებები.
საპასუხისმგებლო თამაში: გამოიფინა „guardrails API“ ლიმიტებისა და RG მოვლენებისთვის.

21) განხორციელების სია

  • აღწერილია კონტრაქტი (OpenAPI/AsyncAPI), CI სავალდებულო და consumer-tests.
  • OAuth2/OIDC, ნაკრები, JIT საიდუმლოებები და mTLS კრიტიკული მარშრუტებისთვის.
  • დაინერგა idempotence, retrai, DLQ და კარანტინი.
  • ლიმიტები/კვოტები/პრიორიტეტები და ქუდების ალერტები.
  • კურსორების პაგინაცია, თანმიმდევრული ნიმუშები 'as _ of'.
  • ვერსია და დეპრესიის პოლიტიკა.
  • ვებჰუკი ხელმოწერებით/ქვითრებით, რეპლიკებით და დედაპლატით.
  • კვალი/მეტრიკა/ლოგები, SLO და რუნები.
  • WORM ჟურნალები, DSSE ხელმოწერები, მერკლის ნაჭრები.
  • SDK, sandbox, სიმულატორები, კოდის მაგალითები და „how-to“.

22) FAQ

რატომ არის 202 გრძელი ოპერაციებისთვის?
იმისათვის, რომ არ შეინარჩუნოთ კავშირი და უზრუნველყოთ საიმედო რეაგირება/ქვითარი ვებჰუკის საშუალებით.

საჭიროა ორივე: OpenAPI და AsyncAPI?
დიახ: sync ბრძანებების/მოთხოვნებისთვის, async სახელმწიფოების მოვლენებისთვის/კოორდინაციისთვის.

როგორ ავარიდოთ თავი ცვლილებებს?
წესი „მხოლოდ დამატებები“, deprecate - observe - remove, მომხმარებელთა კონტრაქტის ტესტები.

სად უნდა შეინახოთ ქვითრები?
WORM ზონაში ხელმოწერებით; 'receipt _ hash' ბრუნდება კლიენტთან და იბლოკება მოთხოვნით.

რეზიუმე: API- ს საშუალებით ოპერაციები არის კონტრაქტისა და ექსპლუატაციის დისციპლინა: დაშვების მკაცრი მოდელი და იდემპოტენტურობა, ლიმიტები და ვერსიები, დაკვირვება და SLO, ხელმოწერები და ქვითრები. დაამატეთ ქვიშის ყუთები და SDK - და პარტნიორები სწრაფად ინტეგრირდებიან, უსაფრთხოდ და პროგნოზირებად, ხოლო ბიზნესი მასშტაბური იქნება ხარისხისა და შესაბამისობის დაკარგვის გარეშე.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

Telegram
@Gamble_GC
ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.