API 통합 체크리스트
0) 빠른 검토 (누가 무엇을하는지)
- 통합 소유자 할당
- 통화 중 연락처 (24 × 7/작업 시간) 가 규정됩니다
- 합의 된 SLO/SLA 및 릴리스 지원 창
- 상태 페이지 및 사건 채널 (이메일/느슨함/웹 후크)
1) 액세스, 환경, 버전
- 샌드 박스/스테이징/프로덕션 액세스
- API 버전 확인: '/v1 '/헤더 'X-API-Version'
- IP 및 네트워크 규칙 설정 허용
- 시계 및 TZ: UTC, NTP 동기화
- SemVer SDK/클라이언트 호환성 및 버전 매트릭스 검증
2) 인증 및 토큰
- 메커니즘은 OAuth2 클라이언트 자격 증명/자동 코드 + PKCE/API 키/mTLS에 동의했습니다
- 접근 토큰 수명 및 새로 고침 토큰 회전 변형
- API 키의 경우: 비밀이 한 번 표시되고 비밀 관리자에 저장됩니다
- JWKS/JTI/' kid '체크, 시계 기울기
- '승인' 헤더가 기록되지 않음 (개정)
bash curl -sS -H "Authorization: Bearer $TOKEN" https://api. example. com/v1/ping
3) 보안 및 개인 정보 보호
- TLS 1. 2 +/HSTS, 선택적 mTLS
- PII 최소화: 필요한 것만 보내고 로그에 마스크
- 보존 및 처분 정책 (GDPR/DSAR) 문서화
- 비밀 교체: 활성/다음 키, 롤오버 계획
- 학대 방지: Captcha/Keying Speed/Registration 제한
4) 한계, 할당량 및 백오프
- 'X-RateLimit- '/' X-Quota-' 헤더 선언
- 고객은 429 및 '재시도 후' 를 존중합니다
- 5xx/408/429 만 배상, 지수 백오프 + 지터
- 재시도/시간 제한 세트 (예:
5) 이념과 갈등
- 모든 쓰기 작업은 'Idempotency-Key' (TTL 소 24-72 h) 로 전송됩니다
- 중복 충돌 → 409 IDEMP _ REPLAY 처리
- 경쟁 업데이트를 위해 ETag/' If-Match '활성화 (사용 가능한 경우)
bash curl -X POST /v1/payments \
-H "Idempotency-Key: pay-<uuid>" \
-d '{"amount":"12. 34","currency":"EUR"}'
6) Pagination 및 증분 델타
- 커서/키셋 페이지화 사용 ('다음 _ 커서', 'has _ more')
- 안정적인 정렬 '(업데이트 된 _ at, id)' 문서화
- 증분 업로드: 워터 마크 또는 토큰 변경
- 겹침 (1-2 분 겹침) 및 '(id, 버전/seq)'
7) 오류 형식 및 진단
- 균일 한 형식 '응용 프로그램/문제 + json' (RFC 7807)
- 필드 지원: '오류 _ 코드', 'trace _ id', '검색 가능', '디테일'
- 설명 된 오류 맵 및 클라이언트 동작 (런북)
json
{
"type":"https://docs. example. com/errors/validation_failed",
"title":"Validation failed",
"status":422,
"error_code":"VAL_001",
"trace_id":"a1b2c3",
"retriable":false
}
8) 웹 후크: 승인 및 재생
- 성공 확인 - 2xx; 대기열 후 빠른 ACK
- 지정학 HMAC ('X-Signature: sha256 =...'), 'X-Webhook-ID', 'X-Retry'
- 재 트레이 정책: 백오프 + 지터, 최대 24-72 시간
- DLQ + 재생: 사용 가능 및 검증
- 수신기, TTL의 디드업 스토리지
9) 관찰 및 추적
- 클라이언트/SDK에서 사용 가능한 OpenTelemetry 후크
- 체인 와이드 트레이스 _ id/X-Request-ID 상관 관계
- 차량 요청: '요청 _ total', '오류 _ total {상태}', 'latency _ p95', 'Reshit _ count', '429 _ rate'
- 경보: 5xx/429 스파이크, p95 상승, 성공률 하락, 웹 후크 지연
promql rate(http_requests_total{status=~"5.."}[5m]) / rate(http_requests_total[5m])
10) 성능과 안정성
- 연결 풀, 살아있는 상태, 가능한 경우 HTT/2/3
- 역압, 클라이언트 대기열이 "팽창되지 않음"
- 회로 차단기/시간 초과/대체 정책 설정
- 로드 테스트: 버스트 10 ×, 긴 연결, 콜드 스타트
11) 데이터, 통화, 시간
- 형식: ISO-8601 UTC, 돈-십진수 문자열/마이너 단위, 로케일은 환경에 의존하지 않습니다
- 언어/언어는 일관성이 있습니다 (예: 메시지의 경우 '수락 언어' 이지만 시스템의 경우 '오류 _ 코드')
- 반올림/커미션 정책 문서화
12) 화해
- 체크섬과의 일일/시간별 조정
- 테스트 된 조정을위한 API/업로드 (CS/JSON, 표현/해시)
- 불일치-' trace _ id '를 참조하는 티켓에서
13) 준수 및 법적 측면
- API 사용 약관 허용 (공정 사용/내보내기 제어)
- PII/데이터 보유자-정의 된 역할 및 저장 영역
- 사건에 대한 법적 보류/감사 로그 조치 사용 가능
14) 문서 및 개발자 포털
- OpenAPI/AsyncAPI는 관련이 있으며 "copy-paste" 의 예가 있습니다
- SDK (TS/Py/Java/Go/.NET) -버전이 일관되며 요리 책을 사용할 수 있습니다
- 운동장 작업, 모래 열쇠가 활성화되어 있습니다
- Changelog/delements/roadmap은 포털에서 볼 수 있습니다
15) 테스트: 기능적, 부정적, 혼돈
기능적
- CRUD/키 시나리오 통과 (행복한 경로)
- Pagination/Cursor/Incremental Deltas
음수
- 401/403/404/409/422/429/5xx 및 '재생 후' 처리
- 잘못된 웹 후크 서명, 만료 된 토큰, 큰 바디
카오스
- 10-30% 이벤트 삭제, 재주문, 1-10 분 지연
- 종속성 없음 (PSP/KYC) → 올바른 폴백/오류
16) 수락 및 출시 (실시간)
- 최종 PRR (생산 준비 검토) 통과
- 카나리아 포함: 10% → 25% → 50% → 100%
- SLO 신호의 자동 롤백 (오류/대기 시간/429)
- 사고 연락처 매트릭스 및 확대 경로 게시
- 파일럿 생성 후 CAPA 백 로그
17) 운영 및 지원
- 런북/플레이 북: "5xx 스파이크", "429 스톰", "웹훅 백 로그", "타임 아웃"
- 정기적 인 SLO/오류 예산 보고서
- 일정에 비밀과 열쇠 회전
- 버전 우울증/이주 계획 합의 (일몰 날짜)
18) 아티팩트 패턴
Env 설정 템플릿
yaml api:
base_url: https://api. example. com/v1 timeout_ms: 10000 retries: { max: 5, strategy: expo-jitter }
auth:
kind: oauth2 token_url: https://auth. example. com/oauth2/token scopes: [wallet:read, wallet:write]
webhooks:
secret_ref: secret/webhook-hmac parallelism: 10 max_body_kb: 256
리트레이 정책 (의사)
json
{"initial":1,"max":60,"factor":2. 0,"jitter":0. 2,"retriable":["5xx","408","429"]}
19) 최종 점검표 "서명"
- 환경/버전/키/허용리스트 준비
- Auth/JWT/keys/mTLS 구성 및 테스트
- 한계/할당량/retrays/dedempotency 구현
- Pagination/cector/deltas 데이터 작업
- 웹 후크: 서명, 재생, DLQ/재생 검증
- 오류 '문제 + json', 'trace _ id' sticks
- 대시 보드/경고 수집, OTel 지원
- 로드/네거티브/카오스 테스트 통과
- 화해 및 보고서가 수렴되고 런북이 공식화됩니다
- PRR/카나리아/롤백 계획 준비, 통화 중 연락처 표시
합계
이 체크리스트는 API 통합의 기술, 운영 및 규정 준수 측면을 다룹니다. 상단에서 하단으로 항목을 통과하고 검사 한계, demotency 및 웹 후크를 자동화하고 관찰 가능성 및 롤백 계획을 활성화하십시오. 생산시 "놀라움" 없이 출시를 예측할 수 있습니다.