Use REST endpoint to upload a file:
POST /api/v1/gatherings
Set Content-Type:
multipart/form-data
Use form field:
file: <filename> <iostream>
REST endpoint returns JSON list containing each uploaded file. Note that if the uploaded file is an archive (e.g. a ZIP file), each file inside that archive will be listed and also needs to be imported separately!
[
{
"gatheringKey": "<UUID-same-for-all-files>",
"assetKey": "<UUID-per-file>",
"path": "<Path-of-file>",
"contentType": ""
}
]
Start import request PER file:
Use REST endpoint:
POST /api/v1/imports
Set Content-Type:
application/json
Use the following JSON object as request:
{
"gatheringKey": "<See-Above>",
"path": "<See-Above>"
}
Unfortunately, this request will return NO value.
Validate items using the following endpoint:
POST /api/v1/validate
Set Content-Type:
application/json
Use the following JSON object as request:
{
"oldItem": {},
"newItem": {},
"attributeNames": []
}
To validate newly created items, the oldItem parameter can be removed. To validate an item on all attributes, the attributeNames can be removed, but if provided, the item will be validated based on those selected attributes.
Sample response on item validation is given below:
{
"validations": {
"simple_date": [
{
"name": "simple_validation",
"level": "Warning",
"path": [
"simple_date"
],
"message": "'Simple Date' should not be a Friday",
"params": {
"msg_id": "friday",
"err_val": "2013-07-26",
"err_val_msg": "'2013-07-26' "
}
}
]
},
"attributeStates": {
},
"calculations": {
}
}
Create a selection of items using the following endpoint:
POST /api/v1/selections
Set Content-Type:
application/json
Use the following JSON object as request and provide a list of primaryKeys for the items that should be included in the selection:
{
"primaryKeys": []
}
Sample response on item validation is given below:
{
"selectionId": "<UUID>",
"numberOfItems": 1
}
The response object returns a unique selectionId and the total numberOfItems included in the selection.
Publish the selected items over a communication channel using the following endpoint:
POST /api/v1/publications
Set Content-Type:
application/json
Use the following JSON object as request:
{
"selectionId": "<See-Above>",
"destinations": [
{
"destinationType": "COMMUNICATION_CHANNEL",
"destinationId": "<Channel-ID>"
}
]
}
The request requires a selectionId for the items to be published and a list of destinations which contains the communication channels to use for publication. The destinationType can be either IN_PLATFORM or COMMUNICATION_CHANNEL. For IN_PLATFORM type, the organization ID is used as the destinationId while the COMMUNICATION_CHANNEL uses the communication channel ID which can be fetched using the endpoint:
GET /api/v1/communicationchannels
This request will return NO value.
Retrieve CIC reviews received on an item by a supplier using the following endpoint by providing the item's primaryKey:
GET /api/v1/supplierreviews/<primaryKey>
[
{
"primaryKey": "<primaryKey>",
"supplierId": "<supplierId>",
"channelId": "<channelId>",
"messagingAssetId": 111111111111111,
"supplier": "supplier",
"reviewer": "reviewer",
"reviewStatus": "APPROVED",
"date": 1624017700422,
"comment": "",
"messagingCreatorType": "REVIEW"
}
]
The corresponding messagingAssetId can then be used to fetch the xml message using the endpoint:
GET /api/v1/messaging/messagingassets/<messagingAssetId>
To view all received messaging assets, the following endpoint can be used:
GET /api/v1/messaging/messagingassets/