- エラーの検出方法
- FORBIDDENエラー
- BAD_USER_INPUTエラー
- 必須フィールドの欠落
- 無効な日時
- 無効な国コード
- 無効な通貨コード
- 無効な電話番号
- 文字列長の超過
- GRAPHQL_PARSE_FAILEDエラー
- HTTP 429 Too Many Requests
- フィードタイプエラー
"All jobs on this feed must have seats""No jobs on this feed may have seats"- 連絡先検証エラー
"No contacts found with type 'contact'""Multiple contacts with type 'contact' found"- 給与検証エラー
"Maximum amount cannot be less than minimum amount"- 重複エントリエラー
"The request contains duplicate job entries""The request contains duplicate seat entries"- マルチシート検証エラー
"All seats must be located in the same country"- 場所検証エラー
"cityRegionPostal cannot be null when remote type is not 'Fully Remote'"- 求人ライフサイクルの問題
- 作成した求人がIndeedに表示されない
- 求人が再有効化できない
- 求人が自動的に有効期限切れにならない
- リトライ戦略
- リトライ可能なエラー
- ベストプラクティス
- サポートを受ける
Job Sync APIエラーのトラブルシューティング
一般的なJob Sync APIエラーとその解決方法。
エラーの検出方法
Job Sync APIは以下の方法でエラーを返します:
- HTTPステータスコード - レート制限(HTTP
429)とネットワークレベルの障害のみ - GraphQLエラー配列 - ほとんどのエラーはHTTP
200で、レスポンスボディにエラー詳細を含めて返します
HTTP 200の場合でも、常にレスポンスボディのerrors配列を確認してください:
{ "data": null, "errors": [{ "message": "Error description", "extensions": { "code": "BAD_USER_INPUT", "classification": "ValidationError" } }]}extensions.codeフィールドにはエラータイプ(FORBIDDEN、BAD_USER_INPUT、GRAPHQL_PARSE_FAILEDなど)が含まれます。
FORBIDDENエラー
message | Client is not authorized |
|---|---|
code | FORBIDDEN |
| 概要 | アクセストークンがない、無効、期限切れ、または必要な権限がありません。 |
FORBIDDENコードのClient is not authorized messageは、OAuthクライアントにJob Sync API認可がないことを意味します:
{ "data": null, "errors": [{ "extensions": { "code": "FORBIDDEN" }, "message": "Client is not authorized." }]}解決方法:
Authorizationヘッダーの形式を確認:Authorization: Bearer <YOUR_ACCESS_TOKEN>- トークンが期限切れでないことを確認(1時間有効)。
- Indeed担当者に連絡してAPIアクセスを確認。
- OAuthアプリケーションにJob Sync API権限があることを確認。
sourceNameが登録済みフィードと一致することを確認。
OAuthトークンエラーについては、OAuthエラーのトラブルシューティングを参照してください。
BAD_USER_INPUTエラー
message | Exception while fetching data |
|---|---|
code | BAD_USER_INPUT |
| 概要 | クライアントが無効なデータを送信しました。 |
BAD_USER_INPUT検証エラーは、リクエストに無効なデータが含まれている場合に発生します。
無効な電話番号の例:
{ "errors": [{ "extensions": { "code": "BAD_USER_INPUT", "classification": "ValidationError" }, "message": "Validation error (WrongType@[jobsIngest/createSourcedJobPostings]) : argument 'input.jobPostings[0].metadata.contacts[0].contactInfo.contactPhone' with value 'StringValue{value='5551234567'}' is not a valid 'PhoneNumber' - String value `5551234567` is not a valid E.164 phone number" }]}BAD_USER_INPUTエラーの一般的な原因:
必須フィールドの欠落
エラーメッセージは、どのフィールドが欠落しているかを示します。必須フィールドには以下が含まれます:
| セクション | 必須フィールド |
|---|---|
body | title、description、benefits(空配列可)、location.country |
metadata | jobPostingId、jobSource.sourceName、datePublished、contacts(少なくとも1つ) |
無効な日時
DateTime値は、タイムゾーン付きのRFC 3339形式を使用する必要があります:
| 形式 | 有効? |
|---|---|
2024-01-15T10:30:00-05:00 | はい |
2024-01-15T15:30:00Z | はい |
2024-01-15 | いいえ(時刻がない) |
01/15/2024 10:30 | いいえ(形式が間違っている) |