Profile purchases

A candidate’s SEEK Profile may be purchased by a hirer in Talent Search . This allows the hirer to view the profile on the SEEK platform, but also makes it available for export into your recruitment software.
A CandidateProfilePurchased event  is emitted when a hirer purchases a candidate profile in Talent Search. Create a webhook subscription to trigger an export workflow when these events occur:
Your software should display the candidate profile and resume attachment to the position’s hirer within 60 seconds  of receiving a purchase event.

Data structure

A webhook body containing a CandidateProfilePurchased event  looks like so:
JSON
Copy
{
  "events": [
    {
      "id": "seekAnzPublicTest:event:events:N3P1rAeTfSy8UpE5p984Hd",
      "type": "CandidateProfilePurchased",

      "createDateTime": "2020-08-07T13:56:38.385Z",

      "candidateProfileId": "seekAnzPublicTest:candidateProfile:purchased:HWxJyVNyio4JLWLmDY6eqV",

      // This is only available for signed webhook subscriptions
      "hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h"
    }
  ],
  "subscriptionId": "seekAnzPublicTest:webhookSubscription:events:JurnLNCzY3T8wYRVLFWQNw",
  "url": "https://example.com/webhook/candidate-profile-purchased"
}
A CandidateProfile  from Talent Search contains candidate information, a URL to the candidate’s resume file, the organization making the purchase, and the position that the profile should be exported to in your software.
It contains the following information from the candidate’s SEEK profile:
  • Candidate name
  • Email address
  • Phone number (if provided)
  • Information about the candidate’s current employment (if applicable), including employer name, role title, start date and description.
This information can be used to create a new candidate profile, match on and update an existing candidate profile, and help a hirer identify the candidate in your software.
When performing matching activities (e.g. determining if a new candidate record for the purchased profile needs to be created in your software), using the candidate’s email address as the unique identifier is recommended.
The positionOrganizations.id  and positionProfiles.profileId  values should be used to identify the corresponding position in your software that the purchased profile should be added to.
The SEEK API does not translate user input and will serve SEEK profile information as supplied by the candidate. As a result, your software may need to handle multilingual candidate data.
The CandidateProfile  object and operations are shared with the Optimised Apply use case. See the documentation on exporting candidate profiles and exporting attachments for more information.

Operations

Retrieve a purchased candidate profile

The candidateProfile query  accepts the event candidateProfileId as input:
QueryVariablesResult
query ($id: String!) {
  candidateProfile(id: $id) {
    candidate {
      person {
        name {
          given
          family
        }
        communication {
          phone {
            formattedNumber
          }
          email {
            address
          }
        }
      }
    }
    associatedPositionProfile {
      profileId {
        value
      }
      positionOrganizations {
        id {
          value
        }
        name
      }
    }
    employment {
      organization {
        name
      }
      positionHistories {
        start
        end
        title
        descriptions
        current
      }
    }
    attachments {
      seekRoleCode
      url
    }
  }
}