PFC 皇家国际物流 API 文档说明

发布于 2021-07-04 12:46:36 字数 64371 浏览 1784 评论 0

开放平台

开放平台( Open Platform)是基于业务的开放平台,提供外部合作伙伴及用户产品信息、订单信息、包裹计费、包裹查询等信息,用户可以方便的集成到网站或系统,实现信息无缝对接。

如何使用

1.首先您需要拥有账号
2.进入用户中心启用API服务,获取秘钥
3.API服务请求的地址:"http://{网址}/webservice/APIWebService.asmx"

授权

1.使用API需要到用户中心申请,系统生成秘钥,秘钥可停用或更换
2.API只能调用自己账户的信息

API用户授权类型

需要

获取国家名称

  1. 应用场景:查询所支持的邮寄国家
  2. 函数名称:getCountry(secretkey)
  3. 提交参数:secretkey(API密钥)
  4. 授权:需要
  5. 返回:JSON

输入参数

字段类型是否必须默认值说明示例
SecretkeyString必须密钥d0fc2606-611f-443a-aea2-aa209673a32c80000

返回结果

字段类型是否必须默认值说明示例
ShortNameString必须国家简写AF
EnNameString必须国家英文名称Afghanistan
CnnameString必须国家中文名称阿富汗
Base_placeIdString必须国家编码20

结果实例 隐藏

