当前位置: API文档

api_goodsspec_push(创建平台货品)

¥标准

1.接口说明

   1.1 接口描述:在推送销售订单给旺店通ERP之前,需要映射匹配ERP系统单品或者设置同步库存的策略时调用    注:仅支持自有/其他平台店铺     
   1.2 适用版本:客户端 V2.4.5.0及以上版本

   1.3 注意事项:

      ①本接口仅支持ERP内店铺平台类型为“自有”的店铺创建平台货品,货品明细一次不能超过2000条;

      平台货品SPU下多个SKU,规格ID不能为空,并且店铺名+货品ID+规格ID要唯一,SPU和SKU概念介绍,单击这里

2.调用场景

   2.1 调用场景:自研商城对接

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境https://sandbox.wangdian.cn/openapi2/api_goodsspec_push.php
正式环境https://api.wangdian.cn/openapi2/api_goodsspec_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 业务请求参数

名称字段类型长度
必须描述
货品节点
api_goods_infodata

请求参数的1级数据节点,包含平台(商城)商品所有属性信息的数据节点,节点下数据字段详见下述“api_goods_info”

 api_goods_info

名称字段类型长度
必须描述
平台IDplatform_idsmallint6详情介绍,单击这里
店铺编号shop_novarchar20代表店铺所有属性的唯一编码,用于店铺区分,ERP内支持自定义(ERP店铺界面设置),用于创建指定店铺平台货品数据信息
平台货品节点goods_listdata[ ]

请求参数的2级数据节点,包含平台商品属性信息的数据节点,节点下数据字段详见下述“goods_list”

   goods_list

名称字段类型长度
必须描述
货品IDgoods_idvarchar40平台系统货品主键,和创建原始订单接口中含义相同,是十分重要的字段,SPU和SKU概念介绍,单击这里,(注意:店铺名+货品ID+规格ID要保证唯一)
规格IDspec_idvarchar40平台系统货品规格id,SPU和SKU概念介绍,单击这里,(注意:店铺名+货品ID+规格ID要保证唯一)
货品编码goods_novarchar40平台系统货品SPU码,尽量不要为空,SPU和SKU概念介绍,单击这里
规格编码spec_novarchar40平台系统SKU唯一码,SPU和SKU概念介绍,单击这里
状态statustinyint40删除 1在架 2下架
货品名称goods_namevarchar255平台系统货品名称
平台规格码spec_codevarchar40平台系统规格编码
规格名称spec_namevarchar100平台系统规格名称
图片urlpic_urlvarchar255平台系统图片url
价格pricedecimal19,4商品价格
平台库存stock_numdecimal19,4平台上商品的库存量
平台类目cidvarchar40平台系统商品所属类目

4.响应参数

   4.1 公共响应参数

名称字段类型长度
必须描述
错误码codeint40状态码:0表示成功,其他表示失败
错误原因messagevarchar255错误原因
返回的新增货品个数new_countint10
返回的新增货品个数
返回的更新货品个数chg_countint10
返回的更新货品个数

   4.2 业务响应参数


5.请求示例

PHP
<?php
    require_once '../WdtClient.php';
    $c = new WdtClient();
    $c->sid = '';
    $c->appkey = '';
    $c->appsecret = '';
    $c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/api_goodsspec_push.php';
    
    $api_goods_info = array( 
            'platform_id'=>127,
            'shop_no' => 'shop_test',
            'goods_list'=>array( 
                array (
                    "status" => "1",
                    "goods_id" => "20151009100903",
                    "goods_no" => "xjftest002",
                    "cid" => "1",
                    "goods_name" => "test",
                    "price" => "1",
                    "stock_num" => "2",
                    "pic_url" => "",
                    "spec_id" => "20151009100903",
                    "spec_code" => "test002",
                    "spec_name" => "test",
                    "spec_no" => "xjftest004"
                   )
            )
            
    );    

    $c->putApiParam('api_goods_info', json_encode($api_goods_info, JSON_UNESCAPED_UNICODE));
    $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 ApiGoodsSpecPush {

    @SuppressWarnings("unchecked")
    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> api_goods_info = new HashMap<String,Object>();
        Map<String, Object>[] goods_list = new Map[1];

        goods_list[0] = new HashMap<String,Object>();
        goods_list[0].put("goods_id", "20151009100903");
        goods_list[0].put("spec_id","20151009100903");
        goods_list[0].put("goods_no", "stest");
        goods_list[0].put("spec_no", "stes12");
        goods_list[0].put("status", "1");
        
        api_goods_info.put("platform_id", "127");
        api_goods_info.put("shop_no", "lx2test");
        api_goods_info.put("goods_list", goods_list);
        
        //通过第三方json解析工具类fastjson将map解析成json
        String api_goods_info_json = JSON.toJSONString(api_goods_info);
        //System.out.println(goods_list_json);
        
        Map<String, String> params = new HashMap<String, String>(); 

        params.put("api_goods_info", api_goods_info_json);
        try {
            String response = client.execute("api_goodsspec_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 ApiGoodsspecPush
{
    class ApiGoodsspecPush
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/api_goodsspec_push.php";

            var api_goods_info = new
            {
                platform_id = "127",
                shop_no = "octmami",
                goods_list = new[]
                {
                    new
                    {
                        goods_id="6543217612345",
                        spec_id = "732176432",
                        goods_no = "myxx",
                        spec_no = "myxx",
                        status = "1"
                    },
                    new
                    {
                        goods_id="87654123787",
                        spec_id = "45687654",
                        goods_no = "dshg",
                        spec_no = "dshg",
                        status = "1"
                    },
                    new
                    {
                        goods_id="87654322355",
                        spec_id = "234567876",
                        goods_no = "mhgs",
                        spec_no = "mhgs",
                        status = "1"
                    }

                }
                
            };

            string json = api_goods_info.ToJsonString();
            client.putParams("api_goods_info", json);

            string result = client.wdtOpenapi();
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}
python
import WdtClient
import json

t = WdtClient.WdtClient('appkey', 'appsecret', 'sid', 'http://sandbox.wangdian.cn/openapi2/')
api_goods_info = {}
goods_list = []
goods_1 = {}
goods_1.update({"goods_id": 'goods_id123'})
goods_1.update({"spec_id": 'spec_id123'})
goods_1.update({"goods_no": '123'})
goods_1.update({"spec_no": '123'})
goods_1.update({"status": '1'})
goods_1.update({"goods_name": '平台商品'})
goods_1.update({"spec_code": '123456'})
goods_1.update({"spec_name": '规格名称'})
goods_1.update({"price": '10'})
goods_1.update({"stock_num": '1'})
goods_list.append(goods_1)

api_goods_info.update({"platform_id": '127'})
api_goods_info.update({"shop_no": 'test2-test'})
api_goods_info.update({"goods_list": goods_list})

jsonArr = json.dumps(api_goods_info, ensure_ascii=False)
params = {}
params.update({"api_goods_info": jsonArr})

response = t.execute("api_goodsspec_push.php", params)
print(response)

6.响应示例

   6.1 正常响应示例 

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

   6.2 异常响应示例

JSON
{
    "code": 4304,
    "message": "shop_no 对应的店铺所属的平台 与 传入platform_id 不一致 "
}



常用工具