开放平台简介

平台概述

Shoptop开放平台是为广大应用开发者提供的平台,开发者可以借助平台的商业合作模式、扩展平台的内置功能,开放平台提供的API允许商家授权合作伙伴读取或写入商家的数据从而与其它系统和平台进行交互从而为商家服务。

使用范围

  • 商户自身开放人员
  • 第三方开发人员

使用要求

  • 所有API均需遵守Shoptop API许可和使用条款
  • 所有API均受速率限制
  • 所有API都要求开发人员进行身份验证
  • 所有API已版本化

开发者权限申请

开发者在使用openAPI的过程中会需要申请相关资格和使用权限。

客户端资格申请

您的插件需要获得Client ID和Client Secret,以便在授权过程中用于表明您的身份。 请通过邮件(support@shoptop.com)联系Shoptop的开发以获取Client ID和Client Secret,在这个过程中,你需要提供App的基本信息以及两个接口的地址(Oauth触发接口 app_uri和Oauth回调接口 redirect_uri),如下:

公司资料

  • 公司业务简介(请附上官网地址)

Public APP基础信息

  1. 授权触发地址(app_uri),回调地址(redirect_uri)
  2. APP图标(尺寸 150x150,PNG格式)
  3. 接口人的邮箱地址
  4. APP中英文名称
  5. APP的中英文简要描述
  6. APP权限:店铺信息、顾客、订单、商品 (具体见开发者文档)etc.

开发者店铺使用权申请

开发者在开发第三方插件的时候会需要申请店铺的使用权,每次申请的期限不能超过60天,用于测试自己开发的插件功能。 开发者需要提供以下信息,并发邮件(support@shoptop.com)给Shoptop的开发申请权限。

  1. 店铺ID
  2. 时长(单位天)
  3. 申请的目的
  4. 插件名称

过期后如果需更多时间做测试使用,可以继续通过邮件发起申请。

API身份验证

为了确保平台上的数据安全可靠,进行API调用时,所有与我们API连接的插件都必须进行身份验证

认证类型

平台对插件进行身份验证的方法有两种:

  • OAuth
  • Access-Token验证

与平台连接的任何Web应用程序或服务都被称为“插件”,无论其如何向最终用户公开。不同类型的插件使用不同的身份验证方法。

  • 公共插件使用OAuth
  • 私有插件使用Access-Token验证

在开始开发过程之前,请确保您了解两种身份验证方案之间的区别。

使用OAuth进行身份验证

公共插件必须使用OAuth 2.0规范进行身份验证,才能使用Shoptop的API资源

术语

在详细了解授权过程的详细信息之前,请确保您熟悉本文档中使用的一些关键术语:

名称 描述
插件 与平台对接的任何应用统称为插件。
客户端 想要访问商家数据的任何插件。
API Shoptop提供的 API,客户端 可以使用 API 读取和修改店铺数据。
用户 Shoptop 的账户持有人,通常是商家。用户 授权 客户端 通过 API 访问店铺数据。

OAuth流程

Shoptop使用OAuth 2.0的授权代码授予流程代表用户发放访问令牌。

  1. 用户请求安装该插件。
  2. 该插件重定向到Shoptop并加载OAuth授权页面和插件的访问范围。
  3. 用户同意授权并重定向到插件的 redirect_uri。
  4. 插件发出包括clientId,clientSecret和code的请求到Shoptop
  5. Shoptop返回token
  6. 该插件使用token向Shoptop发出API请求。
  7. Shoptop返回请求的数据

第一步:获取客户端凭据

您需要获得Client ID和Client Secret,以便在授权过程中用于表明您的身份。 获取客户端资格:请联系Shoptop的开发以获取Client ID和Client Secret,在这个过程中,你需要提供App的基本信息以及两个接口的地址(Oauth 触发接口app_uri和Oauth回调接口 redirect_uri)

第二步:请求获得许可

已登录平台的商家在应用市场点击安装您的插件时,Shoptop会首先以Get方式调用您提供的触发接口app_uri,app_uri接口需要跳转至以下地址进行授权:

https://{store_domain}/admin/oauth/authorize?clientId={clientId}&scope={scopes}&redirectUri={redirectUri}&responseType={responseType}
  • store_domain:商家店铺域名
  • clientId:应用的客户端ID
  • scope:空格分隔的scope列表替换它。 例如,要编写订单和读取顾客信息,请使用scope=write_order read_customer(scope之间以空格分开,查看全部scope列表)
  • redirectUri: 您在授权客户端后重定向到应用的URL (如http://example.com/some/redirectUri)
  • responseType:此请求下的值为code

第三步:确认授权

当用户单击提示中的“授权”按钮时,它们将被重定向到上面指定的客户端地址。重定向中传递的参数。

http://example.com/some/redirectUri?code={authorizationCode}&shop={store_domain}&hmac={hmac}

在继续接下来的流程之前,请确保您的插件执行了以下安全检查。 如果检查失败,您的插件须拒绝该请求并返回错误

  • 校验hmac字段,确认其值正确(Hmac生成算法)
  • 该hmac是有效的。HMAC由Shoptop签名
  • 该shop参数是有效的主机名,如store.ishoptop.com

如果所有安全检查均通过,则可以通过向商店的accessToken端点发送POST请求,用授权 code 交换为一个维持时间一年的accessToken和不过期的refreshToken

POST https://{store_domain}/api/org/oauth/token

该请求需要包含如下所示参数

  • clientId:插件的客户端ID
  • clientSecret:插件的客户端安全秘钥
  • code:回调地址中提供的授权code
  • grantType:授权方式,该请求下的值为authorization_code
  • redirectUri:应用的回调地址

请求成功后的返回值:

{
  "tokenType": "Bearer",
  "expiresAt": 1550546245,
  "accessToken": "eyJ0eXAiOiJKV1QiLCJh",
  "refreshToken": "def502003d28ba08a964e",
  "shopId": "2",
  "shopName": "xiong1889"
}
  • tokenType:返回Bearer
  • expiresAt:访问密钥过期时间
  • accessToken:访问密钥
  • refreshToken:更新密钥,用于更新密钥
  • shopId:店铺id
  • shopName:用户名,通常是店家域名

accessToken 失效之后,请使用下面的请求完成更新accessToken的操作(您必须保存更新之后的refreshToken已方便再次进行更新)

POST https://{store_domain}/api/org/oauth/refreshToken

该请求需要包含如下所示参数

  • clientId:插件的客户端ID
  • clientSecret:插件的客户端安全秘钥
  • refreshToken: 保存在您插件中的refreshToken值
  • grantType:授权方式,该请求下的值为refresh_token
  • redirectUri:插件的回调地址

第四步:调用 API

客户端获得API访问token后,便可以向RESTful API发出经过身份验证的请求。这些请求 Headers 必须带有 Access-Token: {accessToken}

请求商品数据示例如下:

curl --request GET \
     --url https://{store_domain}/openapi/v1/orders \
     --header 'Content-Type: application/x-www-form-urlencoded;charset=utf-8' \
     --header 'Access-Token: B_x-_5aVeXNwI-4AB98s5xLIvgv0fNzGf_MuTpqtIBA'

私有插件的Access-Token验证

私有插件使用基本的Access-Token验证,在晓拓管理后台应用市场内创建私有插件以获取Access-Token,然后使用调用API中提到的方式进行API调用。

Scope列表

  • read_product, write_product
  • read_order, write_order
  • read_collection, write_collection
  • read_shop
  • read_comments, write_comments
  • read_script_tags, write_script_tags
  • read_customer, write_customer
  • read_app_proxy, write_app_proxy
  • read_price_rules, write_price_rules
  • read_data, write_data

Hmac算法

public static String HMACSHA256(String data, String key) throws Exception {
    Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
    SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
    sha256_HMAC.init(secret_key);
    byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));
    StringBuilder sb = new StringBuilder();
    for (byte item : array) {
        sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
    }
    return sb.toString().toUpperCase();
}

Webhooks验签

每个webhook请求都会带有一个通过base64加密的X-Shoptop-Hmac-Sha256请求头。X-Shoptop-Hmac-Sha256的值是使用插件的Client Secret和请求中带有的参数生成的。如果需要验证请求是来自Shoptop,可以按照SDK中的算法计算出HMAC值,并和请求头中的X-Shoptop-Hmac-Sha256值进行比较,如果相同,则可以确认请求来自Shoptop。通过Hmac算法,使用请求中的数据和Client Secret计算出hmac值,再经过Base64处理,即可得到HMAC值。

SDK下载

Shoptop-OpenAPI-SDK

Github下载地址:https://github.com/ishoptop/Shoptop-OpenAPI-SDK.git

Shoptop-Webhooks-SDK

Github下载地址:https://github.com/ishoptop/Shoptop-Webhook-SDK.git

Shoptop-OpenAPI V1

订单API

订单

订单列表

URL: /openapi/v1/orders/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 订单列表

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
ids string id1, id2 订单id串, 用英文逗号分隔 false v1
status string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) false v1
financialStatus string 订单支付状态 waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款), partially_refunded(部分退款) false v1
fulfillmentStatus string 订单物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消) false v1
timeType string 时间类型 created(创建时间),updated(修改时间),placed(订单支付时间) false v1
startTime string 起始时间 (yyyy-MM-dd HH:mm:ss) false v1
endTime string 结束时间(yyyy-MM-dd HH:mm:ss) false v1

Request-example:

curl -X GET -i /openapi/v1/orders/?ids=qtz26v&financialStatus=osawf4&fulfillmentStatus=a5untx&timeType=bi4myb&endTime=2021-08-12 09:29:37&status=yyz5tj&pageSize=10&startTime=2021-08-12 09:29:37&pageNo=546

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data array data v1
└─orderNo string 订单编号 v1
└─id number id v1
└─totalPrice string 总价 v1
└─subTotal string 小计金额 v1
└─currency string 货币类型 v1
└─financialStatus string 订单支付状态waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款),partially_refunded(部分退款) v1
└─orderStatus string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) v1
└─canceledAt string 订单取消时间 v1
└─cancelReason string 订单取消原因 v1
└─orderNote string 订单备注 v1
└─fulfillmentStatus string 物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消),returning(退货中),returned(已退货) v1
└─customerDeletedAt string 客户删除订单时间 v1
└─placedAt string 订单确认时间 v1
└─tags string 订单标签 v1
└─discountCode string 订单优惠码 v1
└─codeDiscountTotal string 订单优惠码优惠价格 v1
└─lineItemDiscountTotal string 商品折扣 v1
└─customerNote string 客户备注 v1
└─totalDiscount string 订单折扣 v1
└─totalTax string 总税费 v1
└─totalShipping string 运费 v1
└─createdAt string 创建时间 v1
└─updatedAt string 更新时间 v1
└─lineItems array 订单商品 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1
└─paymentLine object 支付方式 v1
     └─paymentChannel string 支付渠道 v1
     └─paymentMethod string 支付方式 v1
     └─transactionNo string 交易号 v1
     └─merchantId string 收款账户ID v1
     └─merchantEmail string 收款账户Email v1
└─shippingLine object 运费方案 v1
     └─name string 物流方案名称 v1
└─billingAddress object 账单地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
└─shippingAddress object 物流地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─phone string 手机号码 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 收货人姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
     └─extraInfo string 特殊物流字段 v1
└─fulfillments array 运单信息 v1
     └─id number id v1
     └─orderId number 订单id v1
     └─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1
     └─trackingCompany string 物流公司 v1
     └─trackingNumber string 运单号 v1
     └─trackingCompanyCode string 物流公司编号 v1
     └─lineItems array 测试 v1
          └─productTitle string 商品标题 v1
          └─variantTitle string 子商品标题 v1
          └─quantity number 商品数量 v1
          └─note string 备注 v1
          └─image string 商品图片 v1
          └─price string 商品售价 v1
          └─compareAtPrice string 商品原价 v1
          └─total string 总价 v1
          └─sku string sku v1
          └─weight string 重量 v1
          └─weightUnit string 重量单位(kg, g ...) v1
          └─vendor string 商品供应商 v1
          └─properties string 商品属性 v1
          └─productUrl string 商品url v1
          └─productHandle string 商品handle v1
          └─id number id v1
          └─productId string 商品id v1
          └─variantId string 子商品id v1
          └─fulfillmentStatus string 运单状态 v1
└─customer object 顾客信息 v1
     └─email string 客户邮箱 v1
     └─firstName string v1
     └─lastName string v1
     └─ordersCount string 客户下单数 v1
     └─totalSpent string 顾客消费总额 v1
     └─phone string 客户手机号码 v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "orderNo": "SVZ6191264",
            "id": "1376883403227529217",
            "totalPrice": "10.00",
            "subTotal": "11.00",
            "currency": "USD",
            "financialStatus": "waiting",
            "orderStatus": "opened",
            "canceledAt": null,
            "cancelReason": null,
            "orderNote": null,
            "fulfillmentStatus": "initialled",
            "customerDeletedAt": null,
            "placedAt": null,
            "tags": null,
            "discountCode": "KR88M4D7",
            "codeDiscountTotal": "1.00",
            "lineItemDiscountTotal": null,
            "customerNote": "",
            "totalDiscount": "1.00",
            "totalTax": "0.00",
            "totalShipping": "0.00",
            "createdAt": "2021-03-30 21:05:59",
            "updatedAt": "2021-03-31 09:15:39",
            "lineItems": [
                {
                    "productTitle": "4444",
                    "variantTitle": "4444",
                    "quantity": 11,
                    "note": null,
                    "image": "https://cdn.shoptop.com/1357301923878989826.png",
                    "price": "1.00",
                    "compareAtPrice": "10.00",
                    "total": "11.00",
                    "sku": "111",
                    "weight": "1.00",
                    "weightUnit": "kg",
                    "vendor": null,
                    "properties": null,
                    "productUrl": null,
                    "productHandle": "4444",
                    "id": "1376883403403689986",
                    "productId": "1357302156562198530",
                    "variantId": "1357302156591558657",
                    "fulfillmentStatus": "waiting"
                }
            ],
            "paymentLine": {
                "paymentChannel": "ocean",
                "paymentMethod": "credit_card",
                "transactionNo": null,
                "merchantId": null,
                "merchantEmail": null
            },
            "shippingLine": {
                "name": "freeno"
            },
            "billingAddress": {
                "firstName": "",
                "lastName": "23 33",
                "address1": "323",
                "address2": "3242",
                "city": "3243242",
                "zip": "3333",
                "province": "Abyan",
                "country": "Yemen",
                "company": null,
                "latitude": null,
                "longitude": null,
                "name": "23 33",
                "countryCode": "YE",
                "provinceCode": "YE-AB",
                "phoneAreaCode": null,
                "email": "123@123.com",
                "area": null
            },
            "shippingAddress": {
                "firstName": "23 33",
                "lastName": "23 33",
                "address1": "323",
                "address2": "3242",
                "phone": "",
                "city": "3243242",
                "zip": "3333",
                "province": "Abyan",
                "country": "Yemen",
                "company": null,
                "latitude": null,
                "longitude": null,
                "name": "23 33 23 33",
                "countryCode": "YE",
                "provinceCode": "YE-AB",
                "phoneAreaCode": null,
                "email": "123@123.com",
                "area": null,
                "extraInfo": ""
            },
            "fulfillments": null,
            "customer": {
                "email": "1234@164.com",
                "firstName": "22423",
                "lastName": "23423",
                "ordersCount": "0",
                "totalSpent": "0.00",
                "phone": null,
                "createdAt": "2021-03-30 21:05:54",
                "updatedAt": null
            }
        }
    ]
}

