Site.pro
  • Website Builder
    • Website Builder
    • Online Stores
    • Templates
    • Domains
    • Plugins
    • Languages
    • FAQ
    • Affiliate Program
    • Blog
    • Examples
    • For Design Studios
  • Prices
  • Website Import
  • For Resellers
    • White Label
    • Prices
    • Panels
    • How it Works
    • Free Websites
    • Marketing Kit
    • Mass Import
    • Our Partners
    • Free Website Builder
    • Documentation
    • Blog
    • Domainity
    • FAQ
  • Contact Sales
  • Website Builder
    • Website BuilderEverybody can easily make a website, landing page or e-commerce.
    • Online StoresSell your goods or services anywhere on the website
    • Templates200+ Awesome Templates. Responsive Design
    • DomainsBuy domain. Connect Your Domain. Transfer Domain.
    • Plugins
    • Languages
    • FAQ
    • Affiliate Program
    • Blog
    • Examples
    • For Design Studios
  • Prices
  • Website Import
  • For ResellersWhite Label
    • White LabelThe most popular white label tool is ideal for reselling
    • PricesStart reselling. Pay for live websites. Free Websites
    • PanelsOne product for all platforms. Download plugin for your panel
    • How it WorksCloud or On-Premises. Recommendations for Builder Server
    • Free WebsitesUnlimited Quantity of Free Websites
    • Marketing KitUse White Label Marketing Kit To Increase Your Sales
    • Mass Import
    • Our Partners
    • Free Website Builder
    • Documentation
    • Blog
    • Domainity
    • FAQ
  • Contact Sales
  • inputRegister
    Sign Up with Facebook
    Sign Up with Google
    or
  • faceLog In
    Sign in with Facebook Sign in with Google
    or
    Remind password
    A new password will be sent to the specified e-mail address.
    Return to login form
  • $
    • USD — $
    • EUR — €
    • GBP — £
    • BRL — R$
    • PLN — zł
    • INR — ₹
    • TRY — TL
    • AUD — A$
    • CAD — C$
    • CZK — Kč
    • DKK — kr
    • HKD — HK$
    • HUF — Ft
    • ILS — ₪
    • JPY — 円
    • MXN — Mex$
    • NOK — kr
    • NZD — NZ$
    • PHP — ₱
    • RUB — ₽
    • SGD — S$
    • SEK — kr
    • CHF — Fr
    • TWD — NT$
    • THB — ฿
    • CNY — ¥
    • RSD — din
    • BGN — лв.
    • RON — Lei
    • ZAR — R
    • BYN — p.
    • UAH — ₴
    • KZT — ₸
    • CLP — CH$
  • English
    • العربية
    • Azərbaycan
    • Bahasa Indonesia
    • Bahasa Malaysia
    • Беларуская
    • Български
    • Bosanski
    • Castellano
    • Čeština
    • Dansk
    • Deutsch
    • Eesti
    • Ελληνικά
    • English
    • Español
    • 繁體
    • فارسی
    • Français
    • Հայերեն
    • हिन्दी
    • Hrvatski
    • Italiano
    • עברית
    • 简体
    • ქართული
    • Қазақ
    • Latviešu
    • Lietuvių
    • Magyar
    • Nederlands
    • 日本語
    • Norsk
    • O'zbek
    • ภาษาไทย
    • ភាសាខ្មែរ
    • Polski
    • Português (BR)
    • Română
    • Русский
    • Schweizerdeutsch
    • Slovenčina
    • Slovenščina
    • Srpski
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Украї́нська
    • Wikang Tagalog
    • And additional 2 languages inside Site.pro website builder
Server Requirements
  • Published websites
  • Site.pro IPs
Builder installation / update
On-Premises
  • Server Requirements
  • Installation
  • CRON
  • Update
  • Migration to version v4
  • Extra configuration
  • Manual update
  • Changing PHP version
  • Support
Plugin installation
  • Hosting Panel
    • cPanel
    • DirectAdmin
    • Plesk
    • Sentora/ZPanel
    • ISPmanager
    • InterWorx
    • Vesta
    • Hestia
    • Hosting Controller
    • CentOS Web Panel
    • Custom hosting (API)
  • Billing Panel
    • WHMCS
    • Custom billing (API)
