SuperAPI AI 工具集

shopify-admin-order-lookup-and-summary

办公与效率

查看项目

更新于 10-15 09:36

技能介绍

用途

该技能用于检索客户的完整订单详情,无需在 Shopify 管理界面中手动导航。适合客服人员回答客户关于订单状态、物流追踪和退款的咨询。技能直接作用于 Shopify 原生数据层,在单次操作中返回完整的订单上下文。

前置条件

  • 已认证的 Shopify CLI 会话:shopify auth login --store <domain>
  • API 权限范围:read_orders、read_customers

参数

参数 类型 必填 默认值 说明
store string 是 — 店铺域名(例如 mystore.myshopify.com)
format string 否 human 输出格式:human 或 json
dry_run bool 否 false 预览操作而不执行变更
lookup_by string 是 — order_number、email 或 phone
lookup_value string 是 — 要搜索的值(例如 #1001、jane@example.com、+15551234567)
limit integer 否 5 返回的最大订单数

工作流程

操作:orders — 查询

输入:first: <limit>,query: "name:<order_number>" 或 "email:<email>" 或 "phone:<phone>",取决于 lookup_by。

预期输出:完整订单对象,包含财务状态、履约状态、行项目、收货地址、物流追踪、退款。

GraphQL 操作

# orders:query — validated against api_version 2025-01
query OrderLookup($first: Int!, $query: String) {
  orders(first: $first, query: $query) {
    edges {
      node {
        id
        name
        createdAt
        processedAt
        displayFinancialStatus
        displayFulfillmentStatus
        totalPriceSet {
          shopMoney { amount currencyCode }
        }
        subtotalPriceSet {
          shopMoney { amount currencyCode }
        }
        totalShippingPriceSet {
          shopMoney { amount currencyCode }
        }
        totalRefundedSet {
          shopMoney { amount currencyCode }
        }
        customer {
          id
          defaultEmailAddress {
            emailAddress
          }
          firstName
          lastName
          phone
        }
        shippingAddress {
          address1
          address2
          city
          province
          country
          zip
          phone
        }
        lineItems(first: 50) {
          edges {
            node {
              title
              quantity
              variant {
                sku
                price
              }
              fulfillmentStatus
            }
          }
        }
        fulfillments {
          trackingInfo {
            number
            url
            company
          }
          status
          createdAt
        }
        refunds {
          createdAt
          totalRefundedSet {
            shopMoney { amount currencyCode }
          }
        }
        note
        tags
      }
    }
  }
}

会话跟踪

Claude 必须在每个阶段输出以下内容,这是强制要求。

开始时输出:

╔══════════════════════════════════════════════╗
║  SKILL: order-lookup-and-summary             ║
║  Store: <store domain>                       ║
║  Started: <YYYY-MM-DD HH:MM UTC>             ║
╚══════════════════════════════════════════════╝

每步之后输出:

[N/TOTAL] <QUERY|MUTATION>  <OperationName>
          → Params: <brief summary of key inputs>
          → Result: <count or outcome>

完成时输出:

对于 format: human(默认):

══════════════════════════════════════════════
OUTCOME SUMMARY
  Orders found:   <n>
  Errors:         0
  Output:         none
══════════════════════════════════════════════

对于 format: json,输出:

{
  "skill": "order-lookup-and-summary",
  "store": "<domain>",
  "started_at": "<ISO8601>",
  "completed_at": "<ISO8601>",
  "dry_run": false,
  "steps": [
    { "step": 1, "operation": "OrderLookup", "type": "query", "params_summary": "lookup_by: <type>, lookup_value: <value>, limit: <n>", "result_summary": "<n> orders", "skipped": false }
  ],
  "outcome": {
    "orders_found": 0,
    "errors": 0,
    "output_file": null
  }
}

输出格式

对找到的每个订单提供人类可读的格式化摘要(不是 CSV)。对每个订单,Claude 呈现:订单号、日期、财务和履约状态、客户详情、行项目、收货地址、物流追踪号以及任何退款。对于 format: json,输出原始订单对象数组。

错误处理

错误 原因 恢复方式
未返回订单 查找值无匹配 验证查找值格式(订单号必须包含 #,例如 #1001)
lookup_by 无效 值不是 order_number、email 或 phone 使用三个可接受值之一
速率限制(429) 请求过多 减少 limit 或等待后重试

最佳实践

  • 订单号查找需要 # 前缀(例如 #1001),它映射到 GraphQL 查询中的 name 字段。
  • 电话查找必须使用 E.164 格式(例如 +15551234567);部分号码不会匹配。
  • 邮箱查找会返回该客户的所有订单——如果客户订单很多,请设置 limit 以检索超过默认的 5 条。
  • 对于 format: json,将输出通过管道传给 jq 以提取特定字段供下游脚本使用。
  • 该技能为只读——如果需要在查找订单后处理退款,请使用 refund-and-reorder 技能。