Channel management API

Provides operations on OMN channel management.

DAM API provides access to resources of the CM module and is used to manage (sales) channels.

Main resources:

Resource Description

Channel

(Sales) channel that can be planned and controlled.

Query channels

/cm/channels/query Query for channel TIDs

POST /cm/channels/query

Table 1. Details

Resource path

/api/core/v1/cm/channels/query

HTTP method

POST

Request content type

application/json

Response content type

application/json

Description

Query for channel tids hierarchically by providing a parent channel. Options to limit the depth of children returned or query all root channels without a parent.

Body Parameter

Specified by ChannelQueryDto

Return Type

Specified by ChannelRequest (only tids are filled in the response)

Content Type

  • application/json

Responses

Table 2. http response codes
Code Message Datatype

200

channel found

ChannelRequest

401

Not authorized

<<>>

404

Not found

<<>>

500

Server error

<<>>

Samples

Query Channels by tid or id
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/cm/channels/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": 598800
}'
Request body. By id (includes children by default)
{
    "id": 598800
}
Request body. By tid (includes children by default)
{
    "tid": "AWS"
}
Request body. By id with level (limit children returned to 2 levels down in the hierarchy)
{
    "id": 598800,
    "level": 2
}
Request body. By id with level (exclude children by setting level to 0)
{
    "id": 598800,
    "level": 0
}

Response body. Channel tids with children
{
    "tids": [
        "Print",
        "FS2021",
        "Sample Catalog",
        "Document FS21-01_01",
        "Document FS21-01_02",
        "Document FS21-01_03",
        "Document FS21-01_04"
    ]
}
Response body. Channel tid without children
{
    "tids": [
        "Print"
    ]
}
Response body. Error response, requested channel not found by id
{
    "details": {
        "itm": [
            {
                "key": "supportId",
                "value": "4d28646b-b4f6-421f-9a46-f285cd7fd680"
            }
        ]
    },
    "issues": [
        {
            "itm": [
                {
                    "key": "code",
                    "value": "1000"
                },
                {
                    "key": "description",
                    "value": "An unknown internal error occurred"
                }
            ],
            "itms": [
                {
                    "itm": [
                        {
                            "key": "errorMessage",
                            "value": "project by id 383010 not found"
                        }
                    ],
                    "type": "details"
                }
            ]
        }
    ],
    "status": "ERROR"
}
Query Channels, all root level channels without parent
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/cm/channels/query' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "root": true
}'
Request body. Root level channels (all other parameters are ignored)
{
    "root": true
}

Response body. Root level channels
{
    "tids": [
        "Print",
        "Shootings1"
    ]
}
Response body. No root channels available
{
    "tids": []
}

Retrieve channels

/cm/channels/retrieve Retrieve channels

POST /cm/channels/retrieve

Table 3. Details

Resource path

/api/core/v1/cm/channels/retrieve

HTTP method

POST

Request content type

application/json

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Body Parameter

Specified by ChannelRequestDto

Return Type

PimType with filled ProjectsType More info ProjectType

Responses

Table 4. Http response codes
Code Message Datatype

200

PimType with list of projects tree

PimType

403

No access to the endpoint

ResponseType

500

Error in ResponseType

ResponseType

Samples

Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
Retrieve Channels
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/cm/channels/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ids": [
        598800
    ]
}'
Request body. By id
{
    "ids": [
        598800
    ]
}
Request body. By tid
{
    "tids": [
        "AWS"
    ]
}
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-03-12T08:53:11.795Z</itm>
        <itm key="sourceEnv">jli_docker</itm>
        <itm key="itemInformationType">project</itm>
    </meta>
    <projects>
        <project tid="AWS" type="AWS" orderSequence="1048576">
            <name>AWS</name>
            <meta>
                <itm key="id">21788</itm>
                <itm key="creationDate">2023-08-04T09:36:06.802Z</itm>
                <itm key="modificationDate">2024-01-10T11:06:06.587Z</itm>
                <itm key="htmlIcon"/>
                <itm key="icon">/static/assets/projects/i3p1.gif</itm>
                <itm key="allowedFunctions">F.JavaFunction.ACC.CSVExportProduct,ProjectMoveUpFunction,SetFavouriteProjectFunction</itm>
            </meta>
            <vals>
                <val attr="ENUMTEST">
                    <itm>V1,V2</itm>
                </val>

                <val attr="TRESHOLD_VALUE">
                    <itm>0.4</itm>
                </val>
            </vals>
            <links>
                <itm key="FA1B5E2F-4869-4991-B17B-AA8BD3709AF6">MAM/cat.jpg</itm>
                <itm key="B3DC4775-D3F8-4C2A-BE9B-5E9BC5E60849">MAM/dog.jpg</itm>
            </links>
            <peos>
                <peo tid="3b6e1b67-aa7f-43a0-bea0-b124129c3480"
                 product="58695a3d-f6d6-44fa-89f0-6a5e027ac79a"
                 template="Web"
                 default="true">
                    <meta>
                        <itm key="id">134320</itm>
                        <itm key="creationDate">2024-03-01T08:40:27.027Z</itm>
                        <itm key="modificationDate">2024-03-01T08:40:27.170Z</itm>
                    </meta>
                    <name>test1</name>
                    <nodes>
                        <node>AWS</node>
                    </nodes>
                    <vals>
                        <val attr="material"
                       type="localized"
                       origin="PRODUCT"
                       node="/Standard"
                       dataType="text">
                            <itm loc="en_EN">en1</itm>
                            <itm loc="de_DE">de2</itm>
                        </val>
                    </vals>
                </peo>
            </peos>
        </project>
    </projects>