国家ID国家简码国家中文名称国家英文名称
20AF阿富汗Afghanistan
21AL阿尔巴尼亚Albania
22DZ阿尔及利亚Algeria
23AD安道尔Andorra
24AO安哥拉Angola
25AI安圭拉Anguilla
26AG安提瓜和巴布达Antigua And Barbuda
27AR阿根廷Argentina
28AM亚美尼亚Armenia
29AW阿鲁巴Aruba
30AU澳大利亚Australia
31AT奥地利Austria
32AZ阿塞拜疆Azerbaijan
33BS巴哈马Bahamas
34BH巴林Bahrain
35BD孟加拉Bangladesh
36BB巴巴多斯Barbados
37BY白俄罗斯Belarus
38BE比利时Belgium
39BZ伯利兹城Belize
40BJ贝宁Benin
41BM百慕大Bermuda
42BT不丹Bhutan
43BO玻利维亚Bolivia
44BA波黑Bosnia And Herzegovina
45BW博茨瓦纳Botswana
46BR巴西Brazil
47BN文莱Brunei
48BG保加利亚Bulgaria
49BF布基纳法索Burkina Faso
50BI布隆迪Burundi
51KH柬埔寨Cambodia
52CM喀麦隆Cameroon
53CA加拿大Canada
54CV佛得角Cape Verde
55FM密克罗尼西亚Micronesia
56PW帛琉群岛Palau
57KY开曼群岛Cayman African Republic
58CF中非共和国Central African Republic
59TD乍得Chad
60CL智利Chile
61CO哥伦比亚Colombia
62CD刚果民主共和国Congo Democratic
63CG刚果Congo
64CR哥斯达黎加Costa Rica
65HR克罗地亚Croatia
66CU古巴Cuba
67CY塞浦路斯Cyprus
68CZ捷克Czech Republic
69DK丹麦Denmark
70DJ吉布提Djibouti
71DM多米尼加联邦Dominica
72DO多米尼加共和国Dominican Republic
73TP东帝汶East Timor
74EC厄瓜多尔Ecuador
75EG埃及Egypt
76SV萨尔瓦多El Salvador
77GQ赤道几内亚Equatorial Guinea
78ER厄立特里亚Eritrea
79EE爱沙尼亚Estonia
80ET埃塞俄比亚Ethiopia
81FO法罗群岛Faroe Islands
82FJ斐济Fiji
83FI芬兰Finland
84FR法国France
85GF法属圭亚那French Guiana
86PF法属波利尼西亚French Polynesia
87GA加蓬Gabon
88GM冈比亚Gambia
89XE加沙及汗尤尼斯Gaza and Khan Yunis
90GE格鲁吉亚Georgia
91DE德国Germany
92GH加纳Ghana
93GI直布罗陀Gibraltar
94GR希腊Greece
95GL格陵兰岛Greenland
96GD格林纳达Grenada
97GP法属瓜德罗普岛Guadeloupe
98GU关岛Guam
99GT危地马拉Guatemala
100GN几内亚Guinea
101GW几内亚比绍共和国Guinea-bissau
102GY圭亚那Guyana
103HT海地Haiti
104HN洪都拉斯Honduras
105HU匈牙利Hungary
106IS冰岛Iceland
107IN印度联邦India
108ID印度尼西亚Indonesia
109IR伊朗Iran
110IQ伊拉克Iraq
111IE爱尔兰Ireland
112IL以色列Israel
113IT意大利Italy
114JM牙买加Jamaica
115JP日本Japan
116JO约旦Jordan
117KZ哈萨克斯坦Kazakhstan
118KE肯尼亚Kenya
119KI基里巴斯Kiribati
120KP朝鲜North Korea
121KR韩国Korea
122KW科威特Kuwait
123KG吉尔吉斯斯坦Kyrgyzstan
124LA老挝Laos
125LV拉脱维亚Latvia
126LB黎巴嫩Lebanon
127LS莱索托Lesotho
128LR利比里亚Liberia
129LY利比亚Libya
130LI列支敦士登Liechtenstein
131LT立陶宛Lithuania
132LU卢森堡Luxembourg
133MO澳门Macau
134MK马其顿Macedonia
135MG马达加斯加Madagascar
136MW马拉维Malawi
137MY马来西亚Malaysia
138MV马尔代夫Maldives
139ML马里Mali
140MT马耳他Malta
141MP北马里亚纳群岛Northern Mariana Islands
142MH马绍尔群岛Marshall Islands
143MQ马提尼克Martinique
144MR毛利塔尼亚Mauritania
145MU毛里求斯Mauritius
146MX墨西哥Mexico
147MD摩尔多瓦Moldova
148MC摩纳哥Monaco
149MN蒙古Mongolia
150ME黑山共和国Montenegro
151MS蒙特塞拉特岛Montserrat
152MA摩洛哥Morocco
153MZ莫桑比克Mozambique
154MM缅甸Myanmar
155NA纳米比亚Namibia
156NR瑙鲁Nauru
157NP尼泊尔Nepal
158NL荷兰Netherlands
159AN荷属安的列斯群岛Netherlands Antilles
160NC新喀里多尼亚New Caledonia
161NZ新西兰New Zealand
162CK库克群岛Cook Islands
163NI尼加拉瓜Nicaragua
164NE尼日尔Niger
165NG尼日利亚Nigeria
166NF诺福克岛Norfolk Island
167NO挪威Norway
168OM阿曼Oman
169PK巴基斯坦Pakistan
170PA巴拿马Panama
171PG巴布亚新几内亚Papua New Guinea
172PY巴拉圭Paraguay
173PE秘鲁Peru
174PH菲律宾Philippines
175PL波兰Poland
176PT葡萄牙Portugal
177PR波多黎各Puerto Rico
178QA卡塔尔Qatar
179RO罗马尼亚Romania
180RU俄罗斯联邦Russian Federation
181RW卢旺达Rwanda
182WS萨摩亚群岛American Samoa
183ST圣多美和普林西比Sao Tome And Principe
184SA沙特阿拉伯Saudi Arabia
185SN塞内加尔Senegal
186RS塞尔维亚Serbia
187SC塞舌尔Seychelles
188SL塞拉利昂Sierra Leone
189SG新加坡Singapore
190SK斯洛伐克Slovakia
191SI斯洛文尼亚Slovenia
192SB所罗门群岛Solomon Islands
193ZA南非South Africa
194ES西班牙Spain
195LK斯里兰卡Sri Lanka
196KN圣克里斯托弗和尼维斯Christopher and Nevis
197LC圣卢西亚ST.LUCIA
198VC圣文森特岛St. Vincent
199SD苏丹Sudan
200SR苏里南Suriname
201SZ斯威士兰Swaziland
202SE瑞典Sweden
203CH瑞士Switzerland
204SY叙利亚Syria
205TW台湾Taiwan
206TJ塔吉克斯坦Tajikistan
207TZ坦桑尼亚Tanzania
208TH泰国Thailand
209TG多哥Togo
210TO汤加Tonga
211TT特立尼达和多巴哥Trinidad And Tobago
212TN突尼斯Tunisia
213TR土耳其Turkey
214TM土库曼斯坦Turkmenistan
215TC特克斯和凯科斯群岛Turks And Caicos Islands
216TV图瓦卢Tuvalu
217UG乌干达Uganda
218UA乌克兰Ukraine
219AE阿拉伯联合酋长国United Arab Emirates
220GB英国United Kingdom
221US美国United States
222UY乌拉圭Uruguay
223VU瓦努阿图Vanuatu
224VE委内瑞拉Venezuela
225VN越南Vietnam
226WS西萨摩亚Western Samoa
227YE也门Yemen
228ZM赞比亚Zambia
229ZW津巴布韦Zimbabwe
230HK香港Hong Kong
231SVG圣文森特和格林纳丁斯Saint Vincent and the Grenadines
232VI英属维尔京群岛The British Virgin Islands
233CN中国China
234CX圣诞岛Christmas Island
235CC可可斯群岛Cocos Islands
236KM科摩罗Comoros
237FK福克兰群岛Falkland Islands
238HW夏威夷群岛Hawaiian Islands
239HM赫德和麦克唐纳群岛Heard And Mcdonald Islands
240CI象牙海岸Ivory Coast
241JE泽西岛Jersey
242XL新西兰属土岛屿New Zealand Islands Territories
243NU纽埃岛Niue
244SM圣马力诺San Marino
245SO索马里Somalia
246VG维尔京戈达岛Virgin Gorda
247WL威尔士Wales
248BV布维岛Bouvet Island
249GC海峡群岛Guernsey
250PS巴勒斯坦Palestine
251PF玻利尼西亚Polynesia
253SZ深圳ShenZhen
254JX江西JiangXi
255JJ九江
256AH安徽Anhui
257null北京Beijing
258null福建Fujian
259null甘肃Gansu
261null广西Guangxi
262null贵州Guizhou
263null海南Hainan
264null河北Hebei
265null河南Henan
266null黑龙江Heilongjiang
267null湖北Hubei
268null湖南Hunan
269null吉林Jilin
270null江苏Jiangsu
272null辽宁Liaoning
273null内蒙古Neimenggu
274null宁夏Ningxia
275null青海Qinghai
276null山东Shandong
277null山西Shanxi
278shanxi1陕西Shaanxi
279null上海Shanghai
280null四川Sichuan
281null台湾Taiwan
282null天津Tianjin
283null西藏Xicang
284null香港Hongkong
285null新疆Xinjiang
286null云南Yunnan
287null浙江Zhejiang
288null重庆Zhongqing
292GD广东guangdong
293sz深圳Shenzhen
301eeeeee
302GZ广州guangzhou
303KP韩鲜north korea
305UZ乌兹别克斯坦Uzbekistan
306CI科特迪瓦Ivory Coast
308IC加那利群岛Canary Islands
310RE留尼旺岛Reunion
311PI皮特凯恩岛Pitcairn Island
313AI亚速尔Azores
315GG根西岛GUERNSEY
316PF塔希提岛Tahiti
317BO伯奈尔Bonaire
318SP塞班岛Saipan
319YT马约特Mayotte
320ZS中山zhongshan
321GD东莞DONG GUANG
323VI美属维尔京群岛The United States Virgin Islands
325CNSZ中国深圳CNSZ
326CNGD中国广东省广东省
327CNHN中国湖南省湖南省
328CNJS中国江苏省江苏省
329CNZJ中国浙江省浙江省
330CNSH中国上海市上海市
331CNAH中国安徽省安徽省
332CNHB中国湖北省湖北省
333CNGX中国广西壮族自治区广西壮族自治区
334CNFJ中国福建省福建省
335CNJX中国江西省江西省
336CNHND中国海南省海南省
337CNBJ中国北京市北京市
338CNTJ中国天津市天津市
339CNHEB中国河北省河北省
340CNHEN中国河南省河南省
341CNSD中国山东省山东省
342CNCQ中国重庆市重庆市
343CNSJ中国四川省四川省
344CNSX中国山西省山西省
345CNYN中国云南省云南省
346CNGZ中国贵州省贵州省
347CNSHXI中国陕西省陕西省
348CNLN中国辽宁省辽宁省
349CNJL中国吉林省吉林省
350CNHLJ中国黑龙江省黑龙江省
351CNNMG中国内蒙古自治区内蒙古自治区
352CNGS中国甘肃省甘肃省
353CNQH中国青海省青海省
354CNNX中国宁夏回族自治区宁夏回族自治区
355CNXJ中国新疆维吾尔自治区新疆维吾尔自治区
356CNXZ中国西藏西藏自治区
357CNNMGBT中国内蒙古包头内蒙古包头
358CNGXWZ广西(梧州)WZ
359CNGDGZ广东(广州)GZ
360CNGXHZ广西(贺州)HZ
361CNQHYS青海玉树州YS
362CNNMGDBB中国内蒙古东北部内蒙古东北部
363CNNMGXB中国内蒙古西部内蒙古西部
364CNNMGZB中国内蒙古中部内蒙古中部
365GD广东guangdong
366FS佛山foshan
367KV科索沃Kosovo