订单详情

URL: /openapi/v1/orders/{id}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 订单详情

Path-parameters:

Parameter Type Description Required Since
id number 订单id true v1

Request-example:

curl -X GET -i /openapi/v1/orders/254

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─orderNo string 订单编号 v1
└─id number id v1
└─totalPrice string 总价 v1
└─subTotal string 小计金额 v1
└─currency string 货币类型 v1
└─financialStatus string 订单支付状态waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款),partially_refunded(部分退款) v1
└─orderStatus string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) v1
└─canceledAt string 订单取消时间 v1
└─cancelReason string 订单取消原因 v1
└─orderNote string 订单备注 v1
└─fulfillmentStatus string 物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消),returning(退货中),returned(已退货) v1
└─customerDeletedAt string 客户删除订单时间 v1
└─placedAt string 订单确认时间 v1
└─tags string 订单标签 v1
└─discountCode string 订单优惠码 v1
└─codeDiscountTotal string 订单优惠码优惠价格 v1
└─lineItemDiscountTotal string 商品折扣 v1
└─customerNote string 客户备注 v1
└─totalDiscount string 订单折扣 v1
└─totalTax string 总税费 v1
└─totalShipping string 运费 v1
└─createdAt string 创建时间 v1
└─updatedAt string 更新时间 v1
└─lineItems array 订单商品 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1
└─paymentLine object 支付方式 v1
     └─paymentChannel string 支付渠道 v1
     └─paymentMethod string 支付方式 v1
     └─transactionNo string 交易号 v1
     └─merchantId string 收款账户ID v1
     └─merchantEmail string 收款账户Email v1
└─shippingLine object 运费方案 v1
     └─name string 物流方案名称 v1
└─billingAddress object 账单地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
└─shippingAddress object 物流地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─phone string 手机号码 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 收货人姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
     └─extraInfo string 特殊物流字段 v1
└─fulfillments array 运单信息 v1
     └─id number id v1
     └─orderId number 订单id v1
     └─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1
     └─trackingCompany string 物流公司 v1
     └─trackingNumber string 运单号 v1
     └─trackingCompanyCode string 物流公司编号 v1
     └─lineItems array 测试 v1
          └─productTitle string 商品标题 v1
          └─variantTitle string 子商品标题 v1
          └─quantity number 商品数量 v1
          └─note string 备注 v1
          └─image string 商品图片 v1
          └─price string 商品售价 v1
          └─compareAtPrice string 商品原价 v1
          └─total string 总价 v1
          └─sku string sku v1
          └─weight string 重量 v1
          └─weightUnit string 重量单位(kg, g ...) v1
          └─vendor string 商品供应商 v1
          └─properties string 商品属性 v1
          └─productUrl string 商品url v1
          └─productHandle string 商品handle v1
          └─id number id v1
          └─productId string 商品id v1
          └─variantId string 子商品id v1
          └─fulfillmentStatus string 运单状态 v1
└─customer object 顾客信息 v1
     └─email string 客户邮箱 v1
     └─firstName string v1
     └─lastName string v1
     └─ordersCount string 客户下单数 v1
     └─totalSpent string 顾客消费总额 v1
     └─phone string 客户手机号码 v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "orderNo": "SVZ6191264",
        "id": "1376883403227529217",
        "totalPrice": "10.00",
        "subTotal": "11.00",
        "currency": "USD",
        "financialStatus": "waiting",
        "orderStatus": "opened",
        "canceledAt": null,
        "cancelReason": null,
        "orderNote": null,
        "fulfillmentStatus": "initialled",
        "customerDeletedAt": null,
        "placedAt": null,
        "tags": null,
        "discountCode": "KR88M4D7",
        "codeDiscountTotal": "1.00",
        "lineItemDiscountTotal": null,
        "customerNote": "",
        "totalDiscount": "1.00",
        "totalTax": "0.00",
        "totalShipping": "0.00",
        "createdAt": "2021-03-30 21:05:59",
        "updatedAt": "2021-03-31 09:15:39",
        "lineItems": [
            {
                "productTitle": "4444",
                "variantTitle": "4444",
                "quantity": 11,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "11.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "4444",
                "id": "1376883403403689986",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "waiting"
            }
        ],
        "paymentLine": {
            "paymentChannel": "ocean",
            "paymentMethod": "credit_card",
            "transactionNo": null,
            "merchantId": null,
            "merchantEmail": null
        },
        "shippingLine": {
            "name": "freeno"
        },
        "billingAddress": {
            "firstName": "",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null
        },
        "shippingAddress": {
            "firstName": "23 33",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "phone": "",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33 23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null,
            "extraInfo": ""
        },
        "fulfillments": null,
        "customer": {
            "email": "1234@164.com",
            "firstName": "22423",
            "lastName": "23423",
            "ordersCount": "0",
            "totalSpent": "0.00",
            "phone": null,
            "createdAt": "2021-03-30 21:05:54",
            "updatedAt": null
        }
    }
}

订单数量

URL: /openapi/v1/orders/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 订单数量

Query-parameters:

Parameter Type Description Required Since
status string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) false v1
financialStatus string 订单支付状态 waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款), partially_refunded(部分退款) false v1
fulfillmentStatus string 订单物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消) false v1
timeType string 时间类型 created(创建时间),updated(修改时间) false v1
startTime string 起始时间(yyyy-MM-dd HH:mm:ss) false v1
endTime string 结束时间(yyyy-MM-dd HH:mm:ss) false v1

Request-example:

curl -X GET -i /openapi/v1/orders/count?timeType=x4cpcv&financialStatus=sul8my&endTime=2021-08-12 09:29:37&fulfillmentStatus=aevb0j&status=ikjfdb&startTime=2021-08-12 09:29:37

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": "6"
    }
}

取消订单

URL: /openapi/v1/orders/{id}/cancel

Type: POST

Content-Type: application/json; charset=utf-8

Description: 取消订单

Path-parameters:

Parameter Type Description Required Since
id number 订单id true v1

Body-parameters:

Parameter Type Description Required Since
reason string 取消原因 false v1

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/orders/264/cancel --data '{
    "reason": "6k7d95"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─orderNo string 订单编号 v1
└─id number id v1
└─totalPrice string 总价 v1
└─subTotal string 小计金额 v1
└─currency string 货币类型 v1
└─financialStatus string 订单支付状态waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款),partially_refunded(部分退款) v1
└─orderStatus string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) v1
└─canceledAt string 订单取消时间 v1
└─cancelReason string 订单取消原因 v1
└─orderNote string 订单备注 v1
└─fulfillmentStatus string 物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消),returning(退货中),returned(已退货) v1
└─customerDeletedAt string 客户删除订单时间 v1
└─placedAt string 订单确认时间 v1
└─tags string 订单标签 v1
└─discountCode string 订单优惠码 v1
└─codeDiscountTotal string 订单优惠码优惠价格 v1
└─lineItemDiscountTotal string 商品折扣 v1
└─customerNote string 客户备注 v1
└─totalDiscount string 订单折扣 v1
└─totalTax string 总税费 v1
└─totalShipping string 运费 v1
└─createdAt string 创建时间 v1
└─updatedAt string 更新时间 v1
└─lineItems array 订单商品 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1
└─paymentLine object 支付方式 v1
     └─paymentChannel string 支付渠道 v1
     └─paymentMethod string 支付方式 v1
     └─transactionNo string 交易号 v1
     └─merchantId string 收款账户ID v1
     └─merchantEmail string 收款账户Email v1
└─shippingLine object 运费方案 v1
     └─name string 物流方案名称 v1
└─billingAddress object 账单地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
└─shippingAddress object 物流地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─phone string 手机号码 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 收货人姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
     └─extraInfo string 特殊物流字段 v1
└─fulfillments array 运单信息 v1
     └─id number id v1
     └─orderId number 订单id v1
     └─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1
     └─trackingCompany string 物流公司 v1
     └─trackingNumber string 运单号 v1
     └─trackingCompanyCode string 物流公司编号 v1
     └─lineItems array 测试 v1
          └─productTitle string 商品标题 v1
          └─variantTitle string 子商品标题 v1
          └─quantity number 商品数量 v1
          └─note string 备注 v1
          └─image string 商品图片 v1
          └─price string 商品售价 v1
          └─compareAtPrice string 商品原价 v1
          └─total string 总价 v1
          └─sku string sku v1
          └─weight string 重量 v1
          └─weightUnit string 重量单位(kg, g ...) v1
          └─vendor string 商品供应商 v1
          └─properties string 商品属性 v1
          └─productUrl string 商品url v1
          └─productHandle string 商品handle v1
          └─id number id v1
          └─productId string 商品id v1
          └─variantId string 子商品id v1
          └─fulfillmentStatus string 运单状态 v1
└─customer object 顾客信息 v1
     └─email string 客户邮箱 v1
     └─firstName string v1
     └─lastName string v1
     └─ordersCount string 客户下单数 v1
     └─totalSpent string 顾客消费总额 v1
     └─phone string 客户手机号码 v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "orderNo": "SVZ6191264",
        "id": "1376883403227529217",
        "totalPrice": "10.00",
        "subTotal": "11.00",
        "currency": "USD",
        "financialStatus": "waiting",
        "orderStatus": "opened",
        "canceledAt": null,
        "cancelReason": null,
        "orderNote": null,
        "fulfillmentStatus": "initialled",
        "customerDeletedAt": null,
        "placedAt": null,
        "tags": null,
        "discountCode": "KR88M4D7",
        "codeDiscountTotal": "1.00",
        "lineItemDiscountTotal": null,
        "customerNote": "",
        "totalDiscount": "1.00",
        "totalTax": "0.00",
        "totalShipping": "0.00",
        "createdAt": "2021-03-30 21:05:59",
        "updatedAt": "2021-03-31 09:15:39",
        "lineItems": [
            {
                "productTitle": "4444",
                "variantTitle": "4444",
                "quantity": 11,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "11.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "4444",
                "id": "1376883403403689986",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "waiting"
            }
        ],
        "paymentLine": {
            "paymentChannel": "ocean",
            "paymentMethod": "credit_card",
            "transactionNo": null,
            "merchantId": null,
            "merchantEmail": null
        },
        "shippingLine": {
            "name": "freeno"
        },
        "billingAddress": {
            "firstName": "",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null
        },
        "shippingAddress": {
            "firstName": "23 33",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "phone": "",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33 23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null,
            "extraInfo": ""
        },
        "fulfillments": null,
        "customer": {
            "email": "1234@164.com",
            "firstName": "22423",
            "lastName": "23423",
            "ordersCount": "0",
            "totalSpent": "0.00",
            "phone": null,
            "createdAt": "2021-03-30 21:05:54",
            "updatedAt": null
        }
    }
}

订单退款

URL: /openapi/v1/orders/{id}/refund

Type: POST

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 订单退款

Path-parameters:

Parameter Type Description Required Since
id number 订单id true v1

Request-example:

curl -X POST -i /openapi/v1/orders/328/refund

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1

Response-example:

{
    "code": 201,
    "errorCode": 688,
    "msg": "请求成功",
    "data": true
}

更新订单

URL: /openapi/v1/orders/{id}

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新订单

Path-parameters:

Parameter Type Description Required Since
id number 订单id true v1

Body-parameters:

Parameter Type Description Required Since
note string 订单备注 false v1
tags string 订单标签, 英文逗号分隔 false v1
shippingAddress object 物流地址 false v1
└─firstName string false v1
└─lastName string false v1
└─email string 邮箱 false v1
└─phone string 电话 false v1
└─country string 国家 false v1
└─countryCode string 国家编号 false v1
└─province string 省份 false v1
└─provinceCode string 省份编号 false v1
└─area string 区域 false v1
└─city string 城市 false v1
└─address1 string 街道 false v1
└─address2 string 寓所 false v1
└─company string 公司 false v1
└─latitude string 纬度 false v1
└─longitude string 经度 false v1
└─phoneAreaCode string 手机区号 false v1
└─zip string 邮编 false v1

Request-example:

curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/orders/397 --data '{
    "note": "812yhn",
    "tags": "87wycy",
    "shippingAddress":  {
            "firstName": "23 33",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "phone": "",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33 23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null,
            "extraInfo": ""
   }
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─orderNo string 订单编号 v1
└─id number id v1
└─totalPrice string 总价 v1
└─subTotal string 小计金额 v1
└─currency string 货币类型 v1
└─financialStatus string 订单支付状态waiting(待支付),paying(支付中),paid(已支付),cancelled(已取消),failed(失败),refunding(退款中),refund_failed(退款失败),refunded(已退款),partially_refunded(部分退款) v1
└─orderStatus string 订单状态 opened(未完成),placed(进行中),finished(已完成),cancelled(已取消) v1
└─canceledAt string 订单取消时间 v1
└─cancelReason string 订单取消原因 v1
└─orderNote string 订单备注 v1
└─fulfillmentStatus string 物流状态 initialled(空),waiting(待发货),partially_shipped(部分发货),shipped(已发货),partially_finished(部分完成),finished(已完成), cancelled(取消),returning(退货中),returned(已退货) v1
└─customerDeletedAt string 客户删除订单时间 v1
└─placedAt string 订单确认时间 v1
└─tags string 订单标签 v1
└─discountCode string 订单优惠码 v1
└─codeDiscountTotal string 订单优惠码优惠价格 v1
└─lineItemDiscountTotal string 商品折扣 v1
└─customerNote string 客户备注 v1
└─totalDiscount string 订单折扣 v1
└─totalTax string 总税费 v1
└─totalShipping string 运费 v1
└─createdAt string 创建时间 v1
└─updatedAt string 更新时间 v1
└─lineItems array 订单商品 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1
└─paymentLine object 支付方式 v1
     └─paymentChannel string 支付渠道 v1
     └─paymentMethod string 支付方式 v1
     └─transactionNo string 交易号 v1
     └─merchantId string 收款账户ID v1
     └─merchantEmail string 收款账户Email v1
└─shippingLine object 运费方案 v1
     └─name string 物流方案名称 v1
└─billingAddress object 账单地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
└─shippingAddress object 物流地址 v1
     └─firstName string 收货人名 v1
     └─lastName string 收货人姓 v1
     └─address1 string 街道 v1
     └─address2 string 寓所 v1
     └─phone string 手机号码 v1
     └─city string 城市 v1
     └─zip string 邮编 v1
     └─province string 省份 v1
     └─country string 国家 v1
     └─company string 公司 v1
     └─latitude string 纬度 v1
     └─longitude string 经度 v1
     └─name string 收货人姓名 v1
     └─countryCode string 国家代码 v1
     └─provinceCode string 省份代码 v1
     └─phoneAreaCode string 手机区号 v1
     └─email string 邮箱 v1
     └─area string 区域 v1
     └─extraInfo string 特殊物流字段 v1
└─fulfillments array 运单信息 v1
     └─id number id v1
     └─orderId number 订单id v1
     └─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1
     └─trackingCompany string 物流公司 v1
     └─trackingNumber string 运单号 v1
     └─trackingCompanyCode string 物流公司编号 v1
     └─lineItems array 测试 v1
          └─productTitle string 商品标题 v1
          └─variantTitle string 子商品标题 v1
          └─quantity number 商品数量 v1
          └─note string 备注 v1
          └─image string 商品图片 v1
          └─price string 商品售价 v1
          └─compareAtPrice string 商品原价 v1
          └─total string 总价 v1
          └─sku string sku v1
          └─weight string 重量 v1
          └─weightUnit string 重量单位(kg, g ...) v1
          └─vendor string 商品供应商 v1
          └─properties string 商品属性 v1
          └─productUrl string 商品url v1
          └─productHandle string 商品handle v1
          └─id number id v1
          └─productId string 商品id v1
          └─variantId string 子商品id v1
          └─fulfillmentStatus string 运单状态 v1
└─customer object 顾客信息 v1
     └─email string 客户邮箱 v1
     └─firstName string v1
     └─lastName string v1
     └─ordersCount string 客户下单数 v1
     └─totalSpent string 顾客消费总额 v1
     └─phone string 客户手机号码 v1
     └─createdAt string 创建时间 v1
     └─updatedAt string 修改时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "orderNo": "SVZ6191264",
        "id": "1376883403227529217",
        "totalPrice": "10.00",
        "subTotal": "11.00",
        "currency": "USD",
        "financialStatus": "waiting",
        "orderStatus": "opened",
        "canceledAt": null,
        "cancelReason": null,
        "orderNote": null,
        "fulfillmentStatus": "initialled",
        "customerDeletedAt": null,
        "placedAt": null,
        "tags": null,
        "discountCode": "KR88M4D7",
        "codeDiscountTotal": "1.00",
        "lineItemDiscountTotal": null,
        "customerNote": "",
        "totalDiscount": "1.00",
        "totalTax": "0.00",
        "totalShipping": "0.00",
        "createdAt": "2021-03-30 21:05:59",
        "updatedAt": "2021-03-31 09:15:39",
        "lineItems": [
            {
                "productTitle": "4444",
                "variantTitle": "4444",
                "quantity": 11,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "11.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "4444",
                "id": "1376883403403689986",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "waiting"
            }
        ],
        "paymentLine": {
            "paymentChannel": "ocean",
            "paymentMethod": "credit_card",
            "transactionNo": null,
            "merchantId": null,
            "merchantEmail": null
        },
        "shippingLine": {
            "name": "freeno"
        },
        "billingAddress": {
            "firstName": "",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null
        },
        "shippingAddress": {
            "firstName": "23 33",
            "lastName": "23 33",
            "address1": "323",
            "address2": "3242",
            "phone": "",
            "city": "3243242",
            "zip": "3333",
            "province": "Abyan",
            "country": "Yemen",
            "company": null,
            "latitude": null,
            "longitude": null,
            "name": "23 33 23 33",
            "countryCode": "YE",
            "provinceCode": "YE-AB",
            "phoneAreaCode": null,
            "email": "123@123.com",
            "area": null,
            "extraInfo": ""
        },
        "fulfillments": null,
        "customer": {
            "email": "1234@164.com",
            "firstName": "22423",
            "lastName": "23423",
            "ordersCount": "0",
            "totalSpent": "0.00",
            "phone": null,
            "createdAt": "2021-03-30 21:05:54",
            "updatedAt": null
        }
    }
}

运单

运单列表

URL: /openapi/v1/orders/{orderId}/fulfillments

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 运单列表

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
timeType string 时间类型 created(创建时间),updated(修改时间) false v1
startTime string 起始时间(yyyy-MM-dd HH:mm:ss) false v1
endTime string 结束时间(yyyy-MM-dd HH:mm:ss) false v1

Request-example:

curl -X GET -i /openapi/v1/orders/439/fulfillments?startTime=2021-08-12 09:29:37&pageSize=10&timeType=hyb7os&endTime=2021-08-12 09:29:37&pageNo=334

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data array data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "id": "1379403573553049602",
            "orderId": "1379399717192511490",
            "status": "finished",
            "createdAt": "2021-04-06 20:00:15",
            "updatedAt": "2021-04-06 20:00:24",
            "trackingCompany": "YD2021",
            "trackingNumber": "韵达国际",
            "trackingCompanyCode": "-1",
            "lineItems": [
                {
                    "productTitle": "测试二",
                    "variantTitle": "测试二",
                    "quantity": 1,
                    "note": null,
                    "image": "https://cdn.shoptop.com/1356392122307657729.png",
                    "price": "45.00",
                    "compareAtPrice": "90.00",
                    "total": "45.00",
                    "sku": "20201908",
                    "weight": "5.00",
                    "weightUnit": "kg",
                    "vendor": "这是测试供应商",
                    "properties": null,
                    "productUrl": null,
                    "productHandle": "测试二",
                    "id": "1379399717318340610",
                    "productId": "1379399645092483073",
                    "variantId": "1379399645126037505",
                    "fulfillmentStatus": "finished"
                }
            ]
        }
    ]
}

运单数量

URL: /openapi/v1/orders/{orderId}/fulfillments/count

Type: GET

Content-Type: application/json; charset=utf-8

Description: 运单数量

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1

Body-parameters:

Parameter Type Description Required Since
timeType string 时间类型 created(创建时间),updated(修改时间) false v1
startTime string 起始时间(yyyy-MM-dd HH:mm:ss) false v1
endTime string 结束时间(yyyy-MM-dd HH:mm:ss) false v1

Request-example:

curl -X GET -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/orders/235/fulfillments/count --data '{
    "timeType": "f0uhbk",
    "startTime": "2021-08-12 09:29:37",
    "endTime": "2021-08-12 09:29:37"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": 131
    }
}

运单详情

URL: /openapi/v1/orders/{orderId}/fulfillments/{fulfillmentId}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 运单详情

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1
fulfillmentId number 运单id true v1

Request-example:

curl -X GET -i /openapi/v1/orders/430/fulfillments/904

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425658127726391298",
        "orderId": "1425657742634758146",
        "status": "shipped",
        "createdAt": "2021-08-12 11:19:20",
        "updatedAt": "2021-08-12 11:19:20",
        "trackingCompany": "安得物流",
        "trackingNumber": "2113",
        "trackingCompanyCode": "annto",
        "lineItems": [
            {
                "productTitle": "测试-444400",
                "variantTitle": "测试-444400",
                "quantity": 1,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "1.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "测试-4444",
                "id": "1425657744870322178",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "shipped"
            }
        ]
    }
}

创建运单

URL: /openapi/v1/orders/{orderId}/fulfillments

Type: POST

Content-Type: application/json; charset=utf-8

Description: 创建运单

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1

Body-parameters:

Parameter Type Description Required Since
lineItemIds string id1,id2 运单包含的line Item Id true v1
trackingNumber string 运单号 true v1
trackingCompany string 物流公司名称 true v1
trackingCompanyCode string 物流公司代码 true v1

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/orders/768/fulfillments --data '{
    "lineItemIds": "wyn48o",
    "trackingNumber": "tpg0bm",
    "trackingCompany": "Shoptop",
    "trackingCompanyCode": "79665"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1379403573553049602",
        "orderId": "1379399717192511490",
        "status": "finished",
        "createdAt": "2021-04-06 20:00:15",
        "updatedAt": "2021-04-06 20:00:24",
        "trackingCompany": "YD2021",
        "trackingNumber": "韵达国际",
        "trackingCompanyCode": "-1",
        "lineItems": [
            {
                "productTitle": "测试二",
                "variantTitle": "测试二",
                "quantity": 1,
                "note": null,
                "image": "https://cdn.shoptop.com/1356392122307657729.png",
                "price": "45.00",
                "compareAtPrice": "90.00",
                "total": "45.00",
                "sku": "20201908",
                "weight": "5.00",
                "weightUnit": "kg",
                "vendor": "这是测试供应商",
                "properties": null,
                "productUrl": null,
                "productHandle": "测试二",
                "id": "1379399717318340610",
                "productId": "1379399645092483073",
                "variantId": "1379399645126037505",
                "fulfillmentStatus": "finished"
            }
        ]
    }
}

更新运单

URL: /openapi/v1/orders/{orderId}/fulfillments/{fulfillmentId}

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新运单

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1
fulfillmentId number 运单id true v1

Body-parameters:

Parameter Type Description Required Since
trackingNumber string 运单号 true v1
trackingCompany string 物流公司名称 true v1
trackingCompanyCode string 物流公司代码 true v1

Request-example:

curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/orders/250/fulfillments/704 --data '{
    "trackingNumber": "sokx0i",
    "trackingCompany": "Shoptop",
    "trackingCompanyCode": "79665"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425658127726391298",
        "orderId": "1425657742634758146",
        "status": "shipped",
        "createdAt": "2021-08-12 11:19:20",
        "updatedAt": "2021-08-12 11:19:20",
        "trackingCompany": "安得物流",
        "trackingNumber": "2113",
        "trackingCompanyCode": "annto",
        "lineItems": [
            {
                "productTitle": "测试-444400",
                "variantTitle": "测试-444400",
                "quantity": 1,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "1.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "测试-4444",
                "id": "1425657744870322178",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "shipped"
            }
        ]
    }
}

完成运单

URL: /openapi/v1/orders/{orderId}/fulfillments/{fulfillmentId}/complete

Type: POST

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 完成运单

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1
fulfillmentId number 运单id true v1

Request-example:

curl -X POST -i /openapi/v1/orders/878/fulfillments/261/complete

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425658127726391298",
        "orderId": "1425657742634758146",
        "status": "shipped",
        "createdAt": "2021-08-12 11:19:20",
        "updatedAt": "2021-08-12 11:19:20",
        "trackingCompany": "安得物流",
        "trackingNumber": "2113",
        "trackingCompanyCode": "annto",
        "lineItems": [
            {
                "productTitle": "测试-444400",
                "variantTitle": "测试-444400",
                "quantity": 1,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "1.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "测试-4444",
                "id": "1425657744870322178",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "shipped"
            }
        ]
    }
}

取消运单

URL: /openapi/v1/orders/{orderId}/fulfillments/{fulfillmentId}/cancel

Type: POST

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 取消运单

Path-parameters:

Parameter Type Description Required Since
orderId number 订单id true v1
fulfillmentId number 运单id true v1

Request-example:

curl -X POST -i /openapi/v1/orders/63/fulfillments/442/cancel

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number id v1
└─orderId number 订单id v1
└─status string 运单状态 waiting(待发货),shipped(已发货),finished(已完成),cancelled(已取消) v1
└─createdAt string 创建时间 v1
└─updatedAt string 修改时间 v1
└─trackingCompany string 物流公司 v1
└─trackingNumber string 运单号 v1
└─trackingCompanyCode string 物流公司编号 v1
└─lineItems array 测试 v1
     └─productTitle string 商品标题 v1
     └─variantTitle string 子商品标题 v1
     └─quantity number 商品数量 v1
     └─note string 备注 v1
     └─image string 商品图片 v1
     └─price string 商品售价 v1
     └─compareAtPrice string 商品原价 v1
     └─total string 总价 v1
     └─sku string sku v1
     └─weight string 重量 v1
     └─weightUnit string 重量单位(kg, g ...) v1
     └─vendor string 商品供应商 v1
     └─properties string 商品属性 v1
     └─productUrl string 商品url v1
     └─productHandle string 商品handle v1
     └─id number id v1
     └─productId string 商品id v1
     └─variantId string 子商品id v1
     └─fulfillmentStatus string 运单状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425658127726391298",
        "orderId": "1425657742634758146",
        "status": "shipped",
        "createdAt": "2021-08-12 11:19:20",
        "updatedAt": "2021-08-12 11:19:20",
        "trackingCompany": "安得物流",
        "trackingNumber": "2113",
        "trackingCompanyCode": "annto",
        "lineItems": [
            {
                "productTitle": "测试-444400",
                "variantTitle": "测试-444400",
                "quantity": 1,
                "note": null,
                "image": "https://cdn.shoptop.com/1357301923878989826.png",
                "price": "1.00",
                "compareAtPrice": "10.00",
                "total": "1.00",
                "sku": "111",
                "weight": "1.00",
                "weightUnit": "kg",
                "vendor": null,
                "properties": null,
                "productUrl": null,
                "productHandle": "测试-4444",
                "id": "1425657744870322178",
                "productId": "1357302156562198530",
                "variantId": "1357302156591558657",
                "fulfillmentStatus": "shipped"
            }
        ]
    }
}

