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