其他
其他 API 返回前台需要的基础数据:电话区号、货币、国家/地区、省/州、访客所在的国家/地区、店铺已开通的货币、商品可领取的优惠券,以及主题的语言包。
获取国际电话区号列表
GET /{locale}/api/phone
获取电话相关信息数据。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/phone')
.then((response) => response.json())
.then((data) => {
// Do something...
});
响应
- 数据结构
- 示例
- Array [
- ]
国家的中文名称。
国旗图片地址。
ISO 3166-1 alpha-2 国家代码。
ISO 3166-1 alpha-3 国家代码。
国家的英文名称。
国家的国际电话区号。
由国家代码与电话区号组成的键,例如 AF_93。
[
{
"cn_name": "阿富汗",
"flag": "https://imglib.shoplazza.com/42757bc371af7061a1775697529b55c6.png",
"iso_code_2": "AF",
"iso_code_3": "AFG",
"name": "Afghanistan",
"phone_code": "93",
"phone_key": "AF_93"
},
{
"cn_name": "奥兰群岛",
"flag": "https://imglib.shoplazza.com/Aland.png",
"iso_code_2": "AX",
"iso_code_3": "ALA",
"name": "Aland lslands",
"phone_code": "358",
"phone_key": "AX_358"
},
{
"cn_name": "津巴布韦",
"flag": "https://imglib.shoplazza.com/eb2d7eafed41ce90f19b6b94055291a7.png",
"iso_code_2": "ZW",
"iso_code_3": "ZWE",
"name": "Zimbabwe",
"phone_code": "263",
"phone_key": "ZW_263"
}
]
获取平台支持的货币列表
GET /{locale}/api/currency
获取货币相关信息数据。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/currency')
.then((response) => response.json())
.then((data) => {
// Do something...
});
响应
- 数据结构
- 示例
- Array [
- ]
货币的中文名称。
货币代码,例如 USD。
货币 ID。
国旗图片地址。
显示在金额左侧的符号。
显示在金额右侧的符号。
按前台语言展示的货币名称。
[
{
"cn_name": "美元",
"code": "USD",
"currency_id": 1,
"flag": "//img.staticdj.com/411902f97f55701c425aeb0b1df78fed.png",
"symbol_left": "$",
"symbol_right": "",
"title": "United States Dollars (USD)",
"value": 0
},
{
"cn_name": "欧元",
"code": "EUR",
"currency_id": 2,
"flag": "//img.staticdj.com/8e76e4a274e105aaeca38a9e00f76821.png",
"symbol_left": "€",
"symbol_right": "",
"title": "Euro (EUR)",
"value": 0
},
{
"cn_name": "伊朗里亚尔",
"code": "IRR",
"currency_id": 152,
"flag": "//img.staticdj.com/df0e6a9526632c7f50447e2d28d7766e.png",
"symbol_left": "",
"symbol_right": "﷼",
"title": "Iranian Rial (IRR)",
"value": 0
}
]
获取国家/地区列表
GET /{locale}/api/country
获取国家/地区相关信息数据。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/country')
.then((response) => response.json())
.then((data) => {
// Do something...
});
响应
- 数据结构
- 示例
- Array [
- ]
国家的中文名称。
国家所属的大洲。
国家 ID。
国旗图片地址。
ISO 3166-1 alpha-2 国家代码。
ISO 3166-1 alpha-3 国家代码。
国家的英文名称。
国家的国际电话区号。
[
{
"cn_name": "阿富汗",
"continent": "AS",
"country_id": 1,
"flag": "https://imglib.shoplazza.com/42757bc371af7061a1775697529b55c6.png",
"iso_code_2": "AF",
"iso_code_3": "AFG",
"name": "Afghanistan",
"phone_code": "93"
},
{
"cn_name": "奥兰群岛",
"continent": "EU",
"country_id": 2,
"flag": "https://imglib.shoplazza.com/Aland.png",
"iso_code_2": "AX",
"iso_code_3": "ALA",
"name": "Aland lslands",
"phone_code": "358"
},
{
"cn_name": "津巴布韦",
"continent": "AF",
"country_id": 240,
"flag": "https://imglib.shoplazza.com/eb2d7eafed41ce90f19b6b94055291a7.png",
"iso_code_2": "ZW",
"iso_code_3": "ZWE",
"name": "Zimbabwe",
"phone_code": "263"
}
]
获取国家/地区的省/州列表
GET /{locale}/api/country/{country_code}/province
通过国家/地区代码 Alpha-2 获取省/州相关信息数据。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/country/CN/province')
.then((response) => response.json())
.then((data) => {
// Do something...
});
请求参数
两位国家/地区代码,例如 CN。
响应
- 数据结构
- 示例
- Array [
- ]
省份的中文名称。
省份代码。
省份所属国家的代码。
省份的英文名称。
省份的旧代码。
省份 ID。
[
{
"cn_name": "安徽省",
"code": "CN-AH",
"country_code2": "CN",
"name": "Anhui",
"old_code": "ANH",
"province_id": 615
},
{
"cn_name": "北京市",
"code": "CN-BJ",
"country_code2": "CN",
"name": "Beijing",
"old_code": "BJG",
"province_id": 616
},
{
"cn_name": "浙江省",
"code": "CN-ZJ",
"country_code2": "CN",
"name": "Zhejiang",
"old_code": "ZHE",
"province_id": 648
}
]
获取访客 IP 和所属国家/地区
GET /{locale}/api/ip-info
获取访客的 IP 地址及其解析出的国家/地区。没有参数。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/ip-info')
.then((response) => response.json())
.then((data) => {
// Do something...
});
响应
- 数据结构
- 示例
根据访客 IP 解析出的两位国家代码。
访客的 IP 地址。
{
"country": "US",
"ip": "203.0.113.10"
}
获取店铺已开通的货币
GET /{locale}/api/multi-currency/finance-list
获取店铺已开通的货币列表和其中的默认货币。没有参数。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/multi-currency/finance-list')
.then((response) => response.json())
.then((data) => {
// do something...
});
响应
示例中的列表只保留了 3 种货币。
- 数据结构
- 示例
- Array [
- ]
请求结果标识,success 或 0 表示请求成功。
响应返回的结果说明。
data object
响应数据主体。
店铺默认货币的代码。
list object[]
店铺已开启的货币列表。
货币代码,例如 USD。
按前台语言展示的货币名称。
货币的英文名称。
货币符号。
国旗图片地址。
是否为默认货币,1 是,0 否。
货币符号的位置,left 或 right。
{
"state": 0,
"msg": "请求成功",
"data": {
"default_code": "USD",
"open_state": 1,
"list": [
{
"code": "USD",
"title": "美元(USD)",
"name": "United States Dollars (USD)",
"symbol": "$",
"flag": "//img.staticdj.com/411902f97f55701c425aeb0b1df78fed.png",
"default": 1,
"format": "amount",
"currency_symbol_pos": "left",
"finance": 1
},
{
"code": "CNY",
"title": "中国人民币(CNY)",
"name": "Chinese Yuan Renminbi (CNY)",
"symbol": "¥",
"flag": "//img.staticdj.com/8990b1b7cab189e38913017d3887b918.png",
"default": 0,
"format": "amount",
"currency_symbol_pos": "left",
"finance": 6.71915
},
{
"code": "JPY",
"title": "日元(JPY)",
"name": "Japanese Yen (JPY)",
"symbol": "¥",
"flag": "//img.staticdj.com/e2393bdde2c379e21d71ffbe77cc2739.png",
"default": 0,
"format": "amount",
"currency_symbol_pos": "left",
"finance": 155.872505
}
]
}
}
获取商品可领取的优惠券
GET /{locale}/api/discount-code/coupons
获取某个商品可以领取的优惠券。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/discount-code/coupons?product_id=14a309ec-b966-4cf9-a9bb-33baa821fdbc')
.then((response) => response.json())
.then((data) => {
// do something...
});
请求参数
商品的 id。
响应
示例所用店铺没有可领券的活动,所以列表为空。
- 数据结构
- 示例
响应数据主体。
{
"data": []
}
获取主题语言包
GET /{locale}/api/front/themes/languages
获取主题的语言包,也就是前台渲染用的文案翻译,按文案分组组织。
请求示例
fetch(window.SHOPLAZZA.routes.root + '/api/front/themes/languages?catalogues=all&theme_id=1709a232-7dc7-4412-9209-be8baf14b66f')
.then((response) => response.json())
.then((data) => {
// do something...
});
请求参数
要返回的文案分组。传 all 返回全部分组。
主题的 id。
响应
示例省略了大部分文案键。
- 数据结构
- 示例
data object
响应数据主体。
config object
按板块分组的前台文案翻译。
bag object
购物袋板块的文案翻译。
blog object
博客板块的文案翻译。
cart object
购物车板块的文案翻译。
返回内容的语言代码,例如 en-US。
响应返回的结果说明。
请求结果标识,success 或 0 表示请求成功。
{
"data": {
"config": {
"bag": {},
"blog": {},
"cart": {}
},
"language": "en-US"
},
"msg": "请求成功",
"state": 0
}