商品API

商品

商品列表

URL: /openapi/v1/products/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 商品列表

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
published number 商品是否已发布,0:未发布,1:已发布,2:全部 false v1
keyword string 搜索关键词 false v1
shopId number 店铺id false v1
beginCreateTime string 创建时间开始时间 false v1
endCreateTime string 创建时间结束时间 false v1

Request-example:

curl -X GET -i /openapi/v1/products/?endCreateTime=2021-08-12 09:29:38&published=144&shopId=497&pageSize=10&pageNo=856&keyword=ezt65m&beginCreateTime=2021-08-12 09:29:38

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data array data v1
└─spuId number 商品spuID v1
└─seoTitle string seo标题 v1
└─seoKeywords string seo关键词 v1
└─seoDescription string seo描述 v1
└─handle string 商品url尾缀 v1
└─goodsImage object 商品主图 v1
     └─fileRepositoryId number 图片文件id v1
     └─path string 图片位置 v1
     └─url string 图片url v1
     └─height number 高度 v1
     └─width number 宽度 v1
     └─type string 文件格式类型 v1
└─goodsTitle string 商品标题 v1
└─goodsBrief string 副标题 v1
└─spu string spu属性 v1
└─inventoryTracking number 是否跟踪库存,1:跟踪,0:不跟踪 v1
└─inventoryPolicy number 跟踪库存策略,1:库存为0时不允许购买,2:库存为0时允许购买,3:库存为0时自动下架 v1
└─needVariantImage number sku款式是否需要配图,0:不需要,1:需要 v1
└─published number 是否上架,1:已上架,0:已下架 v1
└─publishedAt string 上架时间 v1
└─requiresShipping number 是否需要物流 v1
└─taxable number 是否对此商品收税 v1
└─vendorName string 供应商名称 v1
└─vendorUrl string 供应商url v1
└─amazonLink string 亚马逊商品链接 v1
└─shopId number 店铺id v1
└─goodsDescription string 商品描述 v1
└─isFreeShipping number 是否免运费(0不免运费,1免运费) v1
└─isSensitiveGoods number 是否为敏感商品 v1
└─isSingleSku number 是否单一款式 v1
└─inventoryQuantity number 库存数量 v1
└─createTime string 创建时间 v1
└─updateTime string 修改时间 v1
└─collections array 商品所属的专辑 v1
     └─collectionId number 商品专辑id v1
     └─collectionTitle string 商品专辑标题 v1
     └─smart number 是否使用智能添加 v1
└─skus array 子商品 v1
     └─skuId number 子商品id v1
     └─spuId number 店铺id v1
     └─barcode string 条形码 v1
     └─shopId number 店铺id v1
     └─compareAtPrice number 原价 v1
     └─price number 售价 v1
     └─inventoryQuantity number 库存 v1
     └─skuNote string 备注 v1
     └─sku string sku属性 v1
     └─skuImage object 图片数据 v1
          └─fileRepositoryId number 图片文件id v1
          └─path string 图片位置 v1
          └─url string 图片url v1
          └─height number 高度 v1
          └─width number 宽度 v1
          └─type string 文件格式类型 v1
     └─specOption1 string 规格属性1 v1
     └─specOption2 string 规格属性2 v1
     └─specOption3 string 规格属性3 v1
     └─weight number 重量 v1
     └─weightUnit string 重量单位 v1
└─images array 商品图片列表 v1
     └─position number 图片排序/位置 v1
     └─imageData object 图片数据 v1
          └─fileRepositoryId number 图片文件id v1
          └─path string 图片位置 v1
          └─url string 图片url v1
          └─height number 高度 v1
          └─width number 宽度 v1
          └─type string 文件格式类型 v1
└─specs array 商品属性 v1
     └─spuSpecName string 规格名称 v1
     └─position string 规格位置,1,2,3 v1
     └─spuSpecValues array 商品规格属性 v1
└─goodsTags array 商品标签 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "spuId": "1425655086029709313",
            "seoTitle": "High-performance backpacks for backpacks, hiking, and camping",
            "seoKeywords": "",
            "seoDescription": "High-performance backpacks for backpacks, hiking, and camping",
            "handle": "High-performance-backpacks-for-backpacks-hiking-and-camping_1s25",
            "goodsImage": {
                "fileRepositoryId": "1357301923878989826",
                "path": "1357301923878989826.png",
                "url": "https://cdn.shoptop.com/1357301923878989826.png",
                "height": 239,
                "width": 378,
                "type": "image/png"
            },
            "goodsTitle": "High-performance backpacks for backpacks, hiking, and camping",
            "goodsBrief": "High-performance backpacks for backpacks, hiking, and camping",
            "spu": "",
            "inventoryTracking": 0,
            "inventoryPolicy": 2,
            "needVariantImage": 0,
            "published": 1,
            "publishedAt": null,
            "requiresShipping": 1,
            "taxable": 0,
            "vendorName": null,
            "vendorUrl": null,
            "amazonLink": null,
            "shopId": 100103,
            "goodsDescription": "<p class=\"p1\" .... bags for strategic packaging</p>",
            "isFreeShipping": 0,
            "isSensitiveGoods": 0,
            "isSingleSku": 1,
            "inventoryQuantity": 0,
            "createTime": "2021-08-12 11:07:15",
            "updateTime": "2021-08-12 11:07:15",
            "collections": null,
            "skus": [
                {
                    "skuId": "1425655086088429570",
                    "spuId": "1425655086029709313",
                    "barcode": "111",
                    "shopId": 100103,
                    "compareAtPrice": 10000,
                    "price": 10000,
                    "inventoryQuantity": 0,
                    "skuNote": null,
                    "sku": "11",
                    "skuImage": null,
                    "specOption1": null,
                    "specOption2": null,
                    "specOption3": null,
                    "weight": 1.00,
                    "weightUnit": "kg"
                }
            ],
            "images": [
                {
                    "position": 0,
                    "imageData": {
                        "fileRepositoryId": "1357301923878989826",
                        "path": "1357301923878989826.png",
                        "url": "https://cdn.shoptop.com/1357301923878989826.png",
                        "height": 239,
                        "width": 378,
                        "type": "image/png"
                    }
                }
            ],
            "specs": [],
            "goodsTags": []
        }
    ]
}

商品数量

URL: /openapi/v1/products/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 商品数量

Query-parameters:

Parameter Type Description Required Since
published number 商品是否已发布,0:未发布,1:已发布,2:全部 false v1
keyword string 搜索关键词 false v1
shopId number 店铺id false v1
beginCreateTime string 创建时间开始时间 false v1
endCreateTime string 创建时间结束时间 false v1

Request-example:

curl -X GET -i /openapi/v1/products/count?keyword=xb6f9y&shopId=205&endCreateTime=2021-08-12 09:29:38&published=220&beginCreateTime=2021-08-12 09:29:38

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": "88"
    }
}

商品详情

URL: /openapi/v1/products/{spuId}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 商品详情

Path-parameters:

Parameter Type Description Required Since
spuId number 商品id true v1

Request-example:

curl -X GET -i /openapi/v1/products/2b3d272d-12b5-4133-bbb0-5e43e748c730

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─spuId number 商品spuID v1
└─seoTitle string seo标题 v1
└─seoKeywords string seo关键词 v1
└─seoDescription string seo描述 v1
└─handle string 商品url尾缀 v1
└─goodsImage object 商品主图 v1
     └─fileRepositoryId number 图片文件id v1
     └─path string 图片位置 v1
     └─url string 图片url v1
     └─height number 高度 v1
     └─width number 宽度 v1
     └─type string 文件格式类型 v1
└─goodsTitle string 商品标题 v1
└─goodsBrief string 副标题 v1
└─spu string spu属性 v1
└─inventoryTracking number 是否跟踪库存,1:跟踪,0:不跟踪 v1
└─inventoryPolicy number 跟踪库存策略,1:库存为0时不允许购买,2:库存为0时允许购买,3:库存为0时自动下架 v1
└─needVariantImage number sku款式是否需要配图,0:不需要,1:需要 v1
└─published number 是否上架,1:已上架,0:已下架 v1
└─publishedAt string 上架时间 v1
└─requiresShipping number 是否需要物流 v1
└─taxable number 是否对此商品收税 v1
└─vendorName string 供应商名称 v1
└─vendorUrl string 供应商url v1
└─amazonLink string 亚马逊商品链接 v1
└─shopId number 店铺id v1
└─goodsDescription string 商品描述 v1
└─isFreeShipping number 是否免运费(0不免运费,1免运费) v1
└─isSensitiveGoods number 是否为敏感商品 v1
└─isSingleSku number 是否单一款式 v1
└─inventoryQuantity number 库存数量 v1
└─createTime string 创建时间 v1
└─updateTime string 修改时间 v1
└─collections array 商品所属的专辑 v1
     └─collectionId number 商品专辑id v1
     └─collectionTitle string 商品专辑标题 v1
     └─smart number 是否使用智能添加 v1
└─skus array 子商品 v1
     └─skuId number 子商品id v1
     └─spuId number 店铺id v1
     └─barcode string 条形码 v1
     └─shopId number 店铺id v1
     └─compareAtPrice number 原价 v1
     └─price number 售价 v1
     └─inventoryQuantity number 库存 v1
     └─skuNote string 备注 v1
     └─sku string sku属性 v1
     └─skuImage object 图片数据 v1
          └─fileRepositoryId number 图片文件id v1
          └─path string 图片位置 v1
          └─url string 图片url v1
          └─height number 高度 v1
          └─width number 宽度 v1
          └─type string 文件格式类型 v1
     └─specOption1 string 规格属性1 v1
     └─specOption2 string 规格属性2 v1
     └─specOption3 string 规格属性3 v1
     └─weight number 重量 v1
     └─weightUnit string 重量单位 v1
└─images array 商品图片列表 v1
     └─position number 图片排序/位置 v1
     └─imageData object 图片数据 v1
          └─fileRepositoryId number 图片文件id v1
          └─path string 图片位置 v1
          └─url string 图片url v1
          └─height number 高度 v1
          └─width number 宽度 v1
          └─type string 文件格式类型 v1
└─specs array 商品属性 v1
     └─spuSpecName string 规格名称 v1
     └─position string 规格位置,1,2,3 v1
     └─spuSpecValues array 商品规格属性 v1
└─goodsTags array 商品标签 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "spuId": "1425655086029709313",
        "seoTitle": "High-performance backpacks for backpacks, hiking, and camping",
        "seoKeywords": "",
        "seoDescription": "High-performance backpacks for backpacks, hiking, and camping",
        "handle": "High-performance-backpacks-for-backpacks-hiking-and-camping_1s25",
        "goodsImage": {
            "fileRepositoryId": "1357301923878989826",
            "path": "1357301923878989826.png",
            "url": "https://cdn.shoptop.com/1357301923878989826.png",
            "height": 239,
            "width": 378,
            "type": "image/png"
        },
        "goodsTitle": "High-performance backpacks for backpacks, hiking, and camping",
        "goodsBrief": "High-performance backpacks for backpacks, hiking, and camping",
        "spu": "",
        "inventoryTracking": 0,
        "inventoryPolicy": 2,
        "needVariantImage": 0,
        "published": 1,
        "publishedAt": null,
        "requiresShipping": 1,
        "taxable": 0,
        "vendorName": null,
        "vendorUrl": null,
        "amazonLink": null,
        "shopId": 100103,
        "goodsDescription": "<p class=\"p1\" style=\" ... for strategic packaging</p>",
        "isFreeShipping": 0,
        "isSensitiveGoods": 0,
        "isSingleSku": 1,
        "inventoryQuantity": 0,
        "createTime": "2021-08-12 11:07:15",
        "updateTime": "2021-08-12 11:07:15",
        "collections": [],
        "skus": [
            {
                "skuId": "1425655086088429570",
                "spuId": "1425655086029709313",
                "barcode": "111",
                "shopId": 100103,
                "compareAtPrice": 10000,
                "price": 10000,
                "inventoryQuantity": 0,
                "skuNote": null,
                "sku": "11",
                "skuImage": null,
                "specOption1": null,
                "specOption2": null,
                "specOption3": null,
                "weight": 1.00,
                "weightUnit": "kg"
            }
        ],
        "images": [
            {
                "position": 0,
                "imageData": {
                    "fileRepositoryId": "1357301923878989826",
                    "path": "1357301923878989826.png",
                    "url": "https://cdn.shoptop.com/1357301923878989826.png",
                    "height": 239,
                    "width": 378,
                    "type": "image/png"
                }
            }
        ],
        "specs": [],
        "goodsTags": []
    }
}

创建商品

URL: /openapi/v1/products/

Type: POST

Content-Type: application/json; charset=utf-8

Description: 创建商品

Body-parameters:

