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キー作成手順
- TestCrewアプリを開き、プロフィール画面に移動します
- 「API管理」セクションをタップします
- 「新しいAPIキーを作成」をタップします
- キーの名前(用途など)を入力し、作成します
- 表示されたAPIキーを安全な場所に保存してください
APIキーは作成時に一度だけ表示されます。紛失した場合は、新しいキーを作成し、古いキーを削除してください。APIキーは第三者に漏洩しないよう、安全に管理してください。
エンドポイント一覧
ユーザー
認証済みユーザーのプロフィール情報を取得します。
レスポンス例
{
"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"
}
}
プロフィール情報を更新します。
リクエストボディ
| パラメータ | 型 | 説明 |
|---|---|---|
| name | string | ユーザー名(1〜100文字) |
| avatar_url | string | アバター画像のURL |
アプリ掲載
テスター募集中のアプリ一覧を取得します。認証なしでも利用可能ですが、認証済みの場合は相互テスト状態が含まれます。
クエリパラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
| filter | string | all, new, premium のいずれか(デフォルト: all) |
| limit | number | 取得件数(デフォルト: 20) |
自分が掲載しているアプリ一覧を取得します。
認証必須
新しいアプリを掲載します。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文字) |
テスト
自分が参加しているテスト一覧を取得します。
認証必須
アプリのテストを開始します。
認証必須
リクエストボディ
| パラメータ | 型 | 説明 |
|---|---|---|
| appListingId * | string (UUID) | テストするアプリのID |
| isFeedbackTest | boolean | フィードバックテストとして参加するか(デフォルト: false) |
テストを完了し、フィードバックを送信します。クレジットが付与されます。
認証必須
リクエストボディ
| パラメータ | 型 | 説明 |
|---|---|---|
| feedback * | string | フィードバックコメント(10〜2000文字) |
| rating | number | 評価(1〜5) |
APIキー管理
自分のAPIキー一覧を取得します(キー本体は含まれません)。
認証必須
新しい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."
}
}
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の安定性を保つため、以下のレート制限が適用されます:
- 1分あたり60リクエストまで
- レート制限を超過すると、
429 Too Many Requestsが返されます
APIに関するご質問やお問い合わせは、eerf0309+testcrew@gmail.com までご連絡ください。