Create, add and update plugins
placement
key, which defines where the plugin appears in Smokeball.
The syntax of a placement key for the Plugins API is page-zone
. Pages and Zones are described in further detail below:
Window
key
MatterWindow
key
MatterWindow-MatterDetailsRibbon
- Places a Tab in Matter page
MatterWindow-MatterDetailsRibbonTab
- Places a Button in the ‘Matter’ Tab of Matter page
Below are the supported Main window zones:
Window-SmokeballRibbonTab
- Places a Button in the ‘Smokeball’ Tab of Main page
Window-MainTabs
- Places a navigation tab inside the Smokeball left-side tabs
Window-MainRibbon
- Places a tab in the main window ribbon
attributes.page.useDefaultBrowser
is true
.
See SDK Documentation for usage information.
requestEndpointUrl
field. The url returned by this request is then loaded into Smokeball.
For more detailed usage documentation, please refer to the information below.
Field | Description |
---|---|
requestEndpointUrl | Used to request a URL from your backend. |
key | Used to calculate a signature which must be used by your backend to verify that the request is from Smokeball. |
POST
request is made to the supplied requestEndpointUrl
url with a payload similar to below:
It is critical that the above structure is used in the response payload. If an incorrect format is used or the URL is missing, the user will not be able to use your app.
Key
property when creating a Plugin, a header named Signature
will be included when Smokeball calls your requestEndpointUrl
. The signature is a HMAC SHA256 hash that was created with the key that you provided. You can perform the same hashing process on your processing side to verify that the request came from Smokeball.
Signature
hash is calculated using these three bits of information:
Timestamp
header which is the ticks representation of the UTC datetime (.Net format) the request was sentRequestId
headerClientId
that you use to authenticate with the API|
and can then be used to create the hash.
58817681863148b0e624c00f3094f99e1af31cd7b99a3c2e0655d64a2764d650
Timestamp
header which is the ticks representation (.NET format) of when the request was sent. It is also part of the verification signature so an attacker can not change the timestamp without invalidating the signature.
If the signature is valid but the timestamp is too old, you may choose to reject the request.
endpoint
field has been deprecated. Use RequestEndpointUrl
for all new plugins. You can migrate an existing app to the new field by updating the endpoint
field to null, and set RequestEndpointUrl
to your new url.availability
- availability settings are currently not supported.