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
DisableOccurs when a Seismic admin disables an app. Disabling an app will deactivate all app functionality for a given tenant.
UpgradeOccurs 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"
}