Parameter Type Description Required Since
spuId number 商品spuID false v1
seoTitle string seo标题 false v1
seoKeywords string seo关键词 false v1
seoDescription string seo描述 false v1
handle string 商品url尾缀 false v1
goodsTitle string 商品标题 false v1
goodsBrief string 副标题 false v1
spu string spu属性 false v1
inventoryTracking number 是否跟踪库存,0:不跟踪,1:跟踪 false v1
inventoryPolicy number 跟踪库存策略,1:库存为0时不允许购买,2:库存为0时允许购买,3:库存为0时自动下架 false v1
needVariantImage number sku款式是否需要配图,1:需要,0:不需要 false v1
published number 是否上架 false v1
publishedAt string 上架时间 false v1
requiresShipping number 是否需要物流 false v1
taxable number 是否对此商品收税 false v1
vendorName string 供应商名称 false v1
vendorUrl string 供应商url false v1
amazonLink string 亚马逊商品链接 false v1
shopId number 店铺id false v1
goodsDescription string 商品描述 false v1
isFreeShipping number 是否免运费(0不免运费,1免运费) false v1
isSensitiveGoods number 是否为敏感商品 false v1
skus array 商品sku列表 false v1
└─skuId number 商品skuID false v1
└─spuId number 店铺id false v1
└─barcode string 条形码 false v1
└─shopId number 店铺id false v1
└─compareAtPrice number 原价 false v1
└─price number 售价 false v1
└─inventoryQuantity number 库存 false v1
└─skuNote string 备注 false v1
└─sku string sku属性 false v1
└─skuImage string 图片 false v1
└─specOption1 string 规格属性1 false v1
└─specOption2 string 规格属性2 false v1
└─specOption3 string 规格属性3 false v1
└─weight number 重量 false v1
└─weightUnit string 重量单位 false v1
imageUrls array 商品图片列表(第一张是主图) false v1
specs array 商品规格列表 false v1
└─spuSpecName string 规格名称 false v1
└─position number 规格顺序 false v1
└─spuSpecValues array 规格值 false v1
goodsTags array 商品标签 false v1
isSingleSku number 是否单一款式 false v1
inventoryQuantity number 库存数量 false v1

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/products/ --data '{
    "spuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
    "seoTitle": "7u405b",
    "seoKeywords": "72vhiz",
    "seoDescription": "vbf73k",
    "handle": "mt1aiu",
    "goodsTitle": "win3i8",
    "goodsBrief": "25dzw6",
    "spu": "phphza",
    "inventoryTracking": 321,
    "inventoryPolicy": 521,
    "needVariantImage": 29,
    "published": 839,
    "publishedAt": "2021-08-12 09:29:39",
    "requiresShipping": 196,
    "taxable": 509,
    "vendorName": "玛丽",
    "vendorUrl": "www.shoptop.com",
    "amazonLink": "ue4bb5",
    "shopId": 610,
    "goodsDescription": "z5u1j1",
    "isFreeShipping": 21,
    "isSensitiveGoods": 48,
    "skus": [
        {
            "skuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
            "spuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
            "barcode": "79665",
            "shopId": 531,
            "compareAtPrice": 187,
            "price": 169,
            "inventoryQuantity": 450,
            "skuNote": "lspe8w",
            "sku": "9cn7vk",
            "skuImage": "dw72cc",
            "specOption1": "64exvb",
            "specOption2": "3i0mo3",
            "specOption3": "41uw9d",
            "weight": 623,
            "weightUnit": "qinlyv"
        }
    ],
    "imageUrls": [
        "6y32nw"
    ],
    "specs": [
        {
            "spuSpecName": "健柏罗",
            "position": 172,
            "spuSpecValues": [
                "y0xt71"
            ]
        }
    ],
    "goodsTags": [
        "0y4boa"
    ],
    "isSingleSku": 159,
    "inventoryQuantity": 472
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

删除商品

URL: /openapi/v1/products/{spuId}

Type: DELETE

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 删除商品

Path-parameters:

Parameter Type Description Required Since
spuId number 商品id true v1

Request-example:

curl -X DELETE -i /openapi/v1/products/2b3d272d-12b5-4133-bbb0-5e43e748c730

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

更新商品

URL: /openapi/v1/products/

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新商品

Body-parameters:

Parameter Type Description Required Since
spuId number 商品spuID false v1
seoTitle string seo标题 false v1
seoKeywords string seo关键词 false v1
seoDescription string seo描述 false v1
handle string 商品url尾缀 false v1
goodsImage object 商品主图 false v1
└─path string 文件路径尾缀 false v1
goodsTitle string 商品标题 false v1
goodsBrief string 副标题 false v1
spu string spu属性 false v1
inventoryTracking number 是否跟踪库存,0:不跟踪,1:跟踪 false v1
inventoryPolicy number 跟踪库存策略,1:库存为0时不允许购买,2:库存为0时允许购买,3:库存为0时自动下架 false v1
needVariantImage number sku款式是否需要配图,1:需要,0:不需要 false v1
needVariantNote number sku款式是否需要备注,0:不需要,1:需要 false v1
published number 是否上架 false v1
publishedAt string 上架时间 false v1
requiresShipping number 是否需要物流 false v1
taxable number 是否对此商品收税 false v1
vendorName string 供应商名称 false v1
vendorUrl string 供应商url false v1
amazonLink string 亚马逊商品链接 false v1
shopId number 店铺id false v1
goodsDescription string 商品描述 false v1
isFreeShipping number 是否免运费(0不免运费,1免运费) false v1
isSensitiveGoods number 是否为敏感商品 false v1
skus array 商品sku列表 false v1
└─skuId number 商品skuID false v1
└─spuId number 店铺id false v1
└─barcode string 条形码 false v1
└─shopId number 店铺id false v1
└─compareAtPrice number 原价 false v1
└─price number 售价 false v1
└─inventoryQuantity number 库存 false v1
└─skuNote string 备注 false v1
└─sku string sku属性 false v1
└─skuImage string 图片 false v1
└─specOption1 string 规格属性1 false v1
└─specOption2 string 规格属性2 false v1
└─specOption3 string 规格属性3 false v1
└─weight number 重量 false v1
└─weightUnit string 重量单位 false v1
imageUrls array 商品图片列表(第一张是主图) false v1
specs array 商品规格列表 false v1
└─spuSpecName string 规格名称 false v1
└─position number 规格顺序 false v1
└─spuSpecValues array 规格值 false v1
goodsTags array 商品标签 false v1
isSingleSku number 是否单一款式 false v1
inventoryQuantity number 库存数量 false v1

Request-example:

curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/products/ --data '{
    "spuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
    "seoTitle": "ive0ua",
    "seoKeywords": "xkeh3j",
    "seoDescription": "7enwys",
    "handle": "ma23n3",
    "goodsImage": {
        "path": "lh2c9c"
    },
    "goodsTitle": "nmzihy",
    "goodsBrief": "oi16dx",
    "spu": "2u519z",
    "inventoryTracking": 679,
    "inventoryPolicy": 9,
    "needVariantImage": 29,
    "needVariantNote": 88,
    "published": 521,
    "publishedAt": "2021-08-12 09:29:39",
    "requiresShipping": 389,
    "taxable": 377,
    "vendorName": "健柏罗",
    "vendorUrl": "www.shoptop.com",
    "amazonLink": "9bgd8r",
    "shopId": 139,
    "goodsDescription": "zv6t9m",
    "isFreeShipping": 337,
    "isSensitiveGoods": 576,
    "skus": [
        {
            "skuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
            "spuId": 2b3d272d-12b5-4133-bbb0-5e43e748c730,
            "barcode": "79665",
            "shopId": 417,
            "compareAtPrice": 826,
            "price": 861,
            "inventoryQuantity": 911,
            "skuNote": "5vy8pw",
            "sku": "a3n0x2",
            "skuImage": "d6njf1",
            "specOption1": "zb5e94",
            "specOption2": "4oe7fa",
            "specOption3": "cvy98q",
            "weight": 4,
            "weightUnit": "01zxa3"
        }
    ],
    "imageUrls": [
        "https://dev-cdn-shoptop-com.oss-cn-shanghai.aliyuncs.com/file/png/1339860432684871681.png"
    ],
    "specs": [
        {
            "spuSpecName": "健柏罗",
            "position": 460,
            "spuSpecValues": [
                "uri4ib"
            ]
        }
    ],
    "goodsTags": [
        "mqpng4"
    ],
    "isSingleSku": 706,
    "inventoryQuantity": 40
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

子商品

v2版本即将发布,敬请期待!

商品图片

v2版本即将发布,敬请期待!

专辑API

专辑

专辑列表

URL: /openapi/v1/collections/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 专辑列表

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
keyword string 搜索关键词 false v1
shopId number 店铺id false v1

Request-example:

curl -X GET -i /openapi/v1/collections/?keyword=cou2q7&shopId=150&pageSize=10&pageNo=161

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data array data v1
└─collectionId number 专辑ID v1
└─shopId number 店铺id v1
└─seoTitle string seo标题 v1
└─seoKeywords string seo关键词 v1
└─seoDescription string seo描述 v1
└─handle string 商品url尾缀 v1
└─collectionDescription string 描述 v1
└─collectionTitle string 标题 v1
└─image object 专辑封面图片 v1
     └─fileRepositoryId number 图片文件id v1
     └─path string 图片位置 v1
     └─url string 图片url v1
     └─height number 高度 v1
     └─width number 宽度 v1
     └─type string 文件格式类型 v1
└─sortOrder string 专辑中商品的排序规则 v1
└─createTime string 创建时间 v1
└─updateTime string 修改时间 v1
└─spuIds array 商品专辑中的商品id v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "collectionId": "1341305767802273794",
            "shopId": 48,
            "seoTitle": "苏格拉没有底",
            "seoKeywords": "",
            "seoDescription": "",
            "handle": "苏格拉没有底",
            "collectionDescription": "",
            "collectionTitle": "苏格拉没有底",
            "image": {
                "fileRepositoryId": "1339860432684871681",
                "path": "1339860432684871681.png",
                "url": "https://dev-cdn-shoptop-com.oss-cn-shanghai.aliyuncs.com/file/png/2020/12/18/1339860432684871681.png",
                "height": 48,
                "width": 48,
                "type": "image/png"
            },
            "sortOrder": "{\"sortBy\":\"sale_num\",\"sortDirection\":\"descend\"}",
            "createTime": "2020-12-22 16:53:10",
            "updateTime": "2021-03-18 10:57:30",
            "spuIds": null
        },
        {
            "collectionId": "1341304543304581121",
            "shopId": 48,
            "seoTitle": "想象之中",
            "seoKeywords": "",
            "seoDescription": "",
            "handle": "想象之中_f3qv",
            "collectionDescription": "",
            "collectionTitle": "想象之中",
            "image": null,
            "sortOrder": "{\"sortBy\":\"sale_num\",\"sortDirection\":\"descend\"}",
            "createTime": "2020-12-22 16:48:18",
            "updateTime": "2021-03-18 10:57:30",
            "spuIds": null
        }
    ]
}

专辑数量

URL: /openapi/v1/collections/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 专辑数量

Query-parameters:

Parameter Type Description Required Since
keyword string 搜索关键词 false v1
shopId number 店铺id false v1

Request-example:

curl -X GET -i /openapi/v1/collections/count?shopId=321&keyword=shfn0c

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": "27"
    }
}

专辑详情

URL: /openapi/v1/collections/{collectionId}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 专辑详情

Path-parameters:

Parameter Type Description Required Since
collectionId number 专辑id true v1

Request-example:

curl -X GET -i /openapi/v1/collections/896

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─collectionId number 专辑ID v1
└─shopId number 店铺id v1
└─seoTitle string seo标题 v1
└─seoKeywords string seo关键词 v1
└─seoDescription string seo描述 v1
└─handle string 商品url尾缀 v1
└─collectionDescription string 描述 v1
└─collectionTitle string 标题 v1
└─image object 专辑封面图片 v1
     └─fileRepositoryId number 图片文件id v1
     └─path string 图片位置 v1
     └─url string 图片url v1
     └─height number 高度 v1
     └─width number 宽度 v1
     └─type string 文件格式类型 v1
└─sortOrder object 专辑中商品的排序规则 v1
     └─sortBy string 要根据哪个字段进行排序 v1
     └─sortDirection string 根据哪个字段排序进行升序或降序排序 升序:ascend ,降序: descend v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "collectionId": "1341305767802273794",
        "shopId": 48,
        "seoTitle": "自动专辑有封面",
        "seoKeywords": "",
        "seoDescription": "",
        "handle": "自动专辑有封面",
        "collectionDescription": "",
        "collectionTitle": "自动专辑有封面",
        "image": {
            "fileRepositoryId": "1339860432684871681",
            "path": "1339860432684871681.png",
            "url": "https://dev-cdn-shoptop-com.oss-cn-shanghai.aliyuncs.com/file/png/2020/12/18/1339860432684871681.png",
            "height": 48,
            "width": 48,
            "type": "image/png"
        },
        "sortOrder": {
            "sortBy": "sale_num",
            "sortDirection": "descend"
        }
    }
}

创建专辑

URL: /openapi/v1/collections/

Type: POST

Content-Type: application/json; charset=utf-8

Description: 创建专辑

Body-parameters:

Parameter Type Description Required Since
collectionId number 专辑ID false v1
shopId number 店铺id false v1
seoTitle string seo标题 false v1
seoKeywords string seo关键词 false v1
seoDescription string seo描述 false v1
handle string 商品url尾缀 false v1
collectionDescription string 描述 false v1
collectionTitle string 标题 false v1
imageUrl string 专辑封面图片 false v1
sortOrder object 专辑中商品的排序规则 false v1
└─sortBy string 要根据哪个字段进行排序 false v1
└─sortDirection string 根据哪个字段排序进行升序或降序排序 升序:ascend ,降序: descend false v1
spuIds array 商品专辑中的商品id false v1

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/collections/ --data '{
    "collectionId": 87,
    "shopId": 709,
    "seoTitle": "fowyo2",
    "seoKeywords": "1dnj76",
    "seoDescription": "lntyaz",
    "handle": "55i1yv",
    "collectionDescription": "lm93ip",
    "collectionTitle": "weqhe4",
    "imageUrl": "https://dev-cdn-shoptop-com.oss-cn-shanghai.aliyuncs.com/file/png/1339860432684871681.png",
    "sortOrder": {
        "sortBy": "9wovus",
        "sortDirection": "exjaq1"
    },
    "spuIds": [
        931
    ]
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

编辑专辑

URL: /openapi/v1/collections/

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 编辑专辑

Body-parameters:

