Publication Content Type v1
Reference guide for interacting with a Contentful publication type entry
Contentful Name | Contentful ID | CONTENTFUL TYPE | Validations |
---|---|---|---|
Item Code | itemCode | Symbol | Required |
Publication Name | publicationName | Symbol | Required Mac Character Count: 300 |
Slug | slug | Symbol | Required Unique |
Sales Status | salesStatus | Symbol | Required Accept only specified values:
|
Logo | logo | Link (same space reference) | Required Accept only specified entry type
|
LLC | llc | Link (same space reference) | Required Accept only specified entry type
|
Franchise | franchise | Link (same space reference) | Required Accept only specified entry type
|
Owning Org | owningOrg | Link (same space reference) | Required Accept only specified entry type
|
Banner Image | bannerImage | Link (same space reference) | Required Accept only specified entry type
|
Short Description | shortDescription | Rich Text | Max 280 characters |
Long Description | longDescription | Rich Text |
|
Expert | expert | Link (same space reference) | Required Accept only specified entry type
|
Category | category | ResourceLink (cross space reference) | Required Accept only specified entry type
|
Tags | tags | Array (reference array) | Accept only specified entry type
|
Delivery Method | deliveryMethod | Array (short text array) | Accept only specified values
|
Sales Tax Category | salesTaxCategory | ResourceLink (cross space reference) | Accept only specified entry type
|
How to query publication via Graphql
// Example with comments
// @Note this is a large query and could break
// if query includes a collection with a larger amount of entries
// There are more fields that can be added to this, but it provides most necessary
// data for Publication type
query {
publication(id: "pub_id_here") {
sys {
// @Note break repetitive types into fragments for reusability
// See SysConfig Fragment for config
...SysConfig
}
contentfulMetadata {
tags {
id
name
}
}
itemCode
publicationName
slug
salesStatus
logo {
// @Note break repetitive types into fragments for reusability
// See MediaWrapper Fragment for config
...MediaWrapper
}
franchise {
sys {
// @Note break repetitive types into fragments for reusability
// See SysConfig Fragment for config
...SysConfig
}
franchiseName
client {
// @Note break repetitive types into fragments for reusability
// See CrossSpaceLink Fragment for config
...CrossSpaceLink
}
}
llc {
// @Note break repetitive types into fragments for reusability
// See LLC Fragment for config
...LLC
}
owningOrg {
sys {
// @Note break repetitive types into fragments for reusability
// See SysConfig Fragment for config
...SysConfig
}
orgId
llc {
// @Note break repetitive types into fragments for reusability
// See LLC Fragment for config
...LLC
}
__typename
}
bannerImage {
// @Note break repetitive types into fragments for reusability
// See MediaWrapper Fragment for config
...MediaWrapper
}
shortDescription {
json
}
longDescription {
json
}
expert {
// @Note break repetitive types into fragments for reusability
// See Expert Fragment for config
...Expert
}
category {
// @Note break repetitive types into fragments for reusability
// See CrossSpaceLink Fragment for config
...CrossSpaceLink
}
// @Note may want to set a "limit" on this collection for query complexity sake
// if query is too complex, it will break and cause error
tagsCollection(limit: 20) {
items {
// @Note break repetitive types into fragments for reusability
// See Tag Fragment for config
...Tag
}
}
deliveryMethod
salesTaxCategory {
// @Note break repetitive types into fragments for reusability
// See CrossSpaceLink Fragment for config
...CrossSpaceLink
}
}
}
fragment SysConfig on Sys {
id
spaceId
firstPublishedAt
publishedAt
firstPublishedAt
publishedVersion
}
fragment CrossSpaceLink on ResourceLink {
sys {
type
urn
linkType
__typename
}
}
fragment MediaWrapper on MediaWrapper {
sys {
...SysConfig
}
altText
description {
json
links {
entries {
inline {
sys {
...SysConfig
}
}
hyperlink {
sys {
...SysConfig
}
}
block {
sys {
...SysConfig
}
}
__typename
}
}
}
internalTitle
asset {
...AssetConfig
}
__typename
}
fragment AssetConfig on Asset {
url
sys {
...SysConfig
}
title
description
contentType
width
}
fragment LLC on Llc {
sys {
...SysConfig
}
llcName
__typename
client {
...CrossSpaceLink
}
}
fragment Expert on Person {
sys {
...SysConfig
}
name
title
bio {
json
}
headshot {
...MediaWrapper
}
signature {
...MediaWrapper
}
__typename
}
fragment Tag on Tag {
sys {
...SysConfig
}
tagName
description {
json
}
slug
synonyms
parentTag {
sys {
...SysConfig
}
tagName
description {
json
}
slug
synonyms
parentTag {
sys {
...SysConfig
}
}
}
}
Graphql Query Response Payload
{
"data": {
"publication": {
"sys": {
"id": "5HtQWhAYsJrmiLCSpsIKeO",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:27:55.575Z",
"publishedAt": "2023-03-17T14:27:55.575Z",
"publishedVersion": 23
},
"contentfulMetadata": {
"tags": []
},
"itemCode": "XVI",
"publicationName": "Final Fantasy XVI",
"slug": "xvi",
"salesStatus": "Active",
"logo": {
"sys": {
"id": "5xmFYrYLr7JfTV1MwnFhcK",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:27:51.102Z",
"publishedAt": "2023-03-17T14:27:51.102Z",
"publishedVersion": 5
},
"altText": "Final Fantasy 16 Logo",
"description": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Final Fantasy 16 Logo",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
},
"links": {
"entries": {
"inline": [],
"hyperlink": [],
"block": [],
"__typename": "MediaWrapperDescriptionEntries"
}
}
},
"internalTitle": "Final Fantasy 16 Logo",
"asset": {
"url": "https://images.ctfassets.net/yiil34ggxxe1/7AWv1eKlHxX6Tgthp5vBs2/ef8f78b81131fd477c598e1765fb01eb/download__4_.jpg",
"sys": {
"id": "7AWv1eKlHxX6Tgthp5vBs2",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:17:33.517Z",
"publishedAt": "2023-03-17T14:18:09.368Z",
"publishedVersion": 8
},
"title": "Final Fantasy 16 Logo",
"description": "Final Fantasy 16 Logo",
"contentType": "image/jpeg",
"width": 282
},
"__typename": "MediaWrapper"
},
"franchise": {
"sys": {
"id": "1kTzL6ovYASYTMgMbPLm0s",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T13:45:00.489Z",
"publishedAt": "2023-03-17T13:47:36.102Z",
"publishedVersion": 5
},
"franchiseName": "Final Fantasy",
"client": {
"sys": {
"type": "ResourceLink",
"urn": "crn:contentful:::content:spaces/nj8trz3k9pme/entries/3UxaZm2Rbv2T9gKjTeOI4B",
"linkType": "Contentful:Entry",
"__typename": "ResourceSys"
}
}
},
"llc": {
"sys": {
"id": "rOwN9qpkc6ok784E10rXb",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T13:41:12.594Z",
"publishedAt": "2023-03-17T13:41:12.594Z",
"publishedVersion": 2
},
"llcName": "Square Enix Enterprises, LLC",
"__typename": "Llc",
"client": null
},
"owningOrg": {
"sys": {
"id": "3UrH7Q2grbyDUUNgvaoYda",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T13:58:03.780Z",
"publishedAt": "2023-03-17T13:58:03.780Z",
"publishedVersion": 3
},
"orgId": "SQE",
"llc": {
"sys": {
"id": "rOwN9qpkc6ok784E10rXb",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T13:41:12.594Z",
"publishedAt": "2023-03-17T13:41:12.594Z",
"publishedVersion": 2
},
"llcName": "Square Enix Enterprises, LLC",
"__typename": "Llc",
"client": null
},
"__typename": "OwningOrg"
},
"bannerImage": {
"sys": {
"id": "1yKTIELMoZxIHzIio3iHJ4",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:19:37.877Z",
"publishedAt": "2023-03-17T14:19:37.877Z",
"publishedVersion": 4
},
"altText": "Final Fantasy 16 Banner Logo",
"description": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Final Fantasy 16 Banner Logo",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
},
"links": {
"entries": {
"inline": [],
"hyperlink": [],
"block": [],
"__typename": "MediaWrapperDescriptionEntries"
}
}
},
"internalTitle": "Final Fantasy 16 Banner Logo",
"asset": {
"url": "https://images.ctfassets.net/yiil34ggxxe1/7hqqndXdufZi1VwtT3esO6/4384cb360d692f9cdd02be5cd53f4d45/download__3_.jpg",
"sys": {
"id": "7hqqndXdufZi1VwtT3esO6",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:19:31.858Z",
"publishedAt": "2023-03-17T14:19:31.858Z",
"publishedVersion": 3
},
"title": "Final Fantasy 16 Banner Logo",
"description": "Final Fantasy 16 Banner Logo",
"contentType": "image/jpeg",
"width": 318
},
"__typename": "MediaWrapper"
},
"shortDescription": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Final Fantasy XVI is an action role-playing game in which players take control of protagonist Clive Rosfield and a rotating party of AI-controlled companions through segmented open areas across the continents of Valisthea.",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
}
},
"longDescription": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Final Fantasy XVI is an action role-playing game in which players take control of protagonist Clive Rosfield and a rotating party of AI-controlled companions through segmented open areas across the continents of Valisthea. Combat revolves around a combination of melee and magic attacks, with Clive able to dodge.",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
}
},
"expert": {
"sys": {
"id": "1jmygzgfG43lS96VecZUCf",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:10:38.992Z",
"publishedAt": "2023-03-17T14:10:38.992Z",
"publishedVersion": 8
},
"name": "Naoki Yoshida",
"title": "Producer",
"bio": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Naoki Yoshida (吉田 直樹, Yoshida Naoki?), known also by the moniker Yoshi-P, is a ",
"nodeType": "text"
},
{
"data": {},
"marks": [
{
"type": "bold"
}
],
"value": "game developer and director who joined Square Enix in 2005, working mostly with the Dragon Quest Monster Battle Road games",
"nodeType": "text"
},
{
"data": {},
"marks": [],
"value": ". He is best known for his involvement in the successful relaunch of Final Fantasy XIV.\n\n",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
}
},
"headshot": {
"sys": {
"id": "6UKUtZJyUKGu7E7to6G4OQ",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:09:02.490Z",
"publishedAt": "2023-03-17T14:09:02.490Z",
"publishedVersion": 3
},
"altText": "Yoshi P Headshot",
"description": {
"json": {
"nodeType": "document",
"data": {},
"content": [
{
"nodeType": "paragraph",
"data": {},
"content": [
{
"nodeType": "text",
"value": "Yoshi P Headshot",
"marks": [],
"data": {}
}
]
}
]
},
"links": {
"entries": {
"inline": [],
"hyperlink": [],
"block": [],
"__typename": "MediaWrapperDescriptionEntries"
}
}
},
"internalTitle": "Yoshi P Headshot",
"asset": {
"url": "https://images.ctfassets.net/yiil34ggxxe1/24NVRRNQPYPQ6deaX4eXV8/25f6a925ec5c4d6a8b925be5c4fb64b7/Yoshi_P.jpg",
"sys": {
"id": "24NVRRNQPYPQ6deaX4eXV8",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:08:57.062Z",
"publishedAt": "2023-03-17T14:08:57.062Z",
"publishedVersion": 3
},
"title": "Yoshi P Headshot",
"description": "Yoshi P Headshot",
"contentType": "image/jpeg",
"width": 299
},
"__typename": "MediaWrapper"
},
"signature": {
"sys": {
"id": "2pAVn8C4AN4hmC2ALif9Un",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:10:30.369Z",
"publishedAt": "2023-03-17T14:10:30.369Z",
"publishedVersion": 5
},
"altText": "Yoshi P Signature",
"description": {
"json": {
"nodeType": "document",
"data": {},
"content": [
{
"nodeType": "paragraph",
"data": {},
"content": [
{
"nodeType": "text",
"value": "Yoshi P Signature",
"marks": [],
"data": {}
}
]
}
]
},
"links": {
"entries": {
"inline": [],
"hyperlink": [],
"block": [],
"__typename": "MediaWrapperDescriptionEntries"
}
}
},
"internalTitle": "Yoshi P Signature",
"asset": {
"url": "https://images.ctfassets.net/yiil34ggxxe1/6hr9uRT3ws0mkjuUOsTZGb/45bd7988772e5f9220c502373a611695/download__2_.jpg",
"sys": {
"id": "6hr9uRT3ws0mkjuUOsTZGb",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:10:07.438Z",
"publishedAt": "2023-03-17T14:10:21.859Z",
"publishedVersion": 5
},
"title": "Yoshi P Signature",
"description": "Yoshi P Signature",
"contentType": "image/jpeg",
"width": 299
},
"__typename": "MediaWrapper"
},
"__typename": "Person"
},
"category": {
"sys": {
"type": "ResourceLink",
"urn": "crn:contentful:::content:spaces/nj8trz3k9pme/entries/1njRAGjPUIDeEJnZPX4RF1",
"linkType": "Contentful:Entry",
"__typename": "ResourceSys"
}
},
"tagsCollection": {
"items": [
{
"sys": {
"id": "2Sl0T7Lx0hUB8V2TQVZAji",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:02:55.862Z",
"publishedAt": "2023-03-17T14:02:55.862Z",
"publishedVersion": 4
},
"tagName": "Video Game",
"description": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "Video Game",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
}
},
"slug": "video-game",
"synonyms": [
"Game",
"Games",
"Gaming"
],
"parentTag": null
},
{
"sys": {
"id": "4RvdrQfeGqoVaCt92NGX2j",
"spaceId": "yiil34ggxxe1",
"firstPublishedAt": "2023-03-17T14:03:41.719Z",
"publishedAt": "2023-03-17T14:03:52.763Z",
"publishedVersion": 5
},
"tagName": "PlayStation 5",
"description": {
"json": {
"data": {},
"content": [
{
"data": {},
"content": [
{
"data": {},
"marks": [],
"value": "PlayStation",
"nodeType": "text"
}
],
"nodeType": "paragraph"
}
],
"nodeType": "document"
}
},
"slug": "playstation",
"synonyms": [
"Console",
"PS5"
],
"parentTag": null
}
]
},
"deliveryMethod": [
"Mail",
"Web Only"
],
"salesTaxCategory": {
"sys": {
"type": "ResourceLink",
"urn": "crn:contentful:::content:spaces/nj8trz3k9pme/entries/49y6VI7I4xxiYpKFPUzGhA",
"linkType": "Contentful:Entry",
"__typename": "ResourceSys"
}
}
}
}
}
Graphql Query without comments
query {
publication(id: "pub_id_here") {
sys {
...SysConfig
}
contentfulMetadata {
tags {
id
name
}
}
itemCode
publicationName
slug
salesStatus
logo {
...MediaWrapper
}
franchise {
sys {
...SysConfig
}
franchiseName
client {
...CrossSpaceLink
}
}
llc {
...LLC
}
owningOrg {
sys {
...SysConfig
}
orgId
llc {
...LLC
}
__typename
}
bannerImage {
...MediaWrapper
}
shortDescription {
json
}
longDescription {
json
}
expert {
...Expert
}
category {
...CrossSpaceLink
}
tagsCollection(limit:10) {
items {
...Tag
}
}
deliveryMethod
salesTaxCategory {
...CrossSpaceLink
}
}
}
fragment SysConfig on Sys {
id
spaceId
firstPublishedAt
publishedAt
firstPublishedAt
publishedVersion
}
fragment CrossSpaceLink on ResourceLink {
sys {
type
urn
linkType
__typename
}
}
fragment MediaWrapper on MediaWrapper {
sys {
...SysConfig
}
altText
description {
json
links {
entries {
inline {
sys {
...SysConfig
}
}
hyperlink {
sys {
...SysConfig
}
}
block {
sys {
...SysConfig
}
}
__typename
}
}
}
internalTitle
asset {
...AssetConfig
}
__typename
}
fragment AssetConfig on Asset {
url
sys {
...SysConfig
}
title
description
contentType
width
}
fragment LLC on Llc {
sys {
...SysConfig
}
llcName
__typename
client {
...CrossSpaceLink
}
}
fragment Expert on Person {
sys {
...SysConfig
}
name
title
bio {
json
}
headshot {
...MediaWrapper
}
signature {
...MediaWrapper
}
__typename
}
fragment Tag on Tag {
sys {
...SysConfig
}
tagName
description {
json
}
slug
synonyms
parentTag {
sys {
...SysConfig
}
tagName
description {
json
}
slug
synonyms
parentTag {
sys {
...SysConfig
}
}
}
}