Showcase creative validation rules for app IDs, etag updates, resource state management, and creative details requirements
App Ids
AppIdsMustBePresent
| Preconditions |
|---|
callToAction is solely supported by one or more external applications which are only identifiable via an Apple application identifier |
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that appIds is present |
AppIdsMustBeResolvable
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that each appIds value is resolvable to an Apple-generated application identifier |
Example Validation Report
{
"code": "VALIDATION__AppIdsMustBeResolvable",
"severity": "VIOLATION",
"message": "Referenced '{{appIds}}' value must exist",
"context": {
"appIds": [ "284910350", "284910352" ]
}
}
AppIdsMustBeValid
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that an appIds value has valid formatting |
AppIdsMustNotBeEmpty
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that appIds does not include an empty string |
AppIdMustBeResolvableToProviderOfCTA
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that an appIds value is resolvable to a provider of the referenced callToAction |
Example Validation Report
{
"code": "VALIDATION__AppIdMustBeResolvableToProviderOfCTA",
"severity": "VIOLATION",
"message": "appIds value is not available for use with location `{{value}}`",
"context": {
"value": "9467895078742654976"
}
}
AppIdsMayListExactlyOneId
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that the maximum count of items in an appIds list is exactly one (1) |
Example Validation Report
{
"code": "VALIDATION__AppIdsMayListExactlyOneId",
"severity": "VIOLATION",
"message": "'{{field}}' may list exactly one value",
"context": {
"field": "appIds"
}
}
AppIdsMustBeDistinct
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that each appIds value is distinct |
Etag
EntityETagDoesNotAllowUpdate
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
| Validate that the provided etag matches with the current version when update is requested |
Resource State
CreativeMustNotReferToActiveShowcase
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
| Validate that a Showcase Creative is not associated with an "active" Showcase when delete is requested |
CreativeStateMustBeValid
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that Showcase Creative resource state is not any of the following when delete is requested: APPROVED, IN_REVIEW, REJECTED or SUBMITTED |
EntityStateDoesNotAllowUpdate
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that Showcase Creative resource state is not any of the following when an update is requested: APPROVED or DELETED |
ShowcaseMustHaveValidStateForDeactivation
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that Showcase state is PUBLISHED when deactivate is requested |
Showcase Creative
ShowcaseCreativeDetailsMustBePresent
| Definition | Severity | API | Sample | Mode |
|---|---|---|---|---|
Validate that showcaseCreativeDetails are present |