What’s new
- Shadow DOM encapsulation (Web) — Dialog now renders inside a closed Shadow DOM, preventing host page CSS from leaking into the clickwrap dialog
- Server-driven text customizations — Dialog text (button labels, prompts) can now be overridden per language via backend customization settings
- Callback interface renames (Android) —
*Callbackinterfaces renamed to*Listener,onFailurerenamed toonError shutdown()method (Android) — NewClicktermClient.shutdown()to clean up SDK state- Dialog refactoring (Android) — Extracted
DialogCustomization,DialogSession, andDialogTextResolverclasses for better maintainability
Migration from v2.0
Web SDK: Update your script tag:What’s new
- Remote customization settings — Dialog appearance (theme colors, button styles, border radius) is now configurable from the ClickTerm Dashboard per template
- Custom branding — Support for custom logos replacing the default ClickTerm branding in the dialog
- Server-driven agreement mode — Scroll vs. checkbox mode is now controlled via backend customization settings instead of client-side configuration
- Resolved language from server — The SDK now uses the server-resolved language for dialog translations, ensuring consistency with template content
Migration from v1.2
Web SDK: Update your script tag:What’s new
- Multi-language support — Dialog UI strings (buttons, prompts, labels) are now translatable. Translations are loaded remotely at initialization with fallback to English
- Supported languages at launch: English, German, French, Spanish, Chinese, Hindi, Russian
- Language can be specified per request via the
languageparameter - Language fallback chain: requested language → app locale → device locale → English
What’s fixed
- Modal responsiveness — Improved dialog sizing on different screen sizes
- Version display — Dialog subtitle now shows the template version number (format:
Published on: {date} | Version: {major}.{minor}) - Null safety (Android) — Fixed potential crash when content parameter is null in subtitle builder
What’s new
- Clickwrap dialog redesign — Full consent dialog UI with open/close animations, scroll tracking, and HTML content rendering
- Two agreement modes —
scroll(accept enabled after scrolling to bottom) andcheckbox(consent checkbox must be checked), configurable viaClicktermDialogConfig showAcceptedContent()— New method for reviewing previously accepted content in a read-only dialog- Promise-based API (Web) and listener callbacks (Android)
What’s changed
- API endpoint versioned — Paths updated from
/public-client/clickwrapto/public-client/v1/clickwrap - Field renames per glossary —
endUser→endUserId,templateId→clickwrapTemplateId,templateParams→templatePlaceholders - Minor version tracking — Added
clickwrapTemplateVersionMinorfield to event and template responses - Improved error handling (Android) — Structured error messages parsed from API response body
Endpoints
POST /clickwrap/verify— Signature verificationGET /clickwrap-events/{id}/details— Event detailsGET /clickwrap-events/{id}/certificate— Certificate of Acceptance download (PDF)GET /clickwrap-events/{id}/agreement— Clickwrap Agreement download (PDF)GET /clickwraps/{endUserId}/status— Consent status checkGET /clickwrap-templates— Template discovery with tag filtering

