文档中心 > API类目 > 五道口API

alibaba.wdk.pos.order.promotion.calculate (整单优惠计算接口)

计算整单优惠后的价格

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
shop_id String 必须 30005 门店ID
items ItemParamDo [] 必须
  • 最大列表长度:60
  • 商品参数信息
    • └ bar_code
    • String
    • 可选
    • 694561321
    • 标准码(13位69码)或 自编码(7位)barCode outSkuId二选一
    • └ out_sku_id
    • String
    • 可选
    • 1001
    • ERP 商品编码 barCode outSkuId二选一
    • └ quantity
    • Number
    • 可选
    • 2
    • 购买数量 weight weight二选一
    • └ weight
    • String
    • 可选
    • 2.0
    • 购买重量 weight weight二选一
    • └ discount_code
    • String
    • 可选
    • zkm223338
    • 折扣码
    • service_item
    • SimpleServiceItem
    • 可选
    • 服务商品
    • └ item_id
    • Number
    • 可选
    • 2201047849339
    • 商品id
    • pos_zkm_dos
    • PosZkmDo []
    • 可选
    • 商品附加属性(商品多个折扣码及对应数量)
    • └ weight
    • String
    • 可选
    • 2.0
    • 购买重量
    • └ quantity
    • Number
    • 可选
    • 2
    • 购买数量
    • └ discount
    • String
    • 可选
    • 20
    • 折扣
    • └ discount_code
    • String
    • 可选
    • Z201234564
    • 折扣码
    user_id Number 可选 0
  • 默认值:0
  • 用户ID

    响应参数

    名称 类型 示例值 描述
    result MResult MResult 返回结果
    • └ err_code
    • String
    • errCode
    • 错误编码
    • └ err_msg
    • String
    • errMsg
    • 错误提示
    • └ success
    • Boolean
    • true
    • 是否成功
    • target
    • PromotionDo
    • target
    • 结果
    • └ actual_fee
    • Number
    • 3500
    • 应付金额
    • └ coupon_fee
    • Number
    • 500
    • 优惠劵金额
    • └ promotion_fee
    • Number
    • 500
    • 优惠金额
    • └ total_fee
    • Number
    • 4500
    • 订单总额

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlibabaWdkPosOrderPromotionCalculateRequest req = new AlibabaWdkPosOrderPromotionCalculateRequest();
    req.setShopId("30005");
    List<AlibabaWdkPosOrderPromotionCalculateRequest.ItemParamDo> list2 = new ArrayList<AlibabaWdkPosOrderPromotionCalculateRequest.ItemParamDo>();
    AlibabaWdkPosOrderPromotionCalculateRequest.ItemParamDo obj3 = new AlibabaWdkPosOrderPromotionCalculateRequest.ItemParamDo();
    list2.add(obj3);
    obj3.setBarCode("694561321");
    obj3.setOutSkuId("1001");
    obj3.setQuantity(2L);
    obj3.setWeight("2.0");
    obj3.setDiscountCode("zkm223338");
    AlibabaWdkPosOrderPromotionCalculateRequest.SimpleServiceItem obj5 = new AlibabaWdkPosOrderPromotionCalculateRequest.SimpleServiceItem();
    obj5.setItemId(2201047849339L);
    list4.setServiceItem(obj5);
    List<AlibabaWdkPosOrderPromotionCalculateRequest.PosZkmDo> list8 = new ArrayList<AlibabaWdkPosOrderPromotionCalculateRequest.PosZkmDo>();
    AlibabaWdkPosOrderPromotionCalculateRequest.PosZkmDo obj9 = new AlibabaWdkPosOrderPromotionCalculateRequest.PosZkmDo();
    list8.add(obj9);
    obj9.setWeight("2.0");
    obj9.setQuantity(2L);
    obj9.setDiscount("20");
    obj9.setDiscountCode("Z201234564");
    list6.setPosZkmDos(list8);
    req.setItems(list2);
    req.setUserId(0L);
    AlibabaWdkPosOrderPromotionCalculateResponse rsp = client.execute(req);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <alibaba_wdk_pos_order_promotion_calculate_response>
        <result>
            <err_code>errCode</err_code>
            <err_msg>errMsg</err_msg>
            <success>true</success>
            <target>
                <actual_fee>3500</actual_fee>
                <coupon_fee>500</coupon_fee>
                <promotion_fee>500</promotion_fee>
                <total_fee>4500</total_fee>
            </target>
        </result>
    </alibaba_wdk_pos_order_promotion_calculate_response>

    异常示例

    • XML示例
    • JSON示例
    <error_response>
        <code>50</code>
        <msg>Remote service error</msg>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>非法参数</sub_msg>
    </error_response>

    错误码解释

    错误码 错误描述 解决方案
    isp.item.invalid 存在失效的商品 检查入参

    API工具

    如何获得此API

    FAQ

    返回
    顶部