Struct Docs
Struct.PIM 4
Struct.PIM 4
  • Struct PIM Documentation
  • API Reference
  • Latest updates from Struct HQ
  • Latest updates in Documentation
  • Fundamental concepts
    • Get familiar with Struct PIM
    • Catalogues & categories
    • Products & variants
    • Attributes
    • Product structures
    • Identifiers
    • Global lists
    • Localization & segmentation
    • Revisions & changelog
    • Publications
    • Supplier onboarding portal
  • Tutorials
    • Helpful guides
      • How to search efficiently
      • How to use Import
        • How to import products
        • How to import data into a list property on entities
        • How to import categories
        • How to import with media
        • How to use File templates
    • Example projects
      • Working with the API
  • Integration
    • Integrate with Struct PIM
    • Web API
    • Webhooks
  • Media format
  • API Reference
    • Introduction
    • Endpoints
      • AssetFolders
      • Assets
      • AssetTypes
      • AttributeGroups
      • Attributes
      • AttributeScopes
      • Browse
      • BusinessUnits
      • Catalogues
      • Categories
      • Dimensions
      • Exports
      • EnrichmentInsightSetups
      • GlobalLists
      • Languages
      • Maintenance
      • Miscellaneous
      • Messaging
      • Permissions
      • Products
      • ProductStructures
      • Publications
      • Transactions
      • UserGroup
      • UserRoles
      • Users
      • VariantGroups
      • UserTasks
      • Variants
      • Webhooks
      • Workflows
      • Models
Powered by GitBook
On this page
  1. API Reference
  2. Endpoints

Publications

PreviousProductStructuresNextTransactions

Generate publications from template setup in PIM.

Get configured print publications in the publication module

get

#Available from v.3.15.0 Use this endpoint to get a list of all configured print publications

Authorizations
Responses
200
OK
get
GET /v1/publications/prints HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

[
  {
    "Uid": "123e4567-e89b-12d3-a456-426614174000",
    "Name": "text",
    "CategoryId": 1,
    "Active": true
  }
]

Get produced XML data feed from a configured print publication in the publication module

get

#Available from v.3.15.0

Authorizations
Path parameters
uidstring · uuidRequired
Responses
200
OK
Responseinteger · int32
get
GET /v1/publications/prints/{uid}/produce HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

1

Enqueue Product single page publication

get

Use this method to enqueue single page publications. Enqueue the publication by product, template and language.

Authorizations
Path parameters
idinteger · int32Required

Product Id

languageIdinteger · int32Required

Language Id

templateExternalRefstringRequired

Template external reference

Responses
200
OK
Responseinteger · int32
get
GET /v1/publications/enqueue/{templateExternalRef}/{id}/{languageId} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

1

Enqueue produced XML data feed from a configured print publication in the publication module

get

#Available from v.3.15.0

Authorizations
Path parameters
uidstring · uuidRequired
Responses
200
OK
Responsestring · uuid
get
GET /v1/publications/enqueue/prints/{uid}/produce HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

123e4567-e89b-12d3-a456-426614174000

Get publication task status

get

Use this method to get the task status of a publication.

Authorizations
Path parameters
taskGuidstring · uuidRequired

Task Id

