arazzo: 1.0.1
info:
title: Salla Catalog Taxonomy Setup
summary: Create a brand and category, then create a product assigned to both.
description: >-
A catalog scaffolding flow for a new Salla store. A brand is created, a
category is created, and a product is then created and assigned to the new
category so the taxonomy and the product land together in one pass. Each
step spells out its request inline so the flow can be read and executed
without opening the underlying OpenAPI description.
version: 1.0.0
x-realizes-capability-ids:
- BC-2370.10
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-2370.10
capability_name: Item Master Data Management
spec: salla-products-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: brandsApi
url: ../openapi/salla-brands-api-openapi.yml
type: openapi
- name: categoriesApi
url: ../openapi/salla-categories-api-openapi.yml
type: openapi
- name: productsApi
url: ../openapi/salla-products-api-openapi.yml
type: openapi
workflows:
- workflowId: setup-catalog-taxonomy
summary: Create a brand and category, then a product placed in that category.
description: >-
Creates a brand, creates a category, and creates a product assigned to the
new category and brand.
inputs:
type: object
required:
- brandPayload
- categoryPayload
- productName
- productPrice
- productType
properties:
brandPayload:
type: object
description: The brand body (name, logo, description) to create.
categoryPayload:
type: object
description: The category body (name, parent, status) to create.
productName:
type: string
description: Display name of the product to create.
productPrice:
type: number
description: Base price of the product.
productType:
type: string
description: Product type (e.g. product, service, digital).
steps:
- stepId: createBrand
description: >-
Create the brand the new product will belong to.
operationId: createBrand
requestBody:
contentType: application/json
payload: $inputs.brandPayload
successCriteria:
- condition: $statusCode == 201
outputs:
brandId: $response.body#/data/id
- stepId: createCategory
description: >-
Create the category the new product will be placed in.
operationId: createCategory
requestBody:
contentType: application/json
payload: $inputs.categoryPayload
successCriteria:
- condition: $statusCode == 201
outputs:
categoryId: $response.body#/data/id
- stepId: createProduct
description: >-
Create the product, assigning it to the freshly created brand and
category.
operationId: createProduct
requestBody:
contentType: application/json
payload:
name: $inputs.productName
price: $inputs.productPrice
product_type: $inputs.productType
brand_id: $steps.createBrand.outputs.brandId
categories:
- $steps.createCategory.outputs.categoryId
successCriteria:
- condition: $statusCode == 201
outputs:
productId: $response.body#/data/id
outputs:
brandId: $steps.createBrand.outputs.brandId
categoryId: $steps.createCategory.outputs.categoryId
productId: $steps.createProduct.outputs.productId
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.