Site.pro
  • Website Builder
    • Website Builder
    • Prices
    • Website Import
    • Online Stores
    • Plugins
    • Collaboration
    • Templates
    • Languages
    • Affiliate Program
    • Examples
    • AI Website Builder
    • For Design Studios
    • We Build for You
  • Domains
  • Email
  • Learn
    • Tutorials
    • Blog
    • FAQ
    • Growth Hacking
    • For Hostings
    • Domainity
    • For Education
  • For Resellers
    • Prices
    • White Label
    • Revenue Share
    • Panels
    • How it Works
    • Mass Import
    • Our Partners
    • Reselling Examples
    • Marketing Materials
    • Documentation
    • Free Websites
  • Website Builder
    • Website BuilderEverybody can easily create a website, landing page, or e-commerce store. Easy-to-use website builder.
    • PricesSite.pro Prices: Templates 200+, Websites, Basic Builder Functions, Online Stores, Get more website builder features.
    • Website ImportTransfer your existing website from anywhere to Site.pro website builder. Website import from different website builders.
    • Online StoresSell your goods or services anywhere on the website. The Easiest Way to Build an Online Store
    • PluginsMany functions and plugins depending on geographical preferences. Plugin description.
    • CollaborationCollaborative Website Builder, Create a website with teammates in real-time in one space, Real-Time Collaboration.
    • Templates
    • Languages
    • Affiliate Program
    • Examples
    • AI Website Builder
    • For Design Studios
    • We Build for You
  • Domains
  • Email
  • Learn
    • TutorialsVideos for Beginners. Download video tutorials for free New video tutorial.
    • BlogWebsite Builder Lifehacks: Shared hosting tips. Web Design, Marketing
    • FAQHelp center. Payment Issues. Basic Tutorial. Quick search. Have questions? Enter your question here.
    • Growth HackingBoost your sales. Strategy
    • For HostingsEducation. Generate more website builder sales
    • DomainityDomainity: Domain quantity per 1000 people
    • For EducationFree Website Builder for Online and Offline Classrooms. Collaborate with students in one space or separately.
  • For ResellersWhite Label
    • PricesStart reselling. Pay for live websites. Free Websites. Join reselling program.
    • White LabelThe most popular white label tool is ideal for reselling
    • Revenue ShareWebsite Builder: Provide free website builder and earn 50% commissions
    • PanelsOne product for all platforms. Download plugin for your panel
    • How it WorksCloud or On-Premises. Recommendations for Builder Server. Requirements for builder server (On-premises only) and published websites.
    • Marketing MaterialsVideo. Mockups. Website Blocks. Marketing Materials.
    • Mass Import
    • Our Partners
    • Reselling Examples
    • Documentation
    • Free Websites
  • Register

    Register

    (Buy Domain, Create email)
    (For Hosting Companies)
    By registering, you accept our Terms of Service
    Number of Customers: 1-100
    Number of Customers: 1-100
  • Log in

    Log in

    New user? Create account
    Forgot password?
  • $
  • English
Server Requirements
  • Published websites
  • Site.pro IPs
Builder installation / update
On-Premises
  • Server Requirements
  • Installation
  • CRON
  • Update
  • Migration to version v4
  • Collaboration Service
  • Extra configuration
  • Manual update
  • Changing PHP version
  • Support
Plugin installation
  • Hosting Panel
    • cPanel
    • DirectAdmin
    • Plesk
    • Sentora/ZPanel
    • ISPmanager
    • InterWorx
    • Vesta
    • Hosting Controller
    • CentOS Web Panel
    • Hestia
    • LiveConfig
    • Webuzo
    • Custom hosting (API)
  • Billing Panel
    • WHMCS
    • Blesta
    • Custom billing (API)
API documentation
  • Builder
    • Create session (SSO)
    • Remove existing session
    • Create website backup
    • Restore website backup
  • Templates
    • List template categories
    • List template category tags
    • List templates
    • Get page types available in templates
  • Import
    • Import website
    • Get website import status
    • Import website block
    • Get website block 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
    • Delete website
    • Get website template
    • Get website pages
    • Get website variables
    • Get template 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
    • Read/add/delete hosting plans
  • Integration with your system
    • Allow/disallow domain in builder
    • Check if domains are allowed in builder
  • FAQ
    • Get posts
    • Get categories
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

Reference:

  • When using WHMCS + cPanel or Plesk
  • When using custom integration

This documentation describes the implementation of user registration from the public demo builder version. The public demo URL allows users to access the builder as guests, without requiring login or registration. It creates a temporary domain for the guest user, where they can try out the builder and create a temporary website.

The primary purpose of the public demo URL is to enable quick testing of the builder’s functionality. However, guest users often spend a significant amount of time using the builder and may end up creating a complete website they wish to keep and publish. This is where the registration from the public demo builder becomes essential.

The intended flow of the process is as follows:

  1. You locate the Public Demo URL in your brand's Licenses page;
  2. You copy the URL and place it prominently on your hosting website (e.g., as a button labeled "Demo" that links to the public demo URL).
  3. A guest user visits your page, clicks the demo button, and is redirected to the builder.
  4. The guest user builds a website and clicks the "Publish" button.
  5. A registration form is presented, which the guest user fills out and submits; or the user is redirected to your own URL for the registration.
  6. You receive the guest user's registration data and handle the account creation on your end (explained further below).
  7. After registration, the guest's website is published to a new location and goes 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 "Website 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. .
  • 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)

After the user completes the registration process on your page, they need to be redirected back to the builder to finalize the copying and publishing of the website they created in the demo version to their newly registered domain.

The redirection back to the builder must be performed using the Create session API. The only difference from the standard usage of this API is that you need to include an additional parameter, "createFrom", set to the value that was POSTed to your registration URL.

© Site.pro 2011. Website Builder. United States.
Contact SalesTerms of Service