当前位置: API文档

suites_push.php(创建组合装)

¥基础  

1.接口说明

1.1 接口描述:创建/更新组合装信息
1.2 适用版本:客户端 V2.4.0.5及以上版本
1.3 注意事项:

     如果suite_info中的is_default_ratio=1,即默认按照零售价分摊金额占比,那么suite_detail中的ratio字段不传值,传值也视为无效。如参数suite_info中的is_default_ratio=0,那么ratio必须传值,且总和为1,否则会提示错误。

     如果suite_detail中的is_fixed_price=1,则相应的ratio需传0(接口默认处理成0),其他is_fixed_price=0时根据suite_info、is_default_ratio值,进行默认分摊金额占比或者按照指定金额占比处理(如果是指定金额占比,会检验剩下非固定价格行的金额占比之和是否为1)如所有行都选择固定价格,那么最后一行ratio=1,其他行均为0。

     组合装更新的时候,需要保证suite_no、spec_no不变,明细行全量更新。并非只传更新的货品信息。(如原来明细是三个货品,更新时也需要完整传输三个货品的信息,如果只传两个货品,第三个货品会被删除)

     其他检验逻辑和客户端逻辑保持一致。

2.调用场景

2.1 举例说明:满足外部系统——>OMS创建组合装的场景

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境http://sandbox.wangdian.cn/openapi2/suites_push.php
正式环境http://api.wangdian.cn/openapi2/suites_push.php

   3.2 公共请求参数

名称字段类型长度
必须描述
卖家账号sidString
购买ERP时由旺店通分配给ERP购买方,请从ERP购买方获取。
接口账号appkeyString
本开放平台“自助对接”功能模块内自助申请,获取方式点击这里
时间戳timestampint
北京时间1970-01-01 08:00:00起至现在的总秒数,10位int值,旺店通企业版API服务端允许请求最大时间误差为5min,date.timezone = Asia/Shanghai。
签名signString
API输入参数签名结果,签名算法介绍单击这里

   3.3 业务请求参数

名称字段类型长度必须描述
组合装列表节点suite_infodata[]

请求参数的1级数据节点,包含组合装所有属性信息的数据节点,节点下数据字段详见下述“suite_info”

   suite_info

名称字段类型长度必须描述
组合装名称
suite_namevarchar(255)
组合装名称
组合装编码suite_novarchar(40)
组合装编码
是否默认金额占比is_default_ratiotinyint(4)
是否默认金额占比分摊1.默认0不默认(默认为1)
组合装简称short_namevarchar(255)
组合装简称(默认空)
条码barcodevarchar(40)
条码(默认空)
品牌编码brand_novarchar(40)
品牌编码(默认无)
分类名称class_namevarchar(40)
分类名称(默认无)
单位名称unit_namevarchar(40)
单位名称(默认无)
辅助单位名称aux_unit_namevarchar(40)
辅助单位名称(默认无)
零售价retail_pricedecimal(19,4)
零售价(默认0)
批发价wholesale_pricedecimal(19,4)
批发价(默认0)
会员价member_pricedecimal(19,4)
会员价(默认0)
市场价market_pricedecimal(19,4)
市场价(默认0)
备注remarkvarchar(64)
备注
组合装打印内容is_print_suitetinyint(4)
组合装打印内容(0:组合装明细/1:组合装以及明细/2:组合装)默认0
组合装搭建大件属性large_splittinyint(4)
组合装搭建大件属性(0:非大件/1:普通大件/2:独立大件)默认0
自定义属性1prop1varchar(40)
自定义属性1
自定义属性2prop2varchar(40)
自定义属性2
自定义属性3prop3varchar(40)
自定义属性3
自定义属性4prop4varchar(40)
自定义属性4
组合装组合单品suite_detailsdata[]
装组合单品

   suite_details

名称字段类型长度必须描述
单品商家编码spec_novarchar

单品商家编码

单品数量numdecimal(19,4)
单品数量
金额占比ratiodecimal(5,4)
金额占比(非默认占比的时候必填)
是否使用固定价格is_fixed_pricetinyint(1)
是否使用固定价格(1固定 0不固定)默认0


4.响应参数

   4.1 公共响应参数

名称字段类型长度
必须描述
错误码codeint11状态码:0表示成功,其他表示失败
新增数量new_countint11新增数量
更新数量chg_countint11更新数量
出错数量error_countint11出错数量
出错信息error_messagevarchar(255)
出错信息

5.请求示例