Responses
200
OK
Responseany
get
GET /v1/publications/buildstatus/{taskGuid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

No content

Get built publication

get

Use this method to get a prebuilt publication.

Authorizations
Path parameters
taskGuidstring · uuidRequired

Task Id

Responses
200
OK
get
GET /v1/publications/buildresult/{taskGuid} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

{
  "Version": "text",
  "Content": {
    "Headers": [
      {
        "Key": "text",
        "Value": [
          "text"
        ]
      }
    ]
  },
  "StatusCode": 100,
  "ReasonPhrase": "text",
  "Headers": [
    {
      "Key": "text",
      "Value": [
        "text"
      ]
    }
  ],
  "TrailingHeaders": [
    {
      "Key": "text",
      "Value": [
        "text"
      ]
    }
  ],
  "RequestMessage": {
    "Version": "text",
    "VersionPolicy": 0,
    "Content": {
      "Headers": [
        {
          "Key": "text",
          "Value": [
            "text"
          ]
        }
      ]
    },
    "Method": {
      "Method": "text"
    },
    "RequestUri": "https://example.com",
    "Headers": [
      {
        "Key": "text",
        "Value": [
          "text"
        ]
      }
    ],
    "Options": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "IsSuccessStatusCode": true
}
  • GETGet Product single page publication
  • POSTGet Product single page publication
  • POSTGet Product multi page publication
  • POSTGet Product PDF publication
  • POSTGet Product data only publication
  • GETGet configured print publications in the publication module
  • GETGet produced XML data feed from a configured print publication in the publication module
  • GETEnqueue Product single page publication
  • POSTEnqueue Product single page publication
  • POSTEnqueue Product multi page publication
  • POSTEnqueue Product PDF publication
  • POSTEnqueue Product data only publication
  • GETEnqueue produced XML data feed from a configured print publication in the publication module
  • GETGet publication task status
  • GETGet built publication

Get Product single page publication

get

Use this method to get single page publications. Fetch the publication by product, template and language.

Authorizations
Path parameters
idinteger · int32Required

Product Id

languageIdinteger · int32Required

Language Id

templateExternalRefstringRequired

Template external reference

Responses
200
OK
Responseinteger · int32
get
GET /v1/publications/{templateExternalRef}/{id}/{languageId} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

OK

1

Get Product single page publication

post

Use this method to get single page publications. Fetch the publication by product, template, segments, language and custom values.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

The external reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to build single page PDF's for

ItemTypeinteger · enumOptionalPossible values:
PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

DisableCachebooleanOptional

Set to disable cache. Cache is default enabled on all single page publications.

Responses
200
OK
Responseinteger · int32
post
POST /v1/publications/singlepage HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 297

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null,
  "DisableCache": true
}
200

OK

1

Get Product multi page publication

post

Use this method to get multi page publications. Fetch the publication by products, template and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

External reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to include in the PDF

ItemTypeinteger · enumOptionalPossible values:
InsertsFrontinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the front of the PDF

InsertsBackinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the back of the PDF

PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

Responses
200
OK
Responseinteger · int32
post
POST /v1/publications/multipage HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 314

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "InsertsFront": [
    1
  ],
  "InsertsBack": [
    1
  ],
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

1

Get Product PDF publication

post

Use this method to get pdf publications. Fetch the publication by products, template, segments and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

External reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to include in the PDF

ItemTypeinteger · enumOptionalPossible values:
InsertsFrontinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the front of the PDF

InsertsBackinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the back of the PDF

PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

Responses
200
OK
Responseinteger · int32
post
POST /v1/publications/pdf HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 314

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "InsertsFront": [
    1
  ],
  "InsertsBack": [
    1
  ],
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

1

Get Product data only publication

post

Use this method to get data only publications. Fetch the publication by products, template, segments and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional
LanguageIdinteger · int32Optional
Idsinteger · int32[] | nullableOptional
ItemTypeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional
CustomValuesany | nullableOptional
Responses
200
OK
Responseinteger · int32
post
POST /v1/publications/dataonly HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 264

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

1

Enqueue Product single page publication

post

Use this method to enqueue single page publications. Enqueue the publication by product, template, segments, language and custom values.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

The external reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to build single page PDF's for

ItemTypeinteger · enumOptionalPossible values:
PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

DisableCachebooleanOptional

Set to disable cache. Cache is default enabled on all single page publications.

Responses
200
OK
Responsestring · uuid
post
POST /v1/publications/enqueue/singlepage HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 297

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null,
  "DisableCache": true
}
200

OK

123e4567-e89b-12d3-a456-426614174000

Enqueue Product multi page publication

post

Use this method to enqueue multi page publications. Enqueue the publication by products, template and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

External reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to include in the PDF

ItemTypeinteger · enumOptionalPossible values:
InsertsFrontinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the front of the PDF

InsertsBackinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the back of the PDF

PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

Responses
200
OK
Responsestring · uuid
post
POST /v1/publications/enqueue/multipage HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 314

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "InsertsFront": [
    1
  ],
  "InsertsBack": [
    1
  ],
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

123e4567-e89b-12d3-a456-426614174000

Enqueue Product PDF publication

post

Use this method to enqueue pdf publications. Enqueue the publication by products, template, segments and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional

External reference of the template to use for generating the PDF

LanguageIdinteger · int32Optional

The id of the language to use for the PDF generation

Idsinteger · int32[] | nullableOptional

Ids of the products to include in the PDF

ItemTypeinteger · enumOptionalPossible values:
InsertsFrontinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the front of the PDF

InsertsBackinteger · int32[] | nullableOptional

Ids of PDF files in the mediabank to use as inserts on the back of the PDF

PageSizeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional

Category data from catalogue

CustomValuesany | nullableOptional

Custom values to use when generating the PDF

Responses
200
OK
Responsestring · uuid
post
POST /v1/publications/enqueue/pdf HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 314

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "InsertsFront": [
    1
  ],
  "InsertsBack": [
    1
  ],
  "PageSize": 1,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

123e4567-e89b-12d3-a456-426614174000

Enqueue Product data only publication

post

Use this method to enqueue data only publications. Enqueue the publication by products, template, segments and language.

Authorizations
Body
TemplateExternalRefstring | nullableOptional
LanguageIdinteger · int32Optional
Idsinteger · int32[] | nullableOptional
ItemTypeinteger · enumOptionalPossible values:
CatalogueUidstring · uuid | nullableOptional
CustomValuesany | nullableOptional
Responses
200
OK
Responsestring · uuid
post
POST /v1/publications/enqueue/dataonly HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 264

{
  "TemplateExternalRef": "text",
  "LanguageId": 1,
  "Ids": [
    1
  ],
  "ItemType": 20,
  "Segments": [
    {
      "DimensionUid": "123e4567-e89b-12d3-a456-426614174000",
      "SegmentUid": "123e4567-e89b-12d3-a456-426614174000"
    }
  ],
  "CatalogueUid": "123e4567-e89b-12d3-a456-426614174000",
  "CustomValues": null
}
200

OK

123e4567-e89b-12d3-a456-426614174000