Employer Data API
Indeed および Indeed PLUS platform 上で employer entity を作成および更新します。direct employers には提供されません。
概要
Employer Data API を使用すると、ATS partner は Indeed および Indeed PLUS platform 上で employer entity を作成および更新できます。
Indeed 上の employer は、求人を掲載する企業または組織を表します。すべての employer には、一意の ID、名前、および求職者が就業先候補を理解するのに役立つさまざまな属性があります。
Key concepts
- Employer entities: API を通じて作成した employer entity は、Indeed employer account とは関係ありません。
- Prerequisites: その employer に関連付けられた求人を作成する前に、雇用主を作成する必要があります。
- Moderation: Indeed は、すべての employer data について完全性と適切性を確認します。
Quick start
- 1.認証を設定する
- 2.最初の employer を作成する
- 3.employer 情報を更新する
- 4.日本固有の要件を確認する(日本のパートナーのみ)
- 5.トラブルシューティング
Reference information: supported locales および company sectors をご覧ください。
Authentication
Employer Data API のすべての操作には、2-legged OAuth authentication が必要です。
- 2-legged OAuth token を取得する
- OAuth app に employer の create / update permission があることを確認します。これは Indeed partner になる ときに付与されます。
詳細は、GraphQL at Indeedをご覧ください。
Employer data
ATS partner の場合、Indeed に送信する employer data の内容と、Indeed がその data をどのように使用するかを、employer client に通知してください。
自社よりも高い権限を持つ第三者が Indeed に employer data を提供した場合、Indeed は自社が提供した employer data を上書きする場合があります。
Employer attributes のスコープ
Indeedは、国とロケールに応じて雇用主データを異なる方法で表示する場合があります。patchEmployerに渡す属性にはスコープがあり、Indeedは求職者に雇用主情報を提供する際に最適な属性の組み合わせを選択できます。
Employer data には、次のスコープがあります。
- Global scope: employer がどの国で事業を行っていても、値は同じです。
- global attribute は
employerNameとemployerTypeです。
- global attribute は
- Country scope: 属性値は location によって異なる場合があります。
countrySpecificAttributesに、すべての country-scope attribute が含まれます。- country-scope attribute を更新する際は、
countrySpecificAttributes内のcountryfield に ISO 3166-1 の 2 文字の country code を指定します。
- Locale scope: 属性値を国と言語ごとに localize できます。
localeSpecificAttributesに、すべての locale-scope attribute が含まれます。- locale-scope attribute を更新する際は、
localeSpecificAttributes内のcountryfield に ISO 3166-1 の 2 文字の country code、languagefield に ISO 639-1 の 2 文字の language code を指定します。有効な組み合わせは、Supported locales をご覧ください。 - デフォルトでは、更新した属性は自動的に global に設定されます。
localeSpecificAttributesにはisGlobalDefaultoption があり、デフォルト値はtrueです。API は、translation が存在しない locale を指定した query に対してこの値を返します。たとえば、fr-CAtranslation がない employer に対してfr-CAの description を query すると、API は global default を返します。
Employer を作成する
Employer を作成するには、patchEmployer GraphQL mutation を使用します。employer に関連付けられた求人を作成する前に、employer data を送信する必要があります。
認証要件については、認証をご覧ください。
Request
Employer data を送信するには、PatchEmployerInput object を渡して patchEmployer を呼び出します。
id: globally unique な employer identifier です。この object には次の field が含まれます。type: Indeed system 全体の中で ATS を一意に識別します。Indeed が onboarding process 中にこれを作成し、提供します。patchEmployerのすべての call で同じ値を使用してください。id: ATS 内でこの employer を一意に識別します。この値は自社の employer identifier で、partner によっては encrypt または hash 化します。特定の employer を更新するすべての call で同じ値を使用してください。別の employer を更新するには、その employer の unique identifier を使用します。
employerName:PatchEmployerInputでは optional に見えますが、employer を作成する場合は必須です。request で global のlocalizedNamefield を明示的に設定しない限り、この値は global のlocalizedNamefield にコピーされます。employerAttributes: さまざまな employer data を設定するための optional field です。設定が不要な場合は省略できます。employer 作成後に、employer attribute を更新できます。各 attribute の更新ルールは、Employer を更新する をご覧ください。
Indeedは、国とロケールに応じて雇用主データを異なる方法で表示する場合があります。詳細については、雇用主属性のスコープをご覧ください。
Example request
次の例は、一般的な field を使用して日本の employer を作成します。
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" } ] localeSpecificAttributes: [ { country: "JP" language: "ja" isGlobalDefault: true description: "Free text to describe the employer" localizedName: "ローカルネーム" headquarterAddress: "Minato-ku, Tokyo" leader: { name: "Leader name" } } ] } } ) { responseCode }}Response
patchEmployer request が成功すると、API は PatchEmployerPayload object を返します。
request が失敗すると、error response を受け 取ります。error response の理解には、Troubleshoot GraphQL errors をご覧ください。
Example response
{ "data": { "patchEmployer": { "responseCode": "OK" } }}Employer を更新する
Employer attribute を更新するには、patchEmployer mutation を呼び出します。employer data を更新する前に、employer data を作成してください。
認証要件については、認証をご覧ください。
Request
Employer attribute を更新するには、PatchEmployerInput object を渡して patchEmployer を呼び出します。PatchEmployerInput には次の field が含まれます。
id:グローバルに一意な雇用主識別子。このオブジェクトには次のフィールドが含まれます。type:Indeedシステム全体の中で自社ATSを一意に識別します。Indeedがオンボーディングプロセスでこれを作成し、提供します。patchEmployerへのすべての呼び出しで同じ値を使用してください。id:自社ATS内でこの雇用主を一意に識別します。この値は自社の雇用主識別子で、暗号化やハッシュ化を行うパートナーもいます。特定の雇用主を更新するすべての呼び出しで同じ値を使用してください。別の雇用主を更新するには、その雇用主の一意の識別子を使用します。
employerName:このフィールドは任意ですが、更新する場合は指定します。このフィールドを更新する際、リクエストで明示的にグローバルのlocalizedNameフィールドを設定する場合を除き、この フィールドの値はグローバルのlocalizedNameフィールドにコピーされます。employerAttributes:さまざまな雇用主データ用の任意フィールド。
Indeedは、国とロケールに応じて雇用主データを異なる方法で表示する場合があります。詳細については、雇用主属性のスコープをご覧ください。
Update behavior
各 field は次の動作をサポートします。
- Ignore: attribute の値を省略すると、変更されません。
- Update: query で attribute の値を指定します。保存済みの値と異なる場合、更新されます。
- Delete: attribute を削除するには、値を
nullに設定します。employerNameは削除できません。
Response
Employer 更新時の response は、Employer 作成時の response と同じです。
Examples
次の例は、さまざまな employer data を更新する方法を示しています。
Description を更新する
この snippet は、ja-JP locale の employer description を更新します。
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 }}Description を削除する
この snippet は、値を null に設定して ja-JP locale の employer description を削除します。
mutation DeleteDescription { patchEmployer(input: { id: { type: "TYPE_FROM_INDEED" id: "EMPLOYER_ID_IN_ATS" } employerAttributes: { localeSpecificAttributes: [{ country: "JP" language: "ja" description: null }] } }) { attributeUpdated }}複数の employer attributes を更新する
1 回の request で複数の employer attribute を更新できます。各 request は 1 つの employer だけを更新します。複数の employer を更新する場合は、それぞれ別の request を送信してください。
1 回の request で複数の国や locale を更新しないでください。1 つの request に複数の国や locale を混在させると、予測できない結果になる可能性があります。
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 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 }}