Callbacks
Developers can optionally define callbacks for events happening related to installation of their app. When a lifecycle event is fired, a POST request is made to the appropriate URL registered for the event.
Five particulars events (Install, Uninstall, Enable, Disable, Upgrade) can be registered to a callback under the callback section in App Registration. Each URL must use HTTPS to ensure data is sent securely.
Authentication
Apps can verify that the request came from Seismic using the
x-seismic-signature
request header, which is set with all life-cycle requests.
Validation
Signing secret
All apps using callbacks should generate a signing secret for their app.
Additional details on signing secrets can be found here .
Acknowledgement
If callbacks are utilized, a response is required within 3 seconds with a 202. Failure to respond for any reason will block the action/event from occurring.
The five events that are available include:
Event | Description |
---|---|
Install | Occurs when an app is installed from the app catalog by a Seismic adming. |
Uninstall | Occurs when a Seismic admin removes an app from their tenant. |
Enable | Occurs when a Seismic admin enables an app. Until an app is enabled its features will be inactive - API client Event subscription * Extensions |
Disable | Occurs when a Seismic admin disables an app. Disabling an app will deactivate all app functionality for a given tenant. |
Upgrade | Occurs when a Seismic admin upgrades an app. |
Sample payloads
{
"appId": "04bd6eda-4b04-4572-a744-7233ccc077cd",
"appName": "my test app",
"tenantId": "bd6eda-4b04-4572-a744-7233ccc077cd04",
"tenant": "seismicapps",
"userId": "e6f77acb-6f11-482c-822b-5dbdcc002a20",
"userEmail": "[email protected]",
"requestId": "de680a3a-2b96-45d8-a0f7-f6c11659e4f5",
"version": "0.1.4",
"type": "install",
"timestamp": "2020-09-01T08:45:42Z"
}
{
"appId": "04bd6eda-4b04-4572-a744-7233ccc077cd",
"appName": "my test app",
"tenantId": "bd6eda-4b04-4572-a744-7233ccc077cd04",
"tenant": "seismicapps",
"userId": "e6f77acb-6f11-482c-822b-5dbdcc002a20",
"userEmail": "[email protected]",
"requestId": "de680a3a-2b96-45d8-a0f7-f6c11659e4f5",
"version": "0.1.4",
"type": "uninstall",
"timestamp": "2020-09-01T08:45:42Z"
}
{
"appId": "04bd6eda-4b04-4572-a744-7233ccc077cd",
"appName": "my test app",
"tenantId": "bd6eda-4b04-4572-a744-7233ccc077cd04",
"tenant": "seismicapps",
"userId": "e6f77acb-6f11-482c-822b-5dbdcc002a20",
"userEmail": "[email protected]",
"requestId": "de680a3a-2b96-45d8-a0f7-f6c11659e4f5",
"version": "0.1.4",
"type": "enable",
"timestamp": "2020-09-01T08:45:42Z"
}
{
"appId": "04bd6eda-4b04-4572-a744-7233ccc077cd",
"appName": "my test app",
"tenantId": "bd6eda-4b04-4572-a744-7233ccc077cd04",
"tenant": "seismicapps",
"userId": "e6f77acb-6f11-482c-822b-5dbdcc002a20",
"userEmail": "[email protected]",
"requestId": "de680a3a-2b96-45d8-a0f7-f6c11659e4f5",
"version": "0.1.4",
"type": "disable",
"timestamp": "2020-09-01T08:45:42Z"
}
{
"appId": "04bd6eda-4b04-4572-a744-7233ccc077cd",
"appName": "my test app",
"tenantId": "bd6eda-4b04-4572-a744-7233ccc077cd04",
"tenant": "seismicapps",
"userId": "e6f77acb-6f11-482c-822b-5dbdcc002a20",
"userEmail": "[email protected]",
"requestId": "de680a3a-2b96-45d8-a0f7-f6c11659e4f5",
"version": "0.1.4",
"priorVersion": "0.1.2",
"type": "upgrade",
"timestamp": "2020-09-01T08:45:42Z"
}
Updated almost 2 years ago