1. Overview
API for configuring the outbound synchronization channel and cronjob trigger.
1.1. Version information
Version : 1.0.0
1.2. URI scheme
Host : localhost:9002
BasePath : /odata2webservices/OutboundChannelConfig
Schemes : HTTPS
1.3. Tags
-
Metadata : Requests for the metadata which is an Entity Data Model XML (EDMX) schema that describes the entity types and their properties.
-
OutboundChannelConfigurations : Requests for creating, updating, or getting information about Outbound Channel Configurations.
-
Triggers : Requests for creating, or getting information about Triggers to cronjobs.
1.4. Consumes
-
application/json
1.5. Produces
-
application/json
1.6. External Docs
Description : Outbound Sync Convenience API Documentation
URL : https://help.sap.com/viewer/50c996852b32456c96d3161a95544cdb/latest/en-US/0496d86ea5174ac39301ee95925d3059.html
2. Paths
2.1. Get the metadata for the OutboundChannelConfig Integration Object
GET /$metadata
2.1.1. Description
The metadata is an Entity Data Model XML (EDMX) schema that describes the data models of the Integration Object. The schema provides information on the properties associated to the entities, and the relationships with each other.
2.1.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
An EDMX for the requested service |
No Content |
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
2.1.3. Produces
-
application/xml
2.1.4. Tags
-
Metadata
2.2. Create/update an OutboundChannelConfiguration
POST /OutboundChannelConfigurations
2.2.1. Description
Create an OutboundChannelConfiguration and all its related items, such as the cronjob, stream container, and stream, automatically by setting autoCreate = true
. The consumed destination and endpoint can be pre-existing, or created along with the rest of the channel configuration. If creating the consumed destination with the request, the user should choose between using basic or oauth credential. For more information about post behavior see Creating Outbound Sync Configurations
2.2.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
Post-Persist-Hook |
The execute method for the PostPersistHook invokes right after the item persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
Pre-Persist-Hook |
The execute method for the PrePersistHook invokes right before the Integration Object sent in the POST or PATCH request persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
integrationMessageId |
The integrationMessageId header allows the user to trace any InboundRequest back to the original POST, PATCH or DELETE request. |
string |
Body |
body |
2.2.3. Responses
HTTP Code | Description | Schema |
---|---|---|
201 |
Success response with a single OutboundChannelConfiguration |
|
400 |
Error responses that may occur when sending a POST request in an attempt to create a new Item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
415 |
Provided Media-Type is not supported |
2.2.4. Consumes
-
application/json
2.2.5. Produces
-
application/json
2.2.6. Tags
-
OutboundChannelConfigurations
2.2.7. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "Key [payloadKey] in the payload does not match the key [pathKey] in the path."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 415
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Media type [application/x-www-form-urlencoded] is not supported."
}
}
}
2.3. Get all OutboundChannelConfigurations
GET /OutboundChannelConfigurations
2.3.1. Description
Get all the OutboundChannelConfigurations. Users can specify paging with $skip
and $top
, $expand
deferred properties, and $filter
results. For more information about get behavior see Retrieving Outbound Sync Configurations
2.3.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
$expand |
Specifies navigation properties for associated entries that will be inlined in the response body. By default, these navigation properties are represented as deferred links pointing to the item resource. See $expand |
string |
Query |
$filter |
A predicate expression for selecting a subset of the items identified by the resource path. See $filter |
string |
Query |
$inlinecount |
Specifies if the total number of items should be included in the response. See $inlinecount |
enum (allpages, none) |
Query |
$skip |
The number of matching items to skip over before returning the result set. If skip is larger than the number of matching items then no items will be returned. See $skip |
integer (int32) |
Query |
$top |
The maximum number of items to return. If it’s greater than or equal to the number of matching items existing in the platform, then all items will be returned. If it’s less than the number of matching items in the platform, a subset containing top number of items will be returned. See $top |
integer (int32) |
2.3.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A collection of 0 or more OutboundChannelConfigurations |
|
400 |
Error responses that may occur due to an exception related to the filter query parameter |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for GET operations. |
2.3.4. Produces
-
application/json
2.3.5. Tags
-
OutboundChannelConfigurations
2.3.6. Example HTTP response
Response 400
{
"error" : {
"code" : "filter_not_supported",
"message" : {
"lang" : "en",
"value" : "Nested filter [catalogVersion/catalog] of more than one level is not supported."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Could not find property with name: 'nonExistingItemAttributeName'."
}
}
}
2.4. Get a single OutboundChannelConfiguration
GET /OutboundChannelConfigurations('{integrationKey}')
2.4.1. Description
Get a single OutboundChannelConfiguration by providing the integration key in the request. Users can expand deferred properties by specifying them as values to $expand
.
2.4.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
integrationKey |
key: integrationKey |
string |
Query |
$expand |
Specifies navigation properties for associated entries that will be inlined in the response body. By default, these navigation properties are represented as deferred links pointing to the item resource. See $expand |
string |
2.4.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success response with a single OutboundChannelConfiguration |
|
400 |
Error responses that may occur when a DELETE request is made in an attempt to delete an item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for GET operations. |
2.4.4. Produces
-
application/json
2.4.5. Tags
-
OutboundChannelConfigurations
2.4.6. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "The integration key [0215CStaged%7CDefault%7C] is invalid. Please consult the IntegrationKey definition of [Product] for configuration details."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Could not find property with name: 'nonExistingItemAttributeName'."
}
}
}
2.5. Delete an OutboundChannelConfiguration
DELETE /OutboundChannelConfigurations('{integrationKey}')
2.5.1. Description
Delete an OutboundChannelConfiguration given its integration key in the request. For more information about delete behavior see Deleting Outbound Sync Configurations
2.5.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
integrationMessageId |
The integrationMessageId header allows the user to trace any InboundRequest back to the original POST, PATCH or DELETE request. |
string |
Path |
integrationKey |
key: integrationKey |
string |
2.5.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Indicates the OutboundChannelConfiguration was deleted successfully |
No Content |
400 |
Error responses that may occur when a DELETE request is made in an attempt to delete an item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for PATCH and DELETE operations. |
2.5.4. Produces
-
application/json
2.5.5. Tags
-
OutboundChannelConfigurations
2.5.6. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "The integration key [0215CStaged%7CDefault%7C] is invalid. Please consult the IntegrationKey definition of [Product] for configuration details."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "not_found",
"message" : {
"lang" : "en",
"value" : "[Product] with integration key [Staged%7CDefault%7Cprod2] was not found."
}
}
}
2.6. Update an existing OutboundChannelConfiguration
PATCH /OutboundChannelConfigurations('{integrationKey}')
2.6.1. Description
Update an existing OutboundChannelConfiguration given its integration key in the request. For more information about patch behavior see Updating Outbound Sync Configurations
2.6.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
Post-Persist-Hook |
The execute method for the PostPersistHook invokes right after the item persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
Pre-Persist-Hook |
The execute method for the PrePersistHook invokes right before the Integration Object sent in the POST or PATCH request persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
integrationMessageId |
The integrationMessageId header allows the user to trace any InboundRequest back to the original POST, PATCH or DELETE request. |
string |
Path |
integrationKey |
key: integrationKey |
string |
Body |
body |
Note: the OutboundChannelConfiguration’s |
2.6.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success response with a single OutboundChannelConfiguration |
|
400 |
Error responses with a 400 status code that may occur when an attempt is made to PATCH an existing Item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for PATCH and DELETE operations. |
|
415 |
Provided Media-Type is not supported |
2.6.4. Consumes
-
application/json
2.6.5. Produces
-
application/json
2.6.6. Tags
-
OutboundChannelConfigurations
2.6.7. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "The integration key [0215CStaged%7CDefault%7C] is invalid. Please consult the IntegrationKey definition of [Product] for configuration details."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "not_found",
"message" : {
"lang" : "en",
"value" : "[Product] with integration key [Staged%7CDefault%7Cprod2] was not found."
}
}
}
Response 415
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Media type [application/x-www-form-urlencoded] is not supported."
}
}
}
2.7. Get the count of OutboundChannelConfigurations
GET /OutboundChannelConfigurations/$count
2.7.1. Description
Get only the count of OutboundChannelConfigurations, and not the configurations themselves.
2.7.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A success response displaying the total count of OutboundChannelConfigurations. |
string |
2.7.3. Produces
-
text/plain
2.7.4. Tags
-
OutboundChannelConfigurations
2.8. Get the count of Triggers
GET /Trigger/$count
2.8.1. Description
Get only the count of Triggers, and not the triggers themselves.
2.8.2. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A success response displaying the total count of Triggers. |
string |
2.8.3. Produces
-
text/plain
2.8.4. Tags
-
Triggers
2.9. Create/update a Trigger
POST /Triggers
2.9.1. Description
Create a Trigger providing the cronjob and a cron expression. The cronjob code, by convention, is the OutboundChannelConfiguration code + CronJob. For example, if the OutboundChannelConfiguration code is myChannelConfig
, the cronjob code will be myChannelConfigCronJob
.
2.9.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
Post-Persist-Hook |
The execute method for the PostPersistHook invokes right after the item persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
Pre-Persist-Hook |
The execute method for the PrePersistHook invokes right before the Integration Object sent in the POST or PATCH request persists in the SAP Commerce platform. For more details see Persistence Hooks |
string |
Header |
integrationMessageId |
The integrationMessageId header allows the user to trace any InboundRequest back to the original POST, PATCH or DELETE request. |
string |
Body |
body |
2.9.3. Responses
HTTP Code | Description | Schema |
---|---|---|
201 |
Success response with a single Trigger |
|
400 |
Error responses that may occur when sending a POST request in an attempt to create a new Item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
415 |
Provided Media-Type is not supported |
2.9.4. Consumes
-
application/json
2.9.5. Produces
-
application/json
2.9.6. Tags
-
Triggers
2.9.7. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "Key [payloadKey] in the payload does not match the key [pathKey] in the path."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 415
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Media type [application/x-www-form-urlencoded] is not supported."
}
}
}
2.10. Get all Triggers
GET /Triggers
2.10.1. Description
Get all the Triggers. Users can specify paging with $skip
and $top
, $expand
deferred properties, and $filter
results.
2.10.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
$expand |
Specifies navigation properties for associated entries that will be inlined in the response body. By default, these navigation properties are represented as deferred links pointing to the item resource. See $expand |
string |
Query |
$filter |
A predicate expression for selecting a subset of the items identified by the resource path. See $filter |
string |
Query |
$inlinecount |
Specifies if the total number of items should be included in the response. See $inlinecount |
enum (allpages, none) |
Query |
$skip |
The number of matching items to skip over before returning the result set. If skip is larger than the number of matching items then no items will be returned. See $skip |
integer (int32) |
Query |
$top |
The maximum number of items to return. If it’s greater than or equal to the number of matching items existing in the platform, then all items will be returned. If it’s less than the number of matching items in the platform, a subset containing top number of items will be returned. See $top |
integer (int32) |
2.10.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
A collection of 0 or more Triggers |
|
400 |
Error responses that may occur due to an exception related to the filter query parameter |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for GET operations. |
2.10.4. Produces
-
application/json
2.10.5. Tags
-
Triggers
2.10.6. Example HTTP response
Response 400
{
"error" : {
"code" : "filter_not_supported",
"message" : {
"lang" : "en",
"value" : "Nested filter [catalogVersion/catalog] of more than one level is not supported."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "null",
"message" : {
"lang" : "en",
"value" : "Could not find property with name: 'nonExistingItemAttributeName'."
}
}
}
2.11. Get a single Trigger
GET /Triggers('integrationKey')
2.11.1. Description
Get a single Trigger by providing the integration key in the request. Users can expand deferred properties by specifying them as values to $expand
.
2.11.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Query |
$expand |
Specifies navigation properties for associated entries that will be inlined in the response body. By default, these navigation properties are represented as deferred links pointing to the item resource. See $expand |
string |
2.11.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success response with a single Trigger |
|
400 |
Error responses that may occur when a DELETE request is made in an attempt to delete an item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for GET operations. |
2.11.4. Produces
-
application/json
2.11.5. Tags
-
Triggers
2.11.6. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "The integration key [0215CStaged%7CDefault%7C] is invalid. Please consult the IntegrationKey definition of [Product] for configuration details."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "not_found",
"message" : {
"lang" : "en",
"value" : "[Product] with integration key [Staged%7CDefault%7Cprod2] was not found."
}
}
}
2.12. Delete an Trigger
DELETE /Triggers('integrationKey')
2.12.1. Description
Delete an Trigger given its integration key in the request.
2.12.2. Parameters
Type | Name | Description | Schema |
---|---|---|---|
Header |
integrationMessageId |
The integrationMessageId header allows the user to trace any InboundRequest back to the original POST, PATCH or DELETE request. |
string |
2.12.3. Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Indicates the Trigger was deleted successfully |
No Content |
400 |
Error responses that may occur when a DELETE request is made in an attempt to delete an item. |
|
401 |
Unauthorized exception responses |
|
403 |
Forbidden exception responses |
|
404 |
Not Found exception responses for PATCH and DELETE operations. |
2.12.4. Produces
-
application/json
2.12.5. Tags
-
Triggers
2.12.6. Example HTTP response
Response 400
{
"error" : {
"code" : "invalid_key",
"message" : {
"lang" : "en",
"value" : "The integration key [0215CStaged%7CDefault%7C] is invalid. Please consult the IntegrationKey definition of [Product] for configuration details."
}
}
}
Response 401
{
"error" : {
"code" : "unauthorized",
"message" : {
"lang" : "en",
"value" : "user must be authenticated"
}
}
}
Response 403
{
"error" : {
"code" : "forbidden",
"message" : {
"lang" : "en",
"value" : "user is not authorized for the operation"
}
}
}
Response 404
{
"error" : {
"code" : "not_found",
"message" : {
"lang" : "en",
"value" : "[Product] with integration key [Staged%7CDefault%7Cprod2] was not found."
}
}
}
3. Definitions
3.1. $inlinecount
Type : enum (allpages, none)
3.2. BasicCredential
Specifies the information for basic authentication
Name | Description | Schema |
---|---|---|
id |
The user identifier |
string |
password |
The user password |
string |
3.3. CollectionofOutboundChannelConfigurations
Name | Schema |
---|---|
results |
< OutboundChannelConfiguration > array |
3.4. CollectionofTriggers
Name | Schema |
---|---|
results |
< Trigger > array |
3.5. ConsumedDestination
The destination to send the items being synchronized. If creating a new ConsumedDestination, all the attributes are required. Choose one of basic credential or oauth credential.
Name | Description | Schema |
---|---|---|
additionalProperties |
Map containing any additional properties required by the destination |
< string, string > map |
credentialBasic |
||
credentialConsumedOauth |
||
destinationTarget |
||
endpoint |
||
id |
The destination’s unique identifier |
string |
url |
The URL of the destination |
string |
3.6. CronJob
The outbound synchronization cronjob
Name | Description | Schema |
---|---|---|
code |
The cronjob’s unique identifier. If the OutboundChannelConfiguration was auto generated, the cronjob’s code will be the OutboundChannelConfiguration’s code + CronJob. |
string |
3.7. DestinationTarget
A container for events and destinations.
Name | Description | Schema |
---|---|---|
id |
The destination target’s unique identifer |
string |
3.8. Endpoint
The webservice specification
Name | Description | Schema |
---|---|---|
id |
The endpoint’s unique identifier |
string |
name |
The endpoint’s name |
string |
specUrl |
The specification URL |
string |
version |
The endpoint’s version |
string |
3.9. Error
Name | Schema |
---|---|
code |
string |
innererror |
string |
message |
3.10. IntegrationObject
The IntegrationObject to synchronize
Name | Description | Schema |
---|---|---|
code |
The Integration Object code |
string |
3.11. Message
Name | Schema |
---|---|
lang |
string |
value |
string |
3.12. OauthCredential
Specifies the information for oauth authentication
Name | Description | Schema |
---|---|---|
clientId |
The client’s identifier |
string |
clientSecret |
The client’s secret |
string |
3.13. OutboundChannelConfiguration
Provides the specification on how to synchronize with an external system. By setting autoCreate = true
all the related items to enable outbound synchronization to work will be generated automatically.
Name | Description | Schema |
---|---|---|
autoGenerate |
Indicates whether to auto generate related items. It is recommended to set this value to true. |
boolean |
code |
The unique identifier for the configuration |
string |
destination |
||
integrationKey |
The unique key that represents this configuration |
string |
integrationObject |
||
synchronizeDelete |
Indicates if item deletions will be sent to an external system; otherwise they will be ignored |
boolean |
3.14. Trigger
Triggers a cronjob to execute at the interval indicated by a cron expression
Name | Description | Schema |
---|---|---|
cronExpression |
Cron expression specifying when to the trigger should execute |
string |
cronJob |
3.15. Wrapper
Name | Schema |
---|---|
d |
3.16. Wrapper1
Name | Schema |
---|---|
d |
3.17. Wrapper2
Name | Schema |
---|---|
d |
3.18. Wrapper3
Name | Schema |
---|---|
d |
3.19. errorResponseObj
This is an internal representation of an error, and should not be used as part of the API.
Name | Schema |
---|---|
error |
4. Security
4.1. auth
Type : basic