Skip to content

Instantly share code, notes, and snippets.

@soundstep
Created August 2, 2022 07:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soundstep/0e31471634ebaf27dbde20b2074dfb00 to your computer and use it in GitHub Desktop.
Save soundstep/0e31471634ebaf27dbde20b2074dfb00 to your computer and use it in GitHub Desktop.
openapi: 3.0.3
info:
title: Pact bi-directional
version: 1.0.0
contact: {}
servers:
- url: http://example.com
paths:
/discovery:
post:
summary: POST discovery PRD
description: POST discovery PRD
operationId: postDiscoveryPrd
requestBody:
content:
application/json:
schema:
type: object
properties:
query:
type: string
example: |
{
featuredSliderSlot1: targetedContainers(
filter: { id: "6PE58jxxneY63rHfSD0h6Z", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot4: targetedContainers(
filter: { id: "7Iq7gzzv8duUKCbwtfENc", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot2: targetedContainers(
filter: { id: "4ynbPheciXholKySviVAIR", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot3: targetedContainers(
filter: { id: "2MEbm8J2QzICB2YC1o6EQp", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot1: targetedContainers(
filter: { id: "2iMpaAU4EXRtgQHEpZZrlA", published: true }
) {
...CollectionFields
}
genreSliderSlot1: targetedContainers(
filter: { id: "3PhbJKEE6RtJuKCEZLc1MO", published: true }
) {
...CollectionFields
}
genreSliderSlot2: targetedContainers(
filter: { id: "4Mw4BnGS3G2BlAYrCdRk0H", published: true }
) {
...CollectionFields
}
genreSliderSlot4: targetedContainers(
filter: { id: "6Td6l6yZNUKAJL4OhjhVdE", published: true }
) {
...CollectionFields
}
genreSliderSlot3: targetedContainers(
filter: { id: "43ey5GyghH8q5HOJVOuPmo", published: true }
) {
...CollectionFields
}
}
fragment CollectionFields on TargetedContainer {
id
name
destination
priority
content {
... on CollectionSpot {
collection {
id
title
subsequentJourney {
name
label
destinationUrl(platform: CTV)
}
imageTreatment
imageAspectRatio
imageClass
items(
filter: {
available: "NOW"
features: [
PROGRESSIVE
OUTBAND_WEBVTT
INBAND_AUDIO_DESCRIPTION
MPEG_DASH
WIDEVINE
]
broadcaster: ITV
platform: CTV
}
) {
itemType
imageUrl
... on SeriesCollectionItem {
seriesItem {
seriesNumber
synopses {
ninety
}
brand {
title
categories
imageUrl
}
earliestAvailableTitle {
legacyId
imageUrl
broadcastDateTime
brandLegacyId
channel {
name
}
availableNow
}
}
}
... on TitleCollectionItem {
titleItem {
... on Special {
categories
title
brand {
imageUrl
}
}
... on Film {
categories
title
brand {
imageUrl
}
}
... on Episode {
brand {
categories
title
imageUrl
}
}
... on Title {
titleType
imageUrl
legacyId
brandLegacyId
brand {
title
legacyId
categories
imageUrl
}
synopses {
ninety
}
broadcastDateTime
channel {
name
}
availableNow
}
}
}
... on BrandCollectionItem {
brandItem {
title
synopses {
ninety
}
imageUrl
legacyId
categories
latestAvailableTitle {
legacyId
imageUrl
broadcastDateTime
channel {
name
}
availableNow
}
}
}
}
}
}
}
}
example:
query: |
{
featuredSliderSlot1: targetedContainers(
filter: { id: "6PE58jxxneY63rHfSD0h6Z", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot4: targetedContainers(
filter: { id: "7Iq7gzzv8duUKCbwtfENc", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot2: targetedContainers(
filter: { id: "4ynbPheciXholKySviVAIR", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot3: targetedContainers(
filter: { id: "2MEbm8J2QzICB2YC1o6EQp", published: true }
) {
...CollectionFields
}
promotedProductionsSliderSlot1: targetedContainers(
filter: { id: "2iMpaAU4EXRtgQHEpZZrlA", published: true }
) {
...CollectionFields
}
genreSliderSlot1: targetedContainers(
filter: { id: "3PhbJKEE6RtJuKCEZLc1MO", published: true }
) {
...CollectionFields
}
genreSliderSlot2: targetedContainers(
filter: { id: "4Mw4BnGS3G2BlAYrCdRk0H", published: true }
) {
...CollectionFields
}
genreSliderSlot4: targetedContainers(
filter: { id: "6Td6l6yZNUKAJL4OhjhVdE", published: true }
) {
...CollectionFields
}
genreSliderSlot3: targetedContainers(
filter: { id: "43ey5GyghH8q5HOJVOuPmo", published: true }
) {
...CollectionFields
}
}
fragment CollectionFields on TargetedContainer {
id
name
destination
priority
content {
... on CollectionSpot {
collection {
id
title
subsequentJourney {
name
label
destinationUrl(platform: CTV)
}
imageTreatment
imageAspectRatio
imageClass
items(
filter: {
available: "NOW"
features: [
PROGRESSIVE
OUTBAND_WEBVTT
INBAND_AUDIO_DESCRIPTION
MPEG_DASH
WIDEVINE
]
broadcaster: ITV
platform: CTV
}
) {
itemType
imageUrl
... on SeriesCollectionItem {
seriesItem {
seriesNumber
synopses {
ninety
}
brand {
title
categories
imageUrl
}
earliestAvailableTitle {
legacyId
imageUrl
broadcastDateTime
brandLegacyId
channel {
name
}
availableNow
}
}
}
... on TitleCollectionItem {
titleItem {
... on Special {
categories
title
brand {
imageUrl
}
}
... on Film {
categories
title
brand {
imageUrl
}
}
... on Episode {
brand {
categories
title
imageUrl
}
}
... on Title {
titleType
imageUrl
legacyId
brandLegacyId
brand {
title
legacyId
categories
imageUrl
}
synopses {
ninety
}
broadcastDateTime
channel {
name
}
availableNow
}
}
}
... on BrandCollectionItem {
brandItem {
title
synopses {
ninety
}
imageUrl
legacyId
categories
latestAvailableTitle {
legacyId
imageUrl
broadcastDateTime
channel {
name
}
availableNow
}
}
}
}
}
}
}
}
responses:
'200':
description: ''
tags: []
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment