採用企業データAPI
Indeed お よび Indeed PLUSプラットフォームで採用企業エンティティを作成および更新します。直接採用企業はご利用いただけません。
APIの概要
#採用企業データAPIを使用して、Indeed および Indeed PLUSプラットフォームで採用企業を作成および更新します。このAPIを使用できるのはATSパートナーのみです。主な概念:
- 採用企業 — Indeed で求人を掲載する企業または組織です。すべての採用企業には、一意の ID、名前、および職場の様子を求職者に伝える属性があります。
- 採用企業エンティティ — API を通じて作成した採用企業は、Indeed の採用企業アカウントとはリンクされません。
- 操作の順序 — その採用企業の求人を作成する前に、採用企業を作成してください。
- 審査 — Indeed は、すべての採用企業データについて完全性と適切性を審査します。
APIの手順
#1. 認証する
#採用企業データAPIのすべての操作には、2-legged OAuth トークンが必要です。
- 1.2-legged OAuth トークンを取得する。
- 2.OAuth アプリが採用企業を作成および更新できることを確認します。これらの権限は、Indeed パートナーになるときに Indeed から付与されます。
詳細は、GraphQL at Indeed をご覧ください。
採用企業データ
#Indeed に送信するデータの内容と、Indeed がそのデータをどのように使用するかを、採用企業である顧客にお伝えください。
より高い権限を持つ情報源が異なるデータを送信した場合、Indeed は送信された採用企業データを上書きする場合があります。
採用企業属性のスコープ
#Indeed は、国とロケールに応じて採用企業データを異なる方法で表示する場合があります。patchEmployer に渡す属性には異なるスコープがあり、Indeed は求職者に表示する最適な組み合わせを選択できます。
採用企業データには 3 つのスコープがあります。
- 1.
グローバルスコープ — 採用企業が事業を行うすべての国で値は同じです。
- グローバル属性は
employerNameとemployerTypeです。
- グローバル属性は
- 2.
国スコープ — 値は国によって異なる場合があります。
countrySpecificAttributesには、国スコープの属性がすべて含まれます。- 国スコープの属性を更新するには、その
countryフィールドに ISO 3166-1 の 2 文字の国コード (新しいウィンドウで開きます) を設定します。
- 3.
ロケールスコープ — 値は国と言語によって異なる場合があります。
localeSpecificAttributesには、ロケールスコープの属性がすべて含まれます。- ロケールスコープの属性を更新するには、その
countryフィールドに ISO 3166-1 の 2 文字の国コード (新しいウィンドウで開きます)、languageフィールドに ISO 639-1 の 2 文字の言語コード (新しいウィンドウで開きます) を設定します。有効な組み合わせについては、対応ロケール をご覧ください。 isGlobalDefaultオプションのデフォルト値はtrueで、更新した属性がグローバルデフォルトになります。翻訳が存在しないロケールをクエリで指定すると、Indeed はそのグローバルデフォルトを返します。たとえば、fr-CAの説明をリクエストし、その採用企業にfr-CAの翻訳がない場合、Indeed はグローバルデフォルトを返します。
2. 採用企業を作成する
#採用企業を作成するには、GraphQL の patchEmployer ミューテーションを使用します。
認証要件については、認証する をご覧ください。
リクエスト
#次のフィールドを含む PatchEmployerInput オブジェクトを指定して patchEmployer を呼び出します。
-
id— Indeed 全体で採用企業を一意に識別します。次のフィールドが含まれます。 -
employerName—PatchEmployerInputでは任意フィールドとされていますが、採用企業の作成には必須です。該当フィールドを自分で設定しない限り、Indeed はこの値を グローバル のlocalizedNameフィールドにコピーします。 -
employerAttributes— 任意です(日本のパートナーを除く)。日本のパートナー向け要件 をご覧ください。まだ設定する属性がない場合は、このフィールドを省略して後で追加します。各属性のルールについては、採用企業を更新する をご覧ください。
Indeed は、国とロケールに応じて採用企業データを異なる方法で表示する場合があります。詳細については、採用企業属性のスコープ をご覧ください。
リクエストの例
#mutation CreateEmployerExample { patchEmployer(input: { id: { type: "YOUR_ATS_TYPE_FROM_INDEED" id: "EMPLOYER_123" } employerName: "Example employer" employerAttributes: { employerType: JURIDICAL_PERSON countrySpecificAttributes: [{ country: "JP" websiteUrl: "https://example.com" phoneNumber: "+81123456789" sectorSUIDs: ["SUID-of-some-indeed-sector"] taxId: "000000" }] localeSpecificAttributes: [{ country: "JP" language: "ja" isGlobalDefault: true description: "Free text to describe the employer" localizedName: "ローカルネーム" headquarterAddress: "Minato-ku, Tokyo" leader: { name: "Leader name" } }] } }) { attributeUpdated }}レスポンス
#patchEmployer は PatchEmployerPayload オブジェクトを返します。attributeUpdated フィールドは、Indeed が採用企業属性を更新した場合に true になります。エラーは標準の GraphQL errors 配列に含まれます。エラーレスポンスについて詳しくは、GraphQL エラーをトラブルシューティングする をご覧ください。
3. 採用企業を更新する
#採用企業属性を更新するには、patchEmployer ミューテーションを呼び出します。更新する前に、採用企業を作成してください。
認証要件については、認証する をご覧ください。
リクエスト
#次のフィールドを含む PatchEmployerInput オブジェクトを渡します。
id— Indeed 全体で採用企業を一意に識別するオブジェクトです。採用企業の作成時に使用したtypeとidと同じ値を使用してください。各フィールドについては、リクエスト をご覧ください。employerName— 任意です。採用企業名を変更する場合にのみ指定します。リクエストで該当フィールドを明示的に設定しない限り、Indeed は新しい値を グローバル のlocalizedNameフィールドにコピーします。employerAttributes— 任意の採用企業データです。
Indeed は、国とロケールに応じて採用企業データを異なる方法で表示する場合があります。詳細については、採用企業属性のスコープ をご覧ください。
更新時の動作
#各属性は 3 つの動作をサポートします。
- 無視 — 属性を省略します。保存済みの値は変更されません。
- 更新 — 属性に新しい値を送信します。保存済みの値と異なる場合、Indeed は更新を適用します。
- 削除 — 属性を
nullに設定します。employerNameは削除できません。
レスポンス
#レスポンスは採用企業を作成したときのレスポンス と同じです。
例
#これらの例は、さまざまな採用企業データを更新する方法を示しています。
説明を更新する
#mutation UpdateDescription { patchEmployer(input: { id: { type: "TYPE_FROM_INDEED" id: "EMPLOYER_ID_IN_ATS" } employerAttributes: { localeSpecificAttributes: [{ country: "JP" language: "ja" description: "Updated employer description" }] } }) { attributeUpdated }}説明を削除する
#この例では、値を null に設定して ja-JP ロケールの採用企業の説明を削除します。
mutation DeleteDescription { patchEmployer(input: { id: { type: "TYPE_FROM_INDEED" id: "EMPLOYER_ID_IN_ATS" } employerAttributes: { localeSpecificAttributes: [{ country: "JP" language: "ja" description: null }] } }) { attributeUpdated }}複数の採用企業属性を更新する
#1 回のリクエストで 1 つの採用企業の複数の属性を更新できます。1 回のリクエストで更新できる採用企業は 1 つのみであるため、採用企業ごとに個別のリクエストを送信してください。
1 回のリクエストで複数の国やロケールを更新しないでください。結果が予測できなくなる可能性があります。
mutation UpdateMultipleAttributes { patchEmployer(input: { id: { type: "TYPE_FROM_INDEED" id: "EMPLOYER_ID_IN_ATS" } employerName: "Example employer" employerAttributes: { employerType: JURIDICAL_PERSON countrySpecificAttributes: [{ country: "JP" websiteUrl: "https://example.co.jp" phoneNumber: null sectorSUIDs: ["SUID-of-some-indeed-sector"] taxId: "000000" }] localeSpecificAttributes: [{ country: "JP" language: "ja" isGlobalDefault: true description: "Japanese employer description" localizedName: "Japanese local name" headquarterAddress: "Minato-ku, Tokyo" leader: { name: "Leader name" } }] } }) { attributeUpdated }}4. エラーをトラブルシューティングする
#よくある問題
#- 認証エラー — OAuth トークンを確認し、アプリが採用企業を作成および更新できることを確認してください。
- 検証エラー — 対象国で必須のフィールドをすべて指定しているか確認してください。
- レート制限 — 指数バックオフを使用して再試行してください。
詳細については、次をご覧ください。
日本のパートナー向け要件
#patchEmployer ミューテーションで採用企業を作成または更新するときは、スキーマで必須とされるフィールドをすべて含めてください。
日本のパートナーは、Indeed PLUS のポリシーおよび法令に準拠するため、採用企業を作成する際に追加のフィールドも送信する必要があります。採用企業を更新するときは、値が変わらない限り、これらのフィールドを送信する必要はありません。
必須フィールド
#次の表は、PatchEmployerInput のフィールドが必須か任意かを示しています。
| 属性 | 必須 | 注記 |
|---|---|---|
type | ✔ 採用企業の作成時と更新時 | Indeed から提供された値を使用します。 |
id | ✔ 採用企業の作成時と更新時 | ATS 内でこの採用企業を一意に識別します。 |
employerName | ✔ 採用企業の作成時 | リクエストで該当フィールドを明示的に設定しない限り、Indeed はこの値を グローバル の localizedName フィールドにコピーします。 |
countrySpecificAttributes.country | ✔ 採用企業の作成時と更新時 | JP に設定します。 |
countrySpecificAttributes.phoneNumber | ✔ 採用企業の作成時 | |
countrySpecificAttributes.taxId | 採用企業の税識別番号。上限:100 文字。日本:employerType が JURIDICAL_PERSON の場合は、正しく識別するために法人番号を設定します。employerType が NATURAL_PERSON の場合、このフィールドは任意です。 | |
countrySpecificAttributes.sectorSUIDs | ✔ 採用企業の作成時 | 企業セクター の該当する SUID 値を指定します。 |
employerAttributes.employerType | ✔ 採用企業の作成時 | 採用企業のタイプを設定します。 |
localeSpecificAttributes.country | ✔ 採用企業の作成時と更新時 | JP に設定します。 |
localeSpecificAttributes.language | ✔ 採用企業の作成時と更新時 | |
localeSpecificAttributes.isGlobalDefault | ✔ 採用企業の作成時と更新時 | |
localeSpecificAttributes.headquarterAddress | ✔ 採用企業の作成時 | |
localeSpecificAttributes.localizedName | isGlobalDefault: true と localizedName: null を同じリクエストで設定すると、デフォルト名が削除されます。 |
採用企業の送信例
#これらの例は、patchEmployer を使用して採用企業を送信する方法を示しています。
例 1: 新しい採用企業を送信する
#必須フィールドと、利用可能な任意フィールドを送信します。
mutation CreateEmployerExample { patchEmployer(input: { id: { type: "YOUR_ATS_TYPE_FROM_INDEED" id: "EMPLOYER_123" } employerName: "株式会社テストその1" employerAttributes: { countrySpecificAttributes: [{ country: "JP" phoneNumber: "+810312345678" sectorSUIDs: ["CS9YK"] }] localeSpecificAttributes: [{ country: "JP" language: "ja" isGlobalDefault: true headquarterAddress: "東京都千代田区丸の内1-9-2" }] } }) { attributeUpdated }}例 2: 採用企業情報を追加または更新する
#例 1 のように採用企業データを送信した後、新しいフィールドを追加したり、既存のフィールド を更新したりできます。詳しくは、更新時の動作 をご覧ください。
この例では、例 1 と同じ id.type と id.id の値を再利用しているため、同じ採用企業が更新されます。この例では countrySpecificAttributes.phoneNumber を変更し、localeSpecificAttributes.description を追加します。
mutation PatchEmployerPhoneNumberAndDescription { patchEmployer(input: { id: { type: "YOUR_ATS_TYPE_FROM_INDEED" id: "EMPLOYER_123" } # Same id as in Example 1 employerAttributes: { countrySpecificAttributes: [{ country: "JP" #(phoneNumber) Modify an already - populated field phoneNumber: "+810323456789" }] localeSpecificAttributes: [{ country: "JP" language: "ja" isGlobalDefault: true #(description) Add a new field description: "2004年に創業してから、世界中の人々の生活をサポートし続けてきました。人種・国籍問わず活躍できる職場を実現するための数々の施策に取り組んでおります。" }] } }) { attributeUpdated }}日本のパートナー向けの表示フィールド要件
#求人ボードの UX は随時変わるため、この一覧は最新ではない場合があります。一部のフィールドは、ページ上ではなくボタンの背後にのみ表示されます。
日本の Indeed PLUS 求人ボードの求職者には、次の PatchEmployerInput フィールドが表示されます。