using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Top.Api;
using Top.Api.Request;
using Top.Api.Response;
namespace FormTest
{
public partial class Form1 : Form
{
//以下四个值是在菜鸟开通电子面单服务后得到
string serverUrl = "xxxx";
string appKey = "xxxx";
string appSecret = "xxxx";
string sessionKey = "xxxx";
List<string> tradeOrderList;
public Form1()
{
InitializeComponent();
}
//测试
private void button1_Click(object sender, EventArgs e)
{
//第一步 获取到用户ID,
//对应接口: taobao.user.seller.get (查询卖家用户信息)
long UserID = UserSellerGet();
//第二步 获取到发件人信息(取快递单必须用这个地址设置),
//对应接口: cainiao.waybill.ii.search (查询面单服务订购及面单使用情况)
CainiaoWaybillIiSearchResponse SenderInfo = WaybillIiSearch();
//第三部 获取快递单号
//对应接口: cainiao.waybill.ii.get (电子面单云打印接口)
GetWaybill(SenderInfo, UserID);
}
//获取UserID
public long UserSellerGet()
{
ITopClient client = new DefaultTopClient(serverUrl, appKey, appSecret);
UserSellerGetRequest req = new UserSellerGetRequest();
req.Fields = "user_id,nick,sex";
UserSellerGetResponse rsp = client.Execute(req, sessionKey);
long UserID = rsp.User.UserId;
Console.WriteLine(rsp.Body);
return UserID;
}
//查询商家电子面单开通信息, 主要是为了去地址信息
public CainiaoWaybillIiSearchResponse WaybillIiSearch()
{
ITopClient client = new DefaultTopClient(serverUrl, appKey, appSecret);
CainiaoWaybillIiSearchRequest req = new CainiaoWaybillIiSearchRequest();
//req.CpCode = "YUNDA";
CainiaoWaybillIiSearchResponse rsp = client.Execute(req, sessionKey);
Console.WriteLine(rsp.Body);
return rsp;
}
//获取面单号
public void GetWaybill(CainiaoWaybillIiSearchResponse SenderInfo, long UserID)
{
ITopClient client = new DefaultTopClient(serverUrl, appKey, appSecret);
CainiaoWaybillIiGetRequest req = new CainiaoWaybillIiGetRequest();
CainiaoWaybillIiGetRequest.WaybillCloudPrintApplyNewRequestDomain obj1 = new CainiaoWaybillIiGetRequest.WaybillCloudPrintApplyNewRequestDomain();
obj1.CpCode = "YUNDA";
//obj1.ProductCode = "";
CainiaoWaybillIiGetRequest.UserInfoDtoDomain obj2 = new CainiaoWaybillIiGetRequest.UserInfoDtoDomain();
CainiaoWaybillIiGetRequest.AddressDtoDomain obj3 = new CainiaoWaybillIiGetRequest.AddressDtoDomain();
obj3.City = "xx从SenderInfo中获取xx";
obj3.Detail = "xx从SenderInfo中获取xx";
obj3.District = "xx从SenderInfo中获取xx";
obj3.Province = "xx从SenderInfo中获取xx;
obj3.Town = "";
obj2.Address = obj3;
obj2.Mobile = "xxxxxx";
obj2.Name = "xxxx";
obj2.Phone = "";
obj1.Sender = obj2;
List<CainiaoWaybillIiGetRequest.TradeOrderInfoDtoDomain> list5 = new List<CainiaoWaybillIiGetRequest.TradeOrderInfoDtoDomain>();
CainiaoWaybillIiGetRequest.TradeOrderInfoDtoDomain obj6 = new CainiaoWaybillIiGetRequest.TradeOrderInfoDtoDomain();
list5.Add(obj6);
obj6.LogisticsServices = "";
obj6.ObjectId = UserID + ""; // 商家的UserID
CainiaoWaybillIiGetRequest.OrderInfoDtoDomain obj7 = new CainiaoWaybillIiGetRequest.OrderInfoDtoDomain();
obj7.OrderChannelsType = "TB";
tradeOrderList = new List<string>();
tradeOrderList.Add("PU1710121-001");
obj7.TradeOrderList = tradeOrderList;
obj6.OrderInfo = obj7;
CainiaoWaybillIiGetRequest.PackageInfoDtoDomain obj8 = new CainiaoWaybillIiGetRequest.PackageInfoDtoDomain();
obj8.Id = "1";
List<CainiaoWaybillIiGetRequest.ItemDomain> list10 = new List<CainiaoWaybillIiGetRequest.ItemDomain>();
CainiaoWaybillIiGetRequest.ItemDomain obj11 = new CainiaoWaybillIiGetRequest.ItemDomain();
list10.Add(obj11);
obj11.Count = 1L;
obj11.Name = "衣服";
obj8.Items = list10;
obj8.Volume = 1L;
obj8.Weight = 1L;
obj6.PackageInfo = obj8;
CainiaoWaybillIiGetRequest.UserInfoDtoDomain obj12 = new CainiaoWaybillIiGetRequest.UserInfoDtoDomain();
CainiaoWaybillIiGetRequest.AddressDtoDomain obj13 = new CainiaoWaybillIiGetRequest.AddressDtoDomain();
obj13.City = "xxxxxx市";
obj13.Detail = "测试详细地址";
obj13.District = "xx区";
obj13.Province = "xxxxxxxxx";
obj13.Town = "";
obj12.Address = obj13;
obj12.Mobile = "xxxxxxxxx";
obj12.Name = "xxxxxxxxxxxx";
obj12.Phone = "xxxxxxxxx";
obj6.Recipient = obj12;
obj6.TemplateUrl = "http://cloudprint.cainiao.com/cloudprint/template/getStandardTemplate.json?template_id=1001";
obj6.UserId = 12L;
obj1.TradeOrderInfoDtos = list5;
obj1.StoreCode = "";
obj1.ResourceCode = "DISTRIBUTOR_978324";
obj1.DmsSorting = false;
req.ParamWaybillCloudPrintApplyNewRequest_ = obj1;
CainiaoWaybillIiGetResponse rsp = client.Execute(req, sessionKey);
Console.WriteLine(rsp.Body);
string WaybillCode = rsp.Modules[0].WaybillCode;
}
}
}
分享到:
相关推荐
菜鸟电子面单,c#对接源码 1.审核通过后可以进行测试 2.首先调用电子面单订购查询接口,查询商家发货地址,及面单信息 3.调用取号接口,进行电子面单取号。 4.根据取号结果调用本地打印机,进行打印。
菜鸟电子面单操作手册
开通淘宝电子面单服务流程如下所示1.进入淘宝买家中心2.左边菜单点击物流服务3.点击服务商设置4.在我的服务商里选择开通新的服务商5.增加服务商6.开通了哪些服
菜鸟物流云平台商家创建电子面单 用于指导商家进行创建物流电子面单,指导签约物流公司。 注册企业账号,创建订购关系,需要签约快递公司,并需要快递公司审核通过。快递公司签约成功后,进行应用授权。 参考之前...
一个自用的小程序 拼拼凑凑的,可以参考一下
CaiNiaoPrint菜鸟打印组件是一款针对淘宝卖家的打印辅助软件,菜鸟打印控件基于浏览器,汇集了丰富的电子面单模板,并且自动进行更新,帮助用户快速出单,告别传统手写快递单的过程,高效且实用,需要此款工具的朋友...
菜鸟教程网站上的Python3教程还挺详细,想在没有网络的电脑上离线看但是发现网上没有资源,只有老版本的PDF文档,实在不方便阅读,所以自己做了一个,Python3菜鸟教程离线版内部包含20200914保存的完整离线版教程...
Python3教程菜鸟教程 教程菜鸟教程 ADO 教程 Ajax 教程 Android 教程 AngularJS 教程 AngularJS2 教程 AppML 教程 ASP 教程 ASP.NET 教程 Bootstrap 教程 C 教程 C# 教程 C++ 教程 CSS 参考⼿册 CSS 教程 CSS3 教程 ...
线下电子面单版适合除了普通面单外线下有电子面单(热敏面单)打印需要的用户使用(不支持淘宝、菜鸟电子面单,需要事先在快递公司申请电子面单账号),请您根据实际点击上面的下载链接下载不同的版本体验。...
ActionScript菜鸟基础终极教程ActionScript菜鸟基础终极教程ActionScript菜鸟基础终极教程ActionScript菜鸟基础终极教程ActionScript菜鸟基础终极教程
Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程Git超级教程菜鸟教程
菜鸟T7刷机教程(初版)菜鸟T7刷机教程(初版)菜鸟T7刷机教程(初版)
菜鸟教程网移动端教程的PDF版,包括Android、Swift、jQuery Mobile、ionic等。
w3cschool菜鸟教程离线版( 完整 ) chm javascript html等等
runoob菜鸟教程的python3教程,用我自己写的工具下载的,非常好的书箱
收录 菜鸟教程的 sql教程
文档内容是 www.runoob.com 官网的离线html文件,便于离线学习菜鸟教程,一共有42和html对应42个学习模块
常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程20141021常用web开发工具 w3cschool菜鸟教程...
应群众要求,放出ActionScript菜鸟教程电子版.应群众要求,放出ActionScript菜鸟教程电子版.应群众要求,放出ActionScript菜鸟教程电子版.应群众要求,放出ActionScript菜鸟教程电子版.应群众要求,放出ActionScript菜鸟...
runoob菜鸟教程的打包JAVA教程,非常好的资源,值得学习!