configuration.js) with API URL and keys<ppl-access-point-widget> Custom ElementNote on URL: The srcattribute on the<script>element works with any URL that returns JavaScript content with the correctContent-Type: application/javascript. The URL does not need to end with.js— the browser follows the response header, not the URL extension.
<ppl-access-point-widget> element is available as a regular HTML tag.Important: The widget internally uses :host { display: block; height: 100% }in Shadow DOM. For reliable display in any environment, its parent element should have an explicitly set height (in pixels, viewport units, or via a height chain up to an element with a fixed height). In a production e-shop integration where the widget is deeply nested in the DOM alongside headers, footers, and other sections, explicit height is essential — without it, the widget may display incorrectly or collapse to minimal height.
Warning: A common mistake is placing the widget directly in <body>without any adjustment. By default,<body>has auto-height derived from its content, so the widget collapses. You must either sethtml, body { height: 100% }(height chain) or wrap the widget in<div style="height: 100vh">. If the widget "disappeared" after being added to the page, check this first.
Exception — modal mode: In modal mode ( viewMode: "modal"), the widget creates its own fullscreen overlay and container height settings are not required. The widget manages the overlay dimensions itself, and the container in HTML remains empty with zero height.
ppl-accesspointwidget-ready event, which is emitted after successful widget initialization (see chapter 4.2).GET /v1/configuration). This configuration is tied to api-key and managed in the widget admin — it typically contains the default language, country, allowed countries, viewMode (inline/modal), allowed access point types, etc.modal. In the admin, the mode can be switched to inline as needed. The admin settings are applied automatically based on api-key and do not need to be duplicated in config.config attribute is used to override (or narrow) the default configuration from the admin — for parameters that differ for a specific page or order compared to the global settings. A typical use case is viewMode: if the admin has modal set but a specific page needs the widget displayed inline (or vice versa), this can be forced via config='{"viewMode":"inline"}' or config='{"viewMode":"modal"}'. Similarly, config is used to pass package dimensions from the current cart, a pre-selected access point, the customer's dynamic country, etc.api-key. If the config attribute is omitted, the widget uses exclusively the default configuration from the admin.api-key.api-key attribute.config attribute only where a specific integration must differ from the global settings (typically dynamic cart data or a page-level override).config can be found in chapter 7.5.config attribute requires valid JSON (not a JavaScript object). If the JSON is invalid, config is not parsed and the widget uses only the server configuration. The error is shown in the browser console.{'viewMode': 'modal'} — JSON requires double quotes// comment or /* */ are not allowed in JSON