データ型とファイルの取り扱い
Send Candidates APIのデータ型、添付ファイル、アップロード要件です。
法的注意
このAPIとそのドキュメントを使用して連携を構築すると、APIに関する追加の利用規約およびガイドラインに同意したことになります。
データ型
#応募者の詳細
#applicantオブジェクトには、候補者の詳細情報が含まれます。
必須フィールド
#| フィールド | 型 | 説明 |
|---|---|---|
name | String | 応募者の氏名 |
email | EmailAddress | 応募者の連絡先メールアドレス |
所在地情報
#| フィールド | 型 | 説明 |
|---|---|---|
streetAddress | String | 位置情報の特定に使用する完全な住所 |
postalCode | String | 郵便番号 |
country | CountryCode | ISO国コード |
職務情報
#| フィールド | 型 | 説明 |
|---|---|---|
workExperience | Object | 職歴 |
education | Objectのリスト | 学歴 |
skills | Objectのリスト | 技術スキルとソフトスキル |
certifications | Objectのリスト | 専門資格と認定 |
サポートされている添付ファイルの種類
#| 種類 | 列挙値 | 説明 | 処理 |
|---|---|---|---|
| メインの履歴書 | RESUME | メインの履歴書 | マッチングとランキングのために解析されます |
| 追加の履歴書 | OTHER_RESUME | その他の履歴書 | 保存されますが、解析されません |
| メインのカバーレター | COVER_LETTER | メインのカバーレター | 保存されます |
| 追加のカバーレター | OTHER_COVER_LETTER | その他のカバーレター | 保存されます |
| その他 | OTHER | その他の補足書類 | 保存されます |
重要な注意事項
#- 各応募に含められる
RESUME添付ファイルは1つだけです。Indeedはこのファイルを候補者のマッチングのために解析します。 - 各応募に含められる
COVER_LETTER添付ファイルは1つだけです。
ファイルのアップロード要件
#署名付きURLの制約
#S3は、署名付きURLへのすべてのアップロードを検証します。ヘッダーが一致しない場合、S3はアップロードを拒否します。
必須ヘッダー
#Content-Type: 初期化時に宣言したコンテンツタイプと完全に一致する必要があります。Content-Length: 宣言したファイルサイズ(バイト単位)と一致する必要があります。Content-MD5: ファイルのMD5ハッシュをBase64でエンコードした値です。
アップロードリクエストの例
#curl -X PUT \ "https://s3.amazonaws.com/..." \ -H "Content-Type: application/pdf" \ -H "Content-Length: 245123" \ -H "Content-MD5: rL0Y20zC+Fzt72VPzMSk2A==" \ --data-binary @resume.pdfMD5チェックサムの計算
#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')アップロードの検証
#アップロードが検証に失敗すると、S3は次のいずれかのエラーコードを返してアップロードを拒否します。
| エラーコード | 原因 | 解決方法 |
|---|---|---|
SignatureDoesNotMatch | ヘッダーが不足しているか、正しくありません。 | 各ヘッダーが、初期化時に宣言した値と一致していることを確認します。 |
BadDigest | ファイルの内容がContent-MD5ハッシュと一致しません。 | ファイルが破損していないこと、およびハッシュを正しく計算したことを確認します。 |
AccessDenied | 署名付きURLの有効期限が切れています。URLの有効期限は5 分です。 | 応募を再度初期化します。 |
エラー処理
#応募の処理エラー
#応募を送信した後でも、処理が失敗する場合があります。応募のバージョンステータスは、こうした失敗を次のように報告します。
type AtsSyncCandidateSyncApplicationVersionStatus { # ... other fields ... processingStatus: AtsSyncCandidateSyncApplicationProcessingStatusType errors: [AtsSyncCandidateSyncApplicationErrorType!]}statusフィールドで応募バージョンの状態を確認します。GraphQLエラーについては、レスポン スレベルのerrors配列を確認します。
連携時によくあるエラー
#| シナリオ | エラー | 解決方法 |
|---|---|---|
| 無効なパートナーアプリ | パートナーアプリの設定が無効です。Indeedにお問い合わせください。 | Indeedのパートナー担当者にお問い合わせください。 |
| 無効な登録ID | 指定した採用企業の登録が存在しません。 | 登録IDが正しいことを確認します。Employer Registration APIガイドをご覧ください。 |
| 採用企業がオプトインしていない | 採用企業の登録でsend applications機能が有効になっていません。 | 採用企業でこの機能を有効にします。Employer Registration APIガイドをご覧ください。 |
| GraphQLの検証 | 必須フィールドが不足しています。 | スキーマで必須のフィールドを追加します。 |
| 大きな応募ファイル | すべての添付ファイルの合計サイズは15 MB以下にする必要があります。 | 不要なファイルを削除します。 |
| 重複した応募ファイル | 添付ファイルを重複させることはできません。 | 重複したファイルを削除します。 |
| 複数の履歴書 | 履歴書は1つだけ含めてください。 | 余分なファイルの種類をOTHER_RESUMEに変更します。 |
| 複数のカバーレター | カバーレターは1つだけ含めてください。 | 余分なファイルの種類をOTHER_COVER_LETTERに変更します。 |
| 削除済みの応募の公開 | 応募はすでに削除されています。 | 削除した応募を再度初期化したり、送信したりしないでください。 |
関連項目
#