API documentation
  • Builder
    • Create session (SSO)
    • Remove existing session
    • Create website backup
    • Restore website backup
  • Templates
    • List template categories
    • List templates
    • Get page types available in templates
  • Import
    • Import website
    • Get import status
    • Check if imported website is owned by user
  • Websites
    • Create website
    • Modify website
    • Rename website
    • Publish website
    • Edit website pages
    • Edit website settings
    • Enable/disable Auto Layout
    • Delete website
    • Get website template
    • Get website pages
    • Get website variables
    • Get website settings
    • Add pages to website
    • Duplicate pages in website
    • Remove pages from website
  • Website Blocks
    • Create empty website
    • Modify website
    • Inspect website
    • Add empty page
    • Modify page
    • Remove page
    • Inspect page
    • Inspect composition
    • Modification descriptor structure by element type
    • Add blocks from compositions
    • Remove blocks
    • Move blocks
    • Modify blocks
    • Inspect block
  • Licenses
    • Get list of published websites
    • Get statistics of publications/openings
    • Block/unblock published website
    • Controlling IP list
  • Integration with your system
    • Allow/disallow domain in builder
    • Check if domains are allowed in builder
Add-ons documentation
  • For Website
    • Public demo URL
    • Editing plans
    • User registration from public demo
    • Website import
  • For Builder
    • Adding custom templates
    • Adding custom builder plugins
    • Scripts
For developers
  • Programming reference
  • Directory structure
  • Meta information (main.json)
  • Frontend logic (main.js)
  • Element template (main.html)
  • Backend logic (main.php)
  • Plugin testing
  • Custom element plugin
  • E-commerce plugin
  • Overriding UI
  • Other examples
Change Log
Add-ons documentation → For Website

User registration from public demo

This documentation describes the implementation of user registration from public demo builder version. The public demo URL is a URL which let's you to enter builder as a guest without login or registration. It creates temporary domain for the guest client and there he can try the builder and build a temporary website. Initially public demo URL is intended for quick builder testing in order to get familiar with its functionality. However often guest clients spend a lot of time inside and during that time they manage to build complete website which they do not want to loose and have it in production. This is where the registration from public demo builder comes to the rescue.
The complete flow of this whole process is intended to be the following:

  1. you find the Public Demo URL in your brand on licenses page;
  2. you copy that URL and put it somewhere on your hosting website visible place (e.g. it can be a button with a title "Demo" and a link with public demo URL);
  3. guest client comes on your page, clicks that button and goes to builder;
  4. guest client builds website and presses button "Publish";
  5. guest client is presented with a registration form which he fills in and submits;
  6. you catch guest client's data on your end and handle registration for him (more about it below);
  7. after the registration the client's website is published to a new place and becomes live.

When using WHMCS + cPanel or Plesk

  1. Log in to WHMCS admin area.
  2. Create shared hosting product(s) for Site.pro builder:
    1. Go to "System Settings" → "Products/Services" (for WHMCS 7: "Setup" → "Products/Services" → "Products/Services") in WHMCS admin area.
    2. Create new product for site builder. You can duplicate it from your current shared hosting product (but setup different name, price and other options for them). You can find more about WHMCS shared hosting products on this page: https://docs.whmcs.com/Products_and_Services.
    3. On tab "Module Settings" activate option "Automatically setup the product as soon as an order is placed".
    4. Go to "System Settings" → "Module Addons" (for WHMCS 7: "Setup" → "Module Addons") → button "Configure" next to "Site Builder".
    5. Enter name of newly created shared hosting product into field Applicable Products.
  3. Open created shared hosting product for editing again and navigate to tab "Links".
  4. Copy the link from field "Direct Shopping Cart Link".
  5. On Site.pro licenses page expand your brand and switch to section "Customize builder".
  6. Click button next to "Public Demo URL" field to open Demo builder configuration.
  7. Activate options "Use Registration form" and "Use Remote Registration form".
  8. Into field "Login/register API URL" insert the shared hosting link which you copied, and click "Apply" button to save changes (and "Apply" button of the brand).
  9. Done! Open public demo builder URL from your brand, choose template and click button "Publish" to check if it is working properly.

If you face difficulties to configure registration from demo by described method above, then let us know by creating a ticket.

When using custom integration

To use this functionality a programming knowledge is required for API endpoint implementation.

In order to activate this functionality take the following steps:

  1. On Site.pro licenses page expand your brand and switch to section "Customize builder".
  2. Click button next to "Public Demo URL" field to open Demo builder configuration.
  3. Activate option "Use Registration form".

