REST APIのエラーを解決するためのヒント
REST APIでエラーとなる場合、レスポンスにエラーコード、メッセージを含むJSON文字列が返されます。
REST APIリファレンスの『エラーレスポンス』にある、HTTPステータスごとのエラーコードの一覧表をご確認のうえ、REST APIへのリクエスト内容が正しいか見直してください。
よくあるケース
「expected XXX, but received YYY」というエラーになる
エンドポイントのパラメーターが要求する型に対して、実際にリクエストをしたデータの型に誤りがあります。
XXX
にはエンドポイントが要求する型、YYY
にはリクエストされた型が表示されるので、要求されているXXX
の型でリクエストをするように処理の見直しをしてください。
例えば、ids
という「UUID文字列の配列」を要求するパラメーターに対して、UUID文字列を指定した場合は「... expected array, but received String: ...
」のようなエラーメッセージが返されます。
idsへの正しい指定(UUID文字列の配列) | idsへの誤った指定(UUID文字列) |
---|---|
["12345678-1234-5678-1234-123456789012"] | "12345678-1234-5678-1234-123456789012" |
解決に近づくためのヒント
- エラーメッセージに、エンドポイントが要求する型と実際にリクエストしている型が明記されているので、REST APIの仕様通り正しく指定しているかチェックしてください。
「invalid_parameter: フィールドコードが不正です」というエラーになる
REST APIからチケットを更新する際に発生する「フィールドコードが不正です」というエラーは、次にあるようないくつかのケースで発生します。
フィールドコードの指定に誤りがある
入力ミスなどにより、存在しないフィールドコードがAPIリクエストで指定されていることが考えられます。
ワークフローの各セクションのフォームに、指定したフィールドコードに該当するフィールドが存在するかご確認ください。
ワークフローの「承認者による上書き」の設定に従っていない
ワークフローの「承認者による上書き」の設定に応じて、チケットを更新するリクエストボディに含めているフィールドに過不足がないかご確認ください。
- 「承認者による上書き」の設定が「承認者用フィールドのみ上書き可能(デフォルト)」の場合
- REST APIのリクエストボディには、各フィールドの「入力可能なユーザー」の設定で「承認者が入力可能」にチェックが付いているフィールドのみを含めるようにしてください。
- 「申請者が入力可能」と「承認者が入力可能」の両方にチェックが付いている場合も同様です。
- 「承認者による上書き」の設定が「すべてのフィールドを上書き可能」の場合
- REST APIのリクエストボディには、すべてのフィールドを含めるようにしてください。
解決に近づくためのヒント
- 指定しているフィールドコードが正しいかチェックしてください。
- ワークフローの「承認者による上書き」の設定によって、リクエストボディに含めるべき内容が変わるので注意してください。
「endpoint_not_found」というエラーになる
REST APIのリクエストエンドポイントのURLの指定が正しいかご確認ください。
指定が正しいのにも関わらずendpoint_not_found
のエラーとなる場合は、REST APIにリクエストする際のHTTPメソッドが誤っていることが考えられます。
APIの仕様をご確認のうえ、正しいHTTPメソッドでリクエストがされているかご確認ください。
curlコマンドで検証する場合は、HTTPメソッドを--request
オプションで明示的に指定してください。指定しない場合は、GETメソッドによるリクエストとなります。
curl --location https://api.kickflow.com/v1/user \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer xxxx' \
--request GET
解決に近づくためのヒント
- リクエストエンドポイントのURL、HTTPリクエストメソッドが正しく指定されているか、API仕様とあわせてチェックしてください。