Parameter Type Description Required Since
collectionId number 专辑ID false v1
shopId number 店铺id false v1
seoTitle string seo标题 false v1
seoKeywords string seo关键词 false v1
seoDescription string seo描述 false v1
handle string 商品url尾缀 false v1
collectionDescription string 描述 false v1
collectionTitle string 标题 false v1
imageUrl string 专辑封面图片 false v1
sortOrder object 专辑中商品的排序规则 false v1
└─sortBy string 要根据哪个字段进行排序 false v1
└─sortDirection string 根据哪个字段排序进行升序或降序排序 升序:ascend ,降序: descend false v1
spuIds array 商品专辑中的商品id false v1

Request-example:

curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/collections/ --data '{
    "collectionId": 31,
    "shopId": 920,
    "seoTitle": "6ynhnr",
    "seoKeywords": "uzsw8k",
    "seoDescription": "lvkw9j",
    "handle": "2kbuak",
    "collectionDescription": "ym0bgq",
    "collectionTitle": "ljsah0",
    "imageUrl": "https://dev-cdn-shoptop-com.oss-cn-shanghai.aliyuncs.com/file/png/1339860432684871681.png",
    "sortOrder": {
        "sortBy": "07hgep",
        "sortDirection": "rx98tz"
    },
    "spuIds": [
        91
    ]
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

删除专辑

URL: /openapi/v1/collections/{collectionId}

Type: DELETE

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 删除专辑

Path-parameters:

Parameter Type Description Required Since
collectionId number 专辑id true v1

Request-example:

curl -X DELETE -i /openapi/v1/collections/972

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─status string 状态 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status": "success"
    }
}

专辑关联

专辑关联列表

URL: /openapi/v1/collects/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 专辑关联列表

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
shopId number 店铺id false v1
spuId number 商品id false v1
collectionId number 专辑id false v1

Request-example:

curl -X GET -i /openapi/v1/collects/?shopId=807&spuId=2b3d272d-12b5-4133-bbb0-5e43e748c730&pageSize=10&collectionId=553&pageNo=571

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─list array 数据 v1
     └─id number 关联id v1
     └─collectionId number 商品专辑id v1
     └─spuId number 商品spuID v1
└─total number 总量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "list": [
            {
                "id": "1298904901201625089",
                "collectionId": "1298549559691182082",
                "spuId": "1298896645695639553"
            },
            {
                "id": "1298904901226790913",
                "collectionId": "1298549559691182082",
                "spuId": "1298548593864605698"
            }        
        ],
        "total": "1298"
    }
}

专辑关联数量

URL: /openapi/v1/collects/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 专辑关联数量

Query-parameters:

Parameter Type Description Required Since
shopId number 店铺id false v1
spuId number 商品id false v1
collectionId number 专辑id false v1

Request-example:

curl -X GET -i /openapi/v1/collects/count?collectionId=83&shopId=767&spuId=2b3d272d-12b5-4133-bbb0-5e43e748c730

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": "1298"
    }
}

顾客API

顾客信息

添加顾客

URL: /openapi/v1/customers/

Type: POST

Content-Type: application/json; charset=utf-8

Description: 添加顾客

Body-parameters:

Parameter Type Description Required Since
email string 邮箱 true v1
firstName string false v1
lastName string false v1
phone string 手机 false v1
phoneAreaCode string 手机区号 false v1
acceptsMarketing boolean 是否订阅接受营销 false v1
password string 密码 false v1
passwordConfirmation string 确认密码 false v1
tags string 标签 false v1
address object 顾客地址 false v1
└─firstName string false v1
└─lastName string false v1
└─email string 邮箱 true v1
└─address1 string 地址1 false v1
└─address2 string 地址2 false v1
└─area string 区域 false v1
└─city string 城市 false v1
└─province string false v1
└─provinceCode string 省代码 false v1
└─country string 国家 false v1
└─countryCode string 国家代码 false v1
└─company string 公司 false v1
└─phone string 手机 false v1
└─phoneAreaCode string 手机区号 false v1
└─zip string 邮编 false v1
└─defaultFlag boolean 是否默认地址 true v1

Request-example:

curl -X POST -k -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/customers/ --data '{
    "email": "vinnie@shoptop.com",
    "firstName": "Vinnie",
    "lastName": "Li",
    "phone": "15808728191",
    "phoneAreaCode": "+8",
    "acceptsMarketing": true,
    "password": "0fmf87",
    "passwordConfirmation": "1ai4vl",
    "tags": "sh3ihd",
    "address": {
        "firstName": "Vinnie",
        "lastName": "Li",
        "email": "vinnie@shoptop.com",
        "address1": "en11xy",
        "address2": "q3z75c",
        "area": "3olf2y",
        "city": "dscqdl",
        "province": "qj9s3g",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "company": "shoptop",
        "phone": "15808728191",
        "phoneAreaCode": "+86",
        "zip": "230001",
        "defaultFlag": true
    }
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─acceptsMarketing boolean 是否订阅接受营销 v1
└─ordersCount int32 订单数量 v1
└─totalSpent string 消费总金额 v1
└─tags string 标签 v1
└─createdAt string 创建时间 格式:yyyy-MM-dd HH:mm:ss v1
└─updatedAt string 更新时间 格式:yyyy-MM-dd HH:mm:ss v1
└─defaultAddress object 默认地址 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1
└─addresses array 地址列表 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 3,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "acceptsMarketing": true,
        "ordersCount": 61,
        "totalSpent": "699",
        "tags": "5m9c1x",
        "createdAt": "qi3qm4",
        "updatedAt": "qnl8wa",
        "defaultAddress": {
            "id": 226,
            "customerId": 76,
            "firstName": "Vinnie",
            "lastName": "Li",
            "name": "Vinnie Li",
            "email": "vinnie@shoptop.com",
            "phone": "15808728191",
            "company": "shoptop",
            "address1": "3sphg9",
            "address2": "vao0fc",
            "area": "sck117",
            "city": "1fqsup",
            "province": "uwh1ix",
            "provinceCode": "19456",
            "country": "china",
            "countryCode": "CN",
            "countryName": "china",
            "zip": "230001",
            "defaultFlag": true
        },
        "addresses": [
            {
                "id": 278,
                "customerId": 770,
                "firstName": "Vinnie",
                "lastName": "Li",
                "name": "Vinnie Li",
                "email": "vinnie@shoptop.com",
                "phone": "15808728191",
                "company": "shoptop",
                "address1": "3sphg9",
                "address2": "vao0fc",
                "area": "sck117",
                "city": "1fqsup",
                "province": "uwh1ix",
                "provinceCode": "19456",
                "country": "china",
                "countryCode": "CN",
                "countryName": "china",
                "zip": "230001",
                "defaultFlag": false
            }
        ]
    }
}

更新顾客

URL: /openapi/v1/customers/{id}

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新顾客

Path-parameters:

Parameter Type Description Required Since
id int64 No comments found. true -

Body-parameters:

Parameter Type Description Required Since
email string 邮箱 true v1
firstName string false v1
lastName string false v1
phone string 手机 false v1
phoneAreaCode string 手机区号 false v1
acceptsMarketing boolean 是否订阅接受营销 false v1
password string 密码 false v1
passwordConfirmation string 确认密码 false v1
tags string 标签 false v1
address object 顾客地址 false v1
└─firstName string false v1
└─lastName string false v1
└─email string 邮箱 true v1
└─address1 string 地址1 false v1
└─address2 string 地址2 false v1
└─area string 区域 false v1
└─city string 城市 false v1
└─province string false v1
└─provinceCode string 省代码 false v1
└─country string 国家 false v1
└─countryCode string 国家代码 false v1
└─company string 公司 false v1
└─phone string 手机 false v1
└─phoneAreaCode string 手机区号 false v1
└─zip string 邮编 false v1
└─defaultFlag boolean 是否默认地址 true v1

Request-example:

curl -X PUT -k -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/customers/951 --data '{
    "email": "vinnie@shoptop.com",
    "firstName": "Vinnie",
    "lastName": "Li",
    "phone": "15808728191",
    "phoneAreaCode": "+86",
    "acceptsMarketing": true,
    "password": "cgqny6",
    "passwordConfirmation": "okg9v7",
    "tags": "y3ut9g",
    "address": {
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "company": "shoptop",
        "address1": "3sphg9",
        "address2": "vao0fc",
        "area": "sck117",
        "city": "1fqsup",
        "province": "uwh1ix",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "countryName": "china",
        "zip": "230001",
        "defaultFlag": true
    }
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─acceptsMarketing boolean 是否订阅接受营销 v1
└─ordersCount int32 订单数量 v1
└─totalSpent string 消费总金额 v1
└─tags string 标签 v1
└─createdAt string 创建时间 格式:yyyy-MM-dd HH:mm:ss v1
└─updatedAt string 更新时间 格式:yyyy-MM-dd HH:mm:ss v1
└─defaultAddress object 默认地址 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1
└─addresses array 地址列表 v1
     └─id int64 地址Id v1
     └─customerId int64 v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 659,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "acceptsMarketing": true,
        "ordersCount": 29,
        "totalSpent": "126",
        "tags": "iogox5",
        "createdAt": "ww0lmo",
        "updatedAt": "ql3i87",
        "defaultAddress": {
            "id": 502,
            "customerId": 891,
            "firstName": "Vinnie",
            "lastName": "Li",
            "name": "Vinnie Li",
            "email": "vinnie@shoptop.com",
            "phone": "15808728191",
            "company": "shoptop",
            "address1": "3sphg9",
            "address2": "vao0fc",
            "area": "sck117",
            "city": "1fqsup",
            "province": "uwh1ix",
            "provinceCode": "19456",
            "country": "china",
            "countryCode": "CN",
            "countryName": "china",
            "zip": "230001",
            "defaultFlag": true
        },
        "addresses": [
            {
                "id": 867,
                "customerId": 403,
                "firstName": "Vinnie",
                "lastName": "Li",
                "name": "Vinnie Li",
                "email": "vinnie@shoptop.com",
                "phone": "15808728191",
                "company": "shoptop",
                "address1": "3sphg9",
                "address2": "vao0fc",
                "area": "sck117",
                "city": "1fqsup",
                "province": "uwh1ix",
                "provinceCode": "19456",
                "country": "china",
                "countryCode": "CN",
                "countryName": "china",
                "zip": "230001",
                "defaultFlag": false
            }
        ]
    }
}

顾客列表

URL: /openapi/v1/customers/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 顾客列表

Query-parameters:

Parameter Type Description Required Since
pageNo int32 页码,从1开始 true v1
pageSize int32 每页显示条数 default: 10, maximum: 200 true v1
ids string ids eg:100001,100002,100003 false v1
email string 顾客邮箱 false v1
createdAtMin string 创建起始时间 格式:yyyy-MM-dd HH:mm:ss false v1
createdAtMax string 创建结束时间 格式:yyyy-MM-dd HH:mm:ss false v1
updatedAtMin string 修改起始时间 格式:yyyy-MM-dd HH:mm:ss false v1
updatedAtMax string 修改结束时间 格式:yyyy-MM-dd HH:mm:ss false v1

Request-example:

curl -X GET -k -i /openapi/v1/customers/?createdAtMin=2021-06-03 10:24:23&pageSize=10&createdAtMax=2021-08-03 10:24:23&email=vinnie@shoptop.com&ids=10,11&pageNo=1

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data array data v1
└─id int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─acceptsMarketing boolean 是否订阅接受营销 v1
└─ordersCount int32 订单数量 v1
└─totalSpent string 消费总金额 v1
└─tags string 标签 v1
└─createdAt string 创建时间 格式:yyyy-MM-dd HH:mm:ss v1
└─updatedAt string 更新时间 格式:yyyy-MM-dd HH:mm:ss v1
└─defaultAddress object 默认地址 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1
└─addresses array 地址列表 v1
     └─id int64 地址Id v1
     └─customerId int64 v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "id": 55,
            "firstName": "Vinnie",
            "lastName": "Li",
            "name": "Vinnie Li",
            "email": "vinnie@shoptop.com",
            "phone": "15808728191",
            "acceptsMarketing": true,
            "ordersCount": 282,
            "totalSpent": "655.69",
            "tags": "3w1lh0",
            "createdAt": "tlp4vk",
            "updatedAt": "09w7w1",
            "defaultAddress": {
                "id": 896,
                "customerId": 468,
                "firstName": "Vinnie",
                "lastName": "Li",
                "name": "Vinnie Li",
                "email": "vinnie@shoptop.com",
                "phone": "15808728191",
                "company": "shoptop",
                "address1": "3sphg9",
                "address2": "vao0fc",
                "area": "sck117",
                "city": "1fqsup",
                "province": "uwh1ix",
                "provinceCode": "19456",
                "country": "china",
                "countryCode": "CN",
                "countryName": "china",
                "zip": "230001",
                "defaultFlag": true
            },
            "addresses": [
                {
                    "id": 523,
                    "customerId": 1,
                    "firstName": "Vinnie",
                    "lastName": "Li",
                    "name": "Vinnie Li",
                    "email": "vinnie@shoptop.com",
                    "phone": "15808728191",
                    "company": "shoptop",
                    "address1": "3sphg9",
                    "address2": "vao0fc",
                    "area": "sck117",
                    "city": "1fqsup",
                    "province": "uwh1ix",
                    "provinceCode": "19456",
                    "country": "china",
                    "countryCode": "CN",
                    "countryName": "china",
                    "zip": "230001",
                    "defaultFlag": false
                }
            ]
        }
    ]
}

顾客详情

URL: /openapi/v1/customers/{id}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 顾客详情

Path-parameters:

Parameter Type Description Required Since
id int64 No comments found. true -

Request-example:

