APIの呼び出し
クライアントは、APIコレクションを所有していない他のワークスペースのレシピから、またはサードパーティのツール、プログラム、スクリプトから、API platformコンソールで公開されているAPIを呼び出すことができます。 APIコレクション内の任意のエンドポイントにアクセスするには、APIマネージャーがクライアントにAuth TokenまたはJWTトークンを提供する必要があります。
API platformはraw contentをサポートしています。これにより、クライアントはXMLやSOAPなどのテキストベースのリクエストでエンドポイントを呼び出し、公開されたAPIレシピからカスタムレスポンスを受信できます。 この設定により、Workatoのセキュリティ機能が外部API呼び出しに拡張されます。 詳細はこちら。
認可ヘッダー
APIクライアントが認証のAuth Tokenメソッドを指定する場合、Auth Token値をapi-tokenヘッダーの値としてクライアントが渡す必要があります。 認可メソッドがOAuth2.0またはJSON Web Tokenの場合、エンコードおよび署名されたトークンの値が、Bearerスキームを使用してAuthorizationヘッダーで渡されます。
| ヘッダー | 認証方法 | cURLの例 |
|---|---|---|
api-token | Auth Token | -H 'api-token: 24ea2bf52b42b7345b9' |
Authorization | OAuth 2.0およびJWTトークン | -H 'Authorization: Bearer 12cb1a7d5233' |
レシピからのAPIエンドポイントの呼び出し
別のユーザーに属するAPIエンドポイントは、HTTP Connectorを使用してレシピから呼び出すことができます。 コネクターのSend requestアクションを選択します。 次の画面は、このアクションの一般的な設定を示しています(この場合はPOSTリクエスト)。
APIクライアントリクエスト
リクエストのタイプ(POST、PUT、GET)が、呼び出しているAPIと一致していることを確認してください。 必須フィールドは、(POSTおよびPUTの場合)本文内、または(GETの場合)URLのクエリパラメーターとして指定する必要があります。
また、api-tokenリクエストヘッダーが追加されていることに注意してください。 その値には、API所有者から提供されたトークンを設定する必要があります。 (これはAuth Token認証メソッドを前提としています)。
WARNING
APIトークンを入力フィールドにハードコードしないでください。 詳細については、セキュリティのベストプラクティスガイドを参照してください。
レスポンスコード
レシピのテスト機能を使用すると、レシピを1回実行し、APIへの呼び出しを生成できます。 成功すると、APIは200ステータスを返し、レシピの実行は完了まで継続します。 発生する可能性のあるエラーはいくつかあります。 一般的なものは次のとおりです。
| エラーコード | エラーメッセージ | 詳細 |
|---|---|---|
| 401 Unauthorized | "access to this API has been disallowed" | APIトークン、リクエスト設定に問題があるか、アクセスポリシーに違反しています。 リクエストURLが正しくない場合、または呼び出したエンドポイントが有効でない場合にも、このエラーが表示されることがあります。 |
| 422 処理エラー | APIレシピに問題があり、ジョブが失敗しました。 リクエスト構文とレシピに記述された想定構文が一致していないことが原因である可能性があります。 | |
| 429 リクエストが多すぎます | "concurrency limit exceeded"または"rate/quota limit exceeded" | リクエストが、アクセスポリシーで設定された同時実行制限またはレート/クォータ制限を超過しました。 |
| 500 サーバーエラー | APIのリクエストパラメーターが不足しているか、無効でした。 | |
| 504 ゲートウェイタイムアウト | "recipe execution takes too long" | ジョブの応答に時間がかかりすぎました。 APIエンドポイントのデフォルト制限は30秒で、カスタマイズ可能です。 |
前の表の標準エラーコードに加えて、APIレシピで定義されたカスタムレスポンスコードが表示されることがあります。
401および404エラーのステータス詳細
エクスポートされたログのStatus details列には、API管理者がリクエスト失敗の原因を特定するのに役立つ、401および404エラーの診断メッセージが表示されます。
次の表は、一般的な401および404エラーの拡張診断コードとその説明を示しています。
| ステータスメッセージ | コード | 説明 |
|---|---|---|
| 認識されないトークン | 4011 | トークン値は正しくありませんが、構造的には有効です。 |
| トークンがありません | 4012 | トークンまたはヘッダーがないか、名前が正しくありません。 |
| 無効な認証情報 | 4013 | 認証情報の有効期限が切れているか、無効です。 これはJWTまたはOAuth 2.0を使用する認証情報に適用されます。 |
| エンドポイントが見つかりません | 4014 | URLパスが有効なエンドポイントと一致しません。 |
| レシピは非アクティブです | 4040 | リクエストは非アクティブなAPIレシピを対象としています。 |
Workatoは、セキュリティアプローチの一環として、一部の不正なURLリクエストを404エラーではなく401エラーとして扱います。
Last updated: