Send Candidates APIエラーのトラブルシューティング
Send Candidates APIのよくあるエラーと、その解決方法。
エラーの検出方法
Send Candidates APIは、次の2つのコンテキストでエラーを返します。
- GraphQLレスポンス:ほとんどのAPIエラーは、
errors配列にエラーの詳細を含めてHTTP200を返します - S3アップロードレスポンス:ファイル添付のアップロードでは、S3固有のエラーコードが返されます
GraphQLのerrors配列とS3アップロードレスポンスの両方で、必ず障害を確認してください。
アップロードの検証エラー
添付ファイルのアップロード手順で検証に失敗したファイルアップロードは、S3によって拒否されます。
| エラーコード | 原因 | 解決方法 |
|---|---|---|
SignatureDoesNotMatch | ヘッダーまたはコンテンツが不足しているか、正しくない。 | すべてのヘッダーが初期化時の値と一致していることを確認します。 |
BadDigest | ファイルの内容がMD5チェックサムと一致しない。 | ファイルの完全性とチェックサムの計算を確認します。 |
AccessDenied | 署名付きURLの有効期限が切れた(URLは5分後に期限切れになります)。 | 応募を再初期化して、新しいURLを取得します。 |
MD5チェックサムを検証する
BadDigestエラーを避けるため、アップロード前にMD5チェックサムを事前に計算してください。チェックサムはbase64エンコードされている必要があります。
JavaScript/Node.js:
const crypto = require('crypto');const fs = require('fs');
function calculateMD5(filePath) { const fileBuffer = fs.readFileSync(filePath); const hash = crypto.createHash('md5'); hash.update(fileBuffer); return hash.digest('base64');}Python:
import hashlibimport base64
def calculate_md5(file_path): with open(file_path, 'rb') as f: file_content = f.read() return base64.b64encode( hashlib.md5(file_content).digest() ).decode('ascii')応募の処理エラー
送信後、応募で処理エラーが発生する場合があります。AtsSyncCandidateSyncApplicationVersionStatus型のprocessingStatusおよびerrorsフィールドを監視して、問題を特定し解決してください。
type AtsSyncCandidateSyncApplicationVersionStatus { processingStatus: AtsSyncCandidateSyncApplicationProcessingStatusType errors: [AtsSyncCandidateSyncApplicationErrorType!]}よくある連携エラー
| シナリオ | エラー | 解決方法 |
|---|---|---|
| 無効なPartner App | Partner Appの設定が無効です。 | Indeedのパートナー担当者にお問い合わせください。 |
| 無効な登録ID | 指定された雇用主登録が存在しません。 | 登録IDを確認します。Employer Registration APIガイドをご覧ください。 |
| 雇用主がオプトインしていない | 雇用主登録で応募送信機能が有効になっていません。 | Employer Registration APIを使用して、雇用主の機能を更新します。 |
| GraphQLの検証 | 必須フィールドが不足しています。 | スキーマの要件を確認します。 |
| 応募ファイルが大きすぎる | すべての添付ファイルの合計サイズは15 MBを超えてはなりません。 | 必須ではないファイルや大きなファイルを除外します。 |
| 応募ファイルの重複 | 添付ファイルが重複してはなりません。 | 重複したファイルを除外します。 |
| 履歴書が複数 | 履歴書は1件のみ含めてください。 | タイプRESUMEは1つの添付ファイルにのみ使用します。追加の履歴書にはOTHER_RESUMEを使用します。 |
| カバーレターが複数 | カバーレターは1件のみ含めてください。 | タイプCOVER_LETTERは1つの添付ファイルにのみ使用します。 |
| 削除済み応募の公開 | 応募はすでに削除されています。 | 削除済みの応募を再初期化または送信しないでください。 |
再試行の方針
| エラー | 再試行可能か | 方針 |
|---|---|---|
| ネットワークタイムアウト | はい | ジッター付き指数バックオフ |
| HTTP 429 Too Many Requests | はい | Retry-Afterヘッダーの値の時間だけ待機 |
AccessDenied(URLの期限切れ) | はい | 応募を再初期化してから、アップロードを再試行 |
SignatureDoesNotMatch | いいえ | ヘッダーを修正して初期化時の値と一致させる |
BadDigest | いいえ | MD5チェックサムを再計算 |
| 無効なPartner App | いいえ | Indeedにお問い合わせください |
サポートを受ける
このガイドに記載されていない問題が発生した場合:
- GraphQLエラーの
messageとextensionsオブジェクトを確認します。 - アップロードの失敗については、S3のエラーコードを確認します。
- すべての必須フィールドが存在し、正しい形式であることを確認します。
- Indeedの担当者にお問い合わせください。
関連項目: