Data Contract

drn:decathlon-com:member::consents:Didomi:sha256/ba048c47595a15f053104159c1b305953bf3388951460a2a8ad4399fd0c399d5 Data Contract Specification v1.1.0
Decathlon

Info

Information about the data contract

Title
com.decathlon.member.consent.streaming:consent-public-avro-schema
Version
1.27.0-SNAPSHOT
Status
active
Owner
Decathlon | Consent Team
groupId
com.decathlon.member.consent.streaming
artifactId
consent-public-avro-schema

Servers

Servers of the data contract

  • Server
    preproduction-europe
    Environment
    preproduction
    Type
    kafka
    Host
    ${member_streaming_platform_kafka_preprod_europe_url}
    Topic
    europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
    Format
    avro
  • Server
    load-europe
    Environment
    load
    Type
    kafka
    Host
    ${member_streaming_platform_kafka_load_eu_url}
    Topic
    europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
    Format
    avro
  • Server
    production-europe
    Environment
    production
    Type
    kafka
    Host
    ${member_streaming_platform_kafka_prod_europe_url}
    Topic
    europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
    Format
    avro

Entity Relationship Diagram

Visual representation of data model relationships

                    erDiagram
	"**DidomiRecord**" {
	organization_id string
	status string
	metadata record
	user record
	consents record
}


                  

Data Model

The logical data model

DidomiRecord None
The record containing a Didomi event to udpdate a consent value of a purpose/channel
topics: [{'name': 'europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro', 'compatibility': 'BACKWARD', 'retention': '7d'}]
organization_id
string
The id of Decathlon account
status
string
The status of the event
metadata
record
Metadata information about the event context and processing
name:EventMetadata
 
application_country_code
string
The application country code, The value must be a two-letter country code in accordance with the ISO 3166-1 Alpha-2 standard.
user
record
The user whom we update the consents
name:User
 
organization_user_id
string
The member UUID
consents
record
All the consents to declare for the member
name:Consent
 
channels
array
An array of channels with the associated consent value
 
 
items
object
No description
name:Channel
 
 
 
id
string
The channel id
 
 
 
enabled
boolean
Activation/Deactivation value of the channel
 
 
 
metadata
object
The metadata sent with the consent update
name:Metadata
 
 
 
 
action_date
string
The date of the consent update
 
 
 
 
created_by
string
The identifier of who is performing the event creation (it can be a user or a machine)
 
 
 
 
created_from
string
The client's identifier used to perform the event creation
 
purposes
array
An array of purposes with the associated consent value
 
 
items
object
No description
name:Purpose
 
 
 
id
string
The purpose id
 
 
 
enabled
boolean
Activation/Deactivation value of the purpose
 
 
 
metadata
com.decathlon.member.consent.streaming.didomi.infrastructure.Metadata
The metadata sent with the consent update
Created at 10 Feb 2026 16:54:23 UTC with Data Contract CLI v0.10.35
dataContractSpecification: 1.1.0
id: drn:decathlon-com:member::consents:Didomi:sha256/ba048c47595a15f053104159c1b305953bf3388951460a2a8ad4399fd0c399d5
info:
  title: com.decathlon.member.consent.streaming:consent-public-avro-schema
  version: 1.27.0-SNAPSHOT
  status: active
  owner: Decathlon | Consent Team
  contact:
    name: CE-MEMBER-CONSENTS
    url: https://decathlondigital.slack.com/archives/C043NC82JCR
    email: [email protected]
  groupId: com.decathlon.member.consent.streaming
  artifactId: consent-public-avro-schema
servers:
  preproduction-europe:
    type: kafka
    environment: preproduction
    format: avro
    host: ${member_streaming_platform_kafka_preprod_europe_url}
    topic: europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
  load-europe:
    type: kafka
    environment: load
    format: avro
    host: ${member_streaming_platform_kafka_load_eu_url}
    topic: europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
  production-europe:
    type: kafka
    environment: production
    format: avro
    host: ${member_streaming_platform_kafka_prod_europe_url}
    topic: europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
models:
  DidomiRecord:
    description: The record containing a Didomi event to udpdate a consent value of
      a purpose/channel
    namespace: com.decathlon.member.consent.streaming.didomi.infrastructure
    fields:
      organization_id:
        type: string
        required: false
        description: The id of Decathlon account
        config:
          avroDefault: null
      status:
        type: string
        required: false
        description: The status of the event
        config:
          avroDefault: null
      metadata:
        type: record
        required: false
        description: Metadata information about the event context and processing
        fields:
          application_country_code:
            type: string
            required: false
            description: The application country code, The value must be a two-letter
              country code in accordance with the ISO 3166-1 Alpha-2 standard.
            config:
              avroDefault: null
        config:
          avroDefault: null
        name: EventMetadata
      user:
        type: record
        required: false
        description: The user whom we update the consents
        fields:
          organization_user_id:
            type: string
            required: false
            description: The member UUID
            config:
              avroDefault: null
        config:
          avroDefault: null
        name: User
      consents:
        type: record
        required: false
        description: All the consents to declare for the member
        fields:
          channels:
            type: array
            required: false
            description: An array of channels with the associated consent value
            items:
              type: object
              fields:
                id:
                  type: string
                  required: false
                  description: The channel id
                  config:
                    avroDefault: null
                enabled:
                  type: boolean
                  required: false
                  description: Activation/Deactivation value of the channel
                  config:
                    avroDefault: null
                metadata:
                  type: object
                  required: false
                  description: The metadata sent with the consent update
                  fields:
                    action_date:
                      type: string
                      required: false
                      description: The date of the consent update
                      config:
                        avroDefault: null
                    created_by:
                      type: string
                      required: false
                      description: The identifier of who is performing the event creation
                        (it can be a user or a machine)
                      config:
                        avroDefault: null
                    created_from:
                      type: string
                      required: false
                      description: The client's identifier used to perform the event
                        creation
                      config:
                        avroDefault: null
                  config:
                    avroDefault: null
                  name: Metadata
              name: Channel
            config:
              avroDefault: null
          purposes:
            type: array
            required: false
            description: An array of purposes with the associated consent value
            items:
              type: object
              fields:
                id:
                  type: string
                  required: false
                  description: The purpose id
                  config:
                    avroDefault: null
                enabled:
                  type: boolean
                  required: false
                  description: Activation/Deactivation value of the purpose
                  config:
                    avroDefault: null
                metadata:
                  type: com.decathlon.member.consent.streaming.didomi.infrastructure.Metadata
                  required: false
                  description: The metadata sent with the consent update
                  config:
                    avroDefault: null
              name: Purpose
            config:
              avroDefault: null
        config:
          avroDefault: null
        name: Consent
    config:
      topics:
      - name: europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
        compatibility: BACKWARD
        retention: 7d
    topics:
    - name: europe.dkt-member.consents.private.stream.didomi-event.normalized.v1.avro
      compatibility: BACKWARD
      retention: 7d
links:
  repo: https://github.com/dktunited/consent-management-streaming-avro-schemas
tags:
- Decathlon