Extensions/Extension Editor page
The extension is a set of webhooks with extended functionality, allowing your service to work with third-party systems.
Features | Description | Screenshots |
---|---|---|
Create new extension | To create a new extension, the “Advanced Features” should be turned on on the “Service info“ page. To do so, click the “Service Info“ tab, check the “Advanced Features“ checkbox, and click “Done.“
To add a new extension, click on the “Extension Editor“ tab, and there, click “Add Extension“ button. |
|
“Extension Info” tab |
|
|
Name and Description | Name and describe new extension in the corresponding fields.
|
|
Auth key | There are two types of keys:
|
|
Add Auth key | Click on the "Auth key" field to set the new key.
Next, enter the key name, select the key type, and insert the key in the corresponding fields of the "Edit webhook authentication key" pop-up window. Then click "Submit." |
|
Edit and delete the Auth key | To edit the Auth key, click on the corresponding field, make all necessary changes, and click "Submit." | |
Set Triggers: | Extension can be triggered in the following cases or a combination of these cases: on receiving credentials, on issuing credentials, and on finish. |
|
On receiving credential | If you want the extension triggered when the user shares their credentials during the interaction, set the “On Receive Credentials” trigger type.
Click on the corresponding field and set the URL of the integrated third-party system.
Depending on your extension, you may need to set parameters. For example, if you want to send a message to the integrated party upon receiving a credential from the user, you can set this up in the “Parameters” section. After setting up the webhook and any necessary parameters, click “Submit.'“ |
|
On issuing credentials | The "On issuing credential" extension will be triggered when the system issues a credential to the user. This trigger type allows you to set additional restrictions to activate the extension, such as the credential definition or credential schema type. If set, the extension will only be triggered when the user is issued the credential based on the selected credential schema or credential definition. | |
On finish | This type of extension is triggered upon completion of an event and notifies the integrated party of the outcome, whether it was successful or not. | |
Add URL | To add the third-party system URL you are integrating with, click the corresponding trigger field. |
|
Select required credentials
| You can set the required credentials as a condition for triggering the extension. The credential might be selected based on the credential definition or schema. Note that the required credential cannot be selected based on the credential schema if the credential definition created by this service based on this schema has a trust level of "Self-attested." To specify the selective disclosure and zero-knowledge predicates, click on the required credential from the list and configure the necessary conditions. You can find more information about adding the required credentials on this overview's "Required and issued credentials" page. |
|
Ping URL | Add the URL of the third-party system you are integrating to ensure it is available. | |
“Is public” checkbox | Public extensions are visible and available to all services in the ProofSpace network. If you want your extension to be available only for your service, leave the "Is public" checkbox unchecked. |
|
You can make your extension "Public” if you choose at least one of the above-mentioned triggers. |
| |
“Service Level Input” tab |
|
|
Service Level Input | By setting up the Service Level Input config for your extension, you enable this extension to be used in any interaction within this service using the settings you specify. When you install the extension with the service level input config, you will be asked to add the information you specify in the schema here. |
|
Service Level Input setup |
a. name the schema b. add all necessary attributes. You can find more information on how to create a schema’s attributes in the Schema Creation section of this page. |
|
“Interaction Level Input” tab |
|
|
| The configurations set in the Interaction Level Input field for this extension will be applied and configured for each interaction that includes this extension. |
|
Interaction Level Input setup |
You can find more information on how to create a schema’s attributes in the Schema Creation section of this page. | |
“Output” tab |
|
|
Schema Creation | Create a schema with the necessary attributes to define the structure of your data:
a. name attribute; b. select the data type for this attribute; c. If this attribute is not required, check the “Optional“ checkbox; d. If this attribute is an array, check the “Array“ checkbox; e. If you want to restrict changes in the attribute data, check the “Read-only “ checkbox. In this case, this attribute will be automatically generated on the extension’s backend side. f. To set the allowed values for this attribute, click on the gray icon and click “Add.“ Enter the first allowed value in the field that appears. Click “Add“ for each additional allowed value. Once all the necessary values are set, click “Submit.“ g. If, in the future, you wish to sort data by this attribute/field, check the "Sortable" checkbox (available only for “Output“ config). h. Check the “Multi-line” checkbox to enable string type attribute editing with multi-line support (new line). i. Add as many attributes as you need. | |
Delete and edit extension | To edit the extension, click on it and make all the necessary changes. To delete the extension, click the “Delete” icon on the row of the selected extension.
|
|
Add an extension to the interaction | See the Integration options, “Add extension“ section. |
|