</pim>

Persist channels

/cm/channels/persist Saves channels information and channels attributes details.

Allow to

  1. Create a Channel

  2. Rename Channel

  3. Change attribute values (ProjectType.vals)

Table 5. Details

Resource path

/api/core/v1/cm/channels/persist

HTTP method

POST

Request content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Response content type

  • application/xml; charset=UTF-8;

  • application/json

  • application/json+compact

Channel attribute persisting

Channel attributes are stored in ProjectType

Only provided attribute values are persisted, other values that are not provided in ProjectType.vals will be not changed.
Only values of attributes registered in OMN could be saved.

Body parameters

Accepts PimType with ProjectType

Return Type

PimType with statuses ResponsesType about each persisted channel.

Responses

Table 6. Http response codes
Code Message Datatype

200

PimType with list of responses

PimType

500

Error in ResponseType

ResponseType

Samples

Please use transform endpoint to get the JSON/compact-JSON samples from the XML one.
curl
curl --location --request POST 'https://<OMN_SERVER>/api/core/v1/cm/channels/persist' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/xml' \
--data-raw '<BODY>'
1. Create a new Channel
Request body

With Channel tid, parentTid and type:

XML

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project tid="MyNewChannel" parentTid="FS2024" type="Advertising media">
            <name>My New Channel</name>
            <vals>
                <val attr="Advertising_media_name">
                    <itm>Test Ad Media</itm>
                </val>
                <val attr="FP_SERIES_COLOR" type="multiple">
                    <itm pos="0">0</itm>
                </val>
                <val attr="FP_SERIES_NAME">
                    <itm pos="0">New Series</itm>
                </val>
                <val attr="FP_SERIES_OFFSET">
                    <itm>0</itm>
                </val>
                <val attr="Comment">
                    <itm>Initially created!</itm>
                </val>
            </vals>
        </project>
    </projects>
</pim>

JSON

{
    "projects": {
        "project": [
            {
                "name": "My New Channel",
                "vals": {
                    "val": [
                        {
                            "itm": [
                                {
                                    "value": "Test Ad Media"
                                }
                            ],
                            "attr": "Advertising_media_name"
                        },
                        {
                            "itm": [
                                {
                                    "value": "0",
                                    "pos": 0
                                }
                            ],
                            "attr": "FP_SERIES_COLOR",
                            "type": "multiple"
                        },
                        {
                            "itm": [
                                {
                                    "value": "New Series",
                                    "pos": 0
                                }
                            ],
                            "attr": "FP_SERIES_NAME"
                        },
                        {
                            "itm": [
                                {
                                    "value": "0"
                                }
                            ],
                            "attr": "FP_SERIES_OFFSET"
                        },
                        {
                            "itm": [
                                {
                                    "value": "Initially created!"
                                }
                            ],
                            "attr": "Comment"
                        }
                    ]
                },
                "tid": "MyNewChannel",
                "parentTid": "FS2024",
                "type": "Advertising media"
            }
        ]
    },
    "schemaVersion": "5.6.0"
}

JSON Compact

{
    "projects": {
        "entries": [
            {
                "name": "My New Channel",
                "vals": {
                    "entries": [
                        {
                            "attr": "Advertising_media_name",
                            "value": "Test Ad Media"
                        },
                        {
                            "attr": "FP_SERIES_COLOR",
                            "type": "multiple",
                            "value": [
                                {
                                    "value": "0",
                                    "pos": 0
                                }
                            ]
                        },
                        {
                            "attr": "FP_SERIES_NAME",
                            "value": "New Series"
                        },
                        {
                            "attr": "FP_SERIES_OFFSET",
                            "value": "0"
                        },
                        {
                            "attr": "Comment",
                            "value": "Initially created!"
                        }
                    ]
                },
                "tid": "MyNewChannel",
                "parentTid": "FS2024",
                "type": "Advertising media"
            }
        ]
    },
    "schemaVersion": "5.6.0"
}