curl -X GET -k -i /openapi/v1/customers/570

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─acceptsMarketing boolean 是否订阅接受营销 v1
└─ordersCount int32 订单数量 v1
└─totalSpent string 消费总金额 v1
└─tags string 标签 v1
└─createdAt string 创建时间 格式:yyyy-MM-dd HH:mm:ss v1
└─updatedAt string 更新时间 格式:yyyy-MM-dd HH:mm:ss v1
└─defaultAddress object 默认地址 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1
└─addresses array 地址列表 v1
     └─id int64 地址Id v1
     └─customerId int64 顾客Id v1
     └─firstName string v1
     └─lastName string v1
     └─name string 姓名 v1
     └─email string 邮箱 v1
     └─phone string 手机号 v1
     └─company string 公司 v1
     └─address1 string 地址1 v1
     └─address2 string 地址2 v1
     └─area string 区域 v1
     └─city string 城市 v1
     └─province string v1
     └─provinceCode string 省代码 v1
     └─country string 国家 v1
     └─countryCode string 国家代码 v1
     └─countryName string 国家名称 v1
     └─zip string 邮编 v1
     └─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 896,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "acceptsMarketing": true,
        "ordersCount": 353,
        "totalSpent": "876",
        "tags": "49du1f",
        "createdAt": "7mdmqs",
        "updatedAt": "9y8pji",
        "defaultAddress": {
            "id": 66,
            "customerId": 970,
            "firstName": "Vinnie",
            "lastName": "Li",
            "name": "Vinnie Li",
            "email": "vinnie@shoptop.com",
            "phone": "15808728191",
            "company": "shoptop",
            "address1": "3sphg9",
            "address2": "vao0fc",
            "area": "sck117",
            "city": "1fqsup",
            "province": "uwh1ix",
            "provinceCode": "19456",
            "country": "china",
            "countryCode": "CN",
            "countryName": "china",
            "zip": "230001",
            "defaultFlag": true
        },
        "addresses": [
            {
                "id": 678,
                "customerId": 62,
                "firstName": "Vinnie",
                "lastName": "Li",
                "name": "Vinnie Li",
                "email": "vinnie@shoptop.com",
                "phone": "15808728191",
                "company": "shoptop",
                "address1": "3sphg9",
                "address2": "vao0fc",
                "area": "sck117",
                "city": "1fqsup",
                "province": "uwh1ix",
                "provinceCode": "19456",
                "country": "china",
                "countryCode": "CN",
                "countryName": "china",
                "zip": "230001",
                "defaultFlag": false
            }
        ]
    }
}

顾客数量

URL: /openapi/v1/customers/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 顾客数量

Request-example:

curl -X GET -k -i /openapi/v1/customers/count

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─count int64 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": 168
    }
}

顾客地址

添加顾客地址

URL: /openapi/v1/customers/{customerId}/addresses

Type: POST

Content-Type: application/json; charset=utf-8

Description: 添加顾客地址

Path-parameters:

Parameter Type Description Required Since
customerId int64 No comments found. true -

Body-parameters:

Parameter Type Description Required Since
firstName string false v1
lastName string false v1
email string 邮箱 true v1
address1 string 地址1 false v1
address2 string 地址2 false v1
area string 区域 false v1
city string 城市 false v1
province string false v1
provinceCode string 省代码 false v1
country string 国家 false v1
countryCode string 国家代码 false v1
company string 公司 false v1
phone string 手机 false v1
phoneAreaCode string 手机区号 false v1
zip string 邮编 false v1
defaultFlag boolean 是否默认地址 true v1

Request-example:

curl -X POST -k -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/customers/576/addresses --data '{
    "firstName": "Vinnie",
    "lastName": "Li",
    "email": "vinnie@shoptop.com",
    "address1": "y93api",
    "address2": "6zkkzr",
    "area": "fcxqd2",
    "city": "zbpilt",
    "province": "e8k42n",
    "provinceCode": "19456",
    "country": "china",
    "countryCode": "CN",
    "company": "shoptop",
    "phone": "15808728191",
    "phoneAreaCode": "+86",
    "zip": "230001",
    "defaultFlag": true
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 地址Id v1
└─customerId int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─company string 公司 v1
└─address1 string 地址1 v1
└─address2 string 地址2 v1
└─area string 区域 v1
└─city string 城市 v1
└─province string v1
└─provinceCode string 省代码 v1
└─country string 国家 v1
└─countryCode string 国家代码 v1
└─countryName string 国家名称 v1
└─zip string 邮编 v1
└─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 933,
        "customerId": 351,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "company": "shoptop",
        "address1": "k2o9jo",
        "address2": "ts98di",
        "area": "uhwi7i",
        "city": "hfcpht",
        "province": "u2filv",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "countryName": "china",
        "zip": "230001",
        "defaultFlag": true
    }
}

更新顾客地址

URL: /openapi/v1/customers/{customerId}/addresses/{addressId}

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新顾客地址

Path-parameters:

Parameter Type Description Required Since
customerId int64 顾客Id. true -
addressId int64 地址Id. true -

Body-parameters:

Parameter Type Description Required Since
firstName string false v1
lastName string false v1
email string 邮箱 true v1
address1 string 地址1 false v1
address2 string 地址2 false v1
area string 区域 false v1
city string 城市 false v1
province string false v1
provinceCode string 省代码 false v1
country string 国家 false v1
countryCode string 国家代码 false v1
company string 公司 false v1
phone string 手机 false v1
phoneAreaCode string 手机区号 false v1
zip string 邮编 false v1
defaultFlag boolean 是否默认地址 true v1

Request-example:

curl -X PUT -k -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/customers/583/addresses/421 --data '{
    "firstName": "Vinnie",
    "lastName": "Li",
    "email": "vinnie@shoptop.com",
    "address1": "25de1n",
    "address2": "knyvss",
    "area": "zpiwvd",
    "city": "o1woqh",
    "province": "nbxl89",
    "provinceCode": "19456",
    "country": "china",
    "countryCode": "CN",
    "company": "shoptop",
    "phone": "15808728191",
    "phoneAreaCode": "+86",
    "zip": "230001",
    "defaultFlag": true
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 地址Id v1
└─customerId int64 顾客Id v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─company string 公司 v1
└─address1 string 地址1 v1
└─address2 string 地址2 v1
└─area string 区域 v1
└─city string 城市 v1
└─province string v1
└─provinceCode string 省代码 v1
└─country string 国家 v1
└─countryCode string 国家代码 v1
└─countryName string 国家名称 v1
└─zip string 邮编 v1
└─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 933,
        "customerId": 351,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "company": "shoptop",
        "address1": "k2o9jo",
        "address2": "ts98di",
        "area": "uhwi7i",
        "city": "hfcpht",
        "province": "u2filv",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "countryName": "china",
        "zip": "230001",
        "defaultFlag": true
    }
}

删除顾客地址

URL: /openapi/v1/customers/{customerId}/addresses/{addressId}

Type: DELETE

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 删除顾客地址

Path-parameters:

Parameter Type Description Required Since
customerId int64 顾客Id. true -
addressId int64 地址Id. true -

Request-example:

curl -X DELETE -k -i /openapi/v1/customers/249/addresses/755

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": true
}

设置顾客默认地址

URL: /openapi/v1/customers/{customerId}/addresses/{addressId}/default

Type: PUT

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 设置顾客默认地址

Path-parameters:

Parameter Type Description Required Since
customerId int64 No comments found. true -
addressId int64 No comments found. true -

Request-example:

curl -X PUT -k -i /openapi/v1/customers/833/addresses/156/default

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": true
}

顾客地址列表

URL: /openapi/v1/customers/{customerId}/addresses

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 顾客地址列表

Path-parameters:

Parameter Type Description Required Since
customerId int64 No comments found. true -

Query-parameters:

Parameter Type Description Required Since
pageNo int32 页码,从1开始 true v1
pageSize int32 每页显示条数 default: 10, maximum: 200 true v1

Request-example:

curl -X GET -k -i /openapi/v1/customers/351/addresses?pageSize=10&pageNo=817

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data array data v1
└─id int64 地址Id v1
└─customerId int64 v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─company string 公司 v1
└─address1 string 地址1 v1
└─address2 string 地址2 v1
└─area string 区域 v1
└─city string 城市 v1
└─province string v1
└─provinceCode string 省代码 v1
└─country string 国家 v1
└─countryCode string 国家代码 v1
└─countryName string 国家名称 v1
└─zip string 邮编 v1
└─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
        "id": 933,
        "customerId": 351,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "company": "shoptop",
        "address1": "k2o9jo",
        "address2": "ts98di",
        "area": "uhwi7i",
        "city": "hfcpht",
        "province": "u2filv",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "countryName": "china",
        "zip": "230001",
        "defaultFlag": true
        }
    ]
}

顾客地址详情

URL: /openapi/v1/customers/{customerId}/addresses/{addressId}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 顾客地址详情

Path-parameters:

Parameter Type Description Required Since
customerId int64 No comments found. true -
addressId int64 No comments found. true -

Request-example:

curl -X GET -k -i /openapi/v1/customers/510/addresses/137

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 地址Id v1
└─customerId int64 v1
└─firstName string v1
└─lastName string v1
└─name string 姓名 v1
└─email string 邮箱 v1
└─phone string 手机号 v1
└─company string 公司 v1
└─address1 string 地址1 v1
└─address2 string 地址2 v1
└─area string 区域 v1
└─city string 城市 v1
└─province string v1
└─provinceCode string 省代码 v1
└─country string 国家 v1
└─countryCode string 国家代码 v1
└─countryName string 国家名称 v1
└─zip string 邮编 v1
└─defaultFlag boolean 是否默认地址 v1

Response-example:

{
    "code": 102,
    "errorCode": 91,
    "msg": "r1uf9m",
    "data": {
        "id": 933,
        "customerId": 351,
        "firstName": "Vinnie",
        "lastName": "Li",
        "name": "Vinnie Li",
        "email": "vinnie@shoptop.com",
        "phone": "15808728191",
        "company": "shoptop",
        "address1": "k2o9jo",
        "address2": "ts98di",
        "area": "uhwi7i",
        "city": "hfcpht",
        "province": "u2filv",
        "provinceCode": "19456",
        "country": "china",
        "countryCode": "CN",
        "countryName": "china",
        "zip": "230001",
        "defaultFlag": true
    }
}

店铺API

店铺信息

URL: /openapi/v1/shop/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 店铺信息

Request-example:

curl -X GET -i /openapi/v1/shop/

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─shopId number 店铺id v1
└─shopName string 店铺名称 v1
└─shopUrl string 店铺URL v1
└─shopFavicon string 店铺favicon v1
└─shopEmail string 店主邮箱 v1
└─shopServiceEmail string 服务邮箱(客服) v1
└─shopFinancialEmail string 财务邮箱 v1
└─shopContactEmail string 联系邮箱 v1
└─shopCurrency string 币种 v1
└─shopUtc string 时区 v1
└─shopLanguage string 语言 v1
└─utcHour double 小时数 v1
└─countryCode string 国家代码 v1
└─provinceCode string 省份代码 v1
└─city string 城市 v1
└─address string 地址 v1
└─phone string 电话 v1
└─zip string 邮编 v1
└─moneyFormat string 货币格式 v1
└─orderPrefix string 订单前缀 v1
└─symbol string 货币符号 v1
└─symbolLeft string 货币符号左 v1
└─symbolRight string 货币符号右 v1
└─beginTime string 开始日期 v1
└─endTime string 结束日期 v1
└─createTime string 创建时间 v1
└─updateTime string 更新時間 v1
└─symbolStatus number 币种状态,0:可修改,1:不可以修改 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "shopId": 48,
        "shopName": "Johnny_Store",
        "shopUrl": "johnny110.testgoshoptop.com",
        "shopFavicon": "https://mall-hk.oss-cn-hongkong.aliyuncs.com/file/jpeg/2020/12/10/1336990579871547394.jpeg",
        "shopEmail": "779482518@qq.com",
        "shopServiceEmail": "779482518@qq.com",
        "shopFinancialEmail": "779482518@qq.com",
        "shopContactEmail": null,
        "shopCurrency": "CAD",
        "shopUtc": "+0800",
        "shopLanguage": "en_US",
        "utcHour": 0.0,
        "countryCode": null,
        "provinceCode": null,
        "city": null,
        "address": null,
        "phone": null,
        "zip": null,
        "moneyFormat": null,
        "orderPrefix": null,
        "symbol": "Can.$",
        "symbolLeft": "Can.$",
        "symbolRight": "",
        "beginTime": null,
        "endTime": null,
        "createTime": "2020-12-04 10:12:42",
        "updateTime": "2021-03-15 16:20:17",
        "symbolStatus": 1
    }
}

店铺脚本

添加脚本

URL: /openapi/v1/script/tags/

Type: POST

Content-Type: application/json; charset=utf-8

Description: 添加脚本

Request-headers:

Header Type Description Required Since
Access-Token string null true -

Body-parameters:

Parameter Type Description Required Since
script string 脚本 true v1
displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 true v1
eventType string 事件类型 eg:app true v1

Request-example:

curl -X POST -k -H 'Content-Type: application/json; charset=utf-8' -H 'Access-Token' -i /openapi/v1/script/tags/ --data '{
    "script": "<script src=\"https://ishoptop.com/test.js\"></script>",
    "displayScope": "all",
    "eventType": "app"
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 id v1
└─script string 脚本 v1
└─displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 v1
└─eventType string 事件类型 eg:app v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "10001",
        "script": "<script src=\"https://ishoptop.com/test.js\"></script>",
        "displayScope": "all",
        "eventType": "app"
    }
}

更新脚本

URL: /openapi/v1/script/tags/{id}

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新脚本

Path-parameters:

Parameter Type Description Required Since
id int64 No comments found. true -

Body-parameters:

Parameter Type Description Required Since
script string 脚本 true v1
displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 true v1
eventType string 事件类型 eg:app true v1

Request-example:

curl -X PUT -k -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/script/tags/200 --data '{
    "script": "<script src=\"https://ishoptop.com/test2.js\"></script>",
    "displayScope": "all",
    "eventType": "app"
}'

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 id v1
└─script string 脚本 v1
└─displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 v1
└─eventType string 事件类型 eg:app v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "10001",
        "script": "<script src=\"https://ishoptop.com/test2.js\"></script>",
        "displayScope": "all",
        "eventType": "app"
    }
}

删除脚本

URL: /openapi/v1/script/tags/{id}

Type: DELETE

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 删除脚本

Path-parameters:

Parameter Type Description Required Since
id int64 No comments found. true -

Request-example:

curl -X DELETE -k -i /openapi/v1/script/tags/233

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": true
}

脚本列表

URL: /openapi/v1/script/tags/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 脚本列表

Request-headers:

Header Type Description Required Since
Access-Token string null true -

Query-parameters:

