Execution Connector SDK
Functionality
The Aprimo Execution Connector syncs Activity Cells with external integration platforms. It updates fields such as Execution ID, Status, and Latest Version in real time.
Before you begin developing, read about Aprimo Rate Limiting.
Configuration
| Field | Description | Details |
|---|---|---|
| System Type | Type of the Execution System. | Defines the execution connector displayed in the Activity Cell under the Execution Information tab. |
| System Name | Name of the Execution System. | Displayed in the Activity Cell under Execution Information. |
| API URL | URL used to authenticate users and request integration platform information. | Authenticated users can view this in the Activity Cell Execution section. |
| Hashing Secret | Used along with the API URL to authenticate API calls. | Stored encrypted; hashes payloads using SHA256. |
| Access List | Specifies which users/groups can use the Execution System. | Only selected user groups can link an Activity Cell to the Execution System. |
| Is Active | Status of the Execution System. | Options: YES (active) or NO (inactive). |
Implementation: Outgoing Routes
Aprimo sends HTTP requests to the configured API endpoint and expects specific responses.
POST /executions
- Aprimo expects a response containing a list of all executions.
- The response body must adhere to a predefined JSON object model.
{
[
{
"ExecutionId": "{string, maxlength(36)}",
"ExecutionName": "{string, maxlength(100)}"
}
]
}
POST /execution/
-
Triggered when:
- A user selects an execution system on an Activity Cell.
- A user enters edit mode after an execution system has already been set.
-
Request Body:
{
"ExecutionSystemId": "{integer}",
"ExecutionId": "{string}",
"UserId": "{integer}",
"ActivityCellId": "{integer, nullable}"
} -
ExecutionSystemId: ID of the execution system. -
ExecutionId: Unique identifier for the execution. -
UserId: ID of the user making the request. -
ActivityCellId: Nullable ID of the Activity Cell. -
Expected Response Body:
{
"ExecutionName": "{string, maxlength(100)}",
"ExecutionLink": "{string, hyperlink, maxlength(??)}",
"ExecutionVersion": "{string, maxlength(10)}",
"ExecutionStatus": "{string, maxlength(100)}",
"LastSyncTime": "{string, ISO datetime}"
}
ExecutionName: Name of the execution (max length: 100).ExecutionLink: URL hyperlink for the execution details.ExecutionVersion: Version of the execution (max length: 10).ExecutionStatus: Status of the execution (max length: 100).LastSyncTime: Last sync timestamp in ISO datetime format.
Implementation: Incoming Routes
The following endpoints expose or update information about Activity Cells.
Get Integration Record By Activity Cell
GET activity-cells/{actCellId}/integration
Returns the integration record for a specific Activity Cell.
Aprimo’s Response:
{
"activityCellId": "{integer}",
"executionId": "{string, nullable}",
"executionName": "{string, nullable}",
"executionLink": "{string, hyperlink, nullable}",
"executionVersion": "{string, nullable}",
"executionStatus": "{string, nullable}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}
Get Integration Record By Execution ID
GET activity-cells/integration/{executionId}
Returns a list of integration records for Activity Cells associated with a specific Execution ID.
Aprimo’s Response:
[
{
"activityCellId": "{integer}",
"executionId": "{string, nullable}",
"executionName": "{string, nullable}",
"executionLink": "{string, hyperlink, nullable}",
"executionVersion": "{string, nullable}",
"executionStatus": "{string, nullable}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}
]
Update Integration Record
PUT /activity-cells/{actCellId}/integration
Updates the integration record for a specific Activity Cell.
Response:
{
"activityCellId": "{integer}",
"executionId": "{string, nullable, maxlength(36)}",
"executionName": "{string, nullable, maxlength(100)}",
"executionLink": "{string, hyperlink, nullable, maxlength(??)}",
"executionVersion": "{string, nullable, maxlength(10)}",
"executionStatus": "{string, nullable, maxlength(100)}",
"lastSyncTime": "{string, ISO datetime, nullable}"
}