API示例工具

示例

.NET 示例

  1. 第一步:在建好的asp.net项目中,添加web引用,输入提供的API服务地址: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    .webservice p=new .webservice();
    string result = p.getCountry(secretkey);

返回示例

  
 [{"ShortName":"AF","EnName":"Afghanistan","Cnname":"\u963F\u5BCC\u6C57","Base_placeId":"20"}]
                           

查询支持的服务

  1. 应用场景:获取有效的运输方式列表(中文名,英文名,代码,时效,图标)
  2. 函数名称:getChannel(secretkey)
  3. 提交参数:secretkey(API密钥)
  4. 授权:需要
  5. 返回:JSON

输入参数

字段类型是否必须默认值说明示例
SecretkeyString必须密钥d0fc2606-611f-443a-aea2-aa209673a32c80000

返回结果

名称类型是否必须默认值说明示例
Base_ChannelInfoIDString必须渠道代码46
ChannelCodeString必须运输编码CNDHL
CnNameString必须运输中文名称大陆DHL普货价
EnNameString必须运输英文名称CNDHL
RefTimeString必须时效2 - 4
ShortenImageString可选运输图标635195880046832907_dhl.gif

错误码

名称类型是否必须示例值描述
completeBooleantrue表示提交是否成功

结果实例 显示

API示例工具

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    .webservice p=new .webservice();
    string result = p.getChannel (secretkey);

返回示例

