サンプル求人を作成する
Indeed上でサンプル求人を作成して確認します。
始める前に
- Indeedパートナーになる。Indeed PLUSの場合のみ、Indeedから
employerIdTypeを受け取る必要があります。 - アクセストークンを取得する
Indeed PLUS APIを呼び出すと、5,000ミリ秒後にタイムアウトとなります。
APIを呼び出す
GraphQL APIを呼び出す には、ヘッダーとGraphQLクエリまたはミューテーションを指定してhttps://apis.indeed.com/graphqlエンドポイントにPOSTします。
curl -X POST \ -L 'https://apis.indeed.com/graphql' \ -H 'Authorization: Bearer <access_token>' \ -H 'Content-Type: application/json' \ -d '{"query":"mutation SubmitJobPostingExample($employerIdType: String!) {\n jobsIngest {\n createSourcedJobPostings(\n input: {\n jobPostings: [\n {\n body: {\n title: \"Customer Support\"\n description: \"<h2 data-segment-type=\\\"header\\\" data-segment-label=\\\"JobDescription\\\">\\n Description\\n</h2>\\n<div data-segment-type=\\\"content\\\" data-segment-label=\\\"JobDescription\\\">\\n You will be responsible for supporting customers in this role.\\n</div>\\n<h2 data-segment-type=\\\"header\\\" data-segment-label=\\\"Pay\\\">\\n Pay\\n</h2>\\n<div data-segment-type=\\\"content\\\" data-segment-label=\\\"Pay\\\">\\n 2,000 yen per hour\\n</div>\\n<h2 data-segment-type=\\\"header\\\" data-segment-label=\\\"WorkHours\\\">\\n Working hours\\n</h2>\\n<div data-segment-type=\\\"content\\\" data-segment-label=\\\"WorkHours\\\">\\n 8 hours per day\\n At least 4 days per week\\n</div>\\n\"\n descriptionFormatting: RICH_FORMATTING\n benefits: []\n salary: {\n currency: \"JPY\"\n period: \"HOUR\"\n minimumMinor: 2000\n fineGrainedSalaryInformation: {\n totalSalaryMinor: 2000\n workingHours: 1\n fixedOvertimePay: false\n }\n }\n hasProbationaryPeriod: NO\n location: { country: \"JP\", streetAddress: \"108-0023 東京都港区芝浦3-1-21 田町ステーションタワーS18階\" }\n }\n metadata: {\n jobSource: {\n companyName: \"Example Company\"\n sourceName: \"Example Source Name\"\n sourceType: \"Employer\"\n employerIds: [{ type: $employerIdType, id: \"1\" }]\n }\n taxonomyClassification: { jobTypes: [\"75GKK\"], occupations: [\"N3YNG\"], attributes: [\"7ADHN\"] }\n jobPostingId: \"AtsJobPostingId1\"\n datePublished: \"2023-09-01T09:35:00+09:00\"\n url: \"https://example.com/jobs/aaabbbccc\"\n contacts: { contactType: \"contact\", contactInfo: { contactEmail: \"contact@career.example.com\" } }\n }\n }\n ]\n }\n ) {\n results {\n jobPosting {\n sourcedPostingId\n }\n }\n }\n }\n}","operationName":"SubmitJobPostingExample","variables":{"employerIdType": "<employerIdType>"}}'リクエストヘッダー:
| ヘッダー | 値 | 説明 |
|---|---|---|
|
| サーバーで認証して、保護されたリソースにアクセスします。 このヘッダーで 注記
アクセストークンを取得するおよびAuthorizationヘッダーをご覧ください。 |
|
| リソースのメディアタイプ。 Content-Typeヘッダーをご覧ください。 |
-dパラメーターはGraphQLクエリを指定します。<employerIdType>は自分のemployerIdTypeです(Indeed PLUSの場合のみ)。
mutation SubmitJobPostingExample($employerIdType: String!) { jobsIngest { createSourcedJobPostings(input: { jobPostings: [{ body: { title: "Customer Support" description: "<h2 data-segment-type=\"header\" data-segment-label=\"JobDescription\">\n Description\n</h2>\n<div data-segment-type=\"content\" data-segment-label=\"JobDescription\">\n You will be responsible for supporting customers in this role.\n</div>\n<h2 data-segment-type=\"header\" data-segment-label=\"Pay\">\n Pay\n</h2>\n<div data-segment-type=\"content\" data-segment-label=\"Pay\">\n 2,000 yen per hour\n</div>\n<h2 data-segment-type=\"header\" data-segment-label=\"WorkHours\">\n Working hours\n</h2>\n<div data-segment-type=\"content\" data-segment-label=\"WorkHours\">\n 8 hours per day\n At least 4 days per week\n</div>\n" descriptionFormatting: RICH_FORMATTING benefits: [] salary: { currency: "JPY" period: "HOUR" minimumMinor: 2000 fineGrainedSalaryInformation: { totalSalaryMinor: 2000 workingHours: 1 fixedOvertimePay: false } } hasProbationaryPeriod: NO location: { country: "JP", streetAddress: "108-0023 東京都港区芝浦3-1-21 田町ステーションタワーS18階" } } metadata: { jobSource: { companyName: "Example Company" sourceName: "Example Source Name" sourceType: "Employer" employerIds: [{ type: $employerIdType, id: "1" }] } taxonomyClassification: { jobTypes: ["75GKK"] occupations: ["N3YNG"] attributes: ["7ADHN"] } jobPostingId: "AtsJobPostingId1" datePublished: "2023-09-01T09:35:00+09:00" url: "https://example.com/jobs/aaabbbccc" contacts: { contactType: "contact" contactInfo: { contactEmail: "contact@career.example.com" } } } }] }) { results { jobPosting { sourcedPostingId } } } }Insomniaを使用してGraphQLリクエストを送信する場合は、curlコマンドをInsomniaにインポートできます。Insomniaのドキュメントのデータのインポートをご覧ください。
成功時のレスポンスは次のようになります。
{ "data": { "jobsIngest": { "createSourcedJobPostings": { "results": [{ "jobPosting": { "sourcedPostingId": "ea81aaa2-e834-43f7-8cd9-75778c14c2d5" } }] } } }}求人が利用可能であることを確認する
求人がIndeedで利用可能になるまでに最大2時間かかる場合があります。求人が投稿されたことを確認するには、Indeedにお問い合わせください。
次のステップ
-
titleなどを変更して求人を更新します。求人を更新した際のレスポンスは、求人作成時のレスポンスと同じです。更新には最大2時間かかる場合があります。 -
jobPostingIdを変更して別の求人を投稿します(例:AtsJobPostingId1をAtsJobPostingId2に)。 -
inputにapplyMethodを追加してみてください。POSTリクエストを受信できるパブリックエンドポイント(postUrl)と、Indeed Applyアプリのクライアントid(apiToken)が必要です。- Indeed Applyをアプリに連携するには、Indeedにお問い合わせください。
-
求人を有効期限切れにするには、求人作成レスポンスの
sourcedPostingIdを指定してexpireSourcedJobsBySourcedPostingIdミューテーションを使用しま す。 -
詳細については、雇用主データ、Job Sync、およびGraphQL APIリファレンスをご覧ください。