JSON Record Data List (with Image Parameters)

Describes a list of data fields (as name/value pairs), a data table schema and nested data records (if any) for one or more data records, along with additional parameters used specifically in the creation of a preview image of content for print, email or web.

This structure is used specifically by the Content Creation service when creating preview images.

Structure

The structure initially consists of an object with the following name/value pair:

  • data – the data for the data record or data records, consisting of either an object or an array of one or more objects respectively with the following name/value pairs:

    • schema – the data table schema for the data record, consisting of an object with the following name/value pairs:

      • columns – a list of the data columns/fields in the data table schema and their corresponding data types, consisting of an object with one or more name/value pairs:

        • <name> – the name (name) and data type of the data field (value of either BOOLEAN, STRING, HTMLSTRING, INTEGER, FLOAT, DATETIME or CURRENCY)
          (type of string)

      • tables – a list of any nested data tables in the data record, consisting of an object with one or more name/value pairs:

        • <name> – the name (name) of the data table and the data table schema for the data records it contains, consisting of an object with the following name/value pair:

          • columns – a list of the data columns/fields in the data table schema and their corresponding data types, consisting of an object with one or more name/value pairs:

            • <name> – the name (name) and data type of the data field (value of either BOOLEAN, STRING, HTMLSTRING, INTEGER, FLOAT, DATETIME or CURRENCY)
              (type of string)

    • fields – a list of the data fields in the data record and their corresponding data values, consisting of an object with one or more name/value pairs:

      • <name> – the name (name) and data value of the data field
        (type of either string, number or boolean)

    • tables – a list of any nested data tables in the data record, consisting of an object with one or more name/value pairs:

      • <name> – the name (name) of the data table and a list the data records it contains, consisting of an array of objects each with the following name/value pairs:

        • id – a required/default fixed value of 0 for all data records
          (type of number)

        • fields – a list of the data fields in the data record and their corresponding data values, consisting of an object with one or more name/value pairs:

          • <name> – the name (name) and data value of the data field
            (type of either string, number or boolean)

In addition, a subset of the runtime parameters defined in the template can be passed in the following object:

  • parameters – a set of runtime parameter names and their corresponding values, consisting of an object with one or more name/value pairs:

    • <name> – the name (name) and the value of the runtime parameter
      (type of either string, number, or boolean)

Specific to the parameters to be used in the creation of a preview image, the following optional name/value pairs can be specified:

  • context – the context to be used in the creation of the preview (value of either print, email or web)
    (type of stringDefault value is determined by the first context in the template)

  • section – the section to be used within the context specified (as either the context parameter, or else the default context of the template)
    (type of stringDefault value is determined by the context specified. For the Print context this will be all enabled sections. For the Email and Web contexts this will be the default section)

  • type – the image type/format to be used in the creation of the preview (value of either jpg, jpeg or png)
    (type of stringDefault value of jpg)

  • dpi – the target image resolution of the preview in dots per inch (DPI)
    (type of numberDefault value of 96)

  • archive – whether to return the resulting preview as a ZIP file/archive
    (type of booleanDefault value is determined automatically by the number of image files in the preview output)

Specific to parameters with a type parameter specified to a value of png, the following optional name/value pair can be specified:

  • quality – the image quality of the preview (value ranging from 0-100)
    (type of numberDefault value of 100)

Specific to parameters with a context parameter specified to a value of print, the following optional name/value pairs can be specified:

  • bleed – whether to include the bleed area in the preview
    (type of booleanDefault value of false)

  • pages – the page range to be output in the preview
    (type of stringDefault value is determined by the value of the archive parameter. If the archive parameter is specified to false, then the default value will be 1. If the archive parameter is either omitted or specified to a value of true, then the default value will be * (all pages) )

Specific to parameters with a context parameter specified to a value of either email, or web the following optional name/value pair can be specified:

  • viewPortWidth – the image width of the preview in pixels
    (type of numberDefault value of 1024)

Examples

The following is an example of this structure:

{
    "data": {
        "schema": {
            "columns": {
                "ID": "STRING",
                "Gender": "STRING",
                "FirstName": "STRING",
                "LastName": "STRING"
            }
        },
        "fields": {
            "ID": "CU00048376",
            "Gender": "M.",
            "FirstName": "Benjamin",
            "LastName": "Verret"
        }
    },
    "context": "print",
    "type": "png",
    "dpi": 150,
    "archive": true,
    "bleed": true,
    "pages": "1-2"
}
{
    "data": {
        "schema": {
            "columns": {
                "ID": "STRING",
                "Date": "DATETIME",
                "DueDate": "DATETIME",
                "InvNumber": "STRING",
                "Gender": "STRING",
                "FirstName": "STRING",
                "LastName": "STRING",
                "TotalOrdered": "INTEGER",
                "InvSubTotal": "CURRENCY",
                "InvTaxTotal": "CURRENCY",
                "InvTotal": "CURRENCY"
            },
            "tables": {
                "detail": {
                    "columns": {
                        "ItemNumber": "STRING",
                        "ItemDesc": "STRING",
                        "ItemUnitPrice": "CURRENCY",
                        "ItemOrdered": "INTEGER",
                        "ItemTotal": "CURRENCY"
                    }
                }
            }
       },
        "fields": {
            "ID": "CU00048376",
            "Date": 1332594000000,
            "DueDate": 1335189600000,
            "InvNumber": "INV9441991",
            "Gender": "M.",
            "FirstName": "Benjamin",
            "LastName": "Verret",
            "TotalOrdered": 3,
            "InvSubTotal": "1485.00",
            "InvTaxTotal": "111.38",
            "InvTotal": "1596.38"
        },
        "tables": {
            "detail": [
                {
                    "id": 0,
                    "fields": {
                        "ItemNumber": "PSM002",
                        "ItemDesc": "PSM Production (unlimited)",
                        "ItemUnitPrice": "495.00",
                        "ItemOrdered": 2,
                        "ItemTotal": "990.00"
                    }
                },
                {
                    "id": 0,
                    "fields": {
                        "ItemNumber": "PSM005",
                        "ItemDesc": "Upgrade (Starter to Web)",
                        "ItemUnitPrice": "495.00",
                        "ItemOrdered": 1,
                        "ItemTotal": "495.00"
                    }
                }
            ]
        }
    },
    "context": "web",
    "section": "Section 1",
    "type": "jpeg",
    "viewPortWidth": 1024
}
{
    "data": [
        {
            "schema": {
                "columns": {
                    "ID": "STRING",
                    "Gender": "STRING",
                    "FirstName": "STRING",
                    "LastName": "STRING"
                }
            },
            "fields": {
                "ID": "CU00048376",
                "Gender": "M.",
                "FirstName": "Benjamin",
                "LastName": "Verret"
            }
        }
    ],
    "context": "email",
    "section": "Section 2",
    "type": "jpg",
    "quality": 90
}