PHP
<?php
    require_once("../WdtClient.php");
    $c = new WdtClient;
    $c->sid = '';
    $c->appkey = '';
    $c->appsecret = '';
    $c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/suites_push.php';
    $suite_list =  array(
    array(
        'suite_name'            => "",
        'suite_no'              => "",
        'short_name'            => "",
        'barcode'               =>  "",
        'brand_no'              =>  "",
        'class_name'            =>  "",
        'is_default_ratio'      =>  "",
        'unit'                  =>  "",
        'aux_unit'              =>  "",
        'retail_price'          =>  "",
        'wholesale_price'       =>  "",
        'member_price'          =>  "",
        'market_price'          =>  "",
        'remark'                =>  "",
        'is_print_suite'        =>  "",
        'large_split'           =>  "",
        'prop1'                 =>  "",
        'prop2'                 =>  "",
        'prop3'                 =>  "",
        'prop4'                 =>  "",
        "suite_details" => array (
            array(
                "spec_no" => "",
                "num" => "",
                "ratio" => "",
                'is_fixed_price' => ''
            )
        )
    ),
    array(
        'suite_name'            => "",
        'suite_no'              => "",
        'short_name'            => "",
        'barcode'               =>  "",
        'brand_no'              =>  "",
        'class_name'            =>  "",
        'is_default_ratio'      =>"",
        'unit'                  =>  "",
        'aux_unit'              =>  "",
        'retail_price'          =>  "",
        'wholesale_price'       =>  "",
        'member_price'          =>  "",
        'market_price'          =>  "",
        'remark'                =>  "",
        'is_print_suite'        =>  "",
        'large_split'           =>  "",
        'prop1'                 =>  "",
        'prop2'                 =>  "",
        'prop3'                 =>  "",
        'prop4'                 =>  "",
        "suite_details" => array (
            array(
                "spec_no" => "",
                "num" => "",
                "ratio" => "",
                'is_fixed_price' => ''
            ),
            array(
                "spec_no" => "",
                "num" => "",
                "ratio" => "",
                'is_fixed_price' => ''
            )
        )
    ),
);
    
    $c->putApiParam('suite_info',json_encode($suite_list));
    $json = $c->wdtOpenApi();
    var_dump($json);
?>
JAVA
package com.wangdian.api.goods;

        import java.io.IOException;
        import java.util.HashMap;
        import java.util.Map;

        import com.alibaba.fastjson.JSON;
        import com.wangdian.api.WdtClient;

public class SuitesPush { public static void main(String[] args) {
    // TODO Auto-generated method stub
    WdtClient client = new WdtClient("传入sid", "传入appkey", "传入appsecret", "传入url");
        //测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/
        //调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/


    Map<String, Object>[] suite_details = new Map[2];

    suite_details[0] = new HashMap<String,Object>();
    suite_details[0].put("spec_no", "111");
    suite_details[0].put("num","2");

    suite_details[1] = new HashMap<String,Object>();
    suite_details[1].put("spec_no", "qqq");
    suite_details[1].put("num","2");


    Map<String, Object>[] suite_info = new Map[1];
    suite_info[0] = new HashMap<String,Object>();
    suite_info[0].put("suite_name", "1232213222321223");
    suite_info[0].put("suite_no", "lx2tes2t2322222222");
    suite_info[0].put("suite_details", suite_details);



    //通过第三方json解析工具类fastjson将map解析成json
    String suite_info_json = JSON.toJSONString(suite_info);


    Map<String, String> params = new HashMap<String, String>();

    params.put("suite_info", suite_info_json);
    try {
        String response = client.execute("suites_push.php", params);
        System.out.println(response);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WdtSdk;

namespace SuitesPush
{
    class SuitesPush
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/suites_push.php";
            
            var suite_info= new[]
            {
                new
                {
                    suite_name="测试测试ceshi",
                    suite_no=ceshiceshi001,
                    suite_details=new[]
                    {
                        new
                        {
                            spec_no="myxx",
                            num= "myxx",
                        },
                        new
                        {
                            spec_no="dshg",
                            num= "dshg",
                        }
                    }
                }
            };

                      string json = suite_info.ToJsonString();
                      client.putParams("suite_info", json);
                      
            string result = client.wdtOpenapi();
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}

6.响应示例

   6.1 正常响应示例 

JSON
{
 "code":   0,
"new_count":1 ,
"chg_count":1 ,
"error_count":0,
"error_message":"OK"
}

   6.2 异常响应示例

JSON
{
 "code":   0,
"new_count":1 ,
"chg_count":1 ,
"error_count":0,
"error_message":"OK"
}




常用工具