当前位置: API文档

logistics_sync_ack.php(物流同步回写)

¥标准

1.接口说明

1.1 接口描述:将物流同步(发货状态、物流单号等)是否成功的结果批量回传给ERP。
1.2 适用版本:客户端 V2.4.0.5及以上版本

2.调用场景

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

3.请求参数说明

   3.1 请求地址

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

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

   logistics_list

名称字段类型长度必须描述
回写的记录idrec_idint11回写的记录id,见logistics_sync_query中rec_id
回写状态statustinyint4回写状态: 0成功 1失败
相关描述信息messagevarchar255相关描述信息,可在erp的物流同步界面看到

4.响应参数

   4.1 公共响应参数

名称字段类型长度必须描述
错误码codeint11状态码:0表示成功,其他表示失败
错误原因messagevarchar255错误原因
处理失败的错误列表errorsdatadata[]
处理失败的错误列表,当code为0且有错误信息时才非空.只列出同一批内有错误的记录.如果code=0,errors为空说明全部成功

   4.2 业务响应参数

   errors

名称字段类型长度必须描述
回写的记录idrec_idint11回写的记录id
错误信息的描述errorvarchar255错误信息的描述

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("", "", "", "");
        
        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();
        }
    }
}

6.响应示例

   6.1 正常响应示例 

JSON
{
    "code": 0,
    "message": "",
    "errors":[{
        "rec_id": "1",
        "error": "记录不存在"
        }]
}

   6.2 异常响应示例

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



常用工具