Link to the hosted pages
Link to the privacy notice, rights request form and "Your consents" page your deployment serves, from your site and your emails.
Your deployment serves a privacy notice, a rights request form and a personal Your consents page, so you do not have to build them. They use your organisation's name, contact details and accent colour from the console's settings.
The pages#
All addresses start with https://console.dpconsent.com/consent.
| Page | Address | Where the link comes from |
|---|---|---|
| Privacy notice | /sdk/v1/pages/<publishable key>/privacy |
You build it from your publishable key |
| Rights request form | /sdk/v1/pages/<publishable key>/request |
You build it from your publishable key |
| Request confirmation | /sdk/v1/pages/verify-request?token=… |
The subject_request.received webhook |
| Request status and reply | /sdk/v1/pages/request-status?token=… |
statusUrl in subject_request.received and subject_request.completed |
| Your consents | /sdk/v1/pages/my-consents?token=… |
consentPortalLink |
| Unsubscribe | /sdk/v1/pages/unsubscribe?token=… |
unsubscribeLink |
| Email confirmation | /sdk/v1/email-consent/verify?token=… |
startEmailConsent |
The first two carry your publishable key, which is public. Any enabled key of the project works, test or live. The others open with a signed token and need no key.
Link the public pages from your site#
-
On your server, build the two addresses from your publishable key.
Node.jsJavaScript const key = encodeURIComponent(process.env.PIEDAP_PUBLISHABLE_KEY); const base = `${process.env.PIEDAP_API_URL}/sdk/v1/pages/${key}`; export const privacyNoticeUrl = `${base}/privacy`; export const rightsRequestUrl = `${base}/request`;Python import os from urllib.parse import quote key = quote(os.environ["PIEDAP_PUBLISHABLE_KEY"], safe="") base = f"{os.environ['PIEDAP_API_URL']}/sdk/v1/pages/{key}" privacy_notice_url = f"{base}/privacy" rights_request_url = f"{base}/request" -
In your page footer, add both links next to the link that reopens the banner.
HTML <a href="#" data-piedap-open>Cookie settings</a> <a href="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/privacy"> Privacy notice </a> <a href="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/request"> Make a rights request </a> -
To open a page in a known language, add
langto the link, such as?lang=ta. -
Open both links and check your organisation's name and contact details.
The privacy notice is drawn from your purposes, partners and cookie list on each request, so it stays in step with the console. The request form files a request in the console and sends a subject_request.received webhook. You email its verificationUrl to the person.
Send a "Your consents" link#
On this page a person sees every consent held for them, withdraws any of them and downloads their records. Ask for a link from your server.
const { url, expiresOn } = await client.consentPortalLink(
'usr_8f2K1xQz',
'USER_ID',
);link = client.consent_portal_link("usr_8f2K1xQz", "USER_ID")
url, expires_on = link["url"], link["expiresOn"]curl -X POST https://console.dpconsent.com/consent/sdk/v1/pages/consent-portal-links \
-H "Authorization: Bearer $PIEDAP_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{ "subjectId": "usr_8f2K1xQz", "subjectType": "USER_ID" }'- The link works for seven days. Make a new one each time you send it.
- The page shows live records only. A link for an identifier with only test records shows an empty list.
Give the link only to the person it is about
Anyone who holds the link can withdraw that person's consents. Send it to an address you have verified, or show it only to a signed-in user.
Language and framing#
How the language is chosen
The pages speak 46 languages, among them English and the 22 languages of the Eighth Schedule to the Constitution of India. The order is ?lang= in the address, then the browser's Accept-Language header, then English. lang works on every page except the email confirmation page, which is in English only.
Show a page in a frame
The pages may be framed on any site. They load no scripts, images or fonts, and their forms post only to your deployment. If your site sends a Content Security Policy, allow the frame with frame-src https://console.dpconsent.com/consent. A frame suits the privacy notice and the request form. Use plain links for the token pages.
<iframe
src="https://console.dpconsent.com/consent/sdk/v1/pages/pk_…/privacy?lang=en"
title="Privacy notice"
width="100%"
height="900"
loading="lazy"></iframe>