With Channel tid, parentId and type:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project tid="MyNewChannel" parentId="52796" type="Advertising media">
            <name>My New Channel</name>
            <vals>
                <val attr="Advertising_media_name">
                    <itm>Test Ad Media</itm>
                </val>
                <val attr="FP_SERIES_COLOR" type="multiple">
                    <itm pos="0">0</itm>
                </val>
                <val attr="FP_SERIES_NAME">
                    <itm pos="0">New Series</itm>
                </val>
                <val attr="FP_SERIES_OFFSET">
                    <itm>0</itm>
                </val>
                <val attr="Comment">
                    <itm>Initially created!</itm>
                </val>
            </vals>
        </project>
    </projects>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-12-16T04:23:48.707Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <responses>
        <response dataType="project" tid="MyNewChannel">
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
2. Rename Channel
Request body

By id:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project id="190041">
            <name>My New Renamed Channel</name>
        </project>
    </projects>
</pim>

By tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project tid="MyNewChannel">
            <name>My New Renamed Channel</name>
        </project>
    </projects>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-12-16T04:28:11.810Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <responses>
        <response dataType="project" tid="MyNewChannel">
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>
3. Save channel attributes and new name
Request body

By id:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project id="190041">
            <name>My New Renamed Channel</name>
            <vals>
                <val attr="Advertising_media_name">
                    <itm>Test Ad Media</itm>
                </val>
                <val attr="FP_SERIES_COLOR" type="multiple">
                    <itm pos="0">0</itm>
                </val>
                <val attr="FP_SERIES_NAME">
                    <itm pos="0">New Series</itm>
                </val>
                <val attr="FP_SERIES_OFFSET">
                    <itm>0</itm>
                </val>
                <val attr="Comment">
                    <itm>New Comment</itm>
                </val>
            </vals>
        </project>
    </projects>
</pim>

By tid:

<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <projects>
        <project tid="MyNewChannel">
            <name>My New Renamed Channel</name>
            <vals>
                <val attr="Advertising_media_name">
                    <itm>Test Ad Media</itm>
                </val>
                <val attr="FP_SERIES_COLOR" type="multiple">
                    <itm pos="0">0</itm>
                </val>
                <val attr="FP_SERIES_NAME">
                    <itm pos="0">New Series</itm>
                </val>
                <val attr="FP_SERIES_OFFSET">
                    <itm>0</itm>
                </val>
                <val attr="Comment">
                    <itm>New Comment</itm>
                </val>
            </vals>
        </project>
    </projects>
</pim>
Response body
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-12-16T04:29:55.794Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <responses>
        <response dataType="project" tid="MyNewChannel">
            <status>SUCCESS</status>
        </response>
    </responses>
</pim>

Error responses

Channel creation failed
Channel type missing
<?xml version="1.0" encoding="UTF-8"?>
<pim xmlns="http://www.apollon.de/omn" schemaVersion="5.6.0">
    <meta>
        <itm key="messageType">request</itm>
        <itm key="messageTime">2024-12-16T04:36:20.488Z</itm>
        <itm key="sourceEnv">ocd_dev</itm>
    </meta>
    <responses>
        <response dataType="project" tid="MyVeryNewChannel">
            <status>ERROR</status>
            <description>Project type 'null' not found</description>
        </response>
    </responses>
</pim>

Retrieve channel briefings

/cm/channels/briefings/retrieve Retrieve channel briefings

POST /cm/channels/briefings/retrieve

Operation Id

retrieveChannelBriefings

retrieve channel briefings

Description

Parameters

Body Parameter
For retrieving channel briefing information only a single TID/ID is allowed in the request.
Name Description Required Default Pattern

ChannelBriefingRequestDto

ChannelBriefingRequestDto

X

Return Type

Content Type

  • application/xml

Responses

Table 7. http response codes
Code Message Datatype

200

channel found

[String]

401

Not authorized

<<>>

404

Not found

<<>>

500

Server error

<<>>

Samples

