Didomi - Developers documentation
  • Introduction
  • SDKs
    • Introduction
    • Web SDK
      • Getting started
      • Tags and vendors management
        • Tags management
          • Events & Variables
            • Deprecated
            • Custom events
          • Tag managers
            • Adobe Launch/DTM
            • Eulerian
            • Google Tag Manager
              • Configure the Didomi / GTM integration
              • Didomi's GTM template
            • Tealium
            • Other tag managers
        • Custom Didomi <script> tags
        • Third-party integrations
          • Google Ad Manager / AdSense
            • GDPR via Non-Personalized Ads
              • Share consent and load/refresh ads
              • Share consent without loading or refreshing ads
            • US states laws
          • Google Consent Mode V2
          • Kameleoon
          • Piano Analytics (AT Internet)
          • Prebid
            • GDPR via IAB TCF
            • US states laws
          • Salesforce DMP (Krux)
        • IAB frameworks
        • Programmatic API
      • Configuration
        • Bots (SEO & Performance tools)
        • Configuration by URL
        • Cookies and storage
        • Custom domains for events
        • Notice
          • Behavior
          • Interactions
          • Look and feel
        • Preferences
        • Theme
      • AB tests
      • Custom domain
        • Domain delegation
        • Reverse proxy
      • Share consents between domains
      • Share consents across devices
      • Pass user choices in query string
      • Serve Didomi assets from your domain
      • Reference
        • API
          • Deprecated
        • Events
      • Performance
      • Versions
    • Mobile and TV SDKs
      • Android and Android TV
        • Setup
        • Logging
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • iOS and tvOS
        • Setup
        • Logging
        • App Tracking Transparency (iOS 14.5+)
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • Unity
        • Setup
        • Reference
        • Versions
        • Troubleshooting
      • React Native
        • Setup
        • Reference
          • Deprecated
        • Versions
      • Flutter
        • Setup
        • Reference
        • Versions
      • Consent notice
        • Getting started
        • Customize the notice
        • Customize the preferences popup
        • Customize the theme & UI
        • Load notice by ID
      • Third-party SDKs
      • Share consents across devices
      • Share consent with WebViews
      • Google Consent Mode v2
      • FAQ
    • AMP SDK
      • Blocking Behaviors
        • Load immediately on page load
        • Load only after consent (positive or negative)
        • Load only after positive consent
      • Consent status for vendors
    • Help & Support
  • API
    • Introduction
      • Authentication
      • Errors
      • Pagination
      • Filters
      • Caching
      • Rate limiting
      • Quotas
      • Translations
    • Data Manager
      • Regulations
      • Configuration Tree
      • Purposes
        • Purposes & Vendors Numerical IDs
      • Preferences Library
      • User Rights
    • Widgets
      • Consent notices
        • Notices
        • Configurations
        • Multi-Regulation Configurations
          • Migration of Existing Notices and API Updates
        • Deployments
        • Tutorials
          • Create and publish a consent notice
          • Create and publish a multi-regulation consent notice
      • Privacy widgets
        • Create a widget
        • Retrieve widgets
        • Edit a widget
          • Content & Design
            • Themes & Shapes
            • Components
              • auth
              • dsar_form
              • footer
              • header
              • preference
              • preference_value
              • save
              • section
              • sections
            • Options
          • Purposes & preferences
          • Settings
        • Deploy a Widget
          • Use your own subdomain
          • Use your own domain
          • Implement an embeddable widget on your website
        • Authentication
          • Manage authentication providers
          • Authenticate your end-user
        • Archive a widget
        • Headless widgets
          • Public Methods
          • Custom elements
          • Custom events
          • Event listeners
        • Tutorial
          • Launch a Preference Center from a mobile app
    • Compliance Reports
      • Properties
      • Reports
      • CSV format reference
      • Websites
    • Consents and Preferences
      • Events
        • Generate IAB TCF consent string
      • Links
      • Proofs
      • Tokens
      • Secrets
      • Users
      • Tutorial
        • Collect and operate data
    • Privacy Requests
      • Requests
      • Notes
      • Links
      • Emails
  • Integrations
    • Introduction
      • Quotas
    • Generic integrations
      • Batch export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
        • Exported data
          • Notices consents
        • Logs
      • Webhooks
      • Batch import
      • Analytics export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
    • Third-party apps
      • CMP integrations
        • Didomi-mParticle integration for your CMP
        • Deploy Didomi’s SDK for your Adobe Commerce website
      • Preference Management Platform integrations
        • Actito
        • Adobe Campaign Classic
        • Adobe Experience Cloud
        • Adobe Marketo Engage
        • Adobe Source Connector
        • Braze
        • Dotdigital
        • Hubspot
        • Mailchimp
        • Microsoft Dynamics 365
        • Salesforce Marketing Cloud
        • Salesforce Sales & Service Cloud
        • Selligent
        • Brevo (ex Sendinblue)
    • Tutorials
      • Configure a HTTP webhook
      • Configure a batch export
      • Configure an analytics export
    • Emailing
      • Configurations
        • Actito Email
        • Actito SMS
        • Adobe Campaign Classic
        • Adobe Campaign Standard
      • Emails
        • Templates
        • Manage your templates
Powered by GitBook
On this page
  • Draft configuration
  • Get the current draft configuration for a notice
  • Modify the draft configuration
  • What is the config field?
  • Published configurations
  • Publish a draft configuration
  1. API
  2. Widgets
  3. Consent notices

