Işläp düzüjiler portaly we giriş bellikleri
1) Işläp düzüjiler portalynyň roly
"Developer Portal" integratorlar üçin "öň ofis" bolup durýar: öz-özüne hyzmat etmek (açarlar, bellikler, webhuklar, nyrh meýilnamalary), aç-açanlyk (çäkler, ulanyş, invoýslar), howpsuzlyk (aýlaw, gol), integrasiýa tizligi (SDK, resminamalar, sandyk gutusy).
Esasy maksatlar:- TTI (time-to-integrate) sagada çenli kesiň.
- Giriş dolandyryşyny beriň: kim/näme/näçe/haçan.
- Awto-gurallar arkaly goldawyň ýüküni azaltmak.
2) Onbording we hasaplar
Hasaba alyş: email + 2FA/SSO (SAML/OIDC); domen tassyklamasy (DNS-token).
Guramalar we toparlar: 'Owner', 'Admin', 'Developer', 'Billing', 'Security' rollary.
Multi-tenant: programmalary guramalara baglanyşdyrmak; maglumatlara girmek - tenant/gurşaw boýunça.
KYC/B2B : Enterprise üçin - ýuridik şahs, şertnama, has ýokary çäkler.
3) Goşundylar we kredenselller
Programma görnüşleri: 'server-to-server', 'web', 'mobile', 'machine-to-machine', 'webhook-consumer'.
3. 1 API Keys (server-to-server, ýönekeý integrasiýa)
'key _ id' + gizlin 'key _ secret' identifikatory (bir gezek görünýär).
Meýilnama we topara baglanyşyk.
Haýyşlaryň goly (HMAC) we/ýa-da sözbaşy 'Authorization: ApiKey <key_id>:<signature>'.
3. 2 OAuth2/OIDC (maslahat berilýär)
Grantlar:- Client Credentials (maşynlar).
- Authorization Code (+PKCE) (user-delegated).
- Refresh Token (awtonom giriş, RT aýlanyş).
- Device Code (TV/konsol).
3. 3 mTLS (goşmaça dereje)
Ingress boýunça özara TLS; sertifikatlar portal arkaly ýüklenilýär; 'cert _ fingerprint' programma baglanyşygy.
4) Bellikler: görnüşleri we durmuş sikli
Ýörelgeler:- Gysga AT + uzyn RT; RT - süýşýän aýlaw (rotate-on-use).
- Açar/programma/gurama boýunça mejbury yzyna almak (revoke).
- Skopes/kwotalar boýunça çäklendirmeleri saklamak bilen gaýtadan bermek.
4. 1 JWT formaty (mysal)
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..."
}
Jemgyýetçilik açarlary JWKS-de çap edilýär; 'kid' boýunça aýlanyş.
4. 2 Opaque tokenleri we Introspection
"Auth" serwerinde saklaň 'token _ store' (Redis/SQL).
Introspektsiýa: 'active', 'scope', 'exp', 'client _ id', 'org', 'tenant'.
5) Skopes, rollar we giriş syýasaty
Skopes amallary beýan edýär ('wallet: read', 'wallet: write', 'report: read').
Rollar skoplary birleşdirýär ('Developer', 'Billing').
ABAC: 'org', 'tenant', 'region', 'environment' atributlary.
Syýasatçylar: "Bu açar diňe 'eu-west-1' we 'read'".
Step-up: möhüm usullar üçin giňeldilen skopes ýa-da mTLS gerek.
6) Kwotalar, çäkler we nyrhlar
Rate limits: RPS/RPM, burst.
Kwotalar: gün/aý, karzlar.
Açar/programma/gurama/tenant boýunça.
Portal usage, 'X-RateLimit-' we 'X-Quota-' sözbaşylaryny, şeýle hem overage çaklamasyny görkezýär.
Billing: meýilnama bilen baglanyşyk, wakalar boýunça ölçeg, invoýslar we webhuklar billing.
7) Webhuklary dolandyrmak
Wakalaryň endpointlerini, syrlaryny, wersiýalaryny hasaba almak.
Synag-eltip bermek we replay; synanyşyk ýazgylary (2xx/4xx/5xx).
Gollar HMAC ('X-Signature'), 'X-Webhook-Id', de-duplikasiýa, respect '410'.
8) Resminamalar we SDK
SDK awto-nesil bilen OpenAPI/AsyncAPI.
Cookbook: soraglaryň mysallary, retrailer, idempotentlik, paginasiýa, webhooks.
Try-it playground (gum açarlary bilen).
Wersiýa Changelog we deprekasiýa sahypasy.
9) Sandyk gutusy we synag maglumatlary
Izolirlenen gurşaw: 'sandbox', 'staging', 'production'.
Synag häsiýetleri (oýunçylar, amallar) we ssenariýalar (win/lose, gijikdirmeler, 5xx, 429).
Portaldan we gurşawdan data seeding.
10) Howpsuzlyk we syrlary saklamak
API Key gizlinlik heşi (açyk ýagdaýda saklamaň); açary bir gezek görkezmek.
Gol bellikleri üçin gizlin dolandyryjy (KMS/HSM); kid açarlarynyň aýlanmagy.
IP allowlist, geo-çäklendirmeler, ASN-süzgüçler.
2FA/SSO, enjam açarlary (WebAuthn).
Hyýanatçylykdan goramak: Döredilende CAPTCHA, anti-bot ewristika, hasaba alyş tizligi.
PII/syrsyz ýazgylar; redaction şablonlara görä.
11) Audit we laýyklyk
Audit-log: açary kim döretdi/gözden geçirdi/yzyna aldy, webhuk üýtgetdi, hasabaty göçürip aldy.
GDPR/DSAR: programma/gurama maglumatlaryny düşürmek we aýyrmak.
Saklaýyş syýasaty: Loglar üçin TTL, Hadysalar üçin Legal Hold.
Terms of Use/Fair Use we eksport çäklendirmeleri.
12) Dolandyryş we amallar
Waka/eglişik boýunça tokenleriň köpçülikleýin yzyna alynmagy.
Arzany (suspend) sebäp we şikaýat bilen wagtlaýyn togtatmak.
Açar rulony (iki açar re modeimi: 'active/next').
Waka-komm: status-sahypa, poçta, RSS/webhuk status.
13) Portal UI/UX (esasy ekranlar)
Guramanyň daşbordy: usage/hatalar/SLO/billing.
Programma: açarlar, bellikler, skopes, çäkler, webhuklar, gurşaw.
Süzgüçler we Replay düwmesi bilen webhook iberiş ýazgylary.
Token-konsol: goýbermek/yzyna almak, taryhy, sebäpleri.
Resminamalar we SDK, Quickstart, kod mysallary (göçürmek-goýmak).
"Deprekasiýa we migrasiýa" bölümi.
14) Şertnamalaryň we konwensiýalaryň mysallary
14. 1 OpenAPI (bölekler)
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 Tokeniň introspektsiýasy (jogap)
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 Açar syýasaty (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) Wersiýalaşdyrmak we deprekasiýa prosesleri
API-iň semantik wersiýalary ('/v1 ', '/v2'), "goşuň, bozmaň" gabat gelýär.
Portal: "Näme köne", haýsy senä çenli we "nädip göçmeli" diýip görkezýär.
Migrasiýa gollanmalary, synag-sandyk gutusy 'v2', dual-write/dual-read nirede mümkin.
16) Gözegçilik etmek we hasabat bermek
Usage → girdeji: haýyşlaryň/karzlaryň/overejleriň grafikleri.
/ 'error _ code', gizlinlik gistogrammalary boýunça ýalňyşlyklar.
SLO widget: açar ruçkalary üçin elýeterlilik we p95.
CSV/JSON eksporty, hasabat webhuklary, analitika üçin API.
17) Çek-listler
17. 1 Howpsuzlyk
- 2FA/SSO, domen/poçta tassyklamasy
- Syrlary bir gezek görkezmek, hash-saklamak
- JWKS we Key Rotation, 'kid'
- mTLS , IP allowlist, geo/ASN süzgüçleri
- Anti-bot/anti-abuse, açar döretmek üçin rate-limit
- Hereketleriň we elýeterliligiň audit-log
17. 2 DX/Onbording
- Quickstart ≤ 5 minut
- SDK (TS/Py/Java/Go/.NET)
- Playground + gum açarlary
- Cookbook: webhuklar, paginasiýa, retrailer, idempotentlik
- Çäklendirmeler/meýilnamalar/bahalar sahypasy
- "Göçürmek-goýmak" mysallary
17. 3 Amallar
- Tokenlary köpçülikleýin yzyna almak, suspend app
- Waka/ýagdaý sahypasy + abuna ýazylmak
- Webhook üçin DLQ/Replay
- Kwotalaryň ýakyn gutarandygy barada awto-duýduryşlar
- Aýlyk hasabatlar we invoýslar
18) Durmuşa geçirmek meýilnamasy (3 iterasiýa)
Yterasiýa 1 - MVP (2-3 hepde):- Org/programmalary hasaba almak, API Keys, Client Credentials OAuth2 bermek, esasy çäkler (RPS/kwotalar), haýyşlar we ulanyş grafikleri, resminamalar we SDK TS/Python, sandyk gutusy.
- JWT + JWKS, açar aýlawy, Refresh Token + rotate-on-use, mandat 2FA/SSO, webhuklar (gollar, retries, logirovka, replay), billing webhuklar, hasabatlar we eksport, rollar we ABAC.
- mTLS, dolandyryş gurallary (mass revoke/suspend), deprekasiýa we migrasiýa v2, SDK Java/Go/.NET, finops-daşbordlar, GDPR/DSAR, Legal Hold, ösen anti-hyýanat.
19) Mini-FAQ
JWT ýa-da opaque?
JWT "Auth-server" -den soralmazdan amatly (gol/' kid '), opaque - mazmuny yzyna almak we gizlemek has aňsat. Ikisi-de köplenç ulanylýar: daşarky JWT, içerki - içerki gözleg bilen opaque.
Access Token näçe wagt ýaşaýar?
Gysgaça: ulanyjylar üçin 5-15 minut, maşyn üçin 15-60 minut. Refress-mehanika bilen öwezini dolýar.
Açarlary nädip aýlamaly?
"Active/next" -i saklaň, ikisini JWKS-de çap ediň, müşderileri 'kid' -den geçiriň, soň köne birini yzyna alyň.
Jemi
Güýçli işläp düzüjiler portaly - öz-özüne hyzmat etmek, gözegçilik etmek we howpsuzlyk. Bellikleri çykarmak/aýlanmak/yzyna almak, aç-açan çäkler we billing, ýokary hilli resminamalar we SDK, ygtybarly webhuklar we audit proseslerini beriň. Şonda integratorlar çalt işe giriziler we platforma dolandyrylyp bilinjek, oňat we ýük astynda durnukly bolup galar.