Etsy · Arazzo Workflow

Etsy Shop Reviews Overview

Version 1.0.0

Resolve the authenticated seller's shop and pull its reviews.

1 workflow 1 source API 1 provider
View Spec View on GitHub MarketplaceEcommerceHandmadeListingsOrdersPaymentsReviewsShippingTaxonomyOAuth2ArazzoWorkflows

Provider

etsy

Workflows

shop-reviews-overview
Pull the authenticated seller's shop reviews starting from their token.
Identifies the authenticated user, resolves their shop, and retrieves the shop's reviews.
3 steps inputs: accessToken, apiKey, limit, offset outputs: count, reviewAverage, reviews, shopId
1
whoAmI
getMe
Fetch the authenticated user's own user and shop IDs.
2
resolveShop
getShopByOwnerUserId
Resolve the shop record for the authenticated owner's user ID.
3
getReviews
getReviewsByShop
Retrieve the reviews left on the resolved shop.

Source API Descriptions

Arazzo Workflow Specification

etsy-shop-reviews-overview-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Etsy Shop Reviews Overview
  summary: Resolve the authenticated seller's shop and pull its reviews.
  description: >-
    A read-only reputation flow. It calls users/me to identify the
    authenticated user, resolves the owner's shop record, and retrieves the
    reviews left on that shop with paging controls. Every step spells out its
    request inline — including the x-api-key and OAuth bearer headers — so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: etsyApi
  url: ../openapi/etsy-openapi-original.yml
  type: openapi
workflows:
- workflowId: shop-reviews-overview
  summary: Pull the authenticated seller's shop reviews starting from their token.
  description: >-
    Identifies the authenticated user, resolves their shop, and retrieves the
    shop's reviews.
  inputs:
    type: object
    required:
    - apiKey
    - accessToken
    properties:
      apiKey:
        type: string
        description: The Etsy app API key sent in the x-api-key header.
      accessToken:
        type: string
        description: The OAuth 2.0 bearer token for the authenticated seller.
      limit:
        type: integer
        description: The maximum number of reviews to return.
        default: 25
      offset:
        type: integer
        description: The number of records to skip before the first result.
        default: 0
  steps:
  - stepId: whoAmI
    description: Fetch the authenticated user's own user and shop IDs.
    operationId: getMe
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
  - stepId: resolveShop
    description: Resolve the shop record for the authenticated owner's user ID.
    operationId: getShopByOwnerUserId
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: user_id
      in: path
      value: $steps.whoAmI.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      shopId: $response.body#/shop_id
      reviewCount: $response.body#/review_count
      reviewAverage: $response.body#/review_average
  - stepId: getReviews
    description: Retrieve the reviews left on the resolved shop.
    operationId: getReviewsByShop
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: shop_id
      in: path
      value: $steps.resolveShop.outputs.shopId
    - name: limit
      in: query
      value: $inputs.limit
    - name: offset
      in: query
      value: $inputs.offset
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      count: $response.body#/count
      reviews: $response.body#/results
  outputs:
    shopId: $steps.resolveShop.outputs.shopId
    reviewAverage: $steps.resolveShop.outputs.reviewAverage
    count: $steps.getReviews.outputs.count
    reviews: $steps.getReviews.outputs.reviews