Shopify Admin API是否有通过ID获取折扣码的GraphQL接口
关于通过折扣码ID直查Shopify Admin GraphQL折扣码信息的解答
你通过priceRuleDiscountCodeCreate接口创建的折扣码,旧版根查询字段discountCode确实不支持直接传入折扣码ID查询,该字段属于历史兼容设计,强制要求传入关联的价格规则ID作为查询条件,你可以选择以下两种适配方案:
- 通用兼容方案:使用Shopify GraphQL全局通用的
node查询接口
所有Shopify Admin API支持的资源只要实现了Node接口,都可以通过该接口直接传入资源全局ID(即priceRuleDiscountCodeCreate接口返回的gid://shopify/DiscountCode/xxx格式ID)查询,无需额外传入价格规则ID,示例查询代码如下:
该方案兼容2020-01之后的所有稳定版API版本,无版本兼容问题。query GetDiscountCodeById($discountCodeId: ID!) { node(id: $discountCodeId) { ... on DiscountCode { id code usageCount createdAt updatedAt # 关联的价格规则信息可按需拓展字段 priceRule { id title targetType value startsAt endsAt } } } } - 新版专用查询字段(2024-01及以上API版本可用)
从2024-01版本开始,Shopify新增了专门的根查询字段discountCodeNode,入参仅需传入折扣码ID即可直接获取对应信息,示例查询代码如下:query GetDiscountCodeNode($discountCodeId: ID!) { discountCodeNode(id: $discountCodeId) { id code usageCount priceRule { id title } } }
注意:调用时请确认传入的是折扣码的全局GID,而非纯数字格式的内部ID,否则会返回资源不存在的报错。
内容的提问来源于stack exchange,提问作者Test Test
相关产品推荐
相关产品推荐

