2025年9月19日 更新

Tender Scope API仕様書

Tender Scope REST APIの詳細な仕様書とリファレンス。エンドポイント、認証、レスポンス形式、エラーハンドリングなどの技術情報を提供します。

API仕様書 v1.0

プロダクション対応のRESTful API - 2025年7月最新版

基本情報

ベースURLhttps://tender-scope.com/api/v1
プロトコルHTTPS(TLS 1.2以上)
データ形式JSON
文字エンコーディングUTF-8
レート制限プランにより異なる(Free: 100/時間, Pro: 1,000/時間, Enterprise: 10,000/時間, Premium Enterprise: 50,000/時間)

認証

Tender Scope APIは2つの認証方式をサポートしています:

1. API Key認証(推奨)

サーバー間通信やスクリプトでの使用に適した認証方式です。テナントIDは自動的に取得されるため、X-Tenant-IDヘッダーは不要です。

X-API-Key: ts_sk_your-api-key-here
Content-Type: application/json

APIキー認証の利点

APIキーには作成時にテナント情報が埋め込まれており、ユーザーがテナントIDを管理する必要がありません。

2. JWT認証

ユーザーセッションベースの認証に使用。JWTトークンと併せてX-Tenant-IDヘッダーが必要です。

Authorization: Bearer jwt-token
X-Tenant-ID: your-tenant-id
Content-Type: application/json

テナントIDの確認方法

ダッシュボードの「設定」→「API設定」で現在のテナントIDを確認できます。

エンドポイント一覧

案件管理

エンドポイントメソッド説明認証
/tendersGET案件一覧取得・検索API Key / JWT
/tenders/{id}GET案件詳細取得API Key / JWT
/global-tenders/browseGETグローバル案件プール検索API Key / JWT
/global-tenders/selectPOST案件選択・テナントに追加API Key / JWT
/global-tenders/statsGETグローバル案件統計情報API Key / JWT

AI分析

エンドポイントメソッド説明認証
/analysis/scorePOSTAI受注確率スコアリングAPI Key / JWT
/xai/explainPOST説明可能AI分析API Key / JWT
/competitive/analysisPOST競合分析(実データベース)API Key / JWT
/market/analyticsGET市場動向分析API Key / JWT

アラート機能

エンドポイントメソッド説明認証
/alertsGETアラート一覧取得API Key / JWT
/alertsPOST新しいアラート作成API Key / JWT
/alerts/settingsGETアラート設定取得API Key / JWT
/alerts/settingsPUTアラート設定更新API Key / JWT
/alerts/testPOSTアラートテスト送信API Key / JWT

提案書生成

エンドポイントメソッド説明認証
/proposals/generatePOSTAI提案書生成API Key / JWT
/rag-proposals/createPOSTRAG統合提案書生成API Key / JWT

リクエスト・レスポンス形式

共通リクエストヘッダー

API Key認証の場合:

X-API-Key: ts_sk_your-api-key
Content-Type: application/json
User-Agent: Your-App/1.0

JWT認証の場合:

Authorization: Bearer jwt-token
X-Tenant-ID: your-tenant-id
Content-Type: application/json
User-Agent: Your-App/1.0

共通レスポンス形式

{
  "success": true,
  "data": { ... },
  "timestamp": "2025-07-26T10:00:00Z"
}
{
  "success": false,
  "error": "Error message",
  "error_code": "INVALID_API_KEY",
  "timestamp": "2025-07-26T10:00:00Z"
}

実装例

案件検索API

curl -X GET "https://tender-scope.com/api/v1/tenders" \
  -H "X-API-Key: ts_sk_your-api-key" \
  -H "X-Tenant-ID: your-tenant-id" \
  -H "Content-Type: application/json" \
  -G -d "search=システム開発" \
     -d "category=IT・システム開発" \
     -d "limit=10"

AI分析API

curl -X POST "https://tender-scope.com/api/v1/analysis/score" \
  -H "X-API-Key: ts_sk_your-api-key" \
  -H "X-Tenant-ID: your-tenant-id" \
  -H "Content-Type: application/json" \
  -d '{
    "tender_id": "tender-123",
    "company_profile": {
      "name": "技術株式会社",
      "strengths": ["システム開発", "クラウド"],
      "past_projects": ["類似案件A", "類似案件B"]
    }
  }'

エラーハンドリング

HTTPステータスエラーコード説明対処法
400INVALID_REQUESTリクエストパラメータが不正パラメータを確認して再送信
401INVALID_API_KEYAPIキーが無効または期限切れ新しいAPIキーを生成
403INSUFFICIENT_PERMISSIONS権限不足APIキーの権限を確認
404RESOURCE_NOT_FOUNDリソースが見つからないURLとIDを確認
429RATE_LIMIT_EXCEEDEDレート制限に達した時間をおいて再試行
500INTERNAL_SERVER_ERRORサーバー内部エラーサポートに連絡

レート制限

レート制限について

Free: 100リクエスト/時間

Pro: 1,000リクエスト/時間

Enterprise: 10,000リクエスト/時間

Premium Enterprise: 50,000リクエスト/時間

• 制限に達した場合は 429 Too Many Requests が返されます

• レスポンスヘッダーで残り回数を確認できます

Webhook

リアルタイム通知を受け取るためのWebhook機能:

/api/v1/webhooks
{
  "url": "https://your-app.com/webhooks/tender-scope",
  "events": ["tender.created", "tender.updated", "alert.triggered"],
  "secret": "webhook-secret"
}

Webhookペイロード例:

{
  "event": "alert.triggered",
  "data": {
    "alert_id": "alert-123",
    "tender_id": "tender-456",
    "type": "high_score_alert",
    "message": "新しい高スコア案件が見つかりました"
  },
  "timestamp": "2025-07-26T10:00:00Z"
}
Tender Scope APIで、効率的なシステム連携を実現しましょう!