Didomi · Arazzo Workflow

Didomi Classify a Vendor and Register a Cookie

Version 1.0.0

Create a vendor taxonomy item, register a cookie classified with it, and read the cookie back.

1 workflow 1 source API 1 provider
View Spec View on GitHub AdvertisingAdTechCCPACMPConsentConsent ManagementDSARData PrivacyGDPRIAB TCFMarTechPreference ManagementPrivacyPrivacy RequestsRegulatory ComplianceArazzoWorkflows

Provider

didomi

Workflows

classify-and-register-cookie
Create a vendor taxonomy item, register a cookie classified with it, and read the cookie back.
Creates a vendor taxonomy item, registers a cookie on a property using the new taxonomy item as its classification, and retrieves the cookie by ID to confirm it was persisted.
3 steps inputs: cookieDomain, cookieName, propertyId, taxonomyItemId, taxonomyItemName, token outputs: cookieId, taxonomyId
1
createTaxonomyItem
{$sourceDescriptions.didomiApi.url}#/paths/~1taxonomies~1vendors/post
Create a vendor taxonomy item. id and name are both required by the TaxonomyVendorInput schema.
2
registerCookie
{$sourceDescriptions.didomiApi.url}#/paths/~1cookies/post
Register a cookie on the property, classifying it with the taxonomy item created above. name, domain, taxonomy_id and property_id are required by the CookieInput schema.
3
getCookie
{$sourceDescriptions.didomiApi.url}#/paths/~1cookies~1{id}/get
Read the cookie back by its ID to confirm it was registered with the new classification.

Source API Descriptions

Arazzo Workflow Specification

didomi-classify-and-register-cookie-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Didomi Classify a Vendor and Register a Cookie
  summary: Create a vendor taxonomy item, register a cookie classified with it, and read the cookie back.
  description: >-
    A Didomi pattern that prepares the classification a cookie needs before it can
    be catalogued. The workflow creates a vendor taxonomy item, registers a cookie
    on a property that references the new taxonomy item, and reads the cookie back
    by its ID to confirm registration. Each step spells out its request inline,
    including the bearer Authorization header, so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: didomiApi
  url: ../openapi/didomi-platform-api-openapi.yml
  type: openapi
workflows:
- workflowId: classify-and-register-cookie
  summary: Create a vendor taxonomy item, register a cookie classified with it, and read the cookie back.
  description: >-
    Creates a vendor taxonomy item, registers a cookie on a property using the new
    taxonomy item as its classification, and retrieves the cookie by ID to confirm
    it was persisted.
  inputs:
    type: object
    required:
    - token
    - taxonomyItemId
    - taxonomyItemName
    - propertyId
    - cookieName
    - cookieDomain
    properties:
      token:
        type: string
        description: A valid Didomi JWT used as the bearer token for the Authorization header.
      taxonomyItemId:
        type: string
        description: The ID to assign to the new vendor taxonomy item.
      taxonomyItemName:
        type: string
        description: The display name of the vendor taxonomy item.
      propertyId:
        type: string
        description: The ID of the property that sets the cookie.
      cookieName:
        type: string
        description: Name of the cookie to register.
      cookieDomain:
        type: string
        description: Domain the cookie is set on.
  steps:
  - stepId: createTaxonomyItem
    description: >-
      Create a vendor taxonomy item. id and name are both required by the
      TaxonomyVendorInput schema.
    operationPath: '{$sourceDescriptions.didomiApi.url}#/paths/~1taxonomies~1vendors/post'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    requestBody:
      contentType: application/json
      payload:
        id: $inputs.taxonomyItemId
        name: $inputs.taxonomyItemName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      taxonomyId: $response.body#/id
  - stepId: registerCookie
    description: >-
      Register a cookie on the property, classifying it with the taxonomy item
      created above. name, domain, taxonomy_id and property_id are required by the
      CookieInput schema.
    operationPath: '{$sourceDescriptions.didomiApi.url}#/paths/~1cookies/post'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.cookieName
        domain: $inputs.cookieDomain
        taxonomy_id: $steps.createTaxonomyItem.outputs.taxonomyId
        property_id: $inputs.propertyId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      cookieId: $response.body#/id
  - stepId: getCookie
    description: >-
      Read the cookie back by its ID to confirm it was registered with the new
      classification.
    operationPath: '{$sourceDescriptions.didomiApi.url}#/paths/~1cookies~1{id}/get'
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.token"
    - name: id
      in: path
      value: $steps.registerCookie.outputs.cookieId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      cookieId: $response.body#/id
  outputs:
    taxonomyId: $steps.createTaxonomyItem.outputs.taxonomyId
    cookieId: $steps.getCookie.outputs.cookieId