Popup Builder API

Convert visitors with strategic popups

Base URL: https://api.wemasy.nl/api
ⓘ The token stays in this browser tab only (sessionStorage) and is sent to the WEMASY API only. Don't use production tokens on shared computers.

Blocks

List Blocks

POST /services/popups/v1/blocks/all Auth

ComponentsAddTo

POST /services/popups/v1/components/add-to Auth

ComponentsDelete

POST /services/popups/v1/components/delete Auth

ComponentsSetContent

POST /services/popups/v1/components/set-content Auth

ComponentsUpdateOrder

POST /services/popups/v1/components/update-order Auth

PopupDesignerGet

POST /services/popups/v1/page-designer/get Auth

PopupDomain

Current settings + the DNS records the customer must set

POST /services/popups/v1/domain/status Auth

Point the popups at a custom domain. Resets dns_verified

POST /services/popups/v1/domain/update Auth

Live DNS propagation check; persists dns_verified

POST /services/popups/v1/domain/dns-check Auth

Fall back to the wemasy-hosted domain

POST /services/popups/v1/domain/switch-to-wemasy Auth

Popups

Popup triggers list

POST /services/popups/v1/popups/all Auth

Get popup trigger

POST /services/popups/v1/popups/get Auth

Create popup trigger

POST /services/popups/v1/popups/create Auth

Edit popup trigger

POST /services/popups/v1/popups/edit Auth

Delete popup triggers

POST /services/popups/v1/popups/delete Auth

Toggle popup trigger active state

POST /services/popups/v1/popups/toggle Auth

Duplicate popup triggers

POST /services/popups/v1/popups/duplicate Auth

What visitors see in the popup, for the builder, also while it is off. `source` says where it comes from: designed (the builder's design, shown by the designer itself), form or content (the page below, `html`)

POST /services/popups/v1/popups/preview Auth

Get popup content blocks for the builder

POST /services/popups/v1/popups/content/get Auth

Save popup content blocks from the popups builder

POST /services/popups/v1/popups/content/save Auth

Popup statistics: impressions, views, closes, conversions and their rates

POST /services/popups/v1/popups/stats Auth

Per popup of the project and in total, for a date range (default the last 30 days), plus one row per day. open_rate = views / impressions, conversion_rate = conversions / views, close_rate = closes / views (0..1). Pass `trigger_id` for one popup, `days` for the last N days (today included).

Every A/B test of the project: the popups that have variants, with the status and the results per version. Newest test first

POST /services/popups/v1/popups/experiment/all Auth

The test of a popup: status, arms (control first) with shares and results

POST /services/popups/v1/popups/experiment/get Auth

Adds a variant: a copy of the original (or of `copy_from`, another arm), its design included. Shares go back to an even split

POST /services/popups/v1/popups/experiment/variants/create Auth

Removes a variant (not while the test runs). Shares go back to an even split

POST /services/popups/v1/popups/experiment/variants/delete Auth

Traffic shares: `weights` = {arm id: whole percentage}, every arm, together 100

POST /services/popups/v1/popups/experiment/weights Auth

Starts (or restarts) the test. Results count from now; a picked winner is cleared

POST /services/popups/v1/popups/experiment/start Auth

Stops the test without a winner: the original shows again, as it is

POST /services/popups/v1/popups/experiment/stop Auth

Picks the winner: from now on every visitor gets that arm. Stops the test

POST /services/popups/v1/popups/experiment/winner Auth

The popup's languages, its fallback language and every language's file

POST /services/popups/v1/popups/texts/get Auth

One language's file, written whole (the same keys in every language)

POST /services/popups/v1/popups/texts/save Auth

Removes one language: visitors who speak it get the fallback language again

POST /services/popups/v1/popups/texts/delete Auth

The templates (files in resources/popup-templates), in the owner's language or `locale`

POST /services/popups/v1/popups/templates/all Auth

Makes a popup (and its form) from a template, switched off

POST /services/popups/v1/popups/templates/create Auth

Another template's design for one of the project's popups (its setup, targeting and statistics stay)

POST /services/popups/v1/popups/templates/apply Auth

Popups (public embed)

Active popup triggers for the visitor tracking script

POST /services/popups/v1/campaigns/setting Public

`language`: the visitor's (the signed-in user's, the page's), so each popup comes in it when it has those texts (#1053, #1054). `user_id`: the signed-in user (window.wemasy.setUser): a popup they have seen on any device comes with `seen: true` (a series, seen_never_again, #1052).

Record a visitor event of a popup (impression, view, close, convert)

POST /services/popups/v1/campaigns/event Public

Sent by the tracking code on published sites. The popup must belong to the project of the siteToken. Every type counts once per visitor, popup and day (no visitor id: a daily IP + browser fingerprint).

Accept the documents of a legal consent popup (new terms, privacy)

POST /services/popups/v1/campaigns/consent/accept Public

Sent by the tracking code when a signed-in user clicks the popup's accept button. One row per document and version: the time, the language, the page, a hash of the IP and whether the user was verified (`user_sig`, signed by the dashboard). Accepting twice keeps the first.

Render popup HTML for the visitor iframe

GET /services/popups/v1/campaigns/render Public

Settings

Get all available Google Fonts

POST /services/popups/v1/fonts/all Auth