Skip to content
developers
Developer home

VISWOO DOCUMENTATION

Public page

The page a visitor opens on their phone from the QR code on screen; limits, storage and privacy.

The public page (public.entry, public permission) opens on the visitor’s phone when they scan the QR code on screen: viswoo.com/e/<id>. There is one id per customer and plugin. The site opens your page in a sandboxed frame (allow-scripts allow-forms).

<link rel="stylesheet" href="viswoo-ui.css" />
<script src="viswoo-public.js"></script>
<script>
var page = window.Viswoo.public;
page.context().then(function (context) { /* code, language, settings */ });
page.call('draw').then(
function (result) { page.storage.set('last', result); },
function (error) { /* error.code: plugin.limit_reached … */ }
);
page.report('visit');
</script>

context.settings holds the customer’s settings; fields with x-viswoo-visibility: "server" are not included.

The frame has no localStorage of its own. storage.get/set asks the site to keep small values per page id (key [a-z0-9_.-]{1,40}, JSON up to 4 KB): a won code stays visible after a reload, for example. Storage may be disabled in private windows.

  • No personal data is collected. The site creates a random visitor id per browser; the server keeps only its hash.
  • call is limited per visitor per day; when exceeded, plugin.limit_reached.
  • When bot protection (Turnstile) is on, each call carries a verification token; the site obtains it. If verification fails, plugin.captcha_failed.
  • The theme follows the phone’s preference.

If you need personal data (e.g. an e-mail address), state it clearly; review will ask for the reason and a privacy notice.

Full bridge: Phone bridge.