求人情報連携APIガイド
Indeedで求人を作成および管理するためにAPIと連携します。
このAPIとそのドキュメントを使用して連携を構築すると、APIに関する追加の利用規約およびガイドラインに同意したことになります。
連携の概要
求人情報連携APIを使用して、IndeedとIndeed PLUSで求人を作成および管理します。
数百のパートナーとの連携実績から、この連携には通常約6週間かかります。この期間には、設定、テスト、Indeedとのレビュー、およびクライアント利用に向けたデプロイが含まれます。
-
jobRequisitionIdはスキーマ上では任意ですが、jobPostingIdと異なる場合、Indeed では必須です。日本の求人の場合: ID または
jobPostingIdと同じ値を設定します。 -
SourcedJobPostingJobContactInputの hiring manager と recruiter の値は、スキーマ上では任意ですが、取得できる場合は Indeed で必須です。
関連項目:
SourcedJobPostingMetadataInputのjobRequisitionIdとjobPostingIdSourcedJobPostingJobContactInput
連携手順
1. 連携の前提条件を満たす
連携を開始する前に、次の手順を完了してください。
-
クライアント名を収集してIndeedに送信します。
Indeedは既存のクライアント名の確認を支援します。後で、それらの名称を
SourcedJobPostingJobSourceInput.sourceNameで使用します。 -
貴社とIndeedの間で開発者契約を締結し、Indeedパートナーになるから正式な連携リクエストを送信します。
Indeedがアカウントを承認すると、アクセスを有効にし、次の内容を確認するアンケートを送信します。
- Indeed エントリーと審査用の質問のレビュー計画。
- 本番公開の目標日。
- ビジネス担当者とリード開発者またはエンジニアリングマネージャー。
- 想定される求人ボリューム。クライアント数と総求人数を含みます。
- クライアントが採用企業か人材派遣会社か。
- 予定している連携パターン。
-
各求人に公開求人詳細ページのURLを含めて送信します。
IndeedはこのURLをクロールして、送信された求人と一致することを確認します。省略すると、連携レビューが遅れることがあります。
-
連携の問題が発生したときに、完全なリクエストとレスポンスをログに記録します。
トラブルシューティングのために、これらのログをIndeedに提供します。
求人情報連携APIの連携は包括的である必要があります。クライアントごとに、公開されているすべての求人、またはクライア ントの採用ページに表示されるすべての求人を送信してください。クライアントはオプトアウトできますが、その場合はそのクライアントのすべての求人を期限切れにし、送信を停止する必要があります。
クライアントの採用サイトで新規、更新、または期限切れの求人が公開されたら、変更をすぐに送信してください。Indeedが15分以内に更新を受信しない場合、求人の可視性が低下することがあります。既存求人を初めてAPI経由で送信するときは、100件未満のバッチで送信してください。
2. 認証する
Indeed パートナーになると、Indeed が連携用のアプリを作成します。Partner Console にサインインして、アプリと OAuth 認証情報(クライアント ID、シークレット、および 3-legged OAuth の認可コード)を確認します。これらの認証情報をアクセストークンと交換し、API 呼び出しを認証します。
3. 求人でIndeed エントリーを設定する
ATSをIndeedと連携すると、クライアントは求人でカンタン応募を有効にし、応募者データをATSに送信できます。Indeed エントリーは求職者体験を改善し、クライアントの採用を迅速化できます。
ソフトウェア内でIndeed エントリーをエンドツーエンドでテストするには、サンドボックス求人の1件にIndeed エントリーを追加してください。サンドボックス求人とは、Indeedが提供するサンドボックスソースに送信する求人です。その後、その求人を直接開いて応募します。テストには審査用の質問も含めてください。
Indeed エントリーを設定するには:
-
SourcedJobPostingIndeedApplyInputにIndeed エントリーのフィールドを設定します。Indeedから応募データを受信するには、
postUrlを、Indeedが応募データを送信するURLに設定します。 -
システムが応募データを解析して処理できることを確認します。
関連項目:
4. Indeed エントリーの審査用の質問を追加する
審査用の質問は、採用企業が応募者が基準を満たしているかどうかをすばやく判断す るのに役立ちます。採用企業が審査用の質問を使うと、適格な候補者とのやり取りにより多くの時間を使えます。Indeedは審査用の質問をホストしません。システムが審査用の質問をサポートしている場合は、Indeedが連携を承認するために実装が必要です。
Indeed エントリーのフローで審査用の質問を表示するには、審査用の質問付きで求人を作成するをご覧ください。
5. Indeedから応募データを受信する
Indeedから応募データを受信するには、各求人にURLを指定します。IndeedはそのURLに、該当する求人の候補者情報をJSONとして送信します。
応募をプログラムで処理するには:
-
postUrlに設定したHTTPS URLで応募データを受信します。例:
"postUrl": "https://www.example.com/jobs" -
システムが正常に受信したすべての応募に対して、HTTP
2XXステータスコードを返します。Indeedは、それ以外のHTTPステータスコード、POSTタイムアウト、または接続タイムアウトをエラーとして扱います。Indeedが接続タイムアウト、
POSTタイムアウト、または無効なHTTPレスポンスによりHTTP2XXレスポンスを受信しない場合、指数バックオフで応募を再試行します。最後の再試行後も配信できない場合、Indeedはその応募を最終失敗として扱います。POST中に応募内容を検証しないでください。内容を検証して応募者を不適格にする場合は、POSTの後で行ってください。パートナー側の検証エラーによって、Indeedが連携を無効にすることがあります。POSTリクエストを301や302などのレスポンスで別のURLにリダイレクトしないでください。Indeedはリダイレクトをサポートしていません。HTTPステータスコードをご覧ください。
重複する応募
応募を重複として扱うのは、次の両方に当てはまる場合だけです。
- 同じ求人IDを使用している。
- 過去120日以内のIndeedからの応募と同じ求職者メールアドレスを使用している。
Indeedからの応募が重複かどうかを判断するときに 、別ソースから送信された応募を使用しないでください。同じ会社であっても、異なる求人IDで同じ求職者メールアドレスから送信された応募を重複として扱わないでください。
応募データ
Indeedは応募データをHTTP POSTリクエストの生のボディで送信するため、通常のフォーム送信のようには処理できません。リクエストボディにはJSONドキュメントが含まれており、読み込んで解析する必要があります。Indeedは毎回すべてのJSONフィールドを送信するわけではないため、欠落したフィールドを空として扱い、未知のフィールドを無視する堅牢なJSONパーサーを使用してください。
JSONペイロードに最大サイズはありません。
POSTボディはUTF-8でエンコードされており、Indeedが応募を送信したことを検証するための真正性ヘッダーが含まれます。
Applicantフィールドのファイル部分には、contentType、data、fileNameが含まれます。
- Indeedは
contentTypeをfileNameから判定します。 dataには、Base64エンコードされた履歴書ファイルの生データが含まれます。- 第三者システムは、
.txt、.pdf、.doc、.docx、.rtfに対応する必要があります。
詳細は、応募データリファレンスをご覧ください。
POSTリクエストの認証
Indeed エントリーは、リクエストが正当かどうかを確認するために使用できるHTTPヘッダーを含めて、postUrlにPOSTリクエストを送信します。
Indeedは、Indeed エントリーの認証情報タイプに対応する共有APIシークレットを使用し、HMAC-SHA1アルゴリズムでメッセージ署名を計算します。その署名はHTTP X-Indeed-Signatureヘッダーで送信されます。
署名の生成には、Indeed エントリーは中括弧({})を含む完全で未変更のJSONペイロードと共有シークレットを使用します。
コード例については、メッセージシグネチャ生成リファレンスをご覧ください。
サポートされているSSL証明書
サポートされている証明書については、信頼されたルートSSL証明書をご覧ください。
証明書が一覧にない場合は、Integrations Delivery Teamに連絡してください。
関連項目:
SourcedJobPostingIndeedApplyInput.postUrl- HTTPステータスコード
- 応募配信
- 重複する応募
- 応募データ
- POSTリクエストの認証
- サポートされているSSL証明書
6. 連携を実装する
連携を実装するには:
本番環境を使わずに求人情報連携APIをテストするには、シミュレートされたGraphQL環境を使用します。
IndeedがAPIアクセスを有効にすると、ソース名を割り当ててパートナーに共有します。すべてのテスト求人で、割り当てられたソース名だけを
SourcedJobPostingJobSourceInput.sourceNameで使用してください。テスト求人で別の文字列を使用すると、Indeedはそれらの求人を検証できません。実際の求人を送信する前に、それらの求人を期限切れにする必要があります。
テスト求人は実際の求人のように作成してください。たとえば、Fake test jobのようなタイトルは使用せず、実際の求人説明を含めてください。サンドボックスソースで送信した求人は求職者に表示されません。
サンドボックス求人にIndeed エントリーを追加すると、その求人を直接開 いて応募することで、エンドツーエンドでテストできます。テストには審査用の質問も含めてください。
テスト求人のエラーがなくなったら、サンドボックス求人を確認します。IndeedのEmployerページで、アプリ登録に使用したアカウントにサインインし、Jobsタブを選択します。
Indeedがテスト求人を検証した後、既存のバッチ求人と本番の求人更新をレビュー用に送信できることを通知します。
連携を検証してテストする前に、すべての非テスト求人で、その求人を所有する組織を識別する
sourceNameの値を使用する必要があります。本番求人では、Indeedから提供された
<sourceName>のテスト値を使用しないでください。テスト中に、Indeedチームから、貴社の求人に関連する組織の
sourceName値の一覧が共有されることがあります。それらの組織の本番求人には、その値を使用してください。そうしないと、クライアントがIndeed上で自社の求人を見つけられず、サポートリクエストが増えることがあります。詳しくは、求人で採用企業をどのように区別すればよいですか?をご覧ください。