GH GambleHub

Sandbox жана сыноо чөйрөлөр

TL; DR

Ишенимдүү Sandbox = толук обочолонуу, синтетикалык/жекелештирилген маалыматтар, тышкы системалардын реалдуу симуляторлору, алдын ала боло турган сиддер жана убакыт-саякат, орнотулган идемпотенттүүлүк жана вебхактар, ачык-айкын лимиттер жана метриктер. Прод - жеткис, ачкычтар - айланат, promotion - чек баракчалары боюнча гана.


1) Айлана-чөйрөнүн картасы жана алардын ролу

Айлана-чөйрөМаксатыКирүүМаалыматтарИшенимдүүлүк
Local/DevТез иштеп чыгууИнженерлерСинтетика/минималдуу фикстураларТөмөнкү
CI/TestБирдик/интеграциялык/контракттык тесттерCI/CDАвтосиддерОрто
Stage/Pre-prodАкыркы монтаж, регрессЧектелгенАнонимдүү снапшотторЖогорку
Public SandboxТышкы өнөктөштөр/соодагерлерGate + лимиттериСинтетика ганаОрто
ProdСогуштукSSO/катуу кирүүРеалдууМаксимум

Эреже: sandbox ≠ prod. Ар кандай байланыш - реалдуу каражаттарга/оюндарга/жеке маалыматтарга кирүү мүмкүнчүлүгү жок бир тараптуу симуляторлор аркылуу.


2) Маалыматтар: синтетика, атын атагысы келбеген, сидинг

Синтетика демейки. Паспорт/карта маалыматтарынын генераторлору, валиддик, бирок финансылык эмес PAN (тест BIN), "тирүү" коюмдардын жана баланстардын үлгүлөрү.
stage үчүн анонимизациялоо: идентификаторлорду токенизациялоо, агрегаттар үчүн дифференциалдык купуялуулук, сейрек кездешүүчү комбинацияларды алып салуу.
Сиддер жана детерминизм: бир команда - бир мамлекет.

bash make db-reset && make db-seed ENV=sandbox SEED=2025_11_03

Time-travel: Global "саат" мөөнөтү/expiration тесттер үчүн курчап турат.


3) симуляторлор жана штепсель (stubs)

Төлөмдөр/банктар/PSP

Auth/Capture/Refund/Payout со сценариями: `approved`, `declined_insufficient`, `3ds_required`, `timeout`, `duplicate`.
PSP Webhook: кол HMAC, Retray, кечигүү жана "кир Интернет".

KYC/AML/Sanctions

Ответы: `clear`, `pep_match`, `sanction_hit`, `doc_mismatch`, `manual_review`.
Колдоо Демпотенттик жана rate limits катары прод.

Оюн провайдерлери/каталог

Лобби, чүчүкулак, RTP/раунддар - UX-кейстер үчүн "төлөмдөр/мүчүлүштүктөр" башкарылуучу псевдо-көрүнүктүү муун.

Параметр: "катуулук" симулятор (бактылуу-жол vs chaos).


4) кум кутусунда Webhook

HMAC кол тамгалары (v1), "X-Event-Id", "X-Timestamp" аталыштары, терезе ≤ 5 мүнөт.
экспоненциалдуу backoff, DLQ жана replay менен Retray.
Консол "кайра" жана аракет Логи.

Псевдо:
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }

5) Идемпотенттүүлүк жана детерминизм

Бардык мутациялар "Idempotency-Key" кабыл алат.
Симуляторлор ачкыч натыйжасын сактайт (TTL 24-72 саат).
"Seed-детерминизм": бир эле кириш менен - ​ ​ бирдей жыйынтык (кайталануучу тесттер үчүн).


6) Коопсуздук жана жеткиликтүүлүк

Тармактарды изоляциялоо/VPC, жеке сырлар жана домендер ('sandbox. example. com`).
RBAC/ABAC: ролдору "өнөктөш", "QA", "Dev", токендердин топтому минималдуу.
Rate-limits жана квоталар: per-tenant/ачкычтын адилеттүү үлүшү, түшүнүктүү '429 '/' Retry-After'.
Secrets гана KMS/Vault; үзгүлтүксүз ротация.
Коддун/конфиганын деңгээлинде реалдуу төлөмдөргө тыюу салуу (feature-flag hard block).


7) API Gateway жана sandbox байкоо

Ошол эле саясат: OAuth2/OIDC/JWT, CORS, WAF, DDoS-кароо.
Метриктер: p50/p95/p99, 4xx/5xx, hit-rate лимиттери, latency webhooks, демпотенттик хиттер.
Логи/соода: PII жок; 'trace _ id' корреляциясы.
Dashboard "Ден соолук Sandbox": аптайм, Webhook кезек, симулятор каталар.


8) Ficha желектери, нускалары жана шайкештиги

sandbox → этап → прод.
SemVer үчүн API; баннер Deprecation/Sunset Swagger/Redoc Sandbox.
Persisted queries үчүн GraphQL-дисплей (бар болсо).


