当前位置: API文档

purchase_order_end.php(取消采购单)

¥标准

1.接口说明

1.1 接口描述实现普通仓,停止等待,明细停止等待操作
1.2 适用版本:客户端 V2.4.0.5及以上版本

1.3 注意事项:

①普通仓取消采购单

  • 当type=0时,执行采购单的取消功能,采购单能取消的状态是:编辑中,待审核,待财审(该状态需要is_reject_review=1,才可以取消),已审核(同待财审),如果没有取消成功返回错误信息,其他状态都是不能取消的,调用会返回错误信息。

  • 当type=1时,执行采购单的停止等待功能,只能停止等待部分入库的采购单,如果没有停止等待成功返回错误信息,其他状态都是不能停止等待的,也会返回错误信息。

  • 当type=2时,执行采购单的明细停止等待功能,只能操作部分入库的采购单,如果没有停止等待成功返回错误信息,其他状态都是不能停止等待的,也会返回错误信息。

②委外仓取消采购单

  • 当type=0时,执行采购单的取消功能,采购单能取消的状态是:编辑中,待审核,待财审(该状态需要is_reject_review=1,才可以取消),推送失败(客户没有在重新推送采购单,该状态需要is_reject_review=1,才可以取消),待收货(需要开通外部仓储单据终止功能),如果没有取消成功返回错误信息,其他状态都是不能取消的,调用会返回错误信息。

  • 当type=1时,执行采购单的停止等待功能,只能停止等待部分入库的采购单,如果没有停止等待成功返回错误信息,其他状态都是不能停止等待的,也会返回错误信息。

  • 当type=2时,执行采购单的明细停止等待功能,只能操作部分入库的采购单,如果没有停止等待成功返回错误信息,其他状态都是不能停止等待的,也会返回错误信息。

2.调用场景

2.1 举例说明:客户自研SCM系统,通过API接口对接,希望在SCM系统里面操作采购单的终止操作。


3.请求参数说明

   3.1 请求地址

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

取消委外仓采购单地址:

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

名称字段类型长度必须描述
采购单操作类型typeint
0取消,1停止等待,2明细停止等待
采购单是否允许已审核的单子取消
is_reject_reviewint
0已审核的单子无法进行取消,1已审核的单子,可以先进行驳回审核再进行取消。默认为0
采购单批量列表节点

purchase_no_list
data[]
采购单批量列表节点

当type=0或1时,purchase_no_list

名称字段类型长度必须描述
采购单编号
purchase_noString
采购单编号

当type=2时, purchase_no_list

名称字段类型长度必须描述
采购单编号
purchase_noString
采购单编号
商家编码列表节点spec_nodata[]
商家编码列表节点


4.响应参数

   4.1 公共响应参数

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

批量处理采购单出现错误的采购单数量。

5.请求示例

PHP
<?php
    require_once("../WdtClient.php");
    $c = new WdtClient;
    $c->sid = '';
    $c->appkey = '';
    $c->appsecret = '';
    $c->gatewayUrl = 'http://sandbox.wangdian.cn/openapi2/purchase_order_end.php';
    //采购单取消,停止等待type=1或type=0使用$purchase_no_list
    $purchase_no_list = array(
         array(
              'purchase_no'=>""
          )
    );
    //采购单明细停止等待type=2使用$purchase_no_list1
    $purchase_no_list1 = array(
        array(
            'purchase_no'=>"",
            'spec_no'=>array(
                "",
                "",
                "",
                "",
            )
        )
    );
    $c->putApiParam('type', 0);
    $c->putApiParam('is_reject_review', 0);
    $c->putApiParam('purchase_no_list', json_encode($purchase_no_list1));
    
    $json = $c->wdtOpenApi();
    echo $json;
?>
JAVA
package com.wangdian.api.purchase;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import  com.alibaba.fastjson.JSON;
import com.wangdian.api.WdtClient;

public class PurchaseOrderEnd {

    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, String> params = new HashMap<String, String>();
        //采购单取消,停止等待type=1或type=0使用arrayList 
        ArrayList<HashMap<String, String>> arrayList = new ArrayList<>();
        arrayList.add(new HashMap<String, String>(){{put("purchase_no","");}});
        arrayList.add(new HashMap<String, String>(){{put("purchase_no","");}});
        arrayList.add(new HashMap<String, String>(){{put("purchase_no","");}});
        //采购单明细停止等待type=2使用arrayLis1 
        ArrayList<HashMap<String, Object>> arrayList1 = new ArrayList<>();
               arrayList1.add(new HashMap<String, Object>(){{
                      put("purchase_no","");
                      put("spec_no",new ArrayList<String>(){{
                          add("");
                          add("");
                          add("");
                      }});
               }});
        params.put("type", "0");
        params.put("is_reject_review", "1");
        params.put("purchase_no_list", JSON.toJSONString(arrayList));

        try {
            String response = client.execute("purchase_order_end.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 PurchaseOrderEnd 
{
    class PurchaseOrderEnd 
    {
        static void Main(string[] args)
        {
            WdtClient client = new WdtClient();
            client.sid = "";
            client.appkey = "";
            client.appsecret = "";
            client.gatewayUrl = "http://sandbox.wangdian.cn/openapi2/purchase_order_end.php";
                      var purchase_no_list =new []
                       {
                        purchase_no="CG20230405001",
                        } ;
            
            client.putParams("type", 1);
            client.putParams("purchase_no_list",json);
            string result = client.wdtOpenapi();
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}


6.响应示例

   6.1 正常响应示例 

JSON
{
  "code": 0,
  "message":"",
  "error_count":
}

   6.2 异常响应示例

JSON
{
   "code": ,
  "message": "",
  "error_count":
}




常用工具