Parameter Type Description Required Since
pageNo int32 页码,从1开始 true v1
pageSize int32 每页显示条数 default: 10, maximum: 200 true v1
eventType string 事件类型 eg:app false v1

Request-example:

curl -X GET -k -H 'Access-Token' -i /openapi/v1/script/tags/?pageSize=10&pageNo=1&eventType=app

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data array data v1
└─id int64 id v1
└─script string 脚本 v1
└─displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 v1
└─eventType string 事件类型 eg:app v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": [
        {
            "id": 666,
            "script": "<script src=\"https://ishoptop.com/test2.js\"></script>",
            "displayScope": "all",
            "eventType": "app"
        }
    ]
}

脚本详情

URL: /openapi/v1/script/tags/{id}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 脚本详情

Path-parameters:

Parameter Type Description Required Since
id int64 No comments found. true -

Request-example:

curl -X GET -k -i /openapi/v1/script/tags/122

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─id int64 id v1
└─script string 脚本 v1
└─displayScope string 展示范围 eg:all,index,collection,product,cart,coupon,search,checkout,404 v1
└─eventType string 事件类型 eg:app v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": 327,
        "script": "<script src=\"https://ishoptop.com/test2.js\"></script>",
        "displayScope": "all",
        "eventType": "app"
    }
}

脚本数量

URL: /openapi/v1/script/tags/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 脚本数量

Request-headers:

Header Type Description Required Since
Access-Token string No comments found. true -

Request-example:

curl -X GET -k -H 'Access-Token' -i /openapi/v1/script/tags/count

Response-fields:

Field Type Description Since
code int32 code v1
errorCode int32 errorCode v1
msg string message v1
data object data v1
└─count int64 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": 1
    }
}

Webhook

您可以使用webhook订阅来接收商店中特定事件的通知。订阅Webhook后,可以在安装了应用的商店中发生特定事件后立即让应用执行相关代码,而不必定期进行API调用以检查其状态。例如,当客户创建购物车或商户在创建新产品时,您可以依靠webhook触发应用中的相关操作。通过使用webhooks订阅,可以减少API调用,从而确保您的应用更高效,更新速度更快。

webhook通知会包含HTTP headers和JSON格式数据。以orders/create事件为例,会包含如下headers:

  • X-Shoptop-Topic: orders/create
  • X-Shoptop-Hmac-Sha256: XWmrwMey6OsLMeiZKwP4FppHH3cmAiiJJAweH5Jo4bM=
  • X-Shoptop-Shop-Domain: abc.ishoptop.com
  • X-Shoptop-Api-Version: v1

其中,X-Shoptop-Hmac-Sha256可以用来验证webhooks,X-Shoptop-Shop-Domain则标识了此事件对应的店铺。X-Shoptop-Api-Version表明了使用的webhook API版本。

支持的webhook事件和主题

Events Topics Response Example
Collection collections/create,
collections/update
{
"collectionId": "1405475539787186178",
"shopId": 100169,
"seoTitle": "专辑1",
"seoKeywords": null,
"seoDescription": null,
"handle": "专辑1",
"collectionDescription": null,
"collectionTitle": "专辑1-2021-06-17 18:40:55",
"image": null,
"sortOrder": "{\"sortBy\":\"sale_num\",\"sortDirection\":\"descend\"}",
"createTime": "2021-06-17 18:40:56",
"updateTime": "2021-06-17 18:40:56",
"spuIds": null
}
collections/delete {
"collection": {
"id": "0097cfc8-6ec3-40ed-ab9f-6f2231b705a6"
}
}
Product products/create,
products/update
{
"spuId": "1405475512834588674",
"seoTitle": "Negative-ion Cat Ear Cute Humidifier",
"seoKeywords": null,
"seoDescription": null,
"handle": "negative-ion-moisturizing-humidifier",
"goodsImage": {
"fileRepositoryId": "1405475512637456385",
"path": "1405475512637456385.jpg",
"url": "https://dev-cdn-shoptop-com/1405475512637456385.jpg",
"height": 1000,
"width": 1000,
"type": "image/jpg"
},
"goodsTitle": "Negative-ion Cat Ear Cute Humidifier",
"goodsBrief": null,
"spu": null,
"inventoryTracking": 1,
"inventoryPolicy": 2,
"needVariantImage": 1,
"published": 1,
"publishedAt": null,
"requiresShipping": 1,
"taxable": 0,
"vendorName": "CJ",
"vendorUrl": null,
"amazonLink": null,
"shopId": 100169,
"goodsDescription": "",
"isFreeShipping": 0,
"isSensitiveGoods": 0,
"isSingleSku": 0,
"inventoryQuantity": 20,
"createTime": "2021-06-17 18:40:49",
"updateTime": "2021-06-17 18:41:22",
"collections": [],
"skus": ”“
"images":”“
"goodsTags": []
}
products/delete {
"product": {
"id": "0097cfc8-6ec3-40ed-ab9f-6f2231b705a6"
}
}
Order orders/cancelled,
orders/create,
orders/fulfilled,
orders/finished,
orders/paid,
orders/partially_fulfilled,
orders/refunded,
orders/update
{
"orderNo": "ZLN0398018",
"id": "1424682429884698626",
"totalPrice": "5.20",
"subTotal": "5.00",
"currency": "USD",
"financialStatus": "paid",
"orderStatus": "finished",
"canceledAt": null,
"cancelReason": null,
"orderNote": null,
"fulfillmentStatus": "finished",
"customerDeletedAt": null,
"placedAt": "2021-08-09 18:42:31",
"tags": null,
"discountCode": null,
"codeDiscountTotal": null,
"lineItemDiscountTotal": null,
"customerNote": "",
"totalDiscount": null,
"totalTax": "0.00",
"totalShipping": "0.20",
"createdAt": "2021-08-09 18:42:15",
"updatedAt": "2021-08-12 14:26:26",
"lineItems": "",
"paymentLine": {
"paymentChannel": "cod",
"paymentMethod": "cod",
"transactionNo": null,
"merchantId": null,
"merchantEmail": null
},
"shippingLine": {
"name": "亚洲"
},
"billingAddress": null,
"shippingAddress": "",
"fulfillments": "",
"customer": {
"email": "2943089171@qq.com",
"firstName": "22",
"lastName": "11",
"ordersCount": "0",
"totalSpent": "0.00",
"phone": null,
"createdAt": "2021-08-09 18:42:31",
"updatedAt": null
}
}
orders/delete {
"order": {
"id": "0097cfc8-6ec3-40ed-ab9f-6f2231b705a6"
}
}
Fulfillment fulfillments/create,
fulfillments/update
{
"id": "1424684956927692801",
"orderId": "1424682429884698626",
"status": "finished",
"createdAt": "2021-08-09 18:52:18",
"updatedAt": "2021-08-12 14:26:26",
"trackingCompany": "安得物流",
"trackingNumber": "21421",
"trackingCompanyCode": "annto",
"lineItems": [
{
"productTitle": "水杯",
"variantTitle": "水杯",
"quantity": 1,
"note": null,
"image": "https://cdn.shoptop.com/1405475536159113218.jpg",
"price": "5.00",
"compareAtPrice": "10.00",
"total": "5.00",
"sku": "201201",
"weight": "500.00",
"weightUnit": "g",
"vendor": null,
"properties": null,
"productUrl": null,
"productHandle": "水杯",
"id": "1424682432267063297",
"productId": "1405475536335273985",
"variantId": "1405475536360439811",
"fulfillmentStatus": "finished"
}
]
}
Customer customers/create,
customers/update
{
"customer": {
"id": "1dfa86e9-f3f4-4684-8eb6-05399ef19705",
"first_name": "Lee",
"last_name": "Le",
"name": "Lee Le",
"email": "person207@example.com",
"phone": "15323233434",
"phone_area_code": "+86",
"accepts_marketing": false,
"orders_count": 10,
"total_spent": "100.10",
"tags": "",
"created_at": "2018-10-23T15:29:24-04:00",
"updated_at": "2018-10-23T15:29:24-04:00",
"default_address": {
"id": "2ffa86e9-f3f4-4684-84b6-05399ef19709",
"customer_id": "1dfa86e9-f3f4-4684-8eb6-05399ef19705",
"first_name": null,
"last_name": null,
"company": null,
"address1": "Chestnut Street 92",
"address2": "",
"city": "Louisville",
"province": "Kentucky",
"country": "United States",
"zip": "40202",
"phone": "555-625-1199",
"phone_area_code": "+86",
"name": "",
"province_code": "KY",
"country_code": "US",
"country_name": "United States",
"default": true
},
"addresses": [{
"id": "2ffa86e9-f3f4-4684-84b6-05399ef19709",
"customer_id": "1dfa86e9-f3f4-4684-8eb6-05399ef19705",
"first_name": null,
"last_name": null,
"company": null,
"address1": "Chestnut Street 92",
"address2": "",
"city": "Louisville",
"province": "Kentucky",
"country": "United States",
"zip": "40202",
"phone": "555-625-1199",
"phone_area_code": "+86",
"name": "",
"province_code": "KY",
"country_code": "US",
"country_name": "United States",
"default": true
}]
}
}
`
customers/delete {
"customer": {
"id": "0097cfc8-6ec3-40ed-ab9f-6f2231b705a6"
}
}

Webhook API

webhook列表

URL: /openapi/v1/webhooks/

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: webhook列表

Query-parameters:

Parameter Type Description Required Since
pageNo number 页码,从1开始 true v1
pageSize number 每页显示条数 default: 10, maximum: 200 true v1
id number 主键ID false v1
address string webhook通知地址 false v1
topic string 订阅事件名称 false v1
createTimeBegin string 创建时间Begin false v1
createTimeEnd string 创建时间End false v1
updateTimeBegin string 更新时间Begin false v1
updateTimeEnd string 更新时间End false v1

Request-example:

curl -X GET -i /openapi/v1/webhooks/?updateTimeEnd=2021-08-12 09:29:39&updateTimeBegin=2021-08-12 09:29:39&pageNo=903&pageSize=10&address=http://facebook.ishoptop.com&createTimeBegin=2021-08-12 09:29:39&topic=34kwex&createTimeEnd=2021-08-12 09:29:39&id=87

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─list array 数据 v1
     └─id number 主键ID v1
     └─address string webhook通知地址 v1
     └─topic string 订阅事件名称 v1
     └─createTime string 订阅时间 v1
     └─updateTime string 更新时间 v1
└─total number 总量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "list": [
            {
                "id": "1425707051551563777",
                "address": "http://localhost:8080/webhooks",
                "topic": "orders/create",
                "createTime": "2021-08-12 14:33:44",
                "updateTime": null
            }
        ],
        "total": "1"
    }
}

webhook数量

URL: /openapi/v1/webhooks/count

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: webhook数量

Request-example:

curl -X GET -i /openapi/v1/webhooks/count

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─count number 数量 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "count": "1"
    }
}

webhook详情

URL: /openapi/v1/webhooks/{id}

Type: GET

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: webhook详情

Path-parameters:

Parameter Type Description Required Since
id number id true v1

Request-example:

curl -X GET -i /openapi/v1/webhooks/132

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number 主键ID v1
└─address string webhook通知地址 v1
└─topic string 订阅事件名称 v1
└─createTime string 订阅时间 v1
└─updateTime string 更新时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425707051551563777",
        "address": "http://localhost:8080/webhooks",
        "topic": "orders/create",
        "createTime": "2021-08-12 14:33:44",
        "updateTime": null
    }
}

创建webhook

URL: /openapi/v1/webhooks/

Type: POST

Content-Type: application/json; charset=utf-8

Description: 创建webhook

Request-headers:

Header Type Description Required Since
Access-Token string 访问token true v1

Body-parameters:

Parameter Type Description Required Since
address string webhook通知地址 false v1
topic string 订阅的事件主题 false v1

Request-example:

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Access-Token' -i /openapi/v1/webhooks/ --data '{
    "address":"http://localhost:8080/webhooks",
      "topic":"orders/create"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number 主键ID v1
└─address string webhook通知地址 v1
└─topic string 订阅事件名称 v1
└─createTime string 订阅时间 v1
└─updateTime string 更新时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425707051551563777",
        "address": "http://localhost:8080/webhooks",
        "topic": "orders/create",
        "createTime": "2021-08-12 14:33:44",
        "updateTime": null
    }
}

更新webhook

URL: /openapi/v1/webhooks/

Type: PUT

Content-Type: application/json; charset=utf-8

Description: 更新webhook

Body-parameters:

Parameter Type Description Required Since
id number 主键ID false v1
address string webhook通知地址 false v1
topic string 订阅的事件主题 false v1

Request-example:

curl -X PUT -H 'Content-Type: application/json; charset=utf-8' -i /openapi/v1/webhooks/ --data '{
    "id": 667,
    "address":"http://localhost:8080/webhooks",
      "topic":"orders/create"
}'

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1
└─id number 主键ID v1
└─address string webhook通知地址 v1
└─topic string 订阅事件名称 v1
└─createTime string 订阅时间 v1
└─updateTime string 更新时间 v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "id": "1425707051551563777",
        "address": "http://localhost:8080/webhooks",
        "topic": "orders/create",
        "createTime": "2021-08-12 14:33:44",
        "updateTime": null
    }
}

删除webhook

URL: /openapi/v1/webhooks/{id}

Type: DELETE

Content-Type: application/x-www-form-urlencoded;charset=utf-8

Description: 删除webhook

Path-parameters:

Parameter Type Description Required Since
id number id true v1

Request-example:

curl -X DELETE -i /openapi/v1/webhooks/749

Response-fields:

Field Type Description Since
code number code v1
errorCode number errorCode v1
msg string message v1
data object data v1

Response-example:

{
    "code": 0,
    "errorCode": 0,
    "msg": "请求成功",
    "data": {
        "status":"success"
    }
}

数据字典

http状态码字典

Code Type Description
0 string success
1 string failed
200 string ok
400 string Bad Request
401 string Unauthorized
403 string Forbidden
404 string Not Found
415 string Unsupported Media Type
429 string Too many requests
500 string Internal Server Error
502 string Bad Gateway
503 string Service Unavailable