← 納品物一覧に戻る

API設計書

Version 1.0.0 | CRM(広告代理店向け)

広告代理店向け CRM REST API 設計文書


共通仕様

ベース URL

/api/v1

認証方式

全エンドポイント(認証系を除く)に Authorization: Bearer <JWT> ヘッダーが必要。

共通レスポンス構造

{
  "data": "T | T[]",
  "meta": { "total": 0, "page": 1, "perPage": 20, "totalPages": 1 },
  "message": "string"
}

共通クエリパラメータ(一覧系)

page, perPage, sort, order(asc|desc), search

ロール定義(RBAC)

ロール略称
システム管理者ADMIN
アカウントディレクターAD
アカウントマネージャーAM
メディアプランナーMP
クリエイティブ担当CR
経理・財務FIN
閲覧専用VIEWER

F14: 認証・ユーザー管理

認証

メソッドパス説明
POST/auth/loginログイン
POST/auth/refreshトークンリフレッシュ
POST/auth/logoutログアウト(トークン無効化)
POST/auth/password/reset-requestパスワードリセット要求
POST/auth/password/resetパスワードリセット実行

POST /auth/login

POST /auth/refresh

POST /auth/logout

POST /auth/password/reset-request

POST /auth/password/reset

ユーザー管理

メソッドパス説明
GET/usersユーザー一覧
POST/usersユーザー作成
GET/users/:idユーザー詳細
PATCH/users/:idユーザー更新
DELETE/users/:idユーザー無効化(論理削除)
GET/users/me自分のプロフィール
PATCH/users/me自分のプロフィール更新

GET /users

POST /users

GET /users/:id

PATCH /users/:id

DELETE /users/:id

ロール・権限

メソッドパス説明
GET/rolesロール一覧
GET/roles/:id/permissionsロール別権限一覧
PUT/roles/:id/permissionsロール別権限更新

GET /roles

PUT /roles/:id/permissions


F01: クライアント管理

メソッドパス説明
GET/clientsクライアント一覧
POST/clientsクライアント作成
GET/clients/:idクライアント詳細
PATCH/clients/:idクライアント更新
DELETE/clients/:idクライアント削除(論理)
GET/clients/:id/health-score健全性スコア取得
GET/clients/:id/contacts担当者一覧
POST/clients/:id/contacts担当者追加
PATCH/clients/:id/contacts/:contactId担当者更新
DELETE/clients/:id/contacts/:contactId担当者削除
GET/clients/:id/activity-log活動履歴
POST/clients/:id/activity-log活動記録追加

GET /clients

POST /clients

GET /clients/:id

GET /clients/:id/health-score

POST /clients/:id/activity-log


F02: 広告パフォーマンスダッシュボード

メソッドパス説明
GET/performance/summaryKPI サマリー
GET/performance/trendsトレンドデータ
GET/performance/by-channelチャネル別パフォーマンス
GET/performance/by-campaignキャンペーン別パフォーマンス
GET/performance/clients/:clientIdクライアント別パフォーマンス
GET/performance/alertsパフォーマンスアラート一覧
PATCH/performance/alerts/:idアラート既読・対応済み更新
GET/performance/alerts/rulesアラートルール一覧
POST/performance/alerts/rulesアラートルール作成
PATCH/performance/alerts/rules/:idアラートルール更新
DELETE/performance/alerts/rules/:idアラートルール削除

GET /performance/summary

GET /performance/trends

GET /performance/by-channel

GET /performance/alerts

POST /performance/alerts/rules


F03: メディアプランニング・予算管理

メディアプラン

メソッドパス説明
GET/media-plansメディアプラン一覧
POST/media-plansメディアプラン作成
GET/media-plans/:idメディアプラン詳細
PATCH/media-plans/:idメディアプラン更新
DELETE/media-plans/:idメディアプラン削除
POST/media-plans/:id/duplicateメディアプラン複製
PATCH/media-plans/:id/statusステータス変更(draft→approved→active→completed)

GET /media-plans

POST /media-plans

GET /media-plans/:id

予算配分

メソッドパス説明
GET/media-plans/:planId/allocations予算配分一覧
POST/media-plans/:planId/allocations予算配分追加
PATCH/media-plans/:planId/allocations/:id予算配分更新
DELETE/media-plans/:planId/allocations/:id予算配分削除

POST /media-plans/:planId/allocations

ペーシング

メソッドパス説明
GET/media-plans/:planId/pacingペーシング状況
GET/budgets/pacing/summary全体ペーシングサマリー

GET /media-plans/:planId/pacing

GET /budgets/pacing/summary


F04: クリエイティブ管理・承認ワークフロー

クリエイティブ素材