Description of options:

  • Use Registration form (required) — activates registration from public demo builder.
  • Use Login form (optional) — if checked then the login form will also be provided to the guest client where he can login with credentials he used during registration. After logging in his website will be loaded in builder created earlier.
  • Use Remote Registration form (optional) — if checked then the user registration will be done not remotely calling your API endpoint (described by "Login/register API URL" field) but by redirecting the guest client in browser by this URL. In this case you need to implement visual registration form for your clients on that page and all registration process will be done on your end.
  • Hide Publish sub-menu (optional) — if checked then "Publish" sub-menu will not be shown in public demo builder. It includes buttons "Save draft" and "Backup/Restore".

Description of fields:

  • Login/register API URL (required) — there you need to put your API URL which you implement by documentation below. It can be any URL accessible globally, e.g. https://myhostingsite.com/api/register-from-builder/.
  • Banner Image URL (optional) — if set then the floating image will be displayed fixed to the bottom of the screen in public demo builder.
  • Message to be shown (optional) — if set this message will appear after successful user registration in public demo builder (if not set then default text will be used).

The same API endpoint URL will be used for registration, login and password remind requests, but you only need to implement functionality for parts you selected check-boxes for (above).

Note: All data to API endpoint will be posted using HTTP POST method with content type of application/json; charset=UTF-8 (basically you will receive JSON object). All responses from these API endpoints must return JSON object with content type of "application/json; charset=UTF-8".
You can read POST data of JSON format in your API endpoint like this:

<?php
$data = json_decode(file_get_contents('php://input'));

Registration API endpoint

This endpoint will need to handle new user registration in your hosting system.

These options must be checked:
Use Registration form

Request parameters:

  • Boolean – if this is set and equal TRUE then this is new user registration request
  • String – name (friendly name or full name or just general name) of the user to use for registration (this can be ignored if not required)
  • String – user email to use for new user creation
  • String – password to set for new user
  • String – repeated password to make sure user entered it correctly
  • String – IP address of user (this can be ignored if not required)
  • String – locale code (ex. en_US)

Response parameters (success):

  • Boolean – this needs to be equal to true to indicate success
  • String – domain name that was created for this user to identify their site
  • String – FTP username to be used for publishing website to hosting server
  • String – FTP password to be used for publishing website to hosting server
  • String – directory path in FTP server to upload published website
  • String – IPv4 address of FTP server used for publishing website to hosting server
  • String – hosting plan assigned to user

Response parameters (error):

  • String – error message explaining why this failed, that will be shown to user

Login API endpoint

This endpoint will need to handle existing user logins to your hosting system (if you are implementing this you will also need to implement remind/reset password endpoint).

These options must be checked:
Use Registration form Use Login form

Request parameters:

  • Boolean – if this is set and equal to TRUE then this is user login request
  • String – user email to use for logging in
  • String – user password to use for logging in

Response parameters (success):

  • Boolean – this needs to be equal to true to indicate success
  • String – domain name that was created for this user to identify their site
  • String – FTP username to be used for publishing website to hosting server
  • String – FTP password to be used for publishing website to hosting server
  • String – directory path in FTP server to upload published website
  • String – IPv4 address of FTP server used for publishing website to hosting server
  • String – hosting plan assigned to user

Response parameters (error):

  • String – error message explaining why this failed, that will be shown to user

Remind/reset password API endpoint

This endpoint will need to handle reminding/resetting password of existing user (basically same thing remind/reset password does in you hosting system) in your hosting system.

These options must be checked:
Use Registration form Use Login form

Request parameters:

  • Boolean – if this is set and equal to TRUE then this is remind password request
  • String – user email of which password needs to be reminded/reset

Response parameters (success):

  • Boolean – this needs to be equal to true to indicate success

Response parameters (error):

  • String – error message explaining why this failed, that will be shown to user

Remote Registration endpoint

These options must be checked:
Use Registration form Use Remote Registration form

If you enable remote registration then instead of API call user will be redirected to provided API URL.

User will be redirected using HTTP POST request with content type of application/x-www-form-urlencoded; charset=UTF-8 (general POST data) and it will contain these parameters:

  • String – locale code of the language user is currently viewing builder in
  • String – current builder demo session ID (this session will be valid up to 24h)

When user completes registration process on your page then he/she needs to be redirected back to builder to complete copying and publishing of his site created in demo version to his/her newly registered website.

Redirection back to builder needs to be performed using Create session API. The only difference from that API is that you will need to set additional parameter "createFrom" to a value that you got POST'ed to your registration URL.

© Site.pro Website Builder. United States, Washington. Terms of Service