当前位置: API文档

api_goods_stock_change_ack.php(库存同步回写)

¥标准

1.接口说明

1.1 接口描述:库存量同步至平台是否成功的状态批量回传给旺店通ERP   注:仅支持自有/其他平台店铺     
1.2 适用版本:客户端 V2.4.5.0及以上版本            
1.3 注意事项:先执行完“查询库存同步接口”(api_goods_stock_change_query.php),再执行本接口,“查询库存同步接口”单击这里       

2.调用场景

2.1 自研商城、分销系统、全渠道等系统对接

3.请求参数说明

   3.1 请求地址

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

名称字段类型长度 必须描述
库存同步状态回传列表stock_sync_listdata[]
请求参数的1级数据节点,包含库存同步状态的数据节点,节点下数据字段详见下述“stock_sync_list”

   stock_sync_list

名称字段类型长度必须描述
ERP内平台货品表主键idrec_idint11   回写的记录id,见api_goods_stock_change_query中rec_id
货品库存sync_stockint11货品库存,该值为api_goods_stock_change_query 中的值回传即可
库存变化时自增stock_change_countint11该值为api_goods_stock_change_query 中的值回传即可

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述
错误码codeint11状态码:0表示成功,其他表示失败
错误描述messagevarchar255错误描述

   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_goods_stock_change_ack.php';

    $stock_sync_list = array(
        array(
            'rec_id' => '1',
            'sync_stock' => '100',
            'stock_change_count' => '5634245'
        )
    );

    $c->putApiParam('stock_sync_list',json_encode($stock_sync_list,JSON_UNESCAPED_UNICODE));
    $json = $c->wdtOpenApi();
    var_dump($json);
?>
           
JAVA
package com.wangdian.api.trade;

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

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

public class ApiGoodsStockChangeAck {

    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/
        
        
        List<Map<String, Object>> stock_sync_list = new ArrayList<Map<String, Object>>();
        
        Map<String, Object> stock_sync_1 = new HashMap<String, Object>();
        stock_sync_1.put("rec_id", 1);
        stock_sync_1.put("sync_stock", 100);
        stock_sync_1.put("stock_change_count", 123);
        
        stock_sync_list.add(stock_sync_1);
        
        String stock_sync_list_json = JSON.toJSONString(stock_sync_list);
        
        Map<String, String> params = new HashMap<String, String>();
        params.put("stock_sync_list", stock_sync_list_json);
        try {
            String response = client.execute("api_goods_stock_change_ack.php", params);
            System.out.println(response);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

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

namespace ApiGoodsStockChangeAck
{
    class ApiGoodsStockChangeAck
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/api_goods_stock_change_ack.php";

            var stock_sync_list = new[]
            {
                new
                {
                    rec_id = "908",
                    sync_stock = "100",
                    stock_change_count = "338"
                },
                new
                {
                    rec_id = "912",
                    sync_stock = "100",
                    stock_change_count = "338"
                },
                new
                {
                    rec_id = "913",
                    sync_stock = "100",
                    stock_change_count = "338"
                }
            };

            string json = stock_sync_list.ToJsonString();
            client.putParams("stock_sync_list", 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/')
stock_sync_list = []
stock = {}
stock_1.update({"rec_id": '12345'})
stock_1.update({"sync_stock": '10'})
stock_1.update({"stock_change_count": ''})
stock_sync_list.append(logistics_1)
jsonArr = json.dumps(stock_sync_list, ensure_ascii=False)

params = {}
params.update({"stock_sync_list": jsonArr})

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

6.响应示例

  6.1 正常响应示例 

JSON
           
{
    'code': 0,
    'message': "OK",
}
           

  6.2 异常响应示例

JSON
           
{
    "code": 1007,
    "message": "接口appkey已停用【解决办法:联系商务人员,重新开启接口appkey】 "
}
           



常用工具