Salla · Arazzo Workflow

Salla Shipping Zone Setup

Version 1.0.0

Register a shipping company, create a delivery zone for it, and read the zone back.

1 workflow 1 source API 1 provider
View Spec View on GitHub ArabicE-CommerceGCCHeadless CommerceMerchantMENAOnline StoresRetailSaudi ArabiaSMBStorefrontArazzoWorkflows

Provider

salla

Workflows

setup-shipping-zone
Register a shipping company and create a covered delivery zone.
Creates a shipping company, creates a delivery zone for it, and reads the zone back to confirm its coverage.
3 steps inputs: companyPayload, zonePayload outputs: zoneCountries, zoneId
1
createCompany
createShippingCompany
Register the shipping company that will own the new delivery zone.
2
createZone
createShippingZone
Create a delivery zone with its covered countries, cities, and cost.
3
getZone
getShippingZone
Read the new zone back to confirm its coverage persisted correctly.

Source API Descriptions

Arazzo Workflow Specification

salla-shipping-zone-setup-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Salla Shipping Zone Setup
  summary: Register a shipping company, create a delivery zone for it, and read the zone back.
  description: >-
    The onboarding flow a shipping app runs to publish its coverage on a Salla
    store. A shipping company is registered, a delivery zone with its covered
    countries and cost is created, and the new zone is read back to confirm its
    coverage persisted correctly. 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
sourceDescriptions:
- name: shippingApi
  url: ../openapi/salla-shipping-fulfillment-api-openapi.yml
  type: openapi
workflows:
- workflowId: setup-shipping-zone
  summary: Register a shipping company and create a covered delivery zone.
  description: >-
    Creates a shipping company, creates a delivery zone for it, and reads the
    zone back to confirm its coverage.
  inputs:
    type: object
    required:
    - companyPayload
    - zonePayload
    properties:
      companyPayload:
        type: object
        description: The shipping company body (name, logo, settings) to register.
      zonePayload:
        type: object
        description: The shipping zone body (name, countries, cities, cost) to create.
  steps:
  - stepId: createCompany
    description: >-
      Register the shipping company that will own the new delivery zone.
    operationId: createShippingCompany
    requestBody:
      contentType: application/json
      payload: $inputs.companyPayload
    successCriteria:
    - condition: $statusCode == 201
  - stepId: createZone
    description: >-
      Create a delivery zone with its covered countries, cities, and cost.
    operationId: createShippingZone
    requestBody:
      contentType: application/json
      payload: $inputs.zonePayload
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      zoneId: $response.body#/id
  - stepId: getZone
    description: >-
      Read the new zone back to confirm its coverage persisted correctly.
    operationId: getShippingZone
    parameters:
    - name: zone_id
      in: path
      value: $steps.createZone.outputs.zoneId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      name: $response.body#/name
      countries: $response.body#/countries
      cost: $response.body#/cost
  outputs:
    zoneId: $steps.createZone.outputs.zoneId
    zoneCountries: $steps.getZone.outputs.countries