9) CI/CD и promotion

1. Build/Unit →

2. Contract/Mock tests (OpenAPI/Protobuf/GraphQL SDL) →

3. Симуляторлорго каршы интеграция →

4. Этап регресс (анон. snapshots) →

5. Canary в prod.

Gate чек тизмеси promotion: § 12 төмөн.


10) өнөктөштөр үчүн UAT скрипт (Sandbox менен)

Төлөмдөр: auth/capture/refund/payout менен вебхуктар жана PSP каталары.
KYC/AML: бардык статустар + кол эскалация.
Idempotency: кайталап 'Idempotency-Key' → ошол эле натыйжасы.
Rate-limit: туура иштетүү '429'.
Убактылуу терезелер: Токендердин экспирациясы, 'Retry-After', убакыт саякат учурлары.
Webhooks: кол тамгалар/retry/DLQ, кол менен replay жана дедуп.


11) Маалымат саясаты жана купуялык

Эч качан чыныгы PAN/KYC Docks sandbox/этап сактоо.
Атын атагысы келбеген: жашыруу, түз идентификаторлорду алып салуу, синтетикалык корреляция.
TTL сактоо сайттардын логдор жана тел ≤ жөнгө салуу.


12) Чек-баракчалар

12. 1 жаңы Sandbox ишке киргизүү

  • Обочолонгон тармак/база/кэш/объект сактоо
  • Secrets KMS/Vault түзүлгөн, ролдорду жетүү
  • PSP/KYC/оюн симуляторлору жылмакай жана которулган
  • Swagger/Redoc + Postman чогултуу (sandbox endpoints)
  • Webhook: HMAC, retry, DLQ, консол replay
  • Rate/Quota профилдери, Deprecation/Sunset баннерлери (бар болсо)
  • Dashbord жана Алерт (latency, 5xx, 429, DLQ)

12. 2 Promotion release (stage→prod)

  • Келишимдик diff-текшерүү (жок breaking)
  • Жүктөө p95/p99 кадамы боюнча нормалдуу
  • Webhooks UAT өттү, Идемпотенттик ок
  • Ficha желектери даярдалган, кайтаруу планы бар
  • Changelog, миграциялык жол жана өнөктөштөргө жөнөтүү

13) Антипаттерндер

Sandbox, "жашыруун" prod-кызматтарды/базаларды таасир этет.
stage/sandbox реалдуу карта/паспорт маалыматтар.
webhook/retrains жок симуляторлор - "бактылуу жол" гана.
Демпотенттиктин жоктугу → төлөмдөрдүн/коюмдардын дубликаттары.
Бардык өнөктөштөр үчүн бир жалпы HMAC сыры.
Эч кандай чектөөлөр жана ачык-айкын 429/Retry-After.


14) Мини Сниппет

.env. sandbox (мисал)

dotenv
API_BASE=https://sandbox.api.example.com
OAUTH_ISS=https://sandbox.idp.example.com
PSP_SIM_URL=https://sandbox.psp-sim.example.com
KYC_SIM_URL=https://sandbox.kyc-sim.example.com
WEBHOOK_SECRET_ROTATION_DAYS=90
FEATURE_FORCE_SANDBOX_PAYMENTS=1

OpenAPI үзүндүсү (sandbox Server)

yaml servers:
- url: https://sandbox.api.example.com/v1 description: Public Sandbox

Psevdocode idempotentity

pseudo if store.exists(idem_key): return store.get(idem_key)
res = do_business()
store.set(idem_key, res, ttl=72h)
return res

PSP симулятор триггерлери

json
{ "scenario": "payout", "case": "declined_insufficient", "payout_id": "p_123" }

15) Байкоо жана SLO Sandbox

Uptime sandbox API ≥ 99. 5% (интеграциялардын витринасы түшпөшү керек).
Webhooks p95 ≤ 3 кадимки жүк менен 2xx чейин.
Error budget 5xx шлюз ≤ 0. 1%.
Док-портал жеткиликтүү жана келишим менен синхрондолгон.


16) Governance

Айлана-чөйрөнүн ээси (SRE/Platform) жана туруктуу API (келишимдер).
Breaking-өзгөртүү үчүн RFC жараяны, Deprecation/Sunset календары.
Жеке лимиттер/квоталар жана баалар "fair-use" коомдук кумдук үчүн.


Резюме

Sandbox - бул "базанын көчүрмөсү" эмес, иштеп чыгуучулар үчүн продукт. Бериңиз: катуу изоляция, синтетикалык маалыматтар, вебхуктар жана ретралар менен толук кандуу симуляторлор, сиддер жана убакыт саякаты аркылуу детерминизм, фича-желектер жана ачык-айкын лимиттер. Баарын келишимдер, байкоо жана governance менен байлап - жана сиздин интеграциялар тез, коопсуз жана алдын ала айтууга болот, ал эми релиздер оорутпайт.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.