Retrieve channel briefing by channel tid
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/cm/channels/briefings/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
  "tids": [
    "Project Lvl 5"
  ],
  "briefingInfo": {
    "locale": "de_DE",
    "briefingModuleCfgTid": "F.BriefingModule.ACC"
  }
}'
Request body
{
  "tids": [
    "Project Lvl 5"
  ],
  "briefingInfo": {
    "locale": "de_DE",
    "briefingModuleCfgTid": "F.BriefingModule.ACC"
  }
}
Response body
<patch-briefing>
    <layout id="64882" name="">
        <attribute identifier="width">5000.0</attribute>
        <attribute identifier="height">3000.0</attribute>
        <seitenbriefing/>
        <boxes>
            <box id="64900" layer="Default" name="Assets" type="Assets">
                <attribute identifier="width">454.7786</attribute>
                <attribute identifier="height">588.4206</attribute>
                <attribute identifier="xpos">1759.5819</attribute>
                <attribute identifier="ypos">661.82874</attribute>
                <attribute identifier="zpos">1000</attribute>
                <attribute identifier="content_width">100.0%</attribute>
                <attribute identifier="content_height">99.838646%</attribute>
                <attribute identifier="content_xpos">0.0</attribute>
                <attribute identifier="content_ypos">0.47470373</attribute>
                <attribute identifier="content_rotate_angle">0.0</attribute>
                <attribute identifier="content_reflection">0</attribute>
                <attribute identifier="order_name"></attribute>
                <attribute identifier="dummy_width">0.0%</attribute>
                <attribute identifier="dummy_height">0.0%</attribute>
                <attribute identifier="dummy_xpos">0.0</attribute>
                <attribute identifier="dummy_ypos">0.0</attribute>
                <attribute identifier="dummy_rotate_angle">0.0</attribute>
                <attribute identifier="dummy_reflection">0</attribute>
                <attribute identifier="text_article">false</attribute>
                <images>
                    <image type="origin">
                        <attribute identifier="image_path">/file-formats/jpg.jpg</attribute>
                        <attribute identifier="image_width">100.0%</attribute>
                        <attribute identifier="image_height">99.838646%</attribute>
                        <attribute identifier="image_offset_x">0.0</attribute>
                        <attribute identifier="image_offset_y">0.47470373</attribute>
                        <attribute identifier="image_rotate_angle">0.0</attribute>
                        <attribute identifier="flipped_horizontal">0</attribute>
                        <attribute identifier="flipped_vertical"></attribute>
                        <attribute identifier="image_scale"></attribute>
                    </image>
                </images>
                <box_data/>
                <related_products/>
                <box_data_attributes/>
                <briefing_images/>
            </box>
            <box id="64902" layer="Default" name="Assets" type="Assets">
                <attribute identifier="width">300.0</attribute>
                <attribute identifier="height">1006.993</attribute>
                <attribute identifier="xpos">1315.331</attribute>
                <attribute identifier="ypos">1219.1582</attribute>
                <attribute identifier="zpos">1001</attribute>
                <attribute identifier="content_width">100.0%</attribute>
                <attribute identifier="content_height">97.70311%</attribute>
                <attribute identifier="content_xpos">0.0</attribute>
                <attribute identifier="content_ypos">11.564788</attribute>
                <attribute identifier="content_rotate_angle">0.0</attribute>
                <attribute identifier="content_reflection">0</attribute>
                <attribute identifier="order_name"></attribute>
                <attribute identifier="dummy_width">0.0%</attribute>
                <attribute identifier="dummy_height">0.0%</attribute>
                <attribute identifier="dummy_xpos">0.0</attribute>
                <attribute identifier="dummy_ypos">0.0</attribute>
                <attribute identifier="dummy_rotate_angle">0.0</attribute>
                <attribute identifier="dummy_reflection">0</attribute>
                <attribute identifier="text_article">false</attribute>
                <images>
                    <image type="origin">
                        <attribute identifier="image_path">/file-formats/tif.tif</attribute>
                        <attribute identifier="image_width">100.0%</attribute>
                        <attribute identifier="image_height">97.70311%</attribute>
                        <attribute identifier="image_offset_x">0.0</attribute>
                        <attribute identifier="image_offset_y">11.564788</attribute>
                        <attribute identifier="image_rotate_angle">0.0</attribute>
                        <attribute identifier="flipped_horizontal">0</attribute>
                        <attribute identifier="flipped_vertical"></attribute>
                        <attribute identifier="image_scale"></attribute>
                    </image>
                </images>
                <box_data/>
                <related_products/>
                <box_data_attributes/>
                <briefing_images/>
            </box>
        </boxes>
        <briefing_images/>
    </layout>
</patch-briefing>
Retrieve channel briefing by channel id
curl
curl --location 'http://<OMN_SERVER>/api/core/v1/cm/channels/briefings/retrieve' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
  "ids": [
    39112
  ],
  "briefingInfo": {
    "locale": "de_DE",
    "briefingModuleCfgTid": "F.BriefingModule.ACC"
  }
}'
Request body
{
  "ids": [
    39112
  ],
  "briefingInfo": {
    "locale": "de_DE",
    "briefingModuleCfgTid": "F.BriefingModule.ACC"
  }
}
Response body
<patch-briefing>
    <layout id="64880" name="">
        <attribute identifier="width">5000.0</attribute>
        <attribute identifier="height">3000.0</attribute>
        <seitenbriefing/>
        <boxes/>
        <briefing_images/>
    </layout>
</patch-briefing>

Welcome to the AI Chat!

Write a prompt to get started...