API를 통해 공급자를 연결하는 방법: 핸드 셰이크, 인증, 샌드 박스
전체 기사
1) 통합 맵: 응용 프로그램에서 생산까지
단계:1. 사전 판매 및 실사: 법적 점검, 지리/라이센스, 컨텐츠 호환성 및 RG 정책.
2. 핸드 셰이크 및 보안: 샌드 박스 액세스 발행, 키 교환 (mSL/HMAC), 스키마 레지스트리 등록.
3. 기술 설계: 도메인 모델 (세션/베팅/결제/이벤트), demempotency, 오류 코드를 확인합니다.
4. 샌드 박스 통합: 지갑/PSP/RG 에뮬레이터, 테스트 플레이어, 비 및 시나리오 촬영.
5. 인증: 필수 테스트 실행, 프로토콜 서명, 로드 및 혼돈 사례.
6. 준비/UAT: 실제 돈, 카나리아 트래픽이없는 전투 구성 요소.
7. Go-Live: 주요 회사, 기능 플래그, SLO 모니터링, 사고 후 준비 가능.
2) 악수: 인증, 인증, 추적
2. 1 비밀과 범위 공유
mSL (브랜드/지역 인증서당) 및/또는 클라이언트 자격 증명 OAuth2.
HMAC/EdDSA는 신체 서명을 요청합니다 (비 거부 추가).
계정: '세션: 쓰기', '베팅: 쓰기', '결산: 쓰기', '이벤트: 게시'.
2. 필수 제목 2 개
'X-Trace-ID' - 엔드 투 엔드 트레이싱.
'X-Brand-ID', 'X-Region', 'X-Provider-ID'.
'X-Idempotency-Key' -모든 쓰기 작업에 적합합니다.
2. 3 건강 검진 (코드 전)
GET/건강
→ 200 {"상태": "ok", "버전": "1. 7. 2, "" 시간 ":" 2025-10-23T10: 00: 00Z "}3) 샌드 박스: 무엇이 있고 어떻게 사용하는지
환경 구성: 현실과 조화:- 판매와 유사한 버전의 체계 및 요율 제한.
- 타임 스카이, 배송 복식, 주문 외 에뮬레이션 버튼.
(PHP 3 = 3.0.6, PHP 4)4) 자원 모델 및 최소 계약
4. 1 세션 생성
POST/v1/세션
{
"player _ id": "p _ demo _ 1", "game _ id": "studio: slot _ forge _ 02", "currency": "EUR", "locale": "de-DE"
}
→ 201 {"세션 _ id": "s _ 456", "만료 _ at": "2025-10-23T19: 10: 00Z"}4. 2 요율 승인 (보류)
POST/v1/베팅/승인
헤더: X-Idempotency-Key: bet _ r _ 8c12 _ 1
{
"sesion _ id": "s _ 456", "bet _ id": "b _ 001", "round _ id": "r _ 8c12", "mount": {"amount": 2. 00, "통화": "EUR"}
}
→ 200 {"상태": "승인 됨", "hold _ id": "h _ zz1"}4. 3 합의 (라운드 결과)
POST/v1/베팅/정착
헤더: X-Idempotency-Key: settle _ r _ 8c12 _ 1
{
"bet _ id": "b _ 001", "round _ id": "r _ 8c12", "win": {"amount": 14. 60, "통화": "EUR"}, "bonus _ state": {"in _ boners": 참, "freespins _ left": 7}
}
→ 200 {"상태": "크레딧", "redited _ id": "st _ 77"}4. 4 오류 (단일 다이어그램)
409
{"코드": "DUPLICATE", "메시지": "이미 승인 된", "재시도 가능": 거짓, "trace _ id": "tr _ a1b2"}5) 이벤트 및 체계: 이 없이는 인증을 통과하지 못합니다
기본 주제: Avro/JSON 스키마 (조각. '):json
{
"이벤트 _ 유형": "내기. "" 스키마 _ 버전 ":" 1입니다. 2. 0, "", 이벤트 _ id ":" uIS "," arched _ at ":" 2025-10-23T16: 21: 05Z "," tenitan _ id ":" brand-7 "," region ":" EU "," player _ id ": p _ demo _ 1," trace _ id ":" tr _ a1b2 ", {페이로드:": "
"round _ id": "r _ 8c12", "bet": {"amount": 1. 00, "통화": "EUR"}, "승리": {"금액": 14. 60, "통화": "EUR"}, "in _ borness": 참
}, "dedempotency _ key": "bet _ r _ 8c12 _ 1"
}규칙: 역 호환 진화, "복제 및 늦은 이벤트" 테스트, '테넌트 _ id/플레이어 _ id' 참여.
6) 통합 인증: 정확히 확인중인 내용
6. 1 기능 시나리오 (최소)
동일한 'X-Idempotency-Key' → 동일한 응답으로 '승인/정산' 요청을 다시 시작합니다.
순서 외: '정착' 은 '승인' → 정확한 실패없이 이루어졌습니다.
지갑/네트워크가 떨어지면 롤백 체인.
RG 정지: 자체 배제/손실 제한/시간 → 내기 금지.
보너스/베이거: 게임 유형, 최대 베팅, 마감일 별 기여.
6. 2 로드
예산에서 p95 '베팅/정착' (예: '<200-300 ms'), 배상의 "폭풍" 이 없습니다.
이벤트 스트림은 BI λ5 분에 도달합니다.
6. 카오스 케이스 3 개
배송 복식, 아웃 박스/CDC 지연, 지역 "덤프", 부분 결제.
6. 4 가지 배송 가능
시간 코드/추적 ID로 프로토콜을 테스트하십시오.
SLO 보고서 (대기 시간/오류/지연).
보안 요약 (키, 회전, 액세스, Vault/HSM).
7) 버전 및 마이그레이션
HTT: '/v1/... '운송 중, 이벤트: 본체의' 스키마 _ 버전 '.
SemVer: 사소한-옵션 필드 추가; 전공-새 접두사 '/v2/' 를 통해서만.
디프레케이션 헤더: 'Deprencation', 'Sunset', 대시 보드 사용 미러.
기능 플래그: 전환시 이벤트의 "이중 문자" ('v1' 및 'v2').
8) 안전 및 준수
mSL + S2S 서명, 수명이 짧은 토큰, 경계 범위.
제로 트러스트: 네트워크 정책, 브랜드 별/지역 키.
데이터 상주 및 PII: 해당 지역의 저장 및 로그; RLS/마스킹.
WORM 감사: 한계 변경, RTP 프로파일, 잭팟 구성.
RG/AML: 내기/지불시 동기 정지 등; SAR/STR보고.
9) 생산 종료: 출시 점검표
트래픽이 활성화되기 전에
샌드 박스 비밀의 회전 → prod 키.
대시 보드 p95/p99, 오류율, 대기열 지연, 결제 지연 포함.
SLO 경고: 대기 시간/오류/지연에 의한 위반, 급증 'DUPLICATE/IDEMPOTENCY _ MISMATCH'.
DR 계획: RPO "빨간색 버튼" -새 세션을 중지하십시오.
카나리아
1-5% 잠재 고객/게임/지리; SLO 위반시 자동 롤백.
모니터링 후 24-72 시간, 원장/보고 조정.
10) 반 패턴 (적기)
Outbox/CDC를 우회하는 이벤트 게시.
쓰기 작업에 대한 'X-Idempotency-Key' 부재.
데이터베이스의 잔액/결제 수동 편집.
여러 브랜드/지역의 단일 키.
OLTP 전투 데이터베이스 위에 BI 및 규제 보고서.
제로 저하: 공급자의 추락으로 지갑/플랫폼이 무너졌습니다.
11) 점검표
공급자를 위해
- 나는 항상 'X-Trace-ID' 와 'X-Idempotency-Key' 를 보냅니다.
- 부작용없이 동일한 키로 반복하는 것을 지원합니다.
- 레지스트리의 스키마 이벤트 게시; 저장 '스키마 _ 버전'.
- 백오프 재 트레인 및 중복 제거가 구현됩니다.
- RG 정지 및 보너스 제한이 실시간으로 시행됩니다.
- 브랜드/지역별 액세스 및 비밀, 회전 구성.
플랫폼
- 모든 돈 경로에서 전송/CDC; 엔드 투 엔드 추적.
- SLO 대시 보드: p95/99, 오류율, 대기열 지연, 결제 지연.
- 이주에 관한 이중 이벤트 프로세스 인 Deprencation/Sunset 프로세스.
- DR/xaoc 연습, 사고 관리 및 사후 관리.
- 분해 모드: '새로운 세션 없음', 프로모션/잭팟 비활성화
12) "최소" 통합 플레이 북 (TL의 예; DR)
1. NDA/계약 → 문제 샌드 박스 액세스 및 체계에 서명하십시오.
2. mSL/HMAC 인증서 교환; 'provider _ id' 를 시작하십시오.
3. 최소 종점에 동의하십시오: '세션', '베팅/승인', '베팅/해결', '롤백'.
4. 샌드 박스 버스 및 레지스트리에 연결하십시오. 기능/혼돈 사례를 몰아냅니다.
5. 로그, 미량, SLO 보고서: 인증 프로토콜을 통과하십시오.
6. 음식 열쇠를 바꾸고 카나리아를 켜고 SLO를 관찰하십시오.
7. 변경 로그에서 출시 후 지표 및 "레슨" 을 기록하십시오.
공급자의 성공적인 연결은 API뿐만 아니라 안전한 핸드 셰이크, 사실적인 샌드 박스, 엄격한 인증, 관찰 가능성 및 명확한 호환성 규칙과 같은 제어 프로세스입니다. 설명 된 불변량 (idempotency, outbox/CDC, RG/AML stop, SLO 및 DR) 을 따르면 플레이어, 규제 기관 및 비즈니스에 놀라지 않고 통합을 가속화하고 통화 사고를 피하며 예측 가능한 릴리스를 얻을 수 있습니다.
