Send Candidates APIエラーのトラブルシューティング
よくあるSend Candidates APIエラーと解決方法。
エラーを検出する方法
Send Candidates APIは、2つのコンテキストでエラーを返します。
- GraphQLレスポンス:ほとんどのAPIエラーはHTTP
200を返し、errors配列にエラーの詳細が含まれます。 - 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!]}よくある連携エラー
| シナリオ | エラー | 解決方法 |
|---|---|---|
| 無効なパートナーアプリ | パートナーアプリの設定が無効です。 | Indeedのパートナー担当者にお問い合わせください。 |
| 無効な登録ID | 指定された雇用主登録が存在しません。 | 登録IDを確認します。Employer Registration APIガイドをご覧ください。 |
| 雇用主が未オプトイン | 雇用主登録で応募送信機能が有効になっていません。 | Employer Registration APIを使用して雇用主の機能を更新します。 |
| GraphQLバリデーション | 必須フィールドが欠落しています。 | スキーマの要件を確認します。 |
| 大きな応募ファイル | すべての添付ファイルの合計サイズは15MBを超えてはいけません。 | 不要なファ イルや大きなファイルを除外します。 |
| 重複した応募ファイル | 添付ファイルが重複してはいけません。 | 重複したファイルを除外します。 |
| 複数の履歴書 | 履歴書は1つだけ含めてください。 | タイプRESUMEは1つの添付ファイルにだけ使用します。追加の履歴書にはOTHER_RESUMEを使用します。 |
| 複数のカバーレター | カバーレターは1つだけ含めてください。 | タイプCOVER_LETTERは1つの添付ファイルにだけ使用します。 |
| 削除された応募の公開 | 応募はすでに削除されています。 | 削除された応募の再初期化や送信は行わないでください。 |
リトライ戦略
| エラー | リトライ可能か | 戦略 |
|---|---|---|
| ネットワークタイムアウト | 可 | ジッター付きの指数バックオフ |
| HTTP 429 Too Many Requests | 可 | Retry-Afterヘッダーの値の時間だけ待機 |
AccessDenied(URLの期限切れ) | 可 | 応募を再初期化してからアップロードをリトライ |
SignatureDoesNotMatch | 不可 | ヘッダーを初期化時の値と一致するように修正 |
BadDigest | 不可 | MD5チェックサムを再計算 |
| 無効なパートナーアプリ | 不可 | Indeedにお問い合わせください |
サポートを受ける
このガイドに記載されていない問題が発生した場合は、次の手順を実行してください。
- GraphQLエラーの
messageとextensionsオブジェクトを確認します。 - アップロード失敗のS3エラーコードを確認します。
- すべての必須フィールドが存在し、正しい形式で指定されていることを確認します。
- Indeedの担当者にお問い合わせください。
関連項目: