Shopper Approved · Capability

Shopper Approved Review Management

Workflow capability for managing customer reviews and ratings through Shopper Approved. Covers review collection via order submission, review retrieval for display, product review management, site statistics for reporting, and review follow-up scheduling for merchants and developers integrating Shopper Approved into their e-commerce platforms.

Run with Naftiko ReviewsRatingsEcommerceCustomer FeedbackSocial ProofGoogle Seller Ratings

What You Can Do

GET
Get site stats — Get overall site rating, review count, and star distribution
/v1/stats
GET
List reviews — List customer reviews with date range and pagination
/v1/reviews
GET
Get review — Retrieve a specific customer review
/v1/reviews/{id}
PUT
Update review — Reschedule or cancel a review follow-up
/v1/reviews/{id}
GET
List product reviews — List product reviews across the catalog
/v1/product-reviews
POST
Submit order — Submit a completed order to trigger review request
/v1/orders

MCP Tools

get-site-stats

Get overall site review statistics including average rating and count by star level

read-only
list-reviews

List customer site reviews with optional date range filtering and page navigation

read-only
get-review

Retrieve a specific customer review by its order ID

read-only
list-product-reviews

List product-level reviews for display on product detail pages

read-only
submit-order

Submit a completed order to trigger a review collection email at a specified follow-up date

update-review

Update a review's follow-up date or cancel the review request

idempotent

Capability Spec

review-management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Shopper Approved Review Management
  description: Workflow capability for managing customer reviews and ratings through Shopper Approved. Covers review collection
    via order submission, review retrieval for display, product review management, site statistics for reporting, and review
    follow-up scheduling for merchants and developers integrating Shopper Approved into their e-commerce platforms.
  tags:
  - Reviews
  - Ratings
  - Ecommerce
  - Customer Feedback
  - Social Proof
  - Google Seller Ratings
  created: '2026-05-02'
  modified: '2026-05-06'
binds:
- namespace: env
  keys:
    SHOPPER_APPROVED_SITE_ID: SHOPPER_APPROVED_SITE_ID
    SHOPPER_APPROVED_TOKEN: SHOPPER_APPROVED_TOKEN
capability:
  consumes:
  - type: http
    namespace: shopper-approved
    baseUri: https://api.shopperapproved.com
    description: Shopper Approved Review Management API
    authentication:
      type: apikey
      key: token
      value: '{{env.SHOPPER_APPROVED_TOKEN}}'
      placement: query
    resources:
    - name: site-stats
      path: /aggregates/{{env.SHOPPER_APPROVED_SITE_ID}}
      description: Site review statistics and aggregate ratings
      operations:
      - name: get-site-stats
        method: GET
        description: Retrieve aggregated review statistics for the site
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: reviews
      path: /reviews/{{env.SHOPPER_APPROVED_SITE_ID}}
      description: Customer site reviews
      operations:
      - name: list-reviews
        method: GET
        description: Retrieve a list of customer reviews
        inputParameters:
        - name: from
          in: query
          type: string
          required: false
          description: Start date for reviews (YYYY-MM-DD)
        - name: limit
          in: query
          type: integer
          required: false
          description: Maximum number of reviews to return
        - name: page
          in: query
          type: integer
          required: false
          description: Page number for pagination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: review-detail
      path: /reviews/{{env.SHOPPER_APPROVED_SITE_ID}}/{review_id}
      description: Specific customer review by ID
      operations:
      - name: get-review
        method: GET
        description: Retrieve a specific review by order ID
        inputParameters:
        - name: review_id
          in: path
          type: string
          required: true
          description: The order ID of the review
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: review-update
      path: /reviews/{{env.SHOPPER_APPROVED_SITE_ID}}/{review_id}/update
      description: Update review follow-up details
      operations:
      - name: update-review
        method: PUT
        description: Update a review's follow-up date or cancellation status
        inputParameters:
        - name: review_id
          in: path
          type: string
          required: true
          description: The order ID of the review to update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        body:
          type: json
          data:
            followup: '{{tools.followup}}'
            cancelled: '{{tools.cancelled}}'
    - name: orders
      path: /orders/{{env.SHOPPER_APPROVED_SITE_ID}}
      description: Submit orders for review collection
      operations:
      - name: submit-order
        method: POST
        description: Submit an order to trigger a review request email
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        body:
          type: json
          data:
            orderid: '{{tools.orderid}}'
            email: '{{tools.email}}'
            name: '{{tools.name}}'
            date: '{{tools.date}}'
            followup: '{{tools.followup}}'
            products: '{{tools.products}}'
    - name: product-reviews
      path: /products/{{env.SHOPPER_APPROVED_SITE_ID}}
      description: Product-specific reviews
      operations:
      - name: list-product-reviews
        method: GET
        description: Retrieve product reviews for the site
        inputParameters:
        - name: from
          in: query
          type: string
          required: false
          description: Start date for product reviews
        - name: limit
          in: query
          type: integer
          required: false
          description: Maximum number of reviews to return
        - name: page
          in: query
          type: integer
          required: false
          description: Page number
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: shopper-approved-review-management-api
    description: Unified REST API for Shopper Approved review management workflows.
    resources:
    - path: /v1/stats
      name: stats
      description: Site review statistics for dashboards and reporting
      operations:
      - method: GET
        name: get-site-stats
        description: Get overall site rating, review count, and star distribution
        call: shopper-approved.get-site-stats
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews
      name: reviews
      description: Customer site reviews for display and analysis
      operations:
      - method: GET
        name: list-reviews
        description: List customer reviews with date range and pagination
        call: shopper-approved.list-reviews
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/reviews/{id}
      name: review-detail
      description: Individual review management
      operations:
      - method: GET
        name: get-review
        description: Retrieve a specific customer review
        call: shopper-approved.get-review
        with:
          review_id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: update-review
        description: Reschedule or cancel a review follow-up
        call: shopper-approved.update-review
        with:
          review_id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/product-reviews
      name: product-reviews
      description: Product-specific reviews for PDP display
      operations:
      - method: GET
        name: list-product-reviews
        description: List product reviews across the catalog
        call: shopper-approved.list-product-reviews
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orders
      name: orders
      description: Order submission for review collection
      operations:
      - method: POST
        name: submit-order
        description: Submit a completed order to trigger review request
        call: shopper-approved.submit-order
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: shopper-approved-review-management-mcp
    transport: http
    description: MCP server for AI-assisted Shopper Approved review management.
    tools:
    - name: get-site-stats
      description: Get overall site review statistics including average rating and count by star level
      hints:
        readOnly: true
        openWorld: true
      call: shopper-approved.get-site-stats
      outputParameters:
      - type: object
        mapping: $.
    - name: list-reviews
      description: List customer site reviews with optional date range filtering and page navigation
      hints:
        readOnly: true
        openWorld: true
      call: shopper-approved.list-reviews
      outputParameters:
      - type: object
        mapping: $.
    - name: get-review
      description: Retrieve a specific customer review by its order ID
      hints:
        readOnly: true
        openWorld: true
      call: shopper-approved.get-review
      with:
        review_id: tools.review_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-product-reviews
      description: List product-level reviews for display on product detail pages
      hints:
        readOnly: true
        openWorld: true
      call: shopper-approved.list-product-reviews
      outputParameters:
      - type: object
        mapping: $.
    - name: submit-order
      description: Submit a completed order to trigger a review collection email at a specified follow-up date
      hints:
        readOnly: false
        destructive: false
      call: shopper-approved.submit-order
      with:
        orderid: tools.orderid
        email: tools.email
        name: tools.name
        date: tools.date
        followup: tools.followup
        products: tools.products
      outputParameters:
      - type: object
        mapping: $.
    - name: update-review
      description: Update a review's follow-up date or cancel the review request
      hints:
        readOnly: false
        idempotent: true
      call: shopper-approved.update-review
      with:
        review_id: tools.review_id
        followup: tools.followup
        cancelled: tools.cancelled
      outputParameters:
      - type: object
        mapping: $.