DeliveryRequestTemplateGroup

The DeliveryRequestTemplateGroup contains a list of DeliveryRequestTemplate and a list of DeliveryRequestTemplateInstance.

In informal discussions, we often refer to the DeliveryRequestTemplateGroup simply as "the template". It contains the possible types of Delivery Request in its deliveryRequestTemplates property, and it contains the kinds of Delivery Requests that should be created based on certain criteria in its deliveryRequestTemplateInstances property.

Example

Below is an example of a DeliveryRequestTemplateGroup containing a single DeliveryRequestTemplate and a DeliveryRequestTemplateInstance.

{
    "objectType": "DeliveryRequestTemplateGroup",

    // reference to the DeliveryRequestTemplateGroup
    "handle": "my_template",
    "label": "First template group",

    // possible "kinds" of requests, represented by a list of
    // DeliveryRequestTemplate
    "deliveryRequestTemplates": [
        {
            "handle": "episodePromoVideo",
            "objectType": "DeliveryRequestTemplate",
            "label": "Request For Promo File",
            "group": "Video",
            "subGroup": "Promo",
            "description": "Give me the promo file"
        }
    ],

    // which DeliveryRequests should be created for each EditorialObject?
    "deliveryRequestTemplateInstances": [
        {
            "templateContext": "EditorialObject",

            // if the EditorialObject type custom field equals "Episode"
            "query": {
                "key": "editorialObject.customFields.type",
                "values": ["Episode"]
            },

            // then create or update a DeliveryRequest based on the DeliveryRequestTemplate
            // with this handle
            "templateHandle": "episodePromoVideo",

            // force these options on the DeliveryRequest, even if the DeliveryRequestTemplate
            // contains some other value. Useful for dynamically filling in values based on
            // fields of the EditorialObject
            "overrideProperties": {
                "formFieldValues": {
                    "externalManifestationId": {
                      "@value": "editorialObject.customFields.externalManifestationId.value"
                    }
                }
            }
        }
    ]
}

Property Reference

This is a table of the properties of a DeliveryRequestTemplateGroup object.

Field Name Required Type Description Format

account

Account

activeStatus

String

Enum: Active, Archived,

created

Date

The time when this resource was created

date-time

createdBy

String

The request or process that created this resource

deliveryRequestTemplateInstances

Set of DeliveryRequestTemplateInstance

deliveryRequestTemplates

Set of DeliveryRequestTemplate

handle

String

id

Long

The id of this resource

int64

label

String

lastUpdated

Date

The time when this resource was last updated

date-time

modifiedBy

String

The request or process responsible for the last update of this resource

objectType

String

The data model type or class name of this resource

version

Long

The version of this resource, used for Optimistic Locking

int64

deliveryRequestTemplates

This constitutes the available 'kinds of Delivery Request' that are available.

deliveryRequestTemplateInstances

More Examples

Example 1

{
  objectType: "DeliveryRequestTemplateGroup",
  id: 12345679,
  label: '',
  deliveryRequestTemplates: [
    {
      handle: 'bla1',
      objectType: "DeliveryRequestTemplate",
      tag: [],
      label: 'Request For Promo File',
      group: 'Video',
      subGroup: 'Promo',
      description: 'Give me the promo file',
      volumeAccessQuery: {
        key: 'handle',
        'values': ['my_volume_access'],
      },
      formFieldsDefinition: {},
      layout: {},
      validationRules: []
    },
    {
      objectType: "DeliveryRequestTemplate",
      tag: [
      ],
      label: 'Request For Trailer File',
      group: 'Video',
      subGroup: 'Promo',
      description: 'Give me the promo file',
      volumeAccessQuery: {
        key: 'handle',
        'values': ['flow'],
      },
      formFieldsDefinition: {},
      layout: {},
      validationRules: []
    }
  ],
  deliveryRequestInstances: [
    {
      query: {
        key: 'editorialObject.customFields.WhatsonType',
        values: [
          'Episode'
        ]
      },
      templateHandle: 'bla1',
      templateContext: 'EditorialObject',
      overrideProperties: {
        deliveryDate: 123456789,
        supplier: [
          123456789
        ],
        reviewer: [
          123456789
        ],
        "@description": "'Give me the promo file for episode '+ editorialObject.customfields.EpisodeNumber.value"
      }
    },
    {
      templateContext: 'Production',
      // this will be created on production level, not linked to EO
      query: {},
      templateHandle: 'bla2'
    }
  ]
}