Backend API
The Stripo Plugin Backend API allows for various operations related to compiling and managing email templates, including inlining CSS styles into HTML tags to provide the final HTML code ready to be sent to recipients. Please take a look at the available methods below.
Compiling Email Templates
This API call allows inlining CSS styles into HTML tags and provides the final HTML code of email templates that are ready to be sent to recipients.
OpenAPI Specification
openapi: 3.0.3
info:
title: Stripo Editor API
version: 0.1.0
servers:
- url: https://plugins.stripo.email
description: Stripo API server
paths:
/bapi/coediting/v1/email/{emailId}/compilation:
get:
description: Get compiled email
parameters:
- name: emailId
in: path
required: true
description: The ID of email.
schema:
type: integer
format: int64
example: 1
- name: minimize
in: query
required: false
description: If true then html code will be in a format of a single line without line breaks
schema:
type: boolean
example: false
- name: inlineCss
in: query
required: false
description: |
Allows you to select the type of code in the received compiled email.
inlineCss: true - by default. This means that we will see CSS placed inside tags when we make a compiled form of HTML.
inlineCss: false - editor will not inline the CSS in the tags, but rather write it at the head of the email.
schema:
type: boolean
example: false
- name: ES-PLUGIN-AUTH
in: header
required: true
description: Stripo plugin auth token in the format - Bearer ${AUTH_TOKEN}
schema:
type: string
responses:
200:
description: Compiled email
content:
application/json:
schema:
$ref: "#/components/schemas/CompiledEmail"
components:
schemas:
CompiledEmail:
type: object
properties:
html:
type: string
description: Compiled HTML
ampHtml:
type: string
description: Compiled AMP version of HTML
ampErrors:
type: array
description: List of AMP errors inside AMP HTML email template
items:
type: string
syncModules:
type: array
description: List of IDs of sync modules what was found in the HTML
items:
type: integer
format: int64
conditions:
type: array
description: List of AMP errors inside AMP HTML email template
items:
$ref: "#/components/schemas/Condition"
Condition:
type: object
properties:
id:
type: string
description: Condition ID
name:
type: string
description: Condition name
description:
type: string
description: Condition description
beforeScript:
type: string
description: Content of beforeScript section
afterScript:
type: string
description: Content of afterScript section
Retrieving HTML and CSS (Legacy Compatibility)
This API call allows you to retrieve HTML and CSS from the “reference email” in Stripo’s database. This is particularly useful for maintaining compatibility with older versions of the Stripo editor.
OpenAPI Specification
openapi: 3.0.3
info:
title: Stripo Editor API
version: 0.1.0
servers:
- url: https://plugins.stripo.email
description: Stripo API server
paths:
/bapi/coediting/v1/email/{emailId}/html-css:
get:
description: Get HTML and CSS of email template
parameters:
- name: emailId
in: path
required: true
description: The ID of email.
schema:
type: integer
format: int64
example: 1
- name: ES-PLUGIN-AUTH
in: header
required: true
description: Stripo plugin auth token in the format - Bearer ${AUTH_TOKEN}
schema:
type: string
responses:
200:
description: HTML and CSS of email template
content:
application/json:
schema:
$ref: "#/components/schemas/HtmlCss"
components:
schemas:
HtmlCss:
type: object
properties:
html:
type: string
description: HTML of email template
css:
type: string
description: CSS of email template
emailId:
type: integer
format: int64
description: ID of email
utm:
$ref: "#/components/schemas/UtmParams"
description: UTM params of email template
UtmParams:
type: object
properties:
source:
type: string
description: UTM source
medium:
type: string
description: UTM medium
campaign:
type: string
description: UTM campaign
content:
type: string
description: UTM content
term:
type: string
description: UTM term
custom:
description: UTM custom properties
additionalProperties:
type: string
nullable: true
Updating Timer Block Links
This API call allows you to update timer links in the HTML code when copying an email template outside the Stripo editor. It ensures that the timers are correctly cloned and updated in the new template.
OpenAPI Specification
openapi: 3.0.1
info:
title: Timer Clone API
description: API for cloning timers and updating timer links in HTML code.
version: 1.0.0
servers:
- url: https://plugins.stripo.email
paths:
/api/v1/timers/clone:
post:
summary: Clone timers and update timer links in HTML
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
html:
type: string
description: HTML code containing timer links
example: "<div>Timer link: <a href='http://example.com/timer/1'>...</a></div>"
required:
- html
parameters:
- in: header
name: ES-PLUGIN-AUTH
required: true
schema:
type: string
description: Authorization token
example: Bearer YOUR_AUTH_TOKEN
responses:
'200':
description: Successful response with updated HTML and timer mapping
content:
application/json:
schema:
type: object
properties:
html:
type: string
description: HTML code with updated timer links
example: "<div>Timer link: <a href='http://example.com/timer/2'>...</a></div>"
timersMap:
type: object
description: Mapping of old timer IDs to new timer IDs and URLs
additionalProperties:
type: object
Access to Stripo Templates
Stripo provides access to a variety of email templates that you can use based on your subscription plan. If you have registered your account and integrated your plugin application, you can access these templates.
Template Access Based on Plan:
- FREE Plan: Access to basic templates only.
- STARTUP Plan: Access to basic templates and those marked as FREE.
- BUSINESS and ENTERPRISE Plans: Access to basic, free, and PREMIUM templates.
How to Access Templates
After making the initial request to get an array of the available templates, you will need to make individual calls for each template to retrieve its HTML and CSS.
Step-by-Step Process
- Get List of Templates: Make a request to retrieve an array of available templates based on your plan.
Endpoint:GET /bapi/plugin-templates/v1/templates
- Get HTML and CSS for Each Template: For each template in the array, make separate requests to retrieve its HTML and CSS.
Endpoint:GET /bapi/plugin-templates/v1/templates/{templateId}
OpenAPI Specification
openapi: 3.0.0
info:
title: Stripo Email Template API
version: 1.0.0
servers:
- url: https://my.stripo.email/bapi/plugin-templates
paths:
/v1/templates:
get:
summary: Get templates matching the specified search criteria
parameters:
- name: type
in: query
required: true
schema:
type: string
enum: [BASIC, FREE, PREMIUM]
description: Specifies the variety of templates to be returned.
- name: sort
in: query
schema:
type: string
enum: [NEW, ACTUAL]
default: ACTUAL
description: Defines how the templates are sorted in response.
- name: limit
in: query
schema:
type: integer
description: Regulates how many items should be returned per page (suggested limit of no more than 50).
- name: page
in: query
schema:
type: integer
description: Defines the number of the page.
- name: templateTypes
in: query
schema:
type: array
items:
type: integer
description: Filters templates that specifically pertain to relevant categories.
- name: templateSeasons
in: query
schema:
type: array
items:
type: integer
description: Restricts the selection of templates to those associated with seasonal events categories.
- name: templateFeatures
in: query
schema:
type: array
items:
type: integer
description: Ensures that only templates related to specific feature categories are retrieved.
- name: templateIndustries
in: query
schema:
type: array
items:
type: integer
description: Narrows down template selection to include only those featuring industry-specific categories.
responses:
'200':
description: A list of templates matching the search criteria.
content:
application/json:
schema:
type: object
properties:
total:
type: integer
data:
type: array
items:
type: object
properties:
templateId:
type: integer
name:
type: string
logo:
type: string
premium:
type: boolean
hasAmp:
type: boolean
updatedAt:
type: integer
createdTime:
type: integer
templateTypes:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateSeasons:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateFeatures:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateIndustries:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
security:
- ES-PLUGIN-AUTH: []
/v1/templates/{templateId}:
get:
summary: Get the metadata, HTML, and CSS code for a specific template by ID
parameters:
- name: templateId
in: path
required: true
schema:
type: integer
responses:
'200':
description: Metadata, HTML, and CSS code for the specified template.
content:
application/json:
schema:
type: object
properties:
templateId:
type: integer
name:
type: string
logo:
type: string
premium:
type: boolean
hasAmp:
type: boolean
updatedAt:
type: integer
createdTime:
type: integer
templateTypes:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateSeasons:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateFeatures:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
templateIndustries:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
html:
type: string
css:
type: string
security:
- ES-PLUGIN-AUTH: []
/v1/templates/types:
get:
summary: Get available values for the templateTypes parameter
responses:
'200':
description: Array of available values for the templateTypes parameter.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
security:
- ES-PLUGIN-AUTH: []
/v1/templates/seasons:
get:
summary: Get available values for the templateSeasons parameter
responses:
'200':
description: Array of available values for the templateSeasons parameter.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
security:
- ES-PLUGIN-AUTH: []
/v1/templates/features:
get:
summary: Get available values for the templateFeatures parameter
responses:
'200':
description: Array of available values for the templateFeatures parameter.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
security:
- ES-PLUGIN-AUTH: []
/v1/templates/industries:
get:
summary: Get available values for the templateIndustries parameter
responses:
'200':
description: Array of available values for the templateIndustries parameter.
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
security:
- ES-PLUGIN-AUTH: []
components:
securitySchemes:
ES-PLUGIN-AUTH:
type: apiKey
in: header
name: ES-PLUGIN-AUTH
description: Bearer YOUR_AUTH_TOKEN
Detailed Explanation
Get Templates
/v1/templates
Summary: Get templates matching the specified search criteria.
Parameters: Get templates matching the specified search criteria.
type
(required, query): Specifies the variety of templates to be returned (BASIC
,FREE
,PREMIUM
).sort
(query): Defines how the templates are sorted in response (NEW
,ACTUAL
).limit
(query): Regulates how many items should be returned per page (suggested limit of no more than 50).page
(query): Defines the number of the page.templateTypes
(query): Filters templates that specifically pertain to relevant categories.templateSeasons
(query): Restricts the selection of templates to those associated with seasonal events categories.templateFeatures
(query): Ensures that only templates related to specific feature categories are retrieved.templateIndustries
(query): Narrows down template selection to include only those featuring industry-specific categories.
Get Template Details
/v1/templates/{templateId}
Summary: Get the metadata, HTML, and CSS code for a specific template by ID.
Parameters:
templateId
(required, path): The ID of the template.
Get Template Types
/v1/templates/types
- Summary: Get available values for the templateTypes parameter.
Get Template Seasons
/v1/templates/seasons
- Summary: Get available values for the templateSeasons parameter.
Get Template Features
/v1/templates/features
- Summary: Get available values for the templateFeatures parameter.
Get Template Industries
/v1/templates/industries
- Summary: Get available values for the templateIndustries parameter.