# 店铺

> Shoplazza CLI 的 shop 命令：+upload-file 快捷命令，以及店铺设置、内容、数据分析、Metafield、市场与语言的 API 命令。

管理店铺设置、内容、数据分析、Metafield 和文件上传。包含 1 个快捷命令和 64 个 API 命令。

## 快捷命令

### +upload-file

提交文件上传任务（接受公共 URL，不接受本地文件）。

```shell
shoplazza shop +upload-file [flags]
```

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `--source-url` | string | 是 | 公共 URL（可重复指定多个文件） |
| `--folder` | string | | 目标文件夹：`all_upload` 或 `product`（默认：`all_upload`） |

```shell
shoplazza shop +upload-file --source-url "https://example.com/image.jpg"
shoplazza shop +upload-file --source-url "https://a.com/1.jpg" --source-url "https://a.com/2.jpg"
shoplazza shop +upload-file --source-url "https://..." --folder product
```

## API 命令

所有动态 API 命令共享以下参数：

| 参数 | 短参 | 说明 |
|------|------|------|
| `--params` | | 路径/查询参数（JSON 格式） |
| `--data` | | 请求体（JSON 格式） |
| `--jq` | `-q` | jq 表达式过滤输出 |
| `--dry-run` | | 预览请求，不实际执行 |

### shop info

```shell
shoplazza shop info get
shoplazza shop info update --data @shop.json
```

### shop analytics

```shell
shoplazza shop analytics overview --params '{"start_at":"2026-01-01","end_at":"2026-01-31"}'
shoplazza shop analytics by-land-page --params '{"start_at":"2026-01-01","end_at":"2026-01-31"}'
shoplazza shop analytics by-sku --params '{"start_at":"2026-01-01","end_at":"2026-01-31"}'
shoplazza shop analytics by-spu --params '{"start_at":"2026-01-01","end_at":"2026-01-31"}'
shoplazza shop analytics by-utm --params '{"start_at":"2026-01-01","end_at":"2026-01-31"}'
```

### shop blogs

```shell
shoplazza shop blogs list
shoplazza shop blogs get --params '{"blog_id":"123"}'
shoplazza shop blogs create --data @blog.json
shoplazza shop blogs update --params '{"blog_id":"123"}' --data @blog.json
shoplazza shop blogs delete --params '{"blog_id":"123"}'
shoplazza shop blogs count
```

### shop articles

```shell
shoplazza shop articles list --params '{"blog_id":"123"}'
shoplazza shop articles get --params '{"blog_id":"123","article_id":"456"}'
shoplazza shop articles create --params '{"blog_id":"123"}' --data @article.json
shoplazza shop articles update --params '{"blog_id":"123","article_id":"456"}' --data @article.json
shoplazza shop articles delete --params '{"blog_id":"123","article_id":"456"}'
shoplazza shop articles count --params '{"blog_id":"123"}'
shoplazza shop articles author
```

### shop pages

```shell
shoplazza shop pages list
shoplazza shop pages get --params '{"page_id":"123"}'
shoplazza shop pages create --data @page.json
shoplazza shop pages update --params '{"page_id":"123"}' --data @page.json
shoplazza shop pages delete --params '{"page_id":"123"}'
shoplazza shop pages batch-get --data '{"ids":["123","456"]}'
shoplazza shop pages batch-delete --data '{"ids":["123","456"]}'
shoplazza shop pages search --params '{"keyword":"about"}'
shoplazza shop pages count
```

### shop files

```shell
shoplazza shop files list
shoplazza shop files get --params '{"file_id":"123"}'
shoplazza shop files upload --data @file.json
shoplazza shop files task --params '{"task_id":"123"}'
shoplazza shop files delete --params '{"file_id":"123"}'
```

### shop redirects

```shell
shoplazza shop redirects list
shoplazza shop redirects get --params '{"redirect_id":"123"}'
shoplazza shop redirects create --data @redirect.json
shoplazza shop redirects update --params '{"redirect_id":"123"}' --data @redirect.json
shoplazza shop redirects delete --params '{"redirect_id":"123"}'
shoplazza shop redirects search --params '{"keyword":"/old-path"}'
```

### shop carrier-services

```shell
shoplazza shop carrier-services list
shoplazza shop carrier-services get --params '{"id":"123"}'
shoplazza shop carrier-services create --data @carrier.json
shoplazza shop carrier-services update --params '{"id":"123"}' --data @carrier.json
shoplazza shop carrier-services delete --params '{"id":"123"}'
```

### shop metafields-definition

```shell
shoplazza shop metafields-definition list
shoplazza shop metafields-definition get --params '{"id":"123"}'
shoplazza shop metafields-definition create --data @definition.json
shoplazza shop metafields-definition update --params '{"id":"123"}' --data @definition.json
shoplazza shop metafields-definition delete --params '{"id":"123"}'
shoplazza shop metafields-definition count
shoplazza shop metafields-definition count-by-group
```

### shop metafields-resource

```shell
shoplazza shop metafields-resource list --params '{"owner_resource":"product","owner_id":"123"}'
shoplazza shop metafields-resource get --params '{"id":"123"}'
shoplazza shop metafields-resource create --data @metafield.json
shoplazza shop metafields-resource update --params '{"id":"123"}' --data @metafield.json
shoplazza shop metafields-resource delete --params '{"id":"123"}'
shoplazza shop metafields-resource count
```

### shop metafields-shop

```shell
shoplazza shop metafields-shop list
shoplazza shop metafields-shop get --params '{"id":"123"}'
shoplazza shop metafields-shop create --data @metafield.json
shoplazza shop metafields-shop update --params '{"id":"123"}' --data @metafield.json
shoplazza shop metafields-shop delete --params '{"id":"123"}'
shoplazza shop metafields-shop count
```

## Schema 自省

```shell
shoplazza schema shop
shoplazza schema shop.pages.create
```
