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
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)
Responses
| Code | Message | Datatype |
|---|---|---|
200 |
channel found |
|
401 |
Not authorized |
<<>> |
404 |
Not found |
<<>> |
500 |
Server error |
<<>> |
Samples
Query Channels by tid or id
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
}'
{
"id": 598800
}
{
"tid": "AWS"
}
{
"id": 598800,
"level": 2
}
{
"id": 598800,
"level": 0
}
{
"tids": [
"Print",
"FS2021",
"Sample Catalog",
"Document FS21-01_01",
"Document FS21-01_02",
"Document FS21-01_03",
"Document FS21-01_04"
]
}
{
"tids": [
"Print"
]
}
{
"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 --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
}'
{
"root": true
}
{
"tids": [
"Print",
"Shootings1"
]
}
{
"tids": []
}
Retrieve channels
| /cm/channels/retrieve Retrieve channels |
POST /cm/channels/retrieve
Resource path |
/api/core/v1/cm/channels/retrieve |
HTTP method |
POST |
Request content type |
application/json |
Response content type |
|
Body Parameter
Specified by ChannelRequestDto
Return Type
PimType with filled ProjectsType More info ProjectType
Responses
| Code | Message | Datatype |
|---|---|---|
200 |
PimType with list of projects tree |
|
403 |
No access to the endpoint |
|
500 |
Error in ResponseType |
Samples
| Please use transform endpoint to get the JSON/compact-JSON samples from the XML one. |
Retrieve Channels
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
]
}'
{
"ids": [
598800
]
}
{
"tids": [
"AWS"
]
}
<?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
-
Create a Channel
-
Rename Channel
-
Change attribute values (ProjectType.vals)
Resource path |
/api/core/v1/cm/channels/persist |
HTTP method |
POST |
Request content type |
|
Response content type |
|
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
| Code | Message | Datatype |
|---|---|---|
200 |
PimType with list of responses |
|
500 |
Error in ResponseType |
Samples
| Please use transform endpoint to get the JSON/compact-JSON samples from the XML one. |
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
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>
<?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
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>
<?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
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>
<?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
<?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
Parameters
Responses
| Code | Message | Datatype |
|---|---|---|
200 |
channel found |
|
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"
}
}'
{
"tids": [
"Project Lvl 5"
],
"briefingInfo": {
"locale": "de_DE",
"briefingModuleCfgTid": "F.BriefingModule.ACC"
}
}
<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"
}
}'
{
"ids": [
39112
],
"briefingInfo": {
"locale": "de_DE",
"briefingModuleCfgTid": "F.BriefingModule.ACC"
}
}
<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>