Shopify 应用
Shopify 应用通过 API 扩展平台功能,可集成到商家后台或创建独立体验
#type / concept
#status / growing
#tech / dev
#resource / shopify
[!info] related notes
- 所属 MOC: Shopify MOC
- 前置概念: Shopify, Shopify 架构
- 核心 API: Shopify Admin API, Shopify Webhook
- 对比路径: Shopify 主题开发 vs 应用开发
- 实践指南: Shopify 应用开发环境搭建
Shopify 应用
一句话定义
Shopify 应用是第三方软件,通过 Shopify API 扩展平台功能,可以嵌入商家后台、添加新功能,或创建独立的用户体验。
核心机制 / 工作原理
应用的本质
Shopify 应用是运行在你自己服务器上的 Web 应用,通过 Shopify API 与商家数据交互。
架构:
商家的 Shopify 商店
↕ (OAuth 授权)
你的应用服务器 (Node.js/Ruby/Python)
↕ (GraphQL/REST)
Shopify Admin API
↕
商家的数据 (产品、订单、客户)
应用类型
-
Public App(公开应用)
- 发布到 Shopify App Store
- 任何商家可以安装
- 需要 OAuth 认证
- 可以订阅收费
-
Custom App(自定义应用)
- 只为单个商家开发
- 不需要 OAuth(使用 Access Token)
- 适合内部集成
-
Embedded App(嵌入式应用)
- 在 Shopify Admin 内嵌入你的应用界面
- 使用 App Bridge 与 Shopify 通信
- 用户体验更流畅
最小例子
使用 Shopify CLI 创建应用
npm install -g @shopify/cli
shopify app init
# 选择 Remix 模板
cd my-app
shopify app dev
获取商店产品列表
// app/routes/app.products.jsx
import { authenticate } from "../shopify.server";
export async function loader({ request }) {
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(`
query {
products(first: 10) {
edges {
node {
id
title
priceRangeV2 {
minVariantPrice {
amount
}
}
}
}
}
}
`);
const data = await response.json();
return json(data);
}
边界与易混淆点
应用 vs 主题
- 应用:扩展后台功能,运行在你的服务器
- 主题:控制店铺外观,运行在 Shopify 服务器
应用收益模式
- 订阅费(月费/年费)
- 按使用量计费
- 一次性购买
- 免费(通过其他方式变现)