- Job Update APIのワークフロー
- Job Update APIリファレンス
- 認証
- 求人投稿を更新する
- ワークフロー
- リクエスト – 求人投稿を更新する
- 更新を確認する
- 部分的な更新
- レスポンス – 求人投稿を更新する
- 求人投稿情報を取得するクエリ方法を選択する
- IDで求人投稿のステータスを取得する
- 認証
- 1件の求人クエリ(node)
- バッチ求人クエリ(nodes)
- Webhookとの連携
- 条件で求人投稿を一覧表示する
- 求人投稿の更新をクリアする
- ワークフロー
- リクエスト – 求人投稿の更新をクリアする
- レスポンス – 求人投稿の更新をクリアする
- 求人ステータス
- オーガニックの非スポンサー求人
- スポンサー求人
- レート制限
- エラーのトラブルシューティング
- FORBIDDEN:広告主が制限付きモデレーションステータスにある
- FORBIDDEN:この操作に必要な権限がありません
- FORBIDDEN:広告主がEJの更新を要求している
- UNAUTHENTICATED
- BAD_USER_INPUT
- NOT_FOUND
- DOWNSTREAM_SERVICE_ERRORまたはINTERNAL_SERVER_ERROR
Job Update APIガイド
Indeedの求人投稿を更新、更新のクリア、詳細の取得、一覧表示します。
このAPIとそのドキュメントを使用して連携を構築すると、APIに関する追加の利用規約およびガイドラインに同意したことになります。
Job Update APIのワークフロー
Indeedの求人投稿を更新、更新のクリア、詳細の取得、一覧表示します。呼び出しは無料で、Sponsored Jobs API利用ポリシーの上限には含まれません。
- 1.はじめる前に - シングルソースポリシーに基づき、ATSが雇用主の求人の正規ソースとなります。
- 2.認証する。
- 3.求人投稿を更新する - 広告代理店はupdateSourcedJobPostingsを呼び出して求人投稿のフィールドを更新します。
- 4.求人投稿情報を取得するクエリ方法を選択する。
- 5.IDで求人投稿のステータスを取得する。求人IRIがある場合は、GraphQLの
nodeまたはnodesクエリを呼び出します。 - 6.条件で求人投稿を一覧表示する。求人を一括で取得するには、
findEmployerJobsPartnerを呼び出します。 - 7.求人投稿の更新をクリアする - 広告代理店は求人投稿の更新をクリアできます。
- 8.求人ステータス。
- 9.レート制限。
- 10.GraphQLエラーのトラブルシューティング - GraphQLエラーを解決します。
Job Update APIリファレンス
updateSourcedJobPostings- 広告代理店が求人投稿のフィールドを更新できます。node- IDで求人投稿のステータスを取得します。nodes- IDで求人投稿を一覧表示します。findEmployerJobsPartner- 雇用主の求人投稿を一覧表示します。clearSourcedJobPostingUpdates- 広告代理店が求人投稿の更新をクリアできます。
ATSが求人投稿の作成と有効期限を制御します。
認証
Indeedパートナーになると、Indeedが連携用のアプリを作成します。Partner Consoleにログインして、アプリとOAuth認証情報(クライアントID、クライアントシークレット、および3-legged OAuthの場合は認可コード)を確認します。認証情報をアクセストークンと交換し、API呼び出しを認証します。
Indeedと連携してAPIを呼び出すをご覧ください。
findEmployerJobsPartner、node、nodesの各クエリには、次のいずれかのOAuthトークンタイプが必要です。
| トークンタイプ | 説明 |
|---|---|
| 広告主を指定した2-legged OAuth トークン | クライアントクレデンシャルグラントタイプ(2-legged OAuth)でSponsored Jobs APIを利用している広告代理店の場合、すでにこのトークンタイプをお持ちです。 |
| 3-legged OAuthトークン | すでに3-legged OAuthトークンをお持ちの場合は、代替として使用できます。 |
OAuthアクセストークンには、次のスコープが必要です。
employer_accessemployer.hosted_job
OAuthトークンへのスコープの追加方法の詳細については、スコープをご覧ください。
アクセストークンを取得した後、このトークンをクエリに含めます。更新された求人ステータスを確認するたびにユーザーにログインを求めないようにするため、アクセストークンは有効期限が切れる前に更新することをIndeedは推奨します。
求人投稿を更新する
この機能はベータ版で、日本では利用できません。詳細についてはIndeedにお問い合わせください。
- 自社がIndeedに送信した求人は、upsertします。
- 別のパートナーが送信した求人は、updateします。updateは主に広告代理店向けです。
日本のみ:広告代理店およびIndeed PLUSパブリッシャーネットワークのパートナーを除き、すべてのパートナーが求人をupdateできます。
関連項目:
広告代理店がIndeedおよびIndeed PLUS上で求人のフィールドを更新できるようにします。
クライアントから認可された求人のみを更新してください。認可されていない更新を行うと、クライアントがその求人で他のIndeedツールを使用できなくなることがあります。ATSにない勤務地を追加する場合は、自社のXMLまたはAPI連携を使用してください。
ワークフロー
Indeedに送信していない求人投稿を更新するには、次の手順を実行します。
| # | 説明 | 参照 |
|---|---|---|
| 1. | オンボーディングするクライアントを選択する:Indeedにお問い合わせください。 | |
| 2. | 条件で求人投稿を一覧表示する:
| |
| 3. | 求人投稿を更新する: トラッキングURLや求人URLなどのフィールドを更新するには、 | |
| 4. | 更新を確認する: 更新を確認するには、次のいずれかのメソッドを呼び出します。
キャンペーンのスポンサー求人を一覧表示する キャンペーンのスポンサー求人を一覧表示するには、 | |
この呼び出しのレート制限については、レート制限をご覧ください。
リクエスト – 求人投稿を更新する
求人投稿の特定フィールドを更新するため、広告代理店はjobsIngest.updateSourcedJobPostingsミューテーションを呼び出すことができます。
この操作には、広告主を表すアクセストークンが必要です。
OAuthアクセストークンには、次のスコープが必要です。
employer_accessemployer.hosted_job
雇用主を表すアクセストークンを取得するをご覧ください。雇用主IDの代わりに、広告主IDをトークンに関連付けます。
更新するフィールドのみを指定します。フィールドを変更しないままにするには、そのフィールドをnullに設定するか、省略します。
次の例では、updateSourcedJobPostingsミューテーションを呼び出して求人投稿の複数のフィールドを更新します。
mutation UpdateSourcedJobPostings { jobsIngest { updateSourcedJobPostings( input: { updates: [ { sourcedPostingId: "<SOURCED POSTING ID OF JOB POSTING>" metadata: { url: "https://www.example.com/jobs/123" campaignCategories: ["springCampaign"] trackingUrl: "https://www.example.com/jobs/123?utm_source=indeed" } body: { title: "Software Developer" description: "Come build the future with us!" jobLocation: { general: { cityRegionPostal: "Phoenix, AZ 85003" streetAddress: "1234 Sunny Lane, Phoenix, AZ 85003" } } salary: { currency: "USD" maximumMinor: 1000 minimumMinor: 1000 period: "HOUR" } } } ] } ) { results { jobPosting { sourcedPostingId employerJobId } } } }}mutation UpdateSourcedJobPostings { jobsIngest { updateSourcedJobPostings(input: { updates: [{ sourcedPostingId: "<SOURCED POSTING ID OF JOB POSTING>" body: { description: "<h2>About the role</h2><p>Join our team as a software engineer. You will design and build scalable backend services.</p><ul><li>Competitive salary</li><li>Remote-friendly</li><li>Health and dental benefits</li></ul>" descriptionFormatting: HTML } }] }) { results { jobPosting { sourcedPostingId employerJobId } } } }}updateSourcedJobPostingsは、UpdateSourcedJobPostingsInput型のinputという1つの引数を受け取ります。
inputには、UpdateSourcedJobPostingInputオブジェクトの配列であるupdatesという1つのフィールドがあります。各UpdateSourcedJobPostingInputオブジェクトは、特定の求人投稿に対して行う更新を表します。
各UpdateSourcedJobPostingInputオブジェクトは、次のフィールドを取ります。
| フィールド | タイプ | 説明 |
|---|---|---|
sourcedPostingId | ID! | **必須。**各求人投稿について、次のいずれかを指定します。
|
metadata.url | WebUrl | 広告代理店が提供するURL。求職者がIndeed Apply経由で応募できない場合に、このURLから応募できます。 |
metadata.campaignCategories | [String!] | キャンペーンでの求人選択のため、関連する求人をグループ化するために求人に追加するカテゴリタグ。指定するcampaignCategoriesについて、ad_campaign_category:{category}を使用してSponsored Jobs APIのクエリを記述します。 |
metadata.trackingUrl | WebUrl | 求人のトラッキングURL 。求職者がIndeedで求人を閲覧すると、IndeedがこのURLにHTTPリクエストを送信します。 |
body.title | String | 求人投稿のタイトル。 |
body.description | String | 求人説明:
|
body.descriptionFormatting | DescriptionFormatting | 求人説明の形式。HTML書式を有効にするには |
body.jobLocation .general.cityRegionPostal | String! | ** 勤務地を更新する場合は必須。**求人の市区町村と都道府県、州、郡などの行政区分、および郵便番号。 リモート求人にこのフィールドを設定すると、その求人は地域別リモート求人とみなされます。 |
body.jobLocation .general.streetAddress | String | 求人の主要な勤務地の住所。通り名と番地を含む完全な住所を指定します。Indeedはこの住所を使用して勤務地ベースの求人検索の精度を向上させ、求職者に表示することがあります。 |
body.salary.currency | CurrencyCode | 給与の通貨コード(ISO 4217形式)。 |
body.salary.maximumMinor | Int64 | 現地マイナー通貨での最大給与。たとえば、USDのマイナー通貨はセントなので、1,000は$10を表します。現在の値を消去するには、 |
body.salary.minimumMinor | Int64 | 現地マイナー通貨での最小給与。たとえば、USDのマイナー通貨はセントなので、1,000は$10を表します。現在の値を消去するには、 |
body.salary.period | JobSalaryPeriod! | **給与を更新する場合は必須。**給与の算出単位(時給、日給、週給など)。 |
body.companyName | String | 求人投稿の会社名を更新します。変更しない場合は、 |
指定する各フィールドの詳細については、APIリファレンスをご覧ください。
更新を確認する
変更を確認するため、updateSourcedJobPostingsのレスポンスには求人IRIが含まれます。返されたIRIを使用してnodeクエリを実行します。
ID で求人投稿のステータスを取得するをご覧ください。
部分的な更新
フィールドの更新はアトミックではありません。1回のリクエストで複数のフィールドを更新すると、まれに求人投稿に部分的な更新が行われる場合があります。部分的な更新には常にレスポンスにエラーが伴いますが、レスポンスにエラーがあるからといって、必ず部分的な更新が発生したとは限りません。複数フィールドの更新リクエストでエラーが返された場合、更新された求人投稿を表示することで、どのフィールドが正常に更新されたかを確認できます。エラーへの対応については、GraphQLエラーのトラブルシューティングをご覧ください。
レスポンス – 求人投稿を更新する
updateSourcedJobPostingsは、UpdateSourcedJobPostingsPayloadオブジェクトを返します。このオブジェクトにはresultsフィールドが含まれます。これは、各求人投稿に対して行われた更新の結果に対応するUpdateSourcedJobPostingResultオブジェクトの配列です。
各UpdateSourcedJobPostingResultオブジェクトには、SourcedJobPostingUpdate型のjobPostingフィールドが含まれます。Indeedが求人投稿の更新を受け付けなかった場合、このフィールドはnullです。それ以外の場合、求人投稿に関する次の情報が含まれます。
sourcedPostingId:求人投稿のユニバーサル一意識別子(UUID)。作成時にIndeedが求人投稿用に生成したSourcedJobPosting.sourcedPostingIdと同じです。この値を使用して、求人投稿を有効期限切れにしたり更新したりします。employerJobId:求人投稿のIndeedリソース識別子(IRI)。求人投稿のEmployerJob.idと同じです。
求人投稿情報を取得するクエリ方法を選択する
求人投稿情報を取得するには、次のいずれかのメソッドを使用します(すべてのメソッドが有効です)。
| メソッド | 説明 |
|---|---|
IDで求人投稿のステータスを取得する(nodeまたはnodesクエリ) | 求人IRI( 求人IRIがある場合は、 ユースケース:
|
条件で求人投稿を一覧表示する(findEmployerJobsPartner) | 検索ベース。すべての求人を一覧表示します。一括カタログ取得に使用します。 ユースケース:
|