西之月开放接口(openapi)
    • 西之月开放平台介绍
    • 西之月接入流程
    • 西之月开放API
    • 西之月订阅通知
    • 公共错误码
    • 货盘页面接入说明
    • openapi
      • 商品
        • 📖商品能力
        • SKU
          • SKU列表
          • SKU信息
          • SKU信息及价格
          • SKU查询客户价格
          • SKU查询英代欧代美代协议
          • SKU一体化标签
          • SKU一体化标签平台
          • SKU证书
          • SKU六面图
          • SKU商品图包
          • SKU视频
          • SKU商品标签【国内】
          • SKU产品文案
          • SKU实拍图附带一体化标签
          • SKU图包资料
        • 库存
          • 商品总库存列表
          • 商品分仓库存列表
          • 指定商品分仓库存
          • 圈货、备货库存查询
          • SKU实时库存【国内】
        • 商品列表
        • 商品详情
        • 商品价格
        • 个性化商品价格列表
        • 商品所有档位价格
        • 商品分类
        • 商品分类-获取子分类
        • 商品品牌
        • 商品证书
        • 商品使用说明书
      • 订单
        • 📖订单能力
        • 交接单
          • 交接单列表
          • 验证订单允许上传交接单
          • 上传交接单文件
          • 保存交接单
        • 创建订单
        • 订单预计算
        • 订单列表
        • 订单详情
        • 订单详情列表
        • 订单取消
        • 订单状态
        • 订单支付状态
        • 订单物流轨迹
      • 支付
        • 📖支付能力
        • 订单支付页面
        • 发起支付
        • 获取支付方式
        • 获取订单支付信息
      • 售后
        • 📖售后能力
        • 获取发起售后配置数据
        • 订单发起售后
        • 撤销售后
      • 账期
        • 📖账期能力
        • 已结清账期-账单列表
        • 未结清账期-账单列表
        • 未结清账单-销售订单列表
        • 未结清账单-售后订单列表
      • 品牌授权
        • 📖品牌授权能力
        • 获取授权平台列表
        • 获取模板类型列表
        • 获取授权品牌列表
        • 获取执照列表信息
        • 品牌授权申请
        • 品牌授权记录
        • 品牌授权作废
      • 其他
        • 📖其它能力
        • 仓库
          • 仓库列表信息
          • 发货区域列表
        • 物流
          • 物流公司列表
          • 获取运费接口
        • 平台
          • 获取授权码
          • 平台列表信息-新
          • 平台列表信息
        • 用户
          • 根据token获取用户信息
      • 订阅通知
        • 商品信息变更
        • 商品上下架状态变更
        • 商品库存变更
        • 商品价格变更
        • 商品删除

    西之月开放API

    对接规范#

    请求地址#

    测试环境:
    https://testing.westmonth.com/
    
    app_id:3acdfa31-c427-4f8f-922b-44e05b7d9766
    app_secret:d0c024ba5d5a699f54936eb298d605e8
    正式环境:
    https://westmonth.com/
    注:真实环境密钥待测试联调正常,注册独立站账号且实名认证后,联系我司开通

    请求 header 头#

    Content-Type: application/json
    Authorization: Base64( json验证信息 )
    Auth-Token:(ERP平台授权token,非必填)

    Authorization 的组成#

    参数名称参数类型参数描述
    app_idstring客户应用ID
    nonce_strstring随机串
    timestampstring当前时间戳(秒)
    signaturestring签名值
    需要将参数数据生成为 json 字符串,然后用 base64 编码
    Base64(json{"app_id":"3acdfa31-c427-4f8f-922b-44e05b7d9766", "nonce_str":"af464c76d7", "timestamp":1718418480, "signature":"1634ee9e5932758f088360e1cf6c7d27"})

    signature 签名值的组成#

    目前采用 固定顺序 字符串拼接最后 md5 小写形成的
    需要拼接 app_secret 客户应用密钥
    signature = md5(app_id+app_secret+nonce_str+timestamp)

    代码示例#

    PHP示例#
    <?php
    
    // 业务数据
    $data = [
    	"mapping" => "thailand",
    	"start_time" => "2024-04-29 00:00:01"
    ];
    
    $app_id = "3acdfa31-c427-4f8f-922b-44e05b7d9766";   // 客户应用ID
    $app_secret = "d0c024ba5d5a699f54936eb298d605e8";   // 客户应用密钥
    $nonce_str = "fb22fff75c27";               // 随机串
    $timestamp = time();                       // 当前时间戳
    $signature = "";                           // 签名值
    
    // 组成签名值(固定顺序) md5 小写
    $signature = md5($app_id.$app_secret.$nonce_str.$timestamp);
    
    // 生成 authorization 数据
    $authorizationData = [
    	'app_id' => $app_id,
    	'nonce_str' => $nonce_str,
    	'timestamp' => $timestamp,
    	'signature' => $signature
    ];
    // 将 authorization 数据转为 json 字符串
    $authorizationJson = json_encode(authorizationData);
    
    // 最后用 base64 生成最后的验证信息
    $authorization = base64_encode(authorizationJson);
    JAVA示例#
    package org.example;
    
    import org.json.JSONObject;
    
    import java.util.Base64;
    
    public class Main {
    
    
        public static void main(String[] args) {
            String app_id = "3acdfa31-c427-4f8f-922b-44e05b7d9766";
            String app_secret = "d0c024ba5d5a699f54936eb298d605e8";
            String nonceStr = "xxxx";
            // 当前时间戳
            long timestamp = System.currentTimeMillis() / 1000;
            // 签名值
            String signature = md5(app_id + app_secret + nonceStr + timestamp);
    
            JSONObject authorizationData = new JSONObject();
            authorizationData.put("app_id", app_id);
            authorizationData.put("nonce_str", nonceStr);
            authorizationData.put("timestamp", timestamp);
            authorizationData.put("signature", signature);
    
            String authorizationJson = authorizationData.toString();
            String authorization = Base64.getEncoder().encodeToString(authorizationJson.getBytes());
    
            System.out.println("请求成功!" + authorization);
        }
    
        private static String md5(String input) {
            try {
                java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
                md.update(input.getBytes());
                byte[] digest = md.digest();
                StringBuilder sb = new StringBuilder();
                for (byte b : digest) {
                    sb.append(String.format("%02x", b));
                }
                return sb.toString();
            } catch (java.security.NoSuchAlgorithmException e) {
                throw new RuntimeException("MD5 algorithm not found", e);
            }
        }
    }

    访问频率限制#

    每个应用appid调用单个api接口不可超过 200次/分钟
    修改于 2025-07-31 12:30:17
    上一页
    西之月接入流程
    下一页
    西之月订阅通知
    Built with