query:ad-products
scope in your request.seekAnzHirerAdvertisementCreationProducts
retrieves ad products when initially posting a job ad.seekAnzHirerAdvertisementModificationProducts
retrieves ad products when updating a job ad with a known profileId
.seekAnzHirerAdvertisementModificationProductsAlt
retrieves ad products when updating a job ad without a known profileId
.Your software must provide the state of the job ad before the hirer’s requested updates.draftAdvertisement
input change:jobCategories
query make sure you only use children
job categories, not the top-level categories returned by the query.Classic
ad product.query (
$hirerId: String!
$draftAdvertisement: SeekAnzAdProductAdvertisementDraftInput!
) {
seekAnzHirerAdvertisementCreationProducts(
hirerId: $hirerId
draftAdvertisement: $draftAdvertisement
) {
advertisementTypeCode
name
description
price {
amountExcludingTax {
currency
value
}
summary
visibleForHirerIndicator
taxedIndicator
}
enabledIndicator
checkoutEstimate {
paymentDueExcludingTax {
currency
value
}
summary
contractConsumption {
summary
typeCode
}
}
messages {
severityCode
visibilityCode
content
}
}
}
Classic
ad product, and is intending to upgrade to the StandOut
ad product behind a SEEK ad budget contract.query (
$advertisementId: String!
$hirerId: String!
$draftAdvertisement: SeekAnzAdProductAdvertisementDraftInput!
) {
seekAnzHirerAdvertisementModificationProducts(
hirerId: $hirerId
advertisementId: $advertisementId
draftAdvertisement: $draftAdvertisement
) {
advertisementTypeCode
name
description
price {
amountExcludingTax {
currency
value
}
summary
visibleForHirerIndicator
taxedIndicator
}
enabledIndicator
checkoutEstimate {
paymentDueExcludingTax {
currency
value
}
summary
contractConsumption {
summary
typeCode
}
}
messages {
severityCode
visibilityCode
content
}
}
}
draftAdvertisement.positionTitle
in your input as [NO CONTRACT]
while querying ad products for a new job ad in the Playground environment.This pricing scenario assumes the hirer has no SEEK contract, and has selected the Classic
ad product.query (
$hirerId: String!
$draftAdvertisement: SeekAnzAdProductAdvertisementDraftInput!
) {
seekAnzHirerAdvertisementCreationProducts(
hirerId: $hirerId
draftAdvertisement: $draftAdvertisement
) {
advertisementTypeCode
name
description
price {
amountExcludingTax {
currency
value
}
summary
visibleForHirerIndicator
taxedIndicator
}
enabledIndicator
checkoutEstimate {
paymentDueExcludingTax {
currency
value
}
summary
contractConsumption {
summary
typeCode
}
}
messages {
severityCode
visibilityCode
content
}
}
}
draftAdvertisement.positionTitle
in your input as [NO CONTRACT]
while querying ad products for an existing job ad in the Playground environment.This pricing scenario assumes the hirer previously posted the job ad with the Classic
ad product, and is intending to upgrade to the StandOut
ad product with no SEEK contract.query (
$advertisementId: String!
$hirerId: String!
$draftAdvertisement: SeekAnzAdProductAdvertisementDraftInput!
) {
seekAnzHirerAdvertisementModificationProducts(
hirerId: $hirerId
advertisementId: $advertisementId
draftAdvertisement: $draftAdvertisement
) {
advertisementTypeCode
name
description
price {
amountExcludingTax {
currency
value
}
summary
visibleForHirerIndicator
taxedIndicator
}
enabledIndicator
checkoutEstimate {
paymentDueExcludingTax {
currency
value
}
summary
contractConsumption {
summary
typeCode
}
}
messages {
severityCode
visibilityCode
content
}
}
}
SeekAnzAdProduct
schema definition.A different border should be displayed for the selected ad product.The checkoutEstimate.summary
field text should be displayed in place of the product description (see number 3) if there are no messages
(see number 4).See New job ad with SEEK contract for an example of when to display checkoutEstimate.summary
.When the hirer has a contract with SEEK and it’s applicable to the product, show a contract bar above the product.
You can determine if the hirer has a contract with SEEK based on data available within the checkoutEstimate.contractConsumption
field.Display text in the bar from the checkoutEstimate.contractConsumption.summary
field.Set the colour of the contract bar based on the checkoutEstimate.contractConsumption.typeCode
field.There are three possible type codes for contract consumption: SameAdType
, OtherAdType
, and SameAdTypePlusInvoice
.
Each code must have a different colour.SameAdType
indicates the contract can be used to purchase the product non-flexibly.
For example, using a “Classic Pack” to purchase a Classic
job ad.OtherAdType
indicates the contract can be used to purchase the product flexibly.
For example, using a “Classic Pack” to purchase a StandOut
job ad.SameAdTypePlusInvoice
indicates the contract pays for only a portion of the product price; the rest will be invoiced.description
field text.
This is the description of the ad product.Hide this description if there are any items within messages
to display (see number 4) or if the checkoutEstimate.summary
field has any value (see number 1).If there are items in the messages
field for an ad product, they should take precedence in being displayed over the description
in number 3 and checkoutEstimate.summary
in number 1.The message content
field text should be displayed, based on the following order of preference:messages
field with a visibilityCode
of ProductSelected
if present.messages
field with a visibilityCode
of Always
.severityCode
of Critical
, the colour of the message should be different than if it is Informational
:Informational
indicates a message with helpful information for a hirer.Critical
indicates a message with critical information for a hirer.Critical
message outlining a price increase, as well as an Informational
message outlining that an upgrade to Premium is unsupported.Display the name of the ad product from the name
field text.Display the price from price.summary
field text.Price should only be displayed to the hirer if the price.visibleForHirerIndicator
field is true
.The currency for the price is determined based on the hirer’s circumstances:enabledIndicator
field determines whether an ad type is selectable by the hirer while posting or updating their job ad.When the field is false
:advertisementTypeCode
field returned by the ad product query should be persisted in memory.When the hirer is ready to post or update the job ad, advertisementTypeCode
should then be passed into the CreatePostingInstructionInput.seekAnzAdvertisementType
field in the postPosition
, postPositionProfileForOpening
or updatePostedPositionProfile
job posting mutations.The set of available ad products and the number of ad products presented to a hirer may change in the future.
Your software should not have conditional business logic based on individual ad products.Products should be presented to hirers in the same order they are returned in the response.Your software should conditionally display bullet points and branding inputs based on the selected ad product.
Instead of basing this on advertisementTypeCode
, it should use the features.searchBulletPointsIndicator
and features.brandingIndicator
fields.