Configurations

PreviousNoticesNextMulti-Regulation Configurations

Last updated 1 year ago

A notice configuration determines the full behavior of a consent notice, including the platform that it applies to, its targeted properties, and all the configuration options for the notice (texts, buttons, etc.).

For a given notice, the full history of configurations are kept:

  • The current draft configuration that is not yet applied to the notice and can be modified to prepare for future publishing.

  • The previous published configurations that are kept for audit and compliance purposes and cannot be modified.

The /widgets/notices/configs endpoint of the API exposes the notice configurations managed by Didomi for your organizations. For a full reference of the endpoint and the resources that it returns, visit .

Draft configuration

The notice configuration that can be modified before publishing is called "draft" and is the notice configuration that is not yet deployed. If you want to modify the configuration of your notice on your websites/apps, you must first modify the draft configuration and then publish it.

Get the current draft configuration for a notice

The current draft configuration for a notice is marked with null as the value for its deployed_at field.

To identify the current draft configuration, get all the notice configurations and find the one that has deployed_at = null.

Example

GET https://api.didomi.io/v1/widgets/notices/configs
    ?organization_id=<Organization ID>
    &notice_id=<Notice ID>

{
    "total": 2,
    "limit": 100,
    "skip": 0,
    "data": [
        {
            "deployed_at": "2020-09-01T21:26:50.629Z",
            "custom_json": { ... },
            "config": { ... },
            "default": false,
            "platform": "web",
            "targets": [],
            "text_mode": "approved",
            "text_id": "W37f3Bmd",
            "full_atp": false,
            "enable_ignore_consent_before": false,
            "ignore_consent_before": null,
            "negative_action": null,
            "disagree_button_style": "secondary",
            "country": null,
            "notice_deny_applies_to_li": false,
            "preferences_deny_applies_to_li": true,
            "consent_duration": 12,
            "consent_duration_unit": "months",
            "notice_id": "GG2rdGfN",
            "organization_id": "didomi",
            "id": "tiYx2MWn",
            "created_at": "2020-07-23T09:14:26.264Z",
            "updated_at": "2020-09-01T21:26:50.701Z",
            "version": 0
        },
        {
            "deployed_at": null,
            "custom_json": { ... },
            "config": { ... },
            "default": false,
            "platform": "web",
            "targets": [
                "some.domain.test.exmpl"
            ],
            "text_mode": "approved",
            "text_id": "W37f3Bmd",
            "full_atp": false,
            "enable_ignore_consent_before": false,
            "ignore_consent_before": null,
            "negative_action": null,
            "disagree_button_style": "secondary",
            "country": null,
            "notice_deny_applies_to_li": false,
            "preferences_deny_applies_to_li": true,
            "consent_duration": 12,
            "consent_duration_unit": "months",
            "notice_id": "GG2rdGfN",
            "organization_id": "didomi",
            "id": "2fcjz7Cw",
            "created_at": "2020-09-01T21:26:50.724Z",
            "updated_at": "2021-03-24T15:56:50.461Z",
            "version": 0
        }
    ]
}

In this example, the second configuration (with ID 2fcjz7Cw) is the current draft and can be modified to prepare for publishing.

Modify the draft configuration

To update the configuration of your consent notice, you must update the draft configuration and then publish it. To update the draft configuration send a PATCH request to the current draft configuration.

Example

To modify the draft configuration, send a PATCH request with an updated configuration. Example for switching the notice to a mobile notice with a consent duration of 6 months:

PATCH https://api.didomi.io/v1/widgets/notices/configs/7bKP4CRr

{
    "platform": "app",
    "consent_duration": 6,
    "consent_duration_unit": "months"
}

What is the config field?

The full configuration of a notice is split between the config field and the other fields on the configuration object:

Didomi is in the process of transforming the config field into separate fields on configurations and will do so in a backward-compatible manner. The config field will eventually be deprecated as it proved complex to work with.

Published configurations

Configurations that are already published (or "deployed") are marked with their publishing date in the deployed_at field. A configuration that is already published cannot be modified so that it can be used as proof of how consent was collected at a given time.

Publish a draft configuration

Only draft configurations can be published. A draft configuration is marked as deployed once it is published and cannot be published or modified anymore.

To publish the current draft configuration, create a deployment for that configuration by sending a POST /widgets/notices/deployments request for that specific configuration.

After a configuration is published, the publishing date is set in its deployed_at field and that configuration cannot be modified or published anymore. A new draft configuration is automatically created for the notice as a copy of the latest published configuration. To make further changes to the notice configuration, get the new draft configuration and modify it.

Example

POST https://api.didomi.io/v1/widgets/notices/deployments

BODY
{
    "notice_id": "GG2rdGfN",
    "organization_id": "didomi",
    "production_config_id": "2fcjz7Cw",
    "message": "Description of changes included in my deployment"
}

The production_config_id should be the ID of the draft config you are publishing. message is a text field that can be used to indicate information on what changes are included in your deployment.

The config field follows the format documented for the configuration of the SDKs in our section.

The other fields of the configuration are documented in our .

https://api.didomi.io/docs/
See the API documentation for more details on using our API to get notice configurations.
See the API documentation for more details on using our API to modify a configuration.
SDKs configuration
API documentation
See the API documentation for more details on using our API to publish a configuration.