メソッドパス説明
GET/creativesクリエイティブ一覧
POST/creativesクリエイティブ登録
GET/creatives/:idクリエイティブ詳細
PATCH/creatives/:idクリエイティブ更新
DELETE/creatives/:idクリエイティブ削除
POST/creatives/:id/versions新バージョンアップロード
GET/creatives/:id/versionsバージョン履歴

GET /creatives

POST /creatives

POST /creatives/:id/versions

承認ワークフロー

メソッドパス説明
POST/creatives/:id/submit-for-reviewレビュー提出
POST/creatives/:id/approve承認
POST/creatives/:id/reject却下
POST/creatives/:id/request-revision修正依頼
GET/creatives/:id/review-historyレビュー履歴
POST/creatives/:id/commentsコメント追加
GET/creatives/:id/commentsコメント一覧

POST /creatives/:id/submit-for-review

POST /creatives/:id/approve

POST /creatives/:id/reject

POST /creatives/:id/request-revision


F05: 代理店手数料・収益管理

メソッドパス説明
GET/revenue/summary収益サマリー
GET/revenue/by-clientクライアント別収益
GET/revenue/by-client/:clientIdクライアント別収益詳細
GET/revenue/plP/L 一覧
GET/revenue/pl/:idP/L 詳細
POST/revenue/plP/L レコード作成
PATCH/revenue/pl/:idP/L レコード更新

GET /revenue/summary

GET /revenue/by-client

GET /revenue/pl

POST /revenue/pl


F06: 自動レポーティング

レポートテンプレート

メソッドパス説明
GET/reports/templatesテンプレート一覧
POST/reports/templatesテンプレート作成
GET/reports/templates/:idテンプレート詳細
PATCH/reports/templates/:idテンプレート更新
DELETE/reports/templates/:idテンプレート削除

レポート生成・配信

メソッドパス説明
POST/reports/generateレポート即時生成
GET/reports生成済みレポート一覧
GET/reports/:idレポート詳細
GET/reports/:id/downloadレポートダウンロード
DELETE/reports/:idレポート削除

スケジュール配信

メソッドパス説明
GET/reports/schedulesスケジュール一覧
POST/reports/schedulesスケジュール作成
PATCH/reports/schedules/:idスケジュール更新
DELETE/reports/schedules/:idスケジュール削除

F07: タスク管理

メソッドパス説明
GET/tasksタスク一覧
POST/tasksタスク作成
GET/tasks/:idタスク詳細
PATCH/tasks/:idタスク更新
DELETE/tasks/:idタスク削除
PATCH/tasks/:id/statusステータス変更
PATCH/tasks/:id/assign担当者変更
GET/tasks/kanbanカンバンボード用データ
GET/tasks/ganttガントチャート用データ
POST/tasks/:id/commentsタスクコメント追加
GET/tasks/:id/commentsタスクコメント一覧

GET /tasks/kanban

GET /tasks/gantt


F08: 契約・IO・請求書管理

契約

メソッドパス説明
GET/contracts契約一覧
POST/contracts契約作成
GET/contracts/:id契約詳細
PATCH/contracts/:id契約更新
DELETE/contracts/:id契約削除(論理)
PATCH/contracts/:id/status契約ステータス変更
GET/contracts/:id/documents契約関連書類一覧
POST/contracts/:id/documents契約書類アップロード

IO明細

メソッドパス説明
GET/contracts/:contractId/line-itemsIO 明細一覧
POST/contracts/:contractId/line-itemsIO 明細追加
PATCH/contracts/:contractId/line-items/:idIO 明細更新
DELETE/contracts/:contractId/line-items/:idIO 明細削除

請求書

メソッドパス説明
GET/invoices請求書一覧
POST/invoices/generate請求書生成
GET/invoices/:id請求書詳細
PATCH/invoices/:id請求書更新
PATCH/invoices/:id/status請求書ステータス変更
GET/invoices/:id/download請求書 PDF ダウンロード

HTTPステータスコード規約

コード用途
200正常取得・更新
201リソース作成成功
204削除成功
400バリデーションエラー
401未認証
403権限不足
404リソース未発見
409状態遷移の競合
422処理不能なリクエスト
429レートリミット超過
500サーバーエラー

エラーレスポンス構造

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Validation failed",
  "details": [
    { "field": "email", "message": "must be a valid email address" }
  ]
}

エンドポイント総数

ドメインエンドポイント数
F14: 認証・ユーザー管理13
F01: クライアント管理12
F02: パフォーマンスダッシュボード11
F03: メディアプランニング・予算管理11
F04: クリエイティブ管理・承認14
F05: 収益管理7
F06: 自動レポーティング11
F07: タスク管理11
F08: 契約・IO・請求書管理14
合計104