トップページに戻る

API ドキュメント

TestCrew APIを使用して、アプリ掲載やテスト管理を自動化しましょう

概要

TestCrew APIは、RESTful APIとして設計されており、JSON形式でデータをやり取りします。アプリ掲載の管理、テスト状況の確認、ユーザー情報の取得などを外部から自動化できます。

ベースURL

https://testcrew-api.eerf0309.workers.dev/api

レスポンス形式

すべてのAPIレスポンスは以下の形式で返されます:

{
  "success": true,
  "data": {
    // レスポンスデータ
  }
}

エラー時のレスポンス:

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "エラーメッセージ"
  }
}

認証

TestCrew APIでは、2種類の認証方法をサポートしています:

1. APIキー認証(推奨)

外部からのAPI呼び出しには、APIキー認証を使用することを推奨します。リクエストヘッダーに X-API-Key を含めてください。

curl -X GET "https://testcrew-api.eerf0309.workers.dev/api/users/me" \
  -H "X-API-Key: tc_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2. JWT認証

アプリ内からのAPI呼び出しでは、ログイン時に取得したJWTトークンを使用します。リクエストヘッダーに Authorization を含めてください。

curl -X GET "https://testcrew-api.eerf0309.workers.dev/api/users/me" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

APIキーの取得

APIキーは、TestCrewアプリ内の設定画面から作成できます。

APIキー作成手順

  1. TestCrewアプリを開き、プロフィール画面に移動します
  2. 「API管理」セクションをタップします
  3. 「新しいAPIキーを作成」をタップします
  4. キーの名前(用途など)を入力し、作成します
  5. 表示されたAPIキーを安全な場所に保存してください
重要

APIキーは作成時に一度だけ表示されます。紛失した場合は、新しいキーを作成し、古いキーを削除してください。APIキーは第三者に漏洩しないよう、安全に管理してください。

エンドポイント一覧

ユーザー

GET /users/me

認証済みユーザーのプロフィール情報を取得します。

レスポンス例

{
  "success": true,
  "data": {
    "id": "uuid",
    "email": "user@example.com",
    "name": "ユーザー名",
    "avatar": "https://...",
    "credits": 24,
    "isPremium": false,
    "premiumExpiresAt": null,
    "discordId": "123456789",
    "createdAt": "2026-01-01T00:00:00.000Z"
  }
}
PUT /users/me

プロフィール情報を更新します。

リクエストボディ

パラメータ説明
name string ユーザー名(1〜100文字)
avatar_url string アバター画像のURL

アプリ掲載

GET /apps

テスター募集中のアプリ一覧を取得します。認証なしでも利用可能ですが、認証済みの場合は相互テスト状態が含まれます。

クエリパラメータ

パラメータ説明
filter string all, new, premium のいずれか(デフォルト: all)
limit number 取得件数(デフォルト: 20)
GET /apps/my

自分が掲載しているアプリ一覧を取得します。

認証必須

POST /apps

新しいアプリを掲載します。20クレジットが消費されます。

認証必須

リクエストボディ

パラメータ説明
appName * string アプリ名(1〜100文字)
appIcon * string アプリアイコンのURL
description * string アプリの説明(10〜1000文字)
platform * string ios, android, both のいずれか
playStoreUrl string Google PlayストアのURL
targetTesters * number 募集するテスター数(3〜12)
testingInstructions string テスト手順の説明(最大2000文字)

テスト

GET /tests/my

自分が参加しているテスト一覧を取得します。

認証必須

POST /tests/start

アプリのテストを開始します。

認証必須

リクエストボディ

パラメータ説明
appListingId * string (UUID) テストするアプリのID
isFeedbackTest boolean フィードバックテストとして参加するか(デフォルト: false)
POST /tests/:testId/complete

テストを完了し、フィードバックを送信します。クレジットが付与されます。

認証必須

リクエストボディ

パラメータ説明
feedback * string フィードバックコメント(10〜2000文字)
rating number 評価(1〜5)

APIキー管理

GET /users/api-keys

自分のAPIキー一覧を取得します(キー本体は含まれません)。

認証必須

POST /users/api-keys

新しいAPIキーを作成します。

認証必須

リクエストボディ

パラメータ説明
name * string APIキーの名前(1〜50文字)

レスポンス例

{
  "success": true,
  "data": {
    "message": "API key created successfully",
    "apiKey": {
      "id": "uuid",
      "name": "My API Key",
      "key": "tc_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "createdAt": "2026-01-25T00:00:00.000Z"
    },
    "warning": "This is the only time the API key will be shown."
  }
}
DELETE /users/api-keys/:id

APIキーを削除します。

認証必須

エラーハンドリング

APIはHTTPステータスコードとエラーコードを組み合わせてエラーを返します。

主なHTTPステータスコード

コード説明
200成功
201作成成功
400リクエストエラー(バリデーションエラーなど)
401認証エラー(トークンが無効または期限切れ)
403権限エラー(アクセス権限がない)
404リソースが見つからない
500サーバーエラー

主なエラーコード

コード説明
INVALID_CREDENTIALSメールアドレスまたはパスワードが正しくありません
EMAIL_NOT_VERIFIEDメールアドレスが認証されていません
INSUFFICIENT_CREDITSクレジットが不足しています
ALREADY_TESTINGすでにこのアプリをテスト中です
CANNOT_TEST_OWN_APP自分のアプリはテストできません
APP_FULLテスター枠が満了しています

レート制限

APIの安定性を保つため、以下のレート制限が適用されます:

サポート

APIに関するご質問やお問い合わせは、eerf0309+testcrew@gmail.com までご連絡ください。