Postmanでsolvethreeをテストする
認証情報を含まないPostmanコレクションをインポートし、非公開の環境値を設定して、「タスクを作成」を1回送信します。その後、「タスクを取得」で、同じタスクが完了するまで確認します。このコレクションには、追加のタスクを送信する自動テストやスクリプトはありません。
このページの内容
コレクションをインポートして設定する
- 1.
ダウンロードしたJSONをインポートする
Postmanで「インポート」を選択し、コレクションファイルを選びます。このファイルには、Bearer認証を継承し、変数プレースホルダーを使用する「タスクを作成」と「タスクを取得」が含まれています。
- 2.
サイトのプロファイルを確認する
ワークスペースには、対象のホスト名に対応する有効なプロファイルが必要です。テスト前にコンソールで設定してください。ホスト名とアクションを送信しても、プロファイルは作成されません。サイトプロファイルの設定を参照してください。
- 3.
非公開の環境値を設定する
このテスト用の環境を作成して選択してください。プロキシの認証情報も含め、以下の値は非公開で設定してください。シークレットをコレクションに直接記載したり、シークレットが入力された状態でエクスポートしたりしないでください。
- 4.
Bearer認証を設定する
コレクションレベルで「Bearerトークン」を選択し、ワークスペースのAPIキーを格納した非公開の環境変数を参照してください。両方のリクエストは、認証を継承する設定のままにします。APIは、Authorization: Bearerに続けてそのキーを指定する形式を受け付けます。
| 変数 | 入力する内容 |
|---|---|
| SOLVETHREE_API_KEY | 非公開のワークスペースAPIキー。コレクションのBearerトークンはこの変数を参照します。 |
| SITE | 対象のホスト名。ページの完全なURLではありません。 |
| ACTION | 対象へのリクエストで使用するreCAPTCHAアクション。 |
| PROXY | このテストで使用するHTTPまたはHTTPSプロキシURL。必要に応じて認証情報も含めます。 |
| REQUEST_ID | 論理的に新しいタスクごとに設定する新しい値。使用できるのは1–64文字のASCII英字、数字、アンダースコア、ハイフンです。 |
| TASK_ID | 最初は空にしておきます。作成後、返されたidをここにコピーしてください。 |
「タスクを作成」を1回送信する
「タスクを作成」を開きます。このリクエストは、選択した環境の値を設定した生のJSON本文を使い、https://api.solvethree.com/v1/tasks にPOSTを送信します。
{
"site": "{{SITE}}",
"action": "{{ACTION}}",
"proxy": "{{PROXY}}",
"requestId": "{{REQUEST_ID}}"
}このリクエストはデフォルトでreCAPTCHA Enterprise v3を使用します。type フィールドや url フィールドは追加しないでください。単一の proxy を指定するため、proxyCandidates も追加しないでください。この2つのフィールドは、どちらか一方だけが必要です。
送信前に REQUEST_ID を設定し、「送信」を1回クリックしてください。まずHTTPレスポンスを確認します。成功以外の場合は、本文を成功したタスクのレスポンスとして扱わず、リクエストのエラーを確認してください。無効な入力はそのまま繰り返し送信せず、修正してください。
作成レスポンスが成功した場合は、返された id を非公開の環境値 TASK_ID にコピーしてください。進捗を確認するために「タスクを作成」を再度クリックしないでください。
既存のタスクを取得する
「タスクを取得」を開き、TASK_ID に返されたタスクIDが設定されていることを確認します。このリクエストは同じAPIのGET /v1/tasks/:idを使用します。手動で送信し、HTTPレスポンスを確認してから、タスクの status を確認してください。
| ステータス | 次の操作 |
|---|---|
| pendingまたはsolving | タスクはまだ完了していません。しばらく待ってから、同じTASK_IDで「タスクを取得」を再度送信してください。 |
| ready | 取得を停止してください。タスクには使用可能なソリューションが含まれています。 |
| failed | 取得を停止してください。errorCodeとerrorを確認し、変更が必要な箇所を判断してください。解決に失敗した場合は返金されます。 |
HTTP 200または201だけでは、ソリューションの準備完了を意味しません。準備完了を示すのは status: ready だけです。この手動テストではタスクの作成と取得を確認しますが、対象のウェブサイトが結果を受け入れるかどうかは確認しません。
続けてreCAPTCHAトークンを本来の対象に送信する場合は、返された userAgent と secChUa のブラウザー識別情報、および成功したプロキシを使用してください。IPを切り替えたり、無関係なブラウザー識別情報を混在させたりしないでください。準備が完了したトークンでも、対象に拒否される場合があります。
「タスクを作成」がタイムアウトした場合
接続がタイムアウトしても、作成が失敗したとは限りません。タスクIDがある場合は、そのタスクを取得してください。IDを受け取っていない場合は、同じ REQUEST_ID と変更していないタスク入力で「タスクを作成」を再送信してください。これにより、論理的に別のタスクを作成するのではなく、既存のタスクを復旧できます。
レスポンスが失われたという理由だけで、新しい REQUEST_ID を生成しないでください。同じIDを異なるタスク入力で再利用すると競合します。意図的に新しいタスクを開始する場合に、新しいIDを使用してください。
参照元とAPIリファレンス
最初のタスクを実行しましょう。
$5のワークスペースクレジットで始められます。