[{"base_Channelinfoid":"46","ChannelCode":"CNDHL","CnName":"\u5927\u9646DHL\u666E\u8D27\u4EF7","enname":"CNDHL","reftime":"2 - 4","shortenimage":"635195880046832907_dhl.gif"}

运费查询

  1. 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
  2. 函数名称:getFeeByCWV(string country,stringweight,stringvolume,stringcustomerid, string secretkey)
  3. 如果可以识别账户得的是折扣后总费用
  4. 提交参数:country(国家编码), weight(重量), volume(体积), customerid(客户ID),scretkey(密钥)
  5. 授权:需要
  6. 返回:JSON

输入参数

名称类型是否必须默认值说明示例
countryString必须国家编码Austria-澳大利亚
WeightString必须重量0.25 (kg)
VolumeString必须体积0.25 立方厘米
Customer IDString必须客户ID80000
IdentifierString必须密钥d0fc2606-611f-443a-aea2-aa209673a32c80000

返回结果

名称类型返回值描述
CHCnNamestring香港邮政航空大包服务中文名
CHEnNamestringHKBPOST服务英文名
ChannelCodestringHKBPOST渠道代码
RefTimestring7 - 14参考时效
MinSaleAmountTotalstring109.740总金额(RMB)

API示例工具

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    .webservice p=new .webservice();
    string result = p.getFeeByCWV(country,weight, volume,stringcustomerid, secretkey);

返回示例

    [{"CHCnName":"\u9999\u6E2F\u90AE\u653F\u822A\u7A7A\u5927\u5305","CHEnName":"HKBPOST","ChannelCode":"HKBPOST","RefTime":"7 - 14","MinSaleAmountTotal":"200.620"}

运费查询(v2)

  1. 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
  2. 请求的地址: http://m.pfcexpress.com:84/api/PriceQuery/Get/US/1/1000
  3. 授权:需要
  4. 输入参数:如下

参数说明

名称类型是否必须说明示例
ISO CodeString必须国家二字码US
Weightdecimal必须重量 单位Kg0.5
Volumedecimal必须体积1000

.NET 提交实例

string serverurl = "http://m.pfcexpress.com:84/";
string acition = "api/PriceQuery/Get/US/0.5/1000";
string apikey = "75273d06-3371-4cfb-9fa3-4621644d53b180000";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serverurl + acition);
request.ContentType = "application/json";
request.Accept = "application/json";
request.Headers.Add("Authorization", "Bearer " + apikey);
request.Method = "Get";
try
{
using (WebResponse response = request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string text = reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
throw ex;
}

JAVA 提交实例

try {
String serverurl="http://m.pfcexpress.com:84/";
String action="api/PriceQuery/Get/US/0.5/1000";
String apikey="75273d06-3371-4cfb-9fa3-4621644d53b180000";
URL url = new URL(serverurl+action);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("Get");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Bearer " + apikey);
conn.connect();
OutputStream out = conn.getOutputStream();
out.write((shipment.toString()).getBytes());
out.flush();
out.close();
System.out.println(conn.getResponseCode());
if (conn.getResponseCode() == 200) {
System.out.println("ok");
InputStream in = conn.getInputStream();
String result = null;
try {
byte[] rsdata = new byte[in.available()];
in.read(rsdata);
result = new String(rsdata);
System.out.println(result);
} catch (Exception e1) {
e1.printStackTrace();
} } else {
System.out.println("no++");
}
} catch (Exception e) {
}

PHP 提交实例

$serverurl = "http://m.pfcexpress.com:84/";
$acition = "api/PriceQuery/Get/US/0.5/1000";
$apikey = "75273d06-3371-4cfb-9fa3-4621644d53b180000";
$headers=array('Authorization: '.'Bearer '.$apikey,'Content-type: application/json');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serverurl.$acition);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec($ch);
curl_close($ch);
$result=json_decode($json, true);
print_r($result);

返回结果

序号参数名参数类型描述
1statusInt200代表成功
500代表未知错误
501代表 秘钥错误
2msgstring信息提示
3datastring返回的数据

返回示例

成功

 { "status": 200, "msg": "", "data": [ { "CHCnName": "比利时全球小包", "CHEnName": "Bpost Global Mail", "ChannelCode": "GBPOST", "RefTime": "7 - 15", "MinSaleAmountTotal": "105.000", "CalWeight": "1.000", "BaseFee": "91.600", "FuelFee": "0.000", "TrackFlag": "1", "VolWeightFlag": "0", "ImageUrl": "http://www.pfcexpress.com/Manage/UpFile/ChannelLabelPicture/635774794688066451_QQ图片20140628093941.jpg", "Remark": "", "StyleName": "国际小包" } ] }

失败

{ "status": 501, "msg": "API key is not correct", "data": null }

订单信息查询

  1. 应用场景:通过订单号或跟踪号获取(订单状态、总费用、订单号、跟踪号、转单号)
  2. 函数名称:getPackage(string orderNo,stringcustomerid, string secretkey)
  3. 提交参数:strwhere(订单号或跟踪号), customerid(客户ID),scretkey(密钥)
  4. 授权:需要
  5. 返回:JSON

输入参数

名称类型是否必须默认值说明示例
OrderNoString必须订单号R800001407290002
CustomerIdString必须客户编号80000
SecretKeyString必须密钥d0fc2606-611f-443a-aea2-aa209673a32c80000
RemarkString可选备注Null

返回结果

名称类型返回值描述
OrderNoStringR800001407290002订单号
TrackingNoString跟踪号
field1String234234转单号
OrderStatusString6订单状态1
OrderStatus2String已发货订单状态2
TotalAmountString6027.250总费用
EnNameStringAlbania收件人国家英文名
ChannelCodeStringGBPOST渠道代码

API示例工具

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    .webservice p=new .webservice();
    string result = p.getPackage(orderNO, string customerid, secretkey);

返回示例

[{"OrderNo":"R800001411160002","TrackingNo":"DDU1371690781102767","field1":"","OrderStatus2":"\u5DF2\u53D1\u8D27","TotalAmount":"26.500","ChannelCode":"GBPOST","EnName":"Argentina","OrderStatus":"6"}]

创建订单(v1)

  1. 应用场景:用户可以通过API建立订单信息到系统中
  2. 请求的地址:"http://{网址}/webservice/APIWebService.asmx"
  3. 授权:需要
  4. 输入参数:如下

输入参数

名称类型是否必须默认值说明示例
StrorderinfoString必须主信息
StyleString必须订单类型(仓储订单或普通订购单)仓储订单为1,普通订单为22
GFF_CustomerIDString必须客户ID80000
GFF_ReceiveSendAddressIDString选填发件人ID189
ConsigneeNameString必须收件人小明
CountryString必须国家US;美国;223 (二次代码;中文名称;国家ID都支持填一即可)
Base_ChannelInfoIDString必须渠道EUB;89(渠道代码;渠道ID 填一即可)
StateString必须San Fernando
CityString必须城市Bernardo Ohiggins
OrderStatusString必须订单状态--(草稿=1),(确认=3)1
Address1String必须收件人地址行 1United States,,,MN.USA
Address2String可选收件人地址行 2United States,,,MN.USA
CsRefNoString可选客户参考号1122
ZipcodeString可选邮编2134342
ContactString可选联系方式180344345665
CusRemarkString可选客户订单备注(税号类型;IOSS:填入import;No-IOSS:填入non-union;Other:不填内容)import
TrackingNoString可选跟踪号RT209114500HK
VatNoString可选VAT税号
EORIString可选EORI号
HSCodeString可选海关编码
StrorderproductString必须明细数据
MaterialRefNoString必须物品1 产品编号SKU1
MaterialQuantityString必须物品1 数量10
PriceString必须物品1 单位价值(美元)10.2
WeightString必须物品1 重量(KG)10
EnNameString必须物品1 产品英文名MP31232
Warehouse IDString必须物品1 仓储ID302,可使用仓储信息查询api获取
ProducingAreaString可选物品1 原产地
CnNameString必须物品1 产品中文名中文名
....................................

提交实例

主信息:string strorderinfo = "Style:2;GFF_CustomerID:80000;GFF_ReceiveSendAddressID:;ConsigneeName:Ameerahmed;Country:84;Base_ChannelInfoID:CNGZGH;State:Paris-;City:Paris;OrderStatus:1;Address1:144 rue de rennes, 5eme etage – CODE 6335A – NOM –COTTIN AMEER;Address2:;CsRefNo:D4N3YZMJ69LI;Zipcode:75006;Contact:+33643052323;CusRemark:;TrackingNo:;VatNo:;";
明细信息:string strorderproduct = "MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:302,ProducingArea:112,CnName:,;MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:302,ProducingArea:112,CnName:,;";
string stradd = "";(不要传NULL 传空)
密钥:string key = "ca0c0b19-4d8c-46b2-b91b-10fb3b44da9f80000";

.NET 提交实例

第一步:在你建好的 asp.net 项目中,添加 web 引用,输入皇家物流提供的 API 服务地址。为: http://www.pfcexpress.com/we bservice/APIWebService.asmx
pfc.pfcwebservice p = newpfc.pfcwebservice();
stringresult = p. InsertUpdateOrder(strorderinfo, strorderproduct, stradd, secretkey);

JAVA 提交实例

String endpoint=" http://pfcexpress.com/webservice/APIWebService.asmx";
try{ //创建一个服务(service)调用(call)
Service service=new Service();
Call call= (Call) service.createCall();//通过service创建call对象
//设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //这个就是传参数的变量,也就是NET方面的参数,一定不要带错了
call.addParameter(new QName(" http://tempuri.org/","strorderinfo"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","strorderproduct"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","stradd"),
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","secretkey"),
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setOperationName(new QName(" http://tempuri.org/","InsertUpdateOrder"));//方法名
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
call.setSOAPActionURI(" http://tempuri.org/InsertUpdateOrder");
String strorderinfo="Style:1;GFF_CustomerID:80000;GFF_ReceiveSendAddressID:;ConsigneeName:Ameerahmed;Country:84;Base_ChannelInfoID:46;State:Paris-;City:Paris;OrderStatus:1;Address1:144 rue de rennes, 5eme etage – CODE 6335A – NOM –COTTIN AMEER;Address2:;CsRefNo:D4N3YZMJ69LI;Zipcode:75006;Contact:+33643052323;CusRemark:;TrackingNo:;";
String strorderproduct="MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:302,ProducingArea:112,CnName:,;";
String a = (String) call.invoke(new Object[] { strorderinfo,strorderproduct,"","d0fc2606-611f-443a-aea2-aa209673a32c80000"}); System.out.println("--------"+a); } catch (ServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); }

返回结果

名称类型是否必须示例值描述
completeBooleanTrue表示提交是否成功
输出参数提交后返回系统生成的订单号加返回的提示信息,订单号和提示信息用'-'隔开,如果错误返回错误编码信息 返回成功的示列直接返回字符串:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)注:有追踪号返回追踪号,没有追踪号不返回,订单号必返回 返回错误信息实例:保存失败,请检查数据录入项是否有误!收件人国家错误!系统匹配不到相应的收件人国家 订单新建成功,预报成功结果实例:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)预报结果:预报:1条记录!,成功预报1条记录 订单新建成功,预报失败结果实例:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)预报结果:预报失败的订单号:R800001409090003错误信息:订单验证错误,错误信息为【商品重量不能为0】

返回示例

描述示例
订单保存并提交成功DL140887;R800001411160002

错误码

错误码错误描述解决方案
保存失败,请检查数据录入项是否有误!!根据提示请输入正确的数据

API示例工具

 

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    .webservice p = new.webservice();
    string result = p. InsertUpdateOrder(strorderinfo, strorderproduct, stradd, secretkey);

返回示例

订单保存并提交成功!-R800001501190004 

创建订单(v2)

  1. 应用场景:用户可以通过API建立订单信息到系统中
  2. 请求的地址:"http://www.pfcexpress.com/webservice/v2/CreateShipment.aspx"
  3. 授权:需要
  4. 输入参数:如下

参数说明

名称类型是否必须说明示例
TypeInt必须1为仓储订单 2为普通订单2
INorOutInt必须0 出口 1 进口0
WarehouseIdString选填仓储订单为必填302
CsRefNoString选填客户参考号(可填平台订单号/单号)201710100001
CustomerIdString必填客户ID80000
ChannelIdString必须渠道ID91
SenderString选填发件人PFCexpress
SendAddressString选填发件人地址San Fernando
SendPhoneString选填发件人电话400-66566-88888
SendEmailString选填发件人邮箱sales@pfcexpress.com
SendCompanyString选填发件人公司pfc.inc
ShipToNameString必填收件人zhangshan
ShipToCountryString必填收件人国家二字码US
ShipToStateString必填收件人州UT
ShipToCityString必填收件人城市Cedar City
ShipToAdress1String必填收件人地址11225 W Harding Ave Apt 32
ShipToAdress2String选填收件人地址2
ShipToZipCodeString必须收件人邮编84720
ShipToCompanyNameString选填收件人公司Company.inc
ShipToEmailString选填收件人邮编Email@me.com
OrderStatusInt必须订单状态 1草稿 3确认1
TrackingNoString选填追踪号
BatteryFlagString选填是否带电池 0 不带 1 带点 默认00
CODFeedecimal选填代收货款金额500.00
IDCardNoString选填身份证号码 进口订单 必填
VatNoString选填税号
EORIString选填EORI
HSCodeString选填海关编码
ProductsArray必须订单明细
SKUString必填SKUSKU0001
EnNameString必填英文品名Reflective clothes
CnNameString选填中文品名反光衣
MaterialQuantityInt必填数量(/个)1
Pricedecimal必填申报价值(USD/个)10.00
Weightdecimal必填重量(KG/个)0.5
Lengthdecimal选填长(/CM)0.5
Widthdecimal选填宽(/CM)0.5
Highdecimal选填高(/CM)0.5
ProducingAreaString选填产地CN
HSCodeString选填海关编码HS8888888

提交实例

Body<br />
{<br />
  "Type": 2,<br />
  "CustomerId": "80000",<br />
  "ChannelId": "DPD",<br />
  "Sender": "Ken",<br />
  "SendPhone": "73948563",<br />
  "SendAddress": "20OrleyAve",<br />
  "SendCompany": "20OrleyAve",<br />
  "SendEmail": "fjyer@huangjia.com",<br />
  "ShipToName": "Eric",<br />
  "ShipToPhoneNumber": "2025551212",<br />
  "ShipToCountry": "US",<br />
  "ShipToState": "DC",<br />
  "ShipToCity": "Washington",<br />
  "ShipToAdress1": "475LEnfantPlazaSW",<br />
  "ShipToAdress2": "",<br />
  "ShipToZipCode": "20260",<br />
  "ShipToCompanyName": "Express",<br />
  "OrderStatus": 1,<br />
  "TrackingNo": "",<br />
  "Remark": "",<br />
  "BatteryFlag": 0,<br />
  "INorOut": 0,<br />
  "CODFee": 0,<br />
  "IDCardNo": "",<br />
   "VatNo":"",<br />
    "EORI":"",<br />
"HSCode":"",<br />
  "CsRefNo": "JH0011",<br />
  "WarehouseId": "",<br />
  "Products": [<br />
    {<br />
      "SKU": "SK001",<br />
      "EnName": "Mobile",<br />
      "CnName": "手机",<br />
      "MaterialQuantity": 1<br />
      "Weight": 0.1,<br />
      "Price": 5800,<br />
      "ProducingArea": "America",<br />
      "HSCode": "65421",<br />
      "Length": 0.1,<br />
      "Width": 0.2,<br />
      "High": 0.3,<br />
    },<br />
    {<br />
      "SKU": "SK002",<br />
      "EnName": "shoes",<br />
      "CnName": "鞋子",<br />
      "MaterialQuantity": 1<br />
      "Weight": 0.2,<br />
      "Price": 120,<br />
      "ProducingArea": "France",<br />
      "HSCode": "65421",<br />
      "Length": 0.1,<br />
      "Width": 0.2,<br />
      "High": 0.3,<br />
    }<br />
  ]<br />
}</p>
<p>

.NET 提交实例

string serverurl = "http://www.pfcexpress.com/";
string acition = "webservice/v2/CreateShipment.aspx";
string apikey = "75273d06-3371-4cfb-9fa3-4621644d53b180000";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serverurl + acition);
request.ContentType = "application/json";
request.Accept = "application/json";
request.Headers.Add("Authorization", "Bearer " + apikey);
request.Method = "Post";
byte[] data = Encoding.UTF8.GetBytes(Body);
request.ContentLength = data.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
}
try
{
using (WebResponse response = request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string text = reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
throw ex;
}

JAVA 提交实例

try {
String serverurl="http://www.pfcexpress.com/";
String action="webservice/v2/CreateShipment.aspx";
String apikey="75273d06-3371-4cfb-9fa3-4621644d53b180000";
URL url = new URL(serverurl+action);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset", "UTF-8");
byte[] data = Body.getBytes();
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Bearer " + apikey);
conn.connect();
OutputStream out = conn.getOutputStream();
out.write((shipment.toString()).getBytes());
out.flush();
out.close();
System.out.println(conn.getResponseCode());
if (conn.getResponseCode() == 200) {
System.out.println("ok");
InputStream in = conn.getInputStream();
String result = null;
try {
byte[] rsdata = new byte[in.available()];
in.read(rsdata);
result = new String(rsdata);
System.out.println(result);
} catch (Exception e1) {
e1.printStackTrace();
} } else {
System.out.println("no++");
}
} catch (Exception e) {
}

PHP 提交实例

$serverurl = "http://www.pfcexpress.com/";
$acition = "webservice/v2/CreateShipment.aspx";
$apikey = "75273d06-3371-4cfb-9fa3-4621644d53b180000";
$params=array(
'Type'=>2,
'CustomerId'=>'80000',
'ChannelId'=>'DPD',
'Sender'=>'Ken',
'SendPhone'=>'73948563',
'SendAddress'=>'20 Orley Ave',
'SendCompany'=>'CS',
'SendEmail'=>'fjyer@huangjia.com',
'ShipToName'=>'Eric',
'ShipToPhoneNumber'=>'2025551212',
'ShipToCountry'=>'US',
'ShipToState'=>'DC',
'ShipToCity'=>'Washington',
'ShipToAdress1'=>'475 L Enfant Plaza SW',
'ShipToAdress2'=>'',
'ShipToZipCode'=>'20260',
'ShipToCompanyName'=>'Express',
'OrderStatus'=>1,
'TrackingNo'=>'',
'Remark'=>'',
'BatteryFlag'=>0,
'INorOut'=>0,
'CODFee'=>0,
'IDCardNo'=>'',
'VatNo'=>'',
'EORI'=>'',
'HSCode'=>'',
'CsRefNo'=>'JH008',
'WarehouseId'=>'',
'Products'=>array(
array(
'CnName'=>'手机',
'EnName'=>'Mobile',
'Weight'=>0.1,
'Price'=>5800,
'ProducingArea'=>'America',
'HSCode'=>'65421',
'SKU'=>'SK001',
'Length'=>0.1,
'Width'=>0.2,
'High'=>0.3,
'MaterialQuantity'=>1
),
array(
'CnName'=>'鞋子',
'EnName'=>'shoes',
'Weight'=>0.2,
'Price'=>120,
'ProducingArea'=>'France',
'HSCode'=>'65421',
'SKU'=>'SK002',
'Length'=>0.1,
'Width'=>0.2,
'High'=>0.3,
'MaterialQuantity'=>1
)
)
);
$jsonparams=json_encode($params);
$headers=array('Authorization: '.'Bearer '.$apikey,'Content-type: application/json');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serverurl.$acition);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonparams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$json = curl_exec($ch);
curl_close($ch);
$result=json_decode($json, true);
print_r($result);

返回结果

序号参数名参数类型描述
1statusInt200代表成功
500代表未知错误
501代表 秘钥错误
502代表参数错误
503代表未找到国家代码
504代表未找到渠道代码
505代表未找到发件人
506代表参考号已存在
507代表跟踪号已存在
508代表预报失败
509代表库存不足
510代表未找到仓储
511代表产品不存在
512订单状态不正确
513代表订单类型不正确
2msgstring信息提示
3datastring返回的数据

返回示例

成功

成功: { "status": 200, "msg": "Success", "data": { "TrackingNo": null, "OrderNo": "R800001709270001", "CsRefNo": "JH0010", "LablesUrl": null } }

失败

失败: { "status": 506, "msg": "CsRefNo repeat", "data": null }

查询产品库存

  1. 应用场景:用户可以通过API查询SKU/条形码的存储信息。
  2. 需要授权,请到用户中心申请key.
  3. 请求的地址:"http://{网址}/webservice/APIWebService.asmx/getStock"
  4. 输入参数:如下
  5. 授权:需要
  6. 返回:Json

输入参数

名称类型是否必须默认值说明示例
skuorcodeString必须SKU/条形码A00001
customeridString必须用户 id80000
SecretkeyString必须密钥 --identifierd0fc2606-611f-443a-aea2-aa209673a32c80000
WarehouseNameString必须仓储(SZWH-深圳西丽仓(302),GZWH广州仓储(381)HKWH-香港仓储(382))302

返回结果

名称返回值描述
OutinQuantity8662库存数量
Stock6占用数量
CnNameMP31243 112\uFF0C产品中文名
EnNameMP31产品英文名
OutinQuantity1库存数量
Stock1占用数量
CnNameMP31243 112\uFF0C产品中文名
EnNameMP31产品英文名

API示例工具

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:"http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据
    string result = p. getStock (skuorcode, customerid, secretkey, WarehouseName);
    例如:p.getStock(S4-ACHEB, 80003,2acd2496-78f8-4eac-ba9c-fd152c2fb41e80003,302)

返回示例

    [{"OutinQuantity":"8662","Stock":"6","CnName":"MP31243 112\uFF0C","EnName":"MP31"},{"OutinQuantity":"1","Stock":"1","CnName":"MP31243 112\uFF0C","EnName":"MP31"}]

包裹追踪信息

  1. 应用场景:用户可以通过API查询订单追踪信息.
  2. 请求的地址: "http://{网址}/webservice/APIWebService.asmx/getOrder_Track"
  3. 输入参数:OrderNo(订单号,追踪号)
  4. 输出参数:返回json字符串

输入参数

名称类型是否必须默认值说明示例
Order number/Tracking numberString必须订单号/快递单号R800001411160002

返回结果

名称返回值
派送内容SHENZHEN - CHINA:交运发往目的地(Departed Facility in )
时间2014-11-16 16:19:55

API示例工具

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据。
    .webservice p = new.webservice();
    string result = p. getOrder_Track("R807521408070065")

返回示例

描述( Describe)	                                                 最后投递时间(the last delivery time)
SHENZHEN - CHINA:交运发往目的地(Departed Facility in )       2014-11-16 16:32:09
SHENZHEN - CHINA:收取包裹(Shipment picked up) 	                 2014-11-16 16:19:55

打印标签

  1. 应用场景:用户可以直接访问地址填写相应的信息可打印标签
  2. 请求的地址:
    "http://{网址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type=A4"(A4标签)
    "http://{网址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type= (热敏标签)"
  3. 参数介绍:OrderNo可以填单号,追踪号。RP05851311190001,RP05851311190001逗号隔开type:打印格式=A4就打印A4的
  4. Type空的话,就是打印热敏的。

输入参数

名称类型是否必须默认值说明示例
type打印纸张格式:A4打印A4尺寸; 留空打印热敏的格式。A4
Order number必须订单号/快递单号R800001411160002

打印标签

  1. 应用场景:用户可以直接访问地址填写相应的信息可打印标签
  2. 请求的地址:
    http://{网址}/webservice/APIWebService.asmx
  3. 请求方法GetLablesUrl
  4. 返回JSON

请求参数

名称类型是否必须默认值说明示例
OrderNo必须订单号/跟踪号9400110200882632305530

返回结果

参数返回值
success是否成功 true/false
error错误信息 success为false 侧有值
LablesUrl标签URL

获取仓储信息

  1. 应用场景:用户可以通过API获取仓储信息
  2. 请求的地址: "http://{网址}/webservice/APIWebService.asmx"

输入参数

名称类型是否必须默认值说明示例
SecretkeyString必须密钥d0fc2606-611f-443a-aea2-aa209673a32c80000

返回结果

名称返回值
SZWH-深圳西丽仓仓储名称
302仓储ID

结果实例显示

示例

.NET 示例

  1. 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为: "http://{网址}/webservice/APIWebService.asmx"
  2. 第二步:初始化,再调用方法,即可获取到数据。
    .webservice p = new.webservice();
    string result = p. GetWarehouse();//返回字符串

返回示例

 302:SZWH-深圳西丽仓;381:GZWH广州仓储;382:HKWH-香港仓储;457:深圳VIP仓储

创建订单错误返回

返回值说明解决方案
""没有权限插入日志联系管理员
你的密钥不正确系统匹配不到正确的密钥请检查密钥和用户ID是否正确,调用的接口地址是否匹配
Strorderinfo(订单主数据)或Strorderproduct(订单明细)为空!订单数据不正确请查看“创建订单”中的提交实例
发件人无效,请检查是否在系统新建发件人?用户没有发件人请进入用户的客户端新建一个发件人
收件人国家错误!系统匹配不到相应的收件人国家!系统匹配不到发件人国家请查看“创建订单”中的输入参数
运输方式(渠道)数据错误!系统匹配不到相应的运输方式(渠道)!系统匹配不到运输方式(渠道)请查看“创建订单”中的输入参数
订单保存并提交成功!-DL140887(跟踪号,运单号);R800001409100028(订单号)订单提交成功(没有任何错误)提交到确认的订单才会返回跟踪号
订单保存并提交成功!-R800001409100028(订单号)订单提交成功(没有任何错误)订单没有返回跟踪号,本身渠道部返回跟踪号,也不预报
订单保存并提交成功!-R800001409100028(订单号)-预报失败:订单号R800001409100028邮编不正确订单提交成功(没有任何错误)订单没有返回跟踪号,渠道有预报,但是预报失败,会返回预报后的错误信息
订单保存成功,但提交到确认状态失败!-明细插入失败订单主数据提交成功(明细插入失败)请检查传入的明细数据
订单保存成功,但提交到确认状态失败!错误信息提交到确认失败请检查传入的“订单类型”Style:1 仓储订单(如果传入的明细产品不存在则提交到确认失败)
订单保存成功,但由于不满足跟踪号必须唯一或者收件人名称、收件人国家、运输方式、地址行1都不能为空,提交到确认状态失败!-" 错误信息订单保存成功请检查传入数据是否有误!
订单出错传入的数据格式不正确请参考“创建订单”中的提交实例

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文