PFC 皇家国际物流 API 文档说明
开放平台
开放平台( Open Platform)是基于业务的开放平台,提供外部合作伙伴及用户产品信息、订单信息、包裹计费、包裹查询等信息,用户可以方便的集成到网站或系统,实现信息无缝对接。
如何使用
1.首先您需要拥有账号
2.进入用户中心启用API服务,获取秘钥
3.API服务请求的地址:"http://{网址}/webservice/APIWebService.asmx"
授权
1.使用API需要到用户中心申请,系统生成秘钥,秘钥可停用或更换
2.API只能调用自己账户的信息
API用户授权类型
需要 |
---|
获取国家名称
- 应用场景:查询所支持的邮寄国家
- 函数名称:getCountry(secretkey)
- 提交参数:secretkey(API密钥)
- 授权:需要
- 返回:JSON
输入参数
字段 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Secretkey | String | 必须 | 密钥 | d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回结果
字段 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
ShortName | String | 必须 | 国家简写 | AF | |
EnName | String | 必须 | 国家英文名称 | Afghanistan | |
Cnname | String | 必须 | 国家中文名称 | 阿富汗 | |
Base_placeId | String | 必须 | 国家编码 | 20 |
结果实例 隐藏
国家ID | 国家简码 | 国家中文名称 | 国家英文名称 |
---|---|---|---|
20 | AF | 阿富汗 | Afghanistan |
21 | AL | 阿尔巴尼亚 | Albania |
22 | DZ | 阿尔及利亚 | Algeria |
23 | AD | 安道尔 | Andorra |
24 | AO | 安哥拉 | Angola |
25 | AI | 安圭拉 | Anguilla |
26 | AG | 安提瓜和巴布达 | Antigua And Barbuda |
27 | AR | 阿根廷 | Argentina |
28 | AM | 亚美尼亚 | Armenia |
29 | AW | 阿鲁巴 | Aruba |
30 | AU | 澳大利亚 | Australia |
31 | AT | 奥地利 | Austria |
32 | AZ | 阿塞拜疆 | Azerbaijan |
33 | BS | 巴哈马 | Bahamas |
34 | BH | 巴林 | Bahrain |
35 | BD | 孟加拉 | Bangladesh |
36 | BB | 巴巴多斯 | Barbados |
37 | BY | 白俄罗斯 | Belarus |
38 | BE | 比利时 | Belgium |
39 | BZ | 伯利兹城 | Belize |
40 | BJ | 贝宁 | Benin |
41 | BM | 百慕大 | Bermuda |
42 | BT | 不丹 | Bhutan |
43 | BO | 玻利维亚 | Bolivia |
44 | BA | 波黑 | Bosnia And Herzegovina |
45 | BW | 博茨瓦纳 | Botswana |
46 | BR | 巴西 | Brazil |
47 | BN | 文莱 | Brunei |
48 | BG | 保加利亚 | Bulgaria |
49 | BF | 布基纳法索 | Burkina Faso |
50 | BI | 布隆迪 | Burundi |
51 | KH | 柬埔寨 | Cambodia |
52 | CM | 喀麦隆 | Cameroon |
53 | CA | 加拿大 | Canada |
54 | CV | 佛得角 | Cape Verde |
55 | FM | 密克罗尼西亚 | Micronesia |
56 | PW | 帛琉群岛 | Palau |
57 | KY | 开曼群岛 | Cayman African Republic |
58 | CF | 中非共和国 | Central African Republic |
59 | TD | 乍得 | Chad |
60 | CL | 智利 | Chile |
61 | CO | 哥伦比亚 | Colombia |
62 | CD | 刚果民主共和国 | Congo Democratic |
63 | CG | 刚果 | Congo |
64 | CR | 哥斯达黎加 | Costa Rica |
65 | HR | 克罗地亚 | Croatia |
66 | CU | 古巴 | Cuba |
67 | CY | 塞浦路斯 | Cyprus |
68 | CZ | 捷克 | Czech Republic |
69 | DK | 丹麦 | Denmark |
70 | DJ | 吉布提 | Djibouti |
71 | DM | 多米尼加联邦 | Dominica |
72 | DO | 多米尼加共和国 | Dominican Republic |
73 | TP | 东帝汶 | East Timor |
74 | EC | 厄瓜多尔 | Ecuador |
75 | EG | 埃及 | Egypt |
76 | SV | 萨尔瓦多 | El Salvador |
77 | GQ | 赤道几内亚 | Equatorial Guinea |
78 | ER | 厄立特里亚 | Eritrea |
79 | EE | 爱沙尼亚 | Estonia |
80 | ET | 埃塞俄比亚 | Ethiopia |
81 | FO | 法罗群岛 | Faroe Islands |
82 | FJ | 斐济 | Fiji |
83 | FI | 芬兰 | Finland |
84 | FR | 法国 | France |
85 | GF | 法属圭亚那 | French Guiana |
86 | PF | 法属波利尼西亚 | French Polynesia |
87 | GA | 加蓬 | Gabon |
88 | GM | 冈比亚 | Gambia |
89 | XE | 加沙及汗尤尼斯 | Gaza and Khan Yunis |
90 | GE | 格鲁吉亚 | Georgia |
91 | DE | 德国 | Germany |
92 | GH | 加纳 | Ghana |
93 | GI | 直布罗陀 | Gibraltar |
94 | GR | 希腊 | Greece |
95 | GL | 格陵兰岛 | Greenland |
96 | GD | 格林纳达 | Grenada |
97 | GP | 法属瓜德罗普岛 | Guadeloupe |
98 | GU | 关岛 | Guam |
99 | GT | 危地马拉 | Guatemala |
100 | GN | 几内亚 | Guinea |
101 | GW | 几内亚比绍共和国 | Guinea-bissau |
102 | GY | 圭亚那 | Guyana |
103 | HT | 海地 | Haiti |
104 | HN | 洪都拉斯 | Honduras |
105 | HU | 匈牙利 | Hungary |
106 | IS | 冰岛 | Iceland |
107 | IN | 印度联邦 | India |
108 | ID | 印度尼西亚 | Indonesia |
109 | IR | 伊朗 | Iran |
110 | IQ | 伊拉克 | Iraq |
111 | IE | 爱尔兰 | Ireland |
112 | IL | 以色列 | Israel |
113 | IT | 意大利 | Italy |
114 | JM | 牙买加 | Jamaica |
115 | JP | 日本 | Japan |
116 | JO | 约旦 | Jordan |
117 | KZ | 哈萨克斯坦 | Kazakhstan |
118 | KE | 肯尼亚 | Kenya |
119 | KI | 基里巴斯 | Kiribati |
120 | KP | 朝鲜 | North Korea |
121 | KR | 韩国 | Korea |
122 | KW | 科威特 | Kuwait |
123 | KG | 吉尔吉斯斯坦 | Kyrgyzstan |
124 | LA | 老挝 | Laos |
125 | LV | 拉脱维亚 | Latvia |
126 | LB | 黎巴嫩 | Lebanon |
127 | LS | 莱索托 | Lesotho |
128 | LR | 利比里亚 | Liberia |
129 | LY | 利比亚 | Libya |
130 | LI | 列支敦士登 | Liechtenstein |
131 | LT | 立陶宛 | Lithuania |
132 | LU | 卢森堡 | Luxembourg |
133 | MO | 澳门 | Macau |
134 | MK | 马其顿 | Macedonia |
135 | MG | 马达加斯加 | Madagascar |
136 | MW | 马拉维 | Malawi |
137 | MY | 马来西亚 | Malaysia |
138 | MV | 马尔代夫 | Maldives |
139 | ML | 马里 | Mali |
140 | MT | 马耳他 | Malta |
141 | MP | 北马里亚纳群岛 | Northern Mariana Islands |
142 | MH | 马绍尔群岛 | Marshall Islands |
143 | MQ | 马提尼克 | Martinique |
144 | MR | 毛利塔尼亚 | Mauritania |
145 | MU | 毛里求斯 | Mauritius |
146 | MX | 墨西哥 | Mexico |
147 | MD | 摩尔多瓦 | Moldova |
148 | MC | 摩纳哥 | Monaco |
149 | MN | 蒙古 | Mongolia |
150 | ME | 黑山共和国 | Montenegro |
151 | MS | 蒙特塞拉特岛 | Montserrat |
152 | MA | 摩洛哥 | Morocco |
153 | MZ | 莫桑比克 | Mozambique |
154 | MM | 缅甸 | Myanmar |
155 | NA | 纳米比亚 | Namibia |
156 | NR | 瑙鲁 | Nauru |
157 | NP | 尼泊尔 | Nepal |
158 | NL | 荷兰 | Netherlands |
159 | AN | 荷属安的列斯群岛 | Netherlands Antilles |
160 | NC | 新喀里多尼亚 | New Caledonia |
161 | NZ | 新西兰 | New Zealand |
162 | CK | 库克群岛 | Cook Islands |
163 | NI | 尼加拉瓜 | Nicaragua |
164 | NE | 尼日尔 | Niger |
165 | NG | 尼日利亚 | Nigeria |
166 | NF | 诺福克岛 | Norfolk Island |
167 | NO | 挪威 | Norway |
168 | OM | 阿曼 | Oman |
169 | PK | 巴基斯坦 | Pakistan |
170 | PA | 巴拿马 | Panama |
171 | PG | 巴布亚新几内亚 | Papua New Guinea |
172 | PY | 巴拉圭 | Paraguay |
173 | PE | 秘鲁 | Peru |
174 | PH | 菲律宾 | Philippines |
175 | PL | 波兰 | Poland |
176 | PT | 葡萄牙 | Portugal |
177 | PR | 波多黎各 | Puerto Rico |
178 | QA | 卡塔尔 | Qatar |
179 | RO | 罗马尼亚 | Romania |
180 | RU | 俄罗斯联邦 | Russian Federation |
181 | RW | 卢旺达 | Rwanda |
182 | WS | 萨摩亚群岛 | American Samoa |
183 | ST | 圣多美和普林西比 | Sao Tome And Principe |
184 | SA | 沙特阿拉伯 | Saudi Arabia |
185 | SN | 塞内加尔 | Senegal |
186 | RS | 塞尔维亚 | Serbia |
187 | SC | 塞舌尔 | Seychelles |
188 | SL | 塞拉利昂 | Sierra Leone |
189 | SG | 新加坡 | Singapore |
190 | SK | 斯洛伐克 | Slovakia |
191 | SI | 斯洛文尼亚 | Slovenia |
192 | SB | 所罗门群岛 | Solomon Islands |
193 | ZA | 南非 | South Africa |
194 | ES | 西班牙 | Spain |
195 | LK | 斯里兰卡 | Sri Lanka |
196 | KN | 圣克里斯托弗和尼维斯 | Christopher and Nevis |
197 | LC | 圣卢西亚 | ST.LUCIA |
198 | VC | 圣文森特岛 | St. Vincent |
199 | SD | 苏丹 | Sudan |
200 | SR | 苏里南 | Suriname |
201 | SZ | 斯威士兰 | Swaziland |
202 | SE | 瑞典 | Sweden |
203 | CH | 瑞士 | Switzerland |
204 | SY | 叙利亚 | Syria |
205 | TW | 台湾 | Taiwan |
206 | TJ | 塔吉克斯坦 | Tajikistan |
207 | TZ | 坦桑尼亚 | Tanzania |
208 | TH | 泰国 | Thailand |
209 | TG | 多哥 | Togo |
210 | TO | 汤加 | Tonga |
211 | TT | 特立尼达和多巴哥 | Trinidad And Tobago |
212 | TN | 突尼斯 | Tunisia |
213 | TR | 土耳其 | Turkey |
214 | TM | 土库曼斯坦 | Turkmenistan |
215 | TC | 特克斯和凯科斯群岛 | Turks And Caicos Islands |
216 | TV | 图瓦卢 | Tuvalu |
217 | UG | 乌干达 | Uganda |
218 | UA | 乌克兰 | Ukraine |
219 | AE | 阿拉伯联合酋长国 | United Arab Emirates |
220 | GB | 英国 | United Kingdom |
221 | US | 美国 | United States |
222 | UY | 乌拉圭 | Uruguay |
223 | VU | 瓦努阿图 | Vanuatu |
224 | VE | 委内瑞拉 | Venezuela |
225 | VN | 越南 | Vietnam |
226 | WS | 西萨摩亚 | Western Samoa |
227 | YE | 也门 | Yemen |
228 | ZM | 赞比亚 | Zambia |
229 | ZW | 津巴布韦 | Zimbabwe |
230 | HK | 香港 | Hong Kong |
231 | SVG | 圣文森特和格林纳丁斯 | Saint Vincent and the Grenadines |
232 | VI | 英属维尔京群岛 | The British Virgin Islands |
233 | CN | 中国 | China |
234 | CX | 圣诞岛 | Christmas Island |
235 | CC | 可可斯群岛 | Cocos Islands |
236 | KM | 科摩罗 | Comoros |
237 | FK | 福克兰群岛 | Falkland Islands |
238 | HW | 夏威夷群岛 | Hawaiian Islands |
239 | HM | 赫德和麦克唐纳群岛 | Heard And Mcdonald Islands |
240 | CI | 象牙海岸 | Ivory Coast |
241 | JE | 泽西岛 | Jersey |
242 | XL | 新西兰属土岛屿 | New Zealand Islands Territories |
243 | NU | 纽埃岛 | Niue |
244 | SM | 圣马力诺 | San Marino |
245 | SO | 索马里 | Somalia |
246 | VG | 维尔京戈达岛 | Virgin Gorda |
247 | WL | 威尔士 | Wales |
248 | BV | 布维岛 | Bouvet Island |
249 | GC | 海峡群岛 | Guernsey |
250 | PS | 巴勒斯坦 | Palestine |
251 | PF | 玻利尼西亚 | Polynesia |
253 | SZ | 深圳 | ShenZhen |
254 | JX | 江西 | JiangXi |
255 | JJ | 九江 | |
256 | AH | 安徽 | Anhui |
257 | null | 北京 | Beijing |
258 | null | 福建 | Fujian |
259 | null | 甘肃 | Gansu |
261 | null | 广西 | Guangxi |
262 | null | 贵州 | Guizhou |
263 | null | 海南 | Hainan |
264 | null | 河北 | Hebei |
265 | null | 河南 | Henan |
266 | null | 黑龙江 | Heilongjiang |
267 | null | 湖北 | Hubei |
268 | null | 湖南 | Hunan |
269 | null | 吉林 | Jilin |
270 | null | 江苏 | Jiangsu |
272 | null | 辽宁 | Liaoning |
273 | null | 内蒙古 | Neimenggu |
274 | null | 宁夏 | Ningxia |
275 | null | 青海 | Qinghai |
276 | null | 山东 | Shandong |
277 | null | 山西 | Shanxi |
278 | shanxi1 | 陕西 | Shaanxi |
279 | null | 上海 | Shanghai |
280 | null | 四川 | Sichuan |
281 | null | 台湾 | Taiwan |
282 | null | 天津 | Tianjin |
283 | null | 西藏 | Xicang |
284 | null | 香港 | Hongkong |
285 | null | 新疆 | Xinjiang |
286 | null | 云南 | Yunnan |
287 | null | 浙江 | Zhejiang |
288 | null | 重庆 | Zhongqing |
292 | GD | 广东 | guangdong |
293 | sz | 深圳 | Shenzhen |
301 | ee | ee | ee |
302 | GZ | 广州 | guangzhou |
303 | KP | 韩鲜 | north korea |
305 | UZ | 乌兹别克斯坦 | Uzbekistan |
306 | CI | 科特迪瓦 | Ivory Coast |
308 | IC | 加那利群岛 | Canary Islands |
310 | RE | 留尼旺岛 | Reunion |
311 | PI | 皮特凯恩岛 | Pitcairn Island |
313 | AI | 亚速尔 | Azores |
315 | GG | 根西岛 | GUERNSEY |
316 | PF | 塔希提岛 | Tahiti |
317 | BO | 伯奈尔 | Bonaire |
318 | SP | 塞班岛 | Saipan |
319 | YT | 马约特 | Mayotte |
320 | ZS | 中山 | zhongshan |
321 | GD | 东莞 | DONG GUANG |
323 | VI | 美属维尔京群岛 | The United States Virgin Islands |
325 | CNSZ | 中国深圳 | CNSZ |
326 | CNGD | 中国广东省 | 广东省 |
327 | CNHN | 中国湖南省 | 湖南省 |
328 | CNJS | 中国江苏省 | 江苏省 |
329 | CNZJ | 中国浙江省 | 浙江省 |
330 | CNSH | 中国上海市 | 上海市 |
331 | CNAH | 中国安徽省 | 安徽省 |
332 | CNHB | 中国湖北省 | 湖北省 |
333 | CNGX | 中国广西壮族自治区 | 广西壮族自治区 |
334 | CNFJ | 中国福建省 | 福建省 |
335 | CNJX | 中国江西省 | 江西省 |
336 | CNHND | 中国海南省 | 海南省 |
337 | CNBJ | 中国北京市 | 北京市 |
338 | CNTJ | 中国天津市 | 天津市 |
339 | CNHEB | 中国河北省 | 河北省 |
340 | CNHEN | 中国河南省 | 河南省 |
341 | CNSD | 中国山东省 | 山东省 |
342 | CNCQ | 中国重庆市 | 重庆市 |
343 | CNSJ | 中国四川省 | 四川省 |
344 | CNSX | 中国山西省 | 山西省 |
345 | CNYN | 中国云南省 | 云南省 |
346 | CNGZ | 中国贵州省 | 贵州省 |
347 | CNSHXI | 中国陕西省 | 陕西省 |
348 | CNLN | 中国辽宁省 | 辽宁省 |
349 | CNJL | 中国吉林省 | 吉林省 |
350 | CNHLJ | 中国黑龙江省 | 黑龙江省 |
351 | CNNMG | 中国内蒙古自治区 | 内蒙古自治区 |
352 | CNGS | 中国甘肃省 | 甘肃省 |
353 | CNQH | 中国青海省 | 青海省 |
354 | CNNX | 中国宁夏回族自治区 | 宁夏回族自治区 |
355 | CNXJ | 中国新疆维吾尔自治区 | 新疆维吾尔自治区 |
356 | CNXZ | 中国西藏 | 西藏自治区 |
357 | CNNMGBT | 中国内蒙古包头 | 内蒙古包头 |
358 | CNGXWZ | 广西(梧州) | WZ |
359 | CNGDGZ | 广东(广州) | GZ |
360 | CNGXHZ | 广西(贺州) | HZ |
361 | CNQHYS | 青海玉树州 | YS |
362 | CNNMGDBB | 中国内蒙古东北部 | 内蒙古东北部 |
363 | CNNMGXB | 中国内蒙古西部 | 内蒙古西部 |
364 | CNNMGZB | 中国内蒙古中部 | 内蒙古中部 |
365 | GD | 广东 | guangdong |
366 | FS | 佛山 | foshan |
367 | KV | 科索沃 | Kosovo |
API示例工具
示例
.NET 示例
- 第一步:在建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.webservice p=new .webservice();
string result = p.getCountry(secretkey);
返回示例
[{"ShortName":"AF","EnName":"Afghanistan","Cnname":"\u963F\u5BCC\u6C57","Base_placeId":"20"}]
查询支持的服务
- 应用场景:获取有效的运输方式列表(中文名,英文名,代码,时效,图标)
- 函数名称:getChannel(secretkey)
- 提交参数:secretkey(API密钥)
- 授权:需要
- 返回:JSON
输入参数
字段 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Secretkey | String | 必须 | 密钥 | d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回结果
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Base_ChannelInfoID | String | 必须 | 渠道代码 | 46 | |
ChannelCode | String | 必须 | 运输编码 | CNDHL | |
CnName | String | 必须 | 运输中文名称 | 大陆DHL普货价 | |
EnName | String | 必须 | 运输英文名称 | CNDHL | |
RefTime | String | 必须 | 时效 | 2 - 4 | |
ShortenImage | String | 可选 | 运输图标 | 635195880046832907_dhl.gif |
错误码
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
complete | Boolean | 否 | true | 表示提交是否成功 |
结果实例 显示
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.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"}
运费查询
- 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
- 函数名称:getFeeByCWV(string country,stringweight,stringvolume,stringcustomerid, string secretkey)
- 如果可以识别账户得的是折扣后总费用
- 提交参数:country(国家编码), weight(重量), volume(体积), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
country | String | 必须 | 国家编码 | Austria-澳大利亚 | |
Weight | String | 必须 | 重量 | 0.25 (kg) | |
Volume | String | 必须 | 体积 | 0.25 立方厘米 | |
Customer ID | String | 必须 | 客户ID | 80000 | |
Identifier | String | 必须 | 密钥 | d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回结果
名称 | 类型 | 返回值 | 描述 |
---|---|---|---|
CHCnName | string | 香港邮政航空大包 | 服务中文名 |
CHEnName | string | HKBPOST | 服务英文名 |
ChannelCode | string | HKBPOST | 渠道代码 |
RefTime | string | 7 - 14 | 参考时效 |
MinSaleAmountTotal | string | 109.740 | 总金额(RMB) |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.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)
- 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
- 请求的地址: http://m.pfcexpress.com:84/api/PriceQuery/Get/US/1/1000
- 授权:需要
- 输入参数:如下
参数说明
名称 | 类型 | 是否必须 | 说明 | 示例 |
---|---|---|---|---|
ISO Code | String | 必须 | 国家二字码 | US |
Weight | decimal | 必须 | 重量 单位Kg | 0.5 |
Volume | decimal | 必须 | 体积 | 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);
返回结果
序号 | 参数名 | 参数类型 | 描述 |
---|---|---|---|
1 | status | Int | 200代表成功 500代表未知错误 501代表 秘钥错误 |
2 | msg | string | 信息提示 |
3 | data | string | 返回的数据 |
返回示例
成功
{ "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 }
订单信息查询
- 应用场景:通过订单号或跟踪号获取(订单状态、总费用、订单号、跟踪号、转单号)
- 函数名称:getPackage(string orderNo,stringcustomerid, string secretkey)
- 提交参数:strwhere(订单号或跟踪号), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
OrderNo | String | 必须 | 订单号 | R800001407290002 | |
CustomerId | String | 必须 | 客户编号 | 80000 | |
SecretKey | String | 必须 | 密钥 | d0fc2606-611f-443a-aea2-aa209673a32c80000 | |
Remark | String | 可选 | 备注 | Null |
返回结果
名称 | 类型 | 返回值 | 描述 |
---|---|---|---|
OrderNo | String | R800001407290002 | 订单号 |
TrackingNo | String | 跟踪号 | |
field1 | String | 234234 | 转单号 |
OrderStatus | String | 6 | 订单状态1 |
OrderStatus2 | String | 已发货 | 订单状态2 |
TotalAmount | String | 6027.250 | 总费用 |
EnName | String | Albania | 收件人国家英文名 |
ChannelCode | String | GBPOST | 渠道代码 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.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)
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://{网址}/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Strorderinfo | String | 必须 | 主信息 | ||
Style | String | 必须 | 订单类型(仓储订单或普通订购单)仓储订单为1,普通订单为2 | 2 | |
GFF_CustomerID | String | 必须 | 客户ID | 80000 | |
GFF_ReceiveSendAddressID | String | 选填 | 发件人ID | 189 | |
ConsigneeName | String | 必须 | 收件人 | 小明 | |
Country | String | 必须 | 国家 | US;美国;223 (二次代码;中文名称;国家ID都支持填一即可) | |
Base_ChannelInfoID | String | 必须 | 渠道 | EUB;89(渠道代码;渠道ID 填一即可) | |
State | String | 必须 | 州 | San Fernando | |
City | String | 必须 | 城市 | Bernardo Ohiggins | |
OrderStatus | String | 必须 | 订单状态--(草稿=1),(确认=3) | 1 | |
Address1 | String | 必须 | 收件人地址行 1 | United States,,,MN.USA | |
Address2 | String | 可选 | 收件人地址行 2 | United States,,,MN.USA | |
CsRefNo | String | 可选 | 客户参考号 | 1122 | |
Zipcode | String | 可选 | 邮编 | 2134342 | |
Contact | String | 可选 | 联系方式 | 180344345665 | |
CusRemark | String | 可选 | 客户订单备注(税号类型;IOSS:填入import;No-IOSS:填入non-union;Other:不填内容) | import | |
TrackingNo | String | 可选 | 跟踪号 | RT209114500HK | |
VatNo | String | 可选 | VAT税号 | ||
EORI | String | 可选 | EORI号 | ||
HSCode | String | 可选 | 海关编码 | ||
Strorderproduct | String | 必须 | 明细数据 | ||
MaterialRefNo | String | 必须 | 物品1 产品编号 | SKU1 | |
MaterialQuantity | String | 必须 | 物品1 数量 | 10 | |
Price | String | 必须 | 物品1 单位价值(美元) | 10.2 | |
Weight | String | 必须 | 物品1 重量(KG) | 10 | |
EnName | String | 必须 | 物品1 产品英文名 | MP31232 | |
Warehouse ID | String | 必须 | 物品1 仓储ID | 302,可使用仓储信息查询api获取 | |
ProducingArea | String | 可选 | 物品1 原产地 | ||
CnName | String | 必须 | 物品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);
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(); }
返回结果
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
complete | Boolean | 否 | True | 表示提交是否成功 输出参数提交后返回系统生成的订单号加返回的提示信息,订单号和提示信息用'-'隔开,如果错误返回错误编码信息 返回成功的示列直接返回字符串:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)注:有追踪号返回追踪号,没有追踪号不返回,订单号必返回 返回错误信息实例:保存失败,请检查数据录入项是否有误!收件人国家错误!系统匹配不到相应的收件人国家 订单新建成功,预报成功结果实例:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)预报结果:预报:1条记录!,成功预报1条记录 订单新建成功,预报失败结果实例:订单保存并提交成功!-DL140887(追踪号);R800001409100028(订单号)预报结果:预报失败的订单号:R800001409090003错误信息:订单验证错误,错误信息为【商品重量不能为0】 |
返回示例
描述 | 示例 |
---|---|
订单保存并提交成功 | DL140887;R800001411160002 |
错误码
错误码 | 错误描述 | 解决方案 |
---|---|---|
保存失败,请检查数据录入项是否有误!! | 根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.webservice p = new.webservice();
string result = p. InsertUpdateOrder(strorderinfo, strorderproduct, stradd, secretkey);
返回示例
订单保存并提交成功!-R800001501190004
创建订单(v2)
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://www.pfcexpress.com/webservice/v2/CreateShipment.aspx"
- 授权:需要
- 输入参数:如下
参数说明
名称 | 类型 | 是否必须 | 说明 | 示例 |
---|---|---|---|---|
Type | Int | 必须 | 1为仓储订单 2为普通订单 | 2 |
INorOut | Int | 必须 | 0 出口 1 进口 | 0 |
WarehouseId | String | 选填 | 仓储订单为必填 | 302 |
CsRefNo | String | 选填 | 客户参考号(可填平台订单号/单号) | 201710100001 |
CustomerId | String | 必填 | 客户ID | 80000 |
ChannelId | String | 必须 | 渠道ID | 91 |
Sender | String | 选填 | 发件人 | PFCexpress |
SendAddress | String | 选填 | 发件人地址 | San Fernando |
SendPhone | String | 选填 | 发件人电话 | 400-66566-88888 |
SendEmail | String | 选填 | 发件人邮箱 | sales@pfcexpress.com |
SendCompany | String | 选填 | 发件人公司 | pfc.inc |
ShipToName | String | 必填 | 收件人 | zhangshan |
ShipToCountry | String | 必填 | 收件人国家二字码 | US |
ShipToState | String | 必填 | 收件人州 | UT |
ShipToCity | String | 必填 | 收件人城市 | Cedar City |
ShipToAdress1 | String | 必填 | 收件人地址1 | 1225 W Harding Ave Apt 32 |
ShipToAdress2 | String | 选填 | 收件人地址2 | |
ShipToZipCode | String | 必须 | 收件人邮编 | 84720 |
ShipToCompanyName | String | 选填 | 收件人公司 | Company.inc |
ShipToEmail | String | 选填 | 收件人邮编 | Email@me.com |
OrderStatus | Int | 必须 | 订单状态 1草稿 3确认 | 1 |
TrackingNo | String | 选填 | 追踪号 | |
BatteryFlag | String | 选填 | 是否带电池 0 不带 1 带点 默认0 | 0 |
CODFee | decimal | 选填 | 代收货款金额 | 500.00 |
IDCardNo | String | 选填 | 身份证号码 进口订单 必填 | |
VatNo | String | 选填 | 税号 | |
EORI | String | 选填 | EORI | |
HSCode | String | 选填 | 海关编码 | |
Products | Array | 必须 | 订单明细 | |
SKU | String | 必填 | SKU | SKU0001 |
EnName | String | 必填 | 英文品名 | Reflective clothes |
CnName | String | 选填 | 中文品名 | 反光衣 |
MaterialQuantity | Int | 必填 | 数量(/个) | 1 |
Price | decimal | 必填 | 申报价值(USD/个) | 10.00 |
Weight | decimal | 必填 | 重量(KG/个) | 0.5 |
Length | decimal | 选填 | 长(/CM) | 0.5 |
Width | decimal | 选填 | 宽(/CM) | 0.5 |
High | decimal | 选填 | 高(/CM) | 0.5 |
ProducingArea | String | 选填 | 产地 | CN |
HSCode | String | 选填 | 海关编码 | 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;
}
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) {
}
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);
$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);
返回结果
序号 | 参数名 | 参数类型 | 描述 |
---|---|---|---|
1 | status | Int | 200代表成功 500代表未知错误 501代表 秘钥错误 502代表参数错误 503代表未找到国家代码 504代表未找到渠道代码 505代表未找到发件人 506代表参考号已存在 507代表跟踪号已存在 508代表预报失败 509代表库存不足 510代表未找到仓储 511代表产品不存在 512订单状态不正确 513代表订单类型不正确 |
2 | msg | string | 信息提示 |
3 | data | string | 返回的数据 |
返回示例
成功
成功: { "status": 200, "msg": "Success", "data": { "TrackingNo": null, "OrderNo": "R800001709270001", "CsRefNo": "JH0010", "LablesUrl": null } }
失败
失败: { "status": 506, "msg": "CsRefNo repeat", "data": null }
查询产品库存
- 应用场景:用户可以通过API查询SKU/条形码的存储信息。
- 需要授权,请到用户中心申请key.
- 请求的地址:
"http://{网址}/webservice/APIWebService.asmx/getStock"
- 输入参数:如下
- 授权:需要
- 返回:Json
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
skuorcode | String | 必须 | SKU/条形码 | A00001 | |
customerid | String | 必须 | 用户 id | 80000 | |
Secretkey | String | 必须 | 密钥 --identifier | d0fc2606-611f-443a-aea2-aa209673a32c80000 | |
WarehouseName | String | 必须 | 仓储(SZWH-深圳西丽仓(302),GZWH广州仓储(381)HKWH-香港仓储(382)) | 302 |
返回结果
名称 | 返回值 | 描述 |
---|---|---|
OutinQuantity | 8662 | 库存数量 |
Stock | 6 | 占用数量 |
CnName | MP31243 112\uFF0C | 产品中文名 |
EnName | MP31 | 产品英文名 |
OutinQuantity | 1 | 库存数量 |
Stock | 1 | 占用数量 |
CnName | MP31243 112\uFF0C | 产品中文名 |
EnName | MP31 | 产品英文名 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址
:"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
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"}]
包裹追踪信息
- 应用场景:用户可以通过API查询订单追踪信息.
- 请求的地址:
"http://{网址}/webservice/APIWebService.asmx/getOrder_Track"
- 输入参数:OrderNo(订单号,追踪号)
- 输出参数:返回json字符串
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Order number/Tracking number | String | 必须 | 订单号/快递单号 | R800001411160002 |
返回结果
名称 | 返回值 |
---|---|
派送内容 | SHENZHEN - CHINA:交运发往目的地(Departed Facility in ) |
时间 | 2014-11-16 16:19:55 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
.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
打印标签
- 应用场景:用户可以直接访问地址填写相应的信息可打印标签
- 请求的地址:
"http://{网址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type=A4"(A4标签)
"http://{网址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type= (热敏标签)"
- 参数介绍:OrderNo可以填单号,追踪号。RP05851311190001,RP05851311190001逗号隔开type:打印格式=A4就打印A4的
- Type空的话,就是打印热敏的。
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
type | 打印纸张格式:A4打印A4尺寸; 留空打印热敏的格式。 | A4 | |||
Order number | 必须 | 订单号/快递单号 | R800001411160002 |
打印标签
- 应用场景:用户可以直接访问地址填写相应的信息可打印标签
- 请求的地址:
http://{网址}/webservice/APIWebService.asmx
- 请求方法GetLablesUrl
- 返回JSON
请求参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
OrderNo | 必须 | 订单号/跟踪号 | 9400110200882632305530 |
返回结果
参数 | 返回值 |
---|---|
success | 是否成功 true/false |
error | 错误信息 success为false 侧有值 |
LablesUrl | 标签URL |
获取仓储信息
- 应用场景:用户可以通过API获取仓储信息
- 请求的地址:
"http://{网址}/webservice/APIWebService.asmx"
输入参数
名称 | 类型 | 是否必须 | 默认值 | 说明 | 示例 |
---|---|---|---|---|---|
Secretkey | String | 必须 | 密钥 | d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回结果
名称 | 返回值 |
---|---|
SZWH-深圳西丽仓 | 仓储名称 |
302 | 仓储ID |
结果实例显示
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
.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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论