დეველოპერების პორტალი და წვდომის ნიშნები
1) განვითარების პორტალის როლი
Developer Portal არის „წინა ოფისი“ ინტეგრატორებისთვის: თვითგამორკვევა (გასაღებები, ნიშნები, ვებჰუკი, ტარიფების გეგმები), გამჭვირვალობა (ლიმიტები, ვიზუალური, ინვოისები), უსაფრთხოება (როტაცია, ხელმოწერები), ინტეგრაციის სიჩქარე (SDK, დოკუმენტაცია, ქვიშის ყუთი).
ძირითადი მიზნები:- TTI- ს შემცირება საათამდე.
- მისცეს წვდომის მართვას: ვინ/რა/რამდენი/როდის.
- შეამცირეთ ტვირთი მხარდაჭერაზე მანქანების საშუალებით.
2) ონბორდინგი და ანგარიშები
რეგისტრაცია: email + 2FA/SSO (SAML/OIDC); დომენის დადასტურება (DNS ნიშანი).
ორგანიზაციები და გუნდები: როლები 'Owner', 'Admin', 'Developer', 'Billing', 'Security'.
მულტფილმი-ტენანტი: პროგრამებთან დაკავშირება; მონაცემების წვდომა - ტენანტი/გარემო.
KYC/B2B (ოპერა) : Enterprise- სთვის - იურიდიული პირი, ხელშეკრულება, უფრო მაღალი შეზღუდვები.
3) პროგრამები და კრედიტები
პროგრამების ტიპები: „სერვერის სერვერი“, 'web', 'mobile', „მანქანა მანქანაში“, 'webhook-consumer'.
3. 1 API Keys (სერვერის სერვერი, მარტივი ინტეგრაცია)
იდენტიფიკატორი 'key _ id' + საიდუმლო 'key _ secret' (ჩანს ერთხელ).
სკოპების გეგმასა და კომპლექტებზე მიბმული.
მოთხოვნის ხელმოწერა (HMAC) და/ან სათაური 'Authorization: Key <key _ id>: <signature>'.
3. 2 OAuth2/OIDC (რეკომენდებულია)
გრანტები:- Client Credentials (მანქანები).
- Authorization Code (+PKCE) (user-delegated).
- Refresh Token (ოფლაინ წვდომა, RT როტაცია).
- Device Code (TV/კონსოლი).
3. 3 mTLS (დამატებითი დონე)
ურთიერთგამომრიცხავი TLS; სერთიფიკატები იტვირთება პორტალზე; 'cert _ fingerprint' განაცხადის დაკავშირება.
4) ნიშნები: ტიპები და სასიცოცხლო ციკლი
პრინციპები:- მოკლე AT + გრძელი RT; RT - მოცურების როტაცია (rotate-on-use).
- იძულებითი მიმოხილვა (მიმოხილვა) გასაღები/განაცხადი/ორგანიზაცია.
- პერის გაცემა სკოპის/კვოტების შეზღუდვების შენარჩუნებით.
4. 1 JWT ფორმატი (მაგალითი)
json
{
"iss":"https://auth. example. com",
"sub":"app_123",
"aud":"https://api. example. com",
"exp":1730616000,
"iat":1730612400,
"scp":["wallet:read","bet:write"],
"org":"acme",
"kid":"jwks_2025_11",
"jti":"at_01HXY..."
}
საჯარო გასაღებები ქვეყნდება JWKS- ში; 'kid' როტაცია.
4. 2 Opaque ნიშნები და Introspection
შეინახეთ 'token _ store' Auth სერვერში (Redis/SQL).
ინტროსპექცია: 'აქტივი', 'scope', 'exp', 'client _ id', 'org', 'tenant'.
5) Scopes, წვდომის როლები და პოლიტიკა
სკოპები აღწერენ ოპერაციებს ('wallet: read', 'wallet: write', 'report: read').
როლები აერთიანებს scopes ('Developer', 'Billing').
ABAC: ატრიბუტები 'org', 'tenant', 'region', 'environment'.
პოლიტიკოსები: „ეს გასაღები მხოლოდ 'eu-west-1' და 'read'“.
ნაბიჯი: კრიტიკული მეთოდებისთვის საჭიროა გაფართოებული სკოპები ან mTLS.
6) კვოტები, ლიმიტები და ტარიფები
Rate limits: RPS/RPM, burst.
კვოტები: დღე/თვე, სესხები.
გასაღები/განაცხადი/ორგანიზაცია/ტენანტი.
პორტალი გვიჩვენებს სურათს, სათაურებს 'X-RateLimit-' და 'X-Éta-', ასევე overage პროგნოზს.
ბილინგი: გეგმასთან დაკავშირება, ღონისძიებების მეტრინგი, ინვოისები და ბილინგის ვებსაიტები.
7) ვებჰუკების მენეჯმენტი
endpoint's, საიდუმლოებების, მოვლენების ვერსიების რეგისტრაცია.
ტესტის მიწოდება და მიწოდება; მცდელობის ლოგოები (2xx/4xx/5xx).
ხელმოწერები HMAC ('X-Signature'), 'X-Webhook-Id', დედაპლიკაცია, respect '410'.
8) დოკუმენტაცია და SDK
OpenAPI/AsyncAPI ავტომატური წარმოებით SDK.
Cookbook: შეკითხვის მაგალითები, retrais, imempotence, pagination, webhooks.
Try-it playground (ქვიშის კლავიშებით).
ვერსია Changelog და სადეპოზიტო გვერდი.
9) ქვიშის ყუთი და ტესტის მონაცემები
იზოლირებული გარემო: 'sandbox', 'staging', 'წარმოება'.
ტესტის ობიექტები (მოთამაშეები, გარიგებები) და სკრიპტები (win/lose, შეფერხებები, 5xx, 429).
მონაცემთა გადაღება პორტალიდან და გარემოდან.
10) საიდუმლოების უსაფრთხოება და შენახვა
API Key- ის საიდუმლოებების ჰაში (არ შეინახოთ ღია ფორმით); კლავიშის ჩვენება ერთხელ.
საიდუმლოების მენეჯერი (KMS/HSM) ხელმოწერის ნიშნებისთვის; 'kid' გასაღების როტაცია.
IP allowlist, geo შეზღუდვები, ASN ფილტრები.
2FA/SSO, აპარატურის გასაღებები (WebAuthn).
აბუზისგან დაცვა: CAPTCHA შექმნის დროს, ანტიბიოტიკი, რეგისტრაციის სიჩქარე.
ლოგოები PII/საიდუმლოებების გარეშე; redaction შაბლონების მიხედვით.
11) აუდიტი და შესაბამისობა
აუდიტის ჟურნალი: ვინ შექმნა/დაათვალიერა/გაიხსენა გასაღები, შეცვალა ვებჰუკი, გადმოწერილი ანგარიში.
GDPR/DSAR: პროგრამის/ორგანიზაციის მონაცემების გადმოტვირთვა და წაშლა.
შენახვის პოლიტიკა: TTL ლოგებისთვის, Legal Hold ინციდენტების დროს.
Terms of Use/Fair Use და ექსპორტის შეზღუდვები.
12) ადმინისტრირება და ოპერაციები
ინციდენტის/კომპრომისის ნიშნების მასობრივი მიმოხილვა.
განაცხადის დროებითი შეჩერება მიზეზით და გასაჩივრებით.
Roll over გასაღებები (ორმაგი საკვალიფიკაციო რეჟიმი: 'აქტივი/შემდეგი').
ინციდენტი-კომი: სტატუსის გვერდი, ბიულეტენები, RSS/webhuks სტატუსი.
13) UI/UX პორტალი (საკვანძო ეკრანები)
ორგანიზაციის Dashboard: sage/შეცდომები/SLO/ბილინგი.
პროგრამა: გასაღებები, ნიშნები, სკოპები, ლიმიტები, ვებჰუკები, გარემო.
ვებჰუკების მიწოდების ლოგოები ფილტრებითა და Replay ღილაკით.
ტოკენის კონსოლი: გამოცემა/მიმოხილვა, ისტორია, მიზეზები.
დოკუმენტაცია და SDK, Quickstart, კოდის მაგალითები (კოპირება-ჩასმა).
განყოფილება „დეპრესია და მიგრაცია“.
14) კონტრაქტებისა და ჩამორთმევის მაგალითები
14. 1 OpenAPI (ფრაგმენტები)
yaml paths:
/v1/apps:
post:
summary: Create app security: [{ oauth2: [admin:apps. write] }]
responses:
'201': { description: Created }
/v1/apps/{app_id}/keys:
post:
summary: Create API key (shown once)
responses:
'201': { description: Created }
/v1/oauth2/token:
post:
summary: Token endpoint (CC/AC)
responses:
'200': { description: Access token }
/v1/tokens/revoke:
post:
summary: Revoke access/refresh token responses:
'204': { description: Revoked }
14. 2 ნიშნის ინტროსპექცია (პასუხი)
json
{
"active": true,
"client_id": "app_123",
"scope": "wallet:read bet:write",
"org": "acme",
"exp": 1730616000,
"token_type": "access_token",
"jti": "at_01HXY..."
}
14. 3 გასაღების პოლიტიკა (JSON)
json
{
"app_id":"app_123",
"plan":"pro-2025",
"scopes":["wallet:read","report:read"],
"limits":{"rps":50,"daily_requests":250000},
"regions":["eu-west-1"],
"ip_allow":["192. 0. 2. 0/24"]
}
15) ვერსიისა და დეპრესიის პროცესები
API სემანტიკური ვერსიები ('/v1 ', '/v2'), თავსებადობა „დაამატეთ, ნუ გატეხთ“.
პორტალი გვიჩვენებს: „რა მოძველებულია“, რა თარიღამდე და „როგორ მიგრირება“.
მიგრაციის სახელმძღვანელოები, 'v2' საცდელი ქვიშის ყუთები, ორმაგი-write/ორმაგი-read სადაც შესაძლებელია.
16) დაკვირვება და მოხსენება
Usage - შემოსავალი: მოთხოვნის/სესხების/ოვერჯეჟის გრაფიკი.
შეცდომები სტატუსებზე/' error _ code ', ლატენტობის ჰისტოგრამები.
SLO ვიჯეტები: წვდომა და p95 ძირითადი სახელურებისთვის.
CSV/JSON ექსპორტი, ვებჰუკები, API ანალიტიკისთვის.
17) ჩეკის ფურცლები
17. 1 უსაფრთხოება
- 2FA/SSO, დომენის/ფოსტის დადასტურება
- საიდუმლოებების ჩვენება ერთხელ, მძიმე შენახვა
- JWKS და გასაღებების როტაცია, 'kid'
- mTLS (opc.) , IP allowlist, geo/ASN ფილტრები
- Anti bot/anti-abuse, rate-limit კლავიშების შესაქმნელად
- მოქმედების აუდიტი და წვდომა
17. 2 DX/Onboarding
- Quickstart 5 წუთი
- SDK (TS/Py/Java/Go/.NET) იგივე ზედაპირით
- Playground + ქვიშის გასაღებები
- Cookbook: webhooks, pagination, retrai, idempotence
- ლიმიტების/გეგმების/ფასების გვერდი
- მაგალითები „კოპირება-ჩასმა“
17. 3 ოპერაციები
- ტოქსინების მასობრივი მიმოხილვა, suspend app
- ინციდენტების გვერდი/სტატუსი + გამოწერა
- DLQ/Replay ვებჰუკებისთვის
- მანქანის განგაში კვოტების ახლო ამოწურვის შესახებ
ყოველთვიური ანგარიშები და ინვოისები
18) განხორციელების გეგმა (3 გამეორება)
განმეორება 1 - MVP (2-3 კვირა):- Org/პროგრამების რეგისტრაცია, API Keys- ის, Client Credentials OAuth2- ის გაცემა, ძირითადი ლიმიტები (RPS/კვოტები), მოთხოვნისა და შინაარსის გრაფიკის ლოგოები, დოკუმენტაცია და SDK TS/Python, ქვიშის ყუთი.
- JWT + JWKS, კლავიშების როტაცია, Refresh Token + rotate-on-use, მოვალეობის შემსრულებელი 2FA/SSO, ვებჰუკი (ხელმოწერები, retries, logray, replay), ანგარიშები და ექსპორტი, როლები და ABBBABBAAAAAAAAAAAAAABAAAAAAAAAAA- ს.
- MTLS, admin ინსტრუმენტები (mass revoke/suspend), დეპრესია და მიგრაცია v2, SDK Java/Go/.NET, fish-dashboards, GDPR/DSAR, LEeGeGeGeGOOOOLOOOOOOOOOOAAAAAAAAAAAAAAAAAAAAAAAA
19) მინი-FAQ
JWT თუ opaque?
JWT მოსახერხებელია Auth სერვერისთვის მოთხოვნის გარეშე (ხელმოწერა/' kid '), opaque უფრო ადვილია გაწმენდა და შინაარსის დამალვა. ორივე ხშირად გამოიყენება: გარეგნულად JWT, შინაგანად - ინტროსპექცია.
რამდენი Access Token ცხოვრობს?
მოკლედ: 5-15 წუთი მომხმარებლისთვის, 15-60 წუთი მანქანებისთვის. ანაზღაურდება რეფრეშის მექანიკით.
როგორ არის უსაფრთხო გასაღებები?
შეინარჩუნეთ 'აქტივი/შემდეგი', გამოაქვეყნეთ ორივე JWKS- ში, შეცვალეთ მომხმარებლები 'kid' მიხედვით, შემდეგ გაიყვანეთ ძველი.
შედეგი
დეველოპერების ძლიერი პორტალი არის თვითმომსახურება, დაკვირვება და ნაგულისხმევი უსაფრთხოება. მიეცით გასაგები გამომუშავების/როტაციის/გაწვევის პროცესები, გამჭვირვალე ლიმიტები და ბილინგი, მაღალი ხარისხის დოკუმენტაცია და SDK, საიმედო ვებჰუკები და აუდიტი. შემდეგ ინტეგრატორები სწრაფად დაიწყებენ და თქვენი პლატფორმა დარჩება კონტროლირებადი, კომპოზიციური და სტაბილური დატვირთვის ქვეშ.