Private App トークンと OAuth トークンを安全に保管・ローテーションする。
| 管理方法 | 用途 | 推奨度 |
|---|---|---|
| AWS Secrets Manager / GCP Secret Manager | 本番環境のトークン管理 | ⭐⭐⭐ 最推奨 |
| 環境変数(CI/CD シークレット) | GitHub Actions など CI/CD での利用 | ⭐⭐⭐ |
| Vault(HashiCorp) | エンタープライズ環境 | ⭐⭐⭐ |
| .env ファイル(.gitignore 済) | ローカル開発専用 | ⭐⭐(本番不可) |
| コードに直書き | 禁止 | ❌ 絶対禁止 |
HubSpot API のエラーパターンを把握し、適切なリカバリー処理を実装する。
| HTTP ステータス | 原因 | 対処法 |
|---|---|---|
400 Bad Request | リクエストの形式・値が不正 | ログ記録・バリデーション強化 |
401 Unauthorized | トークンが無効・期限切れ | トークンを再取得してリトライ |
403 Forbidden | スコープ不足・権限なし | 必要なスコープを追加・通知 |
404 Not Found | 存在しない ID を指定 | 削除済み・誤 ID を確認 |
409 Conflict | 重複データ(一意制約違反) | 既存レコードを取得して更新 |
429 Too Many Requests | レート制限超過 | Retry-After を待ってリトライ |
500/502/503 | HubSpot 側の一時エラー | 指数バックオフでリトライ |
大量データ処理・並列実行・夜間バッチを組み合わせてレート制限を回避する。
① Batch API を使う(最優先):1リクエストで100件処理。単件 API より100倍効率的
② Search API でフィルター取得:全件取得より必要なデータだけに絞る
③ 同時実行数を制限:p-limit や Bottleneck で並列度を制御
④ 夜間・オフピーク実行:大量バッチは JST 深夜(UTC 昼間)に実行
⑤ キャッシュを活用:変更頻度の低いデータ(プロパティ一覧等)は Redis にキャッシュ
本番環境の異常をいち早く検知し、ビジネス影響を最小化する監視体制を構築する。
API エラー率(目標: <0.1%)
429 発生頻度(レート制限の頻発は設計見直しのサイン)
レスポンスタイム p99(目標: <3秒)
Webhook 処理遅延(目標: <5秒)
同期ジョブの成功率(目標: >99.5%)
即時通知(PagerDuty):
エラー率 >5% が5分継続
401/403 エラーの発生(トークン漏洩の可能性)
Slack 通知:
429 が1時間に50回超
同期ジョブが30分以上未完了
本番環境への Go-Live 前に確認すべき事項を整理する。
| カテゴリ | 確認事項 | 完了 |
|---|---|---|
| セキュリティ | API キーが環境変数 / シークレットマネージャーで管理されている | □ |
| Webhook 署名検証が実装されている | □ | |
| .env ファイルが .gitignore に含まれている | □ | |
| Private App のスコープが最小限に設定されている | □ | |
| エラー処理 | 全 API 呼び出しに try/catch が実装されている | □ |
| 指数バックオフ付きリトライが実装されている | □ | |
| Webhook ハンドラがべき等処理に対応している | □ | |
| パフォーマンス | Batch API を優先的に使用している | □ |
| 同時実行数が適切に制限されている | □ | |
| 不変データ(プロパティ定義等)がキャッシュされている | □ | |
| 監視 | 構造化ログが CloudWatch / Datadog 等に転送されている | □ |
| エラー率・レート制限のアラートが設定されている | □ | |
| /health・/readiness エンドポイントが実装されている | □ | |
| テスト | Sandbox でエンドツーエンドテストが完了している | □ |
| 大量データ処理のロードテストが完了している | □ |
✅ Chapter 11 チェックリスト
- AWS Secrets Manager などを使ったトークンのセキュアな管理ができる
- HTTP エラーステータス別の適切な対処法を理解した
- 指数バックオフ付きリトライクラスを実装できる
- Bottleneck を使ったトークンバケット方式のレート制限制御ができる
- 監視すべきメトリクスとアラート閾値を設計できる
- 構造化ログ + Prometheus メトリクスの記録を実装できる
- ヘルスチェック・レディネスエンドポイントを実装できる
- 本番 Go-Live 前チェックリストを活用できる
🎉 HubSpot 開発者向け実践教科書 — 完走おめでとうございます!
Chapter 0 から Chapter 11 まで、HubSpot 開発者として必要な知識をすべてカバーしました。 CLI 環境構築から始まり、CRM API・CMS 開発・カスタムオブジェクト・ ワークフロー拡張・Webhook・OAuth・MCP Server・本番運用まで—— あなたは今、HubSpot フルスタック開発者として通用する技術スタックを手に入れました。
- Chapter 0:HubSpot 開発者の全体マップ
- Chapter 1:CLI & 開発ワークフロー
- Chapter 2:CRM API 完全ガイド
- Chapter 3:Marketing & CMS API
- Chapter 4:カスタムオブジェクト & スキーマ設計
- Chapter 5:CMS テーマ & テンプレート
- Chapter 6:モジュール設計
- Chapter 7:ワークフロー拡張 & Custom Code Action
- Chapter 8:Webhook & イベント駆動設計
- Chapter 9:App & OAuth 2.0
- Chapter 10:HubSpot MCP Server & AI 開発連携
- Chapter 11:セキュリティ・パフォーマンス・本番運用