Skip to content
This plugin is new and currently in beta. For the stable version, please use the previous version of the plugin.

Server Webhooks

User Permissions API

To efficiently manage access to email template and its different parts in the editor, Stripo has implemented a webhook designed to externally retrieve permissions for a specific user to interact with the email template. To process requests from Stripo, you will need to implement an API according to this specification.

OpenAPI Specification

Reference
yaml
openapi: 3.0.3 info:  title: Stripo User Permissions API  description: |  To efficiently manage access to email template and its different parts in the editor, Stripo has implemented a webhook designed to externally retrieve [permissions](permissions-and-access-management) for a specific user to interact with the email template. To process requests from Stripo, you will need to implement an API according to this specification.  version: 1.0.0 servers:  - url: https://{YOUR_USER_PERMISSIONS_CHECKER_URL}  variables:  YOUR_USER_PERMISSIONS_CHECKER_URL:  default: '' paths:  /:  get:  tags:  - Methods  summary: Get user permissions for email  operationId: getUserPermissionsForEmail  description: Retrieves the set of permissions granted to a specific user for a particular email. The editor sends a request to this endpoint with the metadata in the header and expects to receive the granted permissions. This method ensures users have appropriate access and capabilities when working with emails within the Stripo platform, enhancing security and role-based management.  parameters:  - in: header  name: ES-PLUGIN-UI-DATA  required: true  schema:  type: string  description: >-  Content of metadata param that was passed during editor  initialization  - in: header  name: Cookies  required: true  schema:  type: string  description: Browser cookies  responses:  '200':  description: User permissions for email  content:  application/json:  schema:  $ref: '#/components/schemas/UserPermissions'  security:  - basicAuth: [] components:  securitySchemes:  basicAuth:  type: http  scheme: basic  schemas:  UserPermissions:  type: object  properties:  codeEditor:  type: object  $ref: '#/components/schemas/UserPermissionValue'  appearance:  type: object  $ref: '#/components/schemas/UserPermissionValue'  content:  type: object  $ref: '#/components/schemas/UserContentPermissionValue'  modules:  type: object  $ref: '#/components/schemas/UserPermissionValue'  versionHistory:  type: object  $ref: '#/components/schemas/UserPermissionValue'  UserPermissionValue:  type: object  properties:  read:  type: boolean  description: Is allowed to read  example: true  write:  type: boolean  description: Is allowed to write/manage  example: false  UserContentPermissionValue:  type: object  properties:  read:  type: boolean  description: Is allowed to read  example: true  write:  type: boolean  description: Is allowed to write/manage  example: false  textOnly:  type: boolean  description: Is allowed to edit only text  example: false

Email Resources Permissions API

The Email Resources Permissions API ensures that only authorized users have the rights to edit email resources such as modules and images in your application. This feature helps prevent unauthorized access and ensures that the Stripo Plugin performs server-side operations only with your permission. To enable this feature, you need to implement the following backend endpoint on your server.

OpenAPI Specification

Reference
yaml
openapi: 3.0.3 info:  title: Stripo User Resources Permissions API  description: The Email Resources Permissions API ensures that only authorized users have the rights to edit email resources such as modules and images in your application. This feature helps prevent unauthorized access and ensures that the Stripo Plugin performs server-side operations only with your permission. To enable this feature, you need to implement the following backend endpoint on your server.  version: 1.0.0 servers:  - url: https://{YOUR_RESOURCE_PERMISSIONS_CHECKER_URL}  variables:  YOUR_RESOURCE_PERMISSIONS_CHECKER_URL:  default: '' paths:  /:  post:  tags:  - Methods  summary: Check and grant permissions  description: Verifies and assigns necessary permissions to a user for accessing specific features or content within the Stripo platform. The editor sends a request to the customer's endpoint with the information from the metadata and expects to receive a set of granted permissions in response. This method ensures that users have the appropriate access levels required to work inside the editor, enhancing security and effective role-based management.  security:  - basicAuth: []  requestBody:  required: true  content:  application/json:  schema:  $ref: '#/components/schemas/ResourcePermissionsRequest'  responses:  '200':  description: Resources permissions  content:  application/json:  schema:  $ref: '#/components/schemas/ResourcePermissionsResponse' components:  securitySchemes:  basicAuth:  type: http  scheme: basic  schemas:  ResourcePermissionsRequest:  type: object  properties:  pluginId:  type: string  description: ID of the plugin requesting permissions  example: YOUR_PLUGIN_ID  uiData:  type: object  description: The value of 'metadata' field from editor initialization parameters  additionalProperties:  type: string  requestPermissions:  type: array  description: Array of permissions that plugin requests  items:  $ref: '#/components/schemas/ResourcePermission'  required:  - pluginId  - uiData  - requestPermissions  ResourcePermission:  type: object  properties:  type:  type: string  description: Operation subject. Supported values - BLOCKS, DOCS  example: BLOCKS  action:  type: string  description: Operation type. Supported values - READ, MODIFY  example: READ  key:  type: string  description: >-  Key identifier that was configured in plugin settings with filled  values  example: pluginId_YOUR_PLUGIN_ID_emailId_123_id_456  keyTemplate:  type: string  description: Key identifier that was configured in plugin settings  example: emailId_${emailId}_id_${someAnotherIdentifier}  ResourcePermissionsResponse:  type: object  properties:  grantPermissions:  type: array  items:  $ref: '#/components/schemas/ResourcePermission'

Email Change Notification API

The Email Change Notification API allows you to receive information about the time and author of each autosave for security and atomic integrity purposes during simultaneous editing. This webhook needs to be specified in the plugin settings to function correctly.

To ensure that the webhook functions correctly, you need to specify an endpoint in the plugin settings that meets the following specifications.

OpenAPI Specification

Reference
yaml
openapi: 3.0.1 info:  title: Stripo Notification API  description: |  The Email Change Notification API allows you to receive information about the time and author of each autosave for security and atomic integrity purposes during simultaneous editing. This webhook needs to be specified in the plugin settings to function correctly.   To ensure that the webhook functions correctly, you need to specify an endpoint in the plugin settings that meets the following specifications.  version: 1.0.0 servers:  - url: https://{YOUR_EMAIL_CHANGE_NOTIFICATION_URL}  variables:  YOUR_EMAIL_CHANGE_NOTIFICATION_URL:  default: '' paths:  /:  post:  tags:  - Methods  summary: Notification on email changes  description: Provides details about the time and author of each autosave, ensuring security and atomic integrity during simultaneous editing.  operationId: handleEmailChanged  security:  - basicAuth: []  requestBody:  content:  application/json:  schema:  $ref: '#/components/schemas/SaveRequest'  required: true  responses:  '200':  description: Successful response  content:  application/json:  schema:  type: object  nullable: true components:  securitySchemes:  basicAuth:  type: http  scheme: basic  schemas:  SaveRequest:  type: object  required:  - emailId  - userId  - updatedTime  properties:  emailId:  type: string  userId:  type: string  dateTime:  type: integer  format: int64