logistics_sync_ack.php(物流同步回写)
¥标准
1.接口说明
1.1 接口描述:将物流同步(发货状态、物流单号等)是否成功的结果批量回传给旺店通ERP。 |
1.2 适用版本:客户端 V2.4.5.0及以上版本 |
1.3 注意事项:仅支持自有/其他平台店铺 |
2.调用场景
3.请求参数说明
3.1 请求地址
环境 | HTTP地址 |
---|
测试环境 | https://sandbox.wangdian.cn/openapi2/logistics_sync_ack.php |
正式环境 | https://api.wangdian.cn/openapi2/logistics_sync_ack.php |
3.2 公共请求参数
名称 | 字段 | 类型 | 长度
| 必须 | 描述 |
---|
卖家账号 | sid | String |
| 是 | 购买ERP时由旺店通分配给ERP购买方,请从ERP购买方获取。 |
接口账号 | appkey | String |
| 是 | 本开放平台“自助对接”功能模块内自助申请,获取方式点击这里
|
时间戳 | timestamp | int |
| 是 | 北京时间1970-01-01 08:00:00起至现在的总秒数,10位int值,旺店通企业版API服务端允许请求最大时间误差为5min,date.timezone = Asia/Shanghai。 |
签名 | sign | String |
| 是 | API输入参数签名结果,签名算法介绍单击这里
|
3.3 业务请求参数
名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
---|
物流同步状态回传列表 | logistics_list | data[] |
| 是 | 请求参数的1级数据节点,包含订单同步状态的数据节点,节点下数据字段详见下述“logistics_list” |
logistics_list
名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
---|
回写的记录id | rec_id | int | 11 | 是 | 回写的记录id,见logistics_sync_query中rec_id |
回写状态 | status | tinyint | 4 | 是 | 回写状态: 0成功 1失败 |
相关描述信息 | message | varchar | 255 | 否 | 相关描述信息,可在erp的物流同步界面看到 |
4.响应参数
4.1 公共响应参数
名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
---|
错误码 | code | int | 11 | 是 | 状态码:0表示成功,其他表示失败 |
错误原因 | message | varchar | 255 | 是 | 错误原因 |
处理失败的错误列表 | errors | data | data[]
| 否 | 处理失败的错误列表,当code为0且有错误信息时才非空.只列出同一批内有错误的记录.如果code=0,errors为空说明全部成功 |
4.2 业务响应参数
errors
名称 | 字段 | 类型 | 长度 | 必须 | 描述 |
---|
回写的记录id | rec_id | int | 11 | 是 | 回写的记录id |
错误信息的描述 | error | varchar | 255 | 否 | 错误信息的描述 |
5.请求示例
PHP | <?php
require_once('../WdtClient.php');
$c = new WdtClient;
$c->sid ='';
$c->appkey ='';
$c->appsecret ="";
$c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/logistics_sync_ack.php';
$order_list[] = array(
'rec_id'=>1,
'status'=>0,
'message'=>"同步成功"
);
$order_list[] = array(
'rec_id'=>2,
'status'=>1,
'message'=>"同步失败"
);
$c->putApiParam('logistics_list',json_encode($order_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 LogisticsSyncAck {
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>> logistics_list = new ArrayList<Map<String, Object>>();
Map<String, Object> logistics_1 = new HashMap<String, Object>();
logistics_1.put("rec_id", 1);
logistics_1.put("status", 0);
logistics_1.put("message", "同步成功");
logistics_list.add(logistics_1);
String logistics_list_json = JSON.toJSONString(logistics_list);
Map<String, String> params = new HashMap<String, String>();
params.put("logistics_list", logistics_list_json);
try {
String response = client.execute("logistics_sync_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 LogisticsSyncAck
{
class LogisticsSyncAck
{
static void Main(string[] args)
{
WdtClient client = new WdtClient();
client.sid = "";
client.appkey = "";
client.appsecret = "";
client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/logistics_sync_ack.php";
var logistics_list = new[]
{
new
{
rec_id = "5496",
status = "0",
message = "同步成功"
},
new
{
rec_id = "5557",
status = "0",
message = "同步成功"
},
new
{
rec_id = "5558",
status = "0",
message = "同步成功"
}
};
String json = logistics_list.ToJsonString();
client.putParams("logistics_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/')
logistics_list = []
logistics_1 = {}
logistics_1.update({"rec_id": '12345'})
logistics_1.update({"status": '0'})
logistics_1.update({"message": ''})
logistics_list.append(logistics_1)
jsonArr = json.dumps(logistics_list, ensure_ascii=False)
params = {}
params.update({"logistics_list": jsonArr})
response = t.execute("logistics_sync_ack.php", params)
print(response) |
6.响应示例
6.1 正常响应示例
JSON
| {
"code": 0,
"message": "",
"errors":[{
"rec_id": "1",
"error": "记录不存在"
}]
} |
6.2 异常响应示例
JSON
| {
"code": 1007,
"message": "接口appkey已停用【解决办法:联系商务人员,重新开启接口appkey】 "
} |