查詢支持的服務(wù)
- 應(yīng)用場景:獲取有效的運輸方式列表(中文名,英文名,代碼,時效,圖標(biāo))
- 函數(shù)名稱:getChannel(secretkey)
- 提交參數(shù):secretkey(API密鑰)
- 授權(quán):需要
- 返回:JSON
輸入?yún)?shù)
字段 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Secretkey |
String |
必須 |
|
密鑰 |
d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回結(jié)果
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Base_ChannelInfoID |
String |
必須 |
|
渠道代碼 |
46 |
ChannelCode |
String |
必須 |
|
運輸編碼 |
CNDHL |
CnName |
String |
必須 |
|
運輸中文名稱 |
大陸DHL普貨價 |
EnName |
String |
必須 |
|
運輸英文名稱 |
CNDHL |
RefTime |
String |
必須 |
|
時效 |
2 - 4 |
ShortenImage |
String |
可選 |
|
運輸圖標(biāo) |
635195880046832907_dhl.gif |
錯誤碼
名稱 |
類型 |
是否必須 |
示例值 |
描述 |
complete |
Boolean |
否 |
true |
表示提交是否成功 |
結(jié)果實例
顯示
API示例工具
示例
.NET 示例
-
第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)
.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"}
運費查詢
- 應(yīng)用場景:通過國家和重量及體積獲取各運輸方式價格(運輸方式中文名CHCnName、英文名CHEnName、服務(wù)代碼ChannelCode、時效RefTime、圖標(biāo)、總費用MinSaleAmountTotal)
- 函數(shù)名稱:getFeeByCWV(string country,stringweight,stringvolume,stringcustomerid, string secretkey)
- 如果可以識別賬戶得的是折扣后總費用
- 提交參數(shù):country(國家編碼), weight(重量), volume(體積), customerid(客戶ID),scretkey(密鑰)
- 授權(quán):需要
- 返回:JSON
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
country |
String |
必須 |
|
國家編碼 |
Austria-澳大利亞 |
Weight |
String |
必須 |
|
重量 |
0.25 (kg) |
Volume |
String |
必須 |
|
體積 |
0.25 立方厘米 |
Customer ID |
String |
必須 |
|
客戶ID |
80000 |
Identifier |
String |
必須 |
|
密鑰 |
d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回結(jié)果
名稱 |
類型 |
返回值 |
描述 |
CHCnName |
string |
香港郵政航空大包 |
服務(wù)中文名 |
CHEnName |
string |
HKBPOST |
服務(wù)英文名 |
ChannelCode |
string |
HKBPOST |
渠道代碼 |
RefTime |
string |
7 - 14 |
參考時效 |
MinSaleAmountTotal |
string |
109.740 |
總金額(RMB) |
錯誤碼
API示例工具
示例
.NET 示例
-
第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)
.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)
- 應(yīng)用場景:通過國家和重量及體積獲取各運輸方式價格(運輸方式中文名CHCnName、英文名CHEnName、服務(wù)代碼ChannelCode、時效RefTime、圖標(biāo)、總費用MinSaleAmountTotal)
- 請求的地址: http://m.pfcexpress.com:84/api/PriceQuery/Get/US/1/1000
- 授權(quán):需要
- 輸入?yún)?shù):如下
參數(shù)說明
名稱 |
類型 |
是否必須 |
說明 |
示例 |
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);
返回結(jié)果
序號 |
參數(shù)名 |
參數(shù)類型 |
描述 |
1 |
status |
Int |
200代表成功
500代表未知錯誤
501代表 秘鑰錯誤
|
2 |
msg |
string |
信息提示 |
3 |
data |
string |
返回的數(shù)據(jù) |
返回示例
成功
成功:
{
"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://oms.pfcexpress.com/Manage/UpFile/ChannelLabelPicture/635774794688066451_QQ圖片20140628093941.jpg",
"Remark": "",
"StyleName": "國際小包"
}
]
}
失敗
失敗:
{
"status": 501,
"msg": "API key is not correct",
"data": null
}
訂單信息查詢
- 應(yīng)用場景:通過訂單號或跟蹤號獲?。ㄓ唵螤顟B(tài)、總費用、訂單號、跟蹤號、轉(zhuǎn)單號)
- 函數(shù)名稱:getPackage(string orderNo,stringcustomerid, string secretkey)
- 提交參數(shù):strwhere(訂單號或跟蹤號), customerid(客戶ID),scretkey(密鑰)
- 授權(quán):需要
- 返回:JSON
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
OrderNo |
String |
必須 |
|
訂單號 |
R800001407290002
|
CustomerId |
String |
必須 |
|
客戶編號 |
80000 |
SecretKey |
String |
必須 |
|
密鑰 |
d0fc2606-611f-443a-aea2-aa209673a32c80000 |
Remark |
String |
可選
|
|
備注 |
Null |
返回結(jié)果
名稱 |
類型 |
返回值 |
描述 |
OrderNo |
String |
R800001407290002 |
訂單號 |
TrackingNo |
String |
|
跟蹤號 |
field1 |
String |
234234 |
轉(zhuǎn)單號 |
OrderStatus |
String |
6 |
訂單狀態(tài)1 |
OrderStatus2 |
String |
已發(fā)貨 |
訂單狀態(tài)2 |
TotalAmount |
String |
6027.250 |
總費用 |
EnName |
String |
Albania |
收件人國家英文名 |
ChannelCode |
String |
GBPOST |
渠道代碼 |
錯誤碼
API示例工具
示例
.NET 示例
-
第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)
.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"}]
創(chuàng)建訂單(v1)
- 應(yīng)用場景:用戶可以通過API建立訂單信息到系統(tǒng)中
- 請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
- 授權(quán):需要
- 輸入?yún)?shù):如下
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Strorderinfo |
String |
必須 |
|
主信息 |
|
Style |
String |
必須 |
|
訂單類型(倉儲訂單或普通訂購單)倉儲訂單為1,普通訂單為2 |
2 |
GFF_CustomerID |
String |
必須 |
|
客戶ID |
80000 |
GFF_ReceiveSendAddressID |
String |
選填 |
|
發(fā)件人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 |
必須 |
|
訂單狀態(tài)--(草稿=1),(確認(rèn)=3) |
1 |
Address1 |
String |
必須 |
|
收件人地址行 1 |
United States,,,MN.USA |
Address2 |
String |
可選 |
|
收件人地址行 2 |
United States,,,MN.USA |
CsRefNo |
String |
可選 |
|
客戶參考號 |
1122 |
Zipcode |
String |
可選 |
|
郵編 |
2134342 |
Contact |
String |
可選 |
|
聯(lián)系方式 |
180344345665 |
CusRemark |
String |
可選 |
|
客戶訂單備注(稅號類型;IOSS:填入import;No-IOSS:填入non-union;Other:不填內(nèi)容) |
Null |
TrackingNo |
String |
可選 |
|
跟蹤號 |
RT209114500HK |
CODFee |
String |
可選 |
|
代收貨款金額 |
500 |
Duty |
String |
可選(1,2) |
|
稅費費用承擔(dān)方式---(1=DDP 是由寄件人支付關(guān)稅),(2=DDU 是由收件人支付關(guān)稅) |
2 |
VatNo |
String |
可選 |
|
VAT稅號 |
|
EORI |
String |
可選 |
|
EORI號 |
|
IOSS |
String |
可選 |
|
IOSS號 |
|
HSCode |
String |
可選 |
|
海關(guān)編碼 |
|
Strorderproduct |
String |
必須 |
|
明細(xì)數(shù)據(jù) |
|
MaterialRefNo |
String |
必須 |
|
物品1 產(chǎn)品編號 |
SKU1 |
MaterialQuantity |
String |
必須 |
|
物品1 數(shù)量 |
10 |
Price |
String |
必須 |
|
物品1 單位價值(美元) |
10.2 |
Weight |
String |
必須 |
|
物品1 重量(KG) |
10 |
EnName |
String |
必須 |
|
物品1 產(chǎn)品英文名 |
MP31232 |
Warehouse ID |
String |
必須 |
|
物品1 倉儲ID |
302,可使用倉儲信息查詢api獲取 |
ProducingArea |
String |
可選 |
|
物品1 原產(chǎn)地 |
|
CnName |
String |
必須 |
|
物品1 產(chǎn)品中文名 |
中文名 |
BatteryFlag |
String |
可選 |
|
是否帶電 |
0代表不帶電 1代表帶電 默認(rèn)為0 |
...... |
...... |
...... |
...... |
...... |
...... |
提交實例
主信息: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:;"; |
明細(xì)信息: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 服務(wù)地址。為:
http://oms.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{
//創(chuàng)建一個服務(wù)(service)調(diào)用(call)
Service service=new Service();
Call call= (Call) service.createCall();//通過service創(chuàng)建call對象
//設(shè)置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //這個就是傳參數(shù)的變量,也就是NET方面的參數(shù),一定不要帶錯了
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();
}
返回結(jié)果
名稱 |
類型 |
是否必須 |
示例值 |
描述 |
complete |
Boolean |
否 |
True |
表示提交是否成功 輸出參數(shù)提交后返回系統(tǒng)生成的訂單號加返回的提示信息,訂單號和提示信息用'-'隔開,如果錯誤返回錯誤編碼信息
返回成功的示列直接返回字符串:訂單保存并提交成功!-DL140887(追蹤號);R800001409100028(訂單號)注:有追蹤號返回追蹤號,沒有追蹤號不返回,訂單號必返回
返回錯誤信息實例:保存失敗,請檢查數(shù)據(jù)錄入項是否有誤!收件人國家錯誤!系統(tǒng)匹配不到相應(yīng)的收件人國家
訂單新建成功,預(yù)報成功結(jié)果實例:訂單保存并提交成功!-DL140887(追蹤號);R800001409100028(訂單號)預(yù)報結(jié)果:預(yù)報:1條記錄!,成功預(yù)報1條記錄
訂單新建成功,預(yù)報失敗結(jié)果實例:訂單保存并提交成功!-DL140887(追蹤號);R800001409100028(訂單號)預(yù)報結(jié)果:預(yù)報失敗的訂單號:R800001409090003錯誤信息:訂單驗證錯誤,錯誤信息為【商品重量不能為0】
|
返回示例
描述 |
示例 |
訂單保存并提交成功 |
DL140887;R800001411160002 |
錯誤碼
錯誤碼 |
錯誤描述 |
解決方案 |
|
保存失敗,請檢查數(shù)據(jù)錄入項是否有誤!! |
根據(jù)提示請輸入正確的數(shù)據(jù) |
API示例工具
示例
.NET 示例
-
第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)
.webservice p = new.webservice();
string result = p. InsertUpdateOrder(strorderinfo, strorderproduct, stradd, secretkey);
返回示例
訂單保存并提交成功!-R800001501190004
創(chuàng)建訂單(v2)
- 應(yīng)用場景:用戶可以通過API建立訂單信息到系統(tǒng)中
- 請求的地址:
"http://oms.pfcexpress.com/webservice/v2/CreateShipment.aspx"
- 授權(quán):需要
- 輸入?yún)?shù):如下
參數(shù)說明
名稱 |
類型 |
是否必須 |
說明 |
示例 |
Type |
Int |
必須 |
1為倉儲訂單 2為普通訂單 |
2 |
INorOut |
Int |
必須 |
0 出口 1 進(jìn)口 |
0 |
WarehouseId |
String |
選填 |
倉儲訂單為必填 |
302 |
CsRefNo |
String |
選填 |
客戶參考號(可填平臺訂單號/單號) |
201710100001 |
CustomerId |
String |
必填 |
客戶ID |
80000 |
ChannelId |
String |
必須 |
渠道ID |
91 |
Sender |
String |
選填 |
發(fā)件人 |
PFCexpress |
SendAddress |
String |
選填 |
發(fā)件人地址 |
San Fernando |
SendPhone |
String |
選填 |
發(fā)件人電話 |
400-66566-88888 |
SendEmail |
String |
選填 |
發(fā)件人郵箱 |
sales@pfcexpress.com |
SendCompany |
String |
選填 |
發(fā)件人公司 |
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 |
必須 |
訂單狀態(tài) 1草稿 3確認(rèn) |
1 |
TrackingNo |
String |
選填 |
追蹤號 |
|
BatteryFlag |
String |
選填 |
是否帶電池 0 不帶 1 帶點 默認(rèn)0 |
0 |
CODFee |
decimal |
選填 |
代收貨款金額 |
500.00 |
IDCardNo |
String |
選填 |
身份證號碼 進(jìn)口訂單 必填 |
|
VatNo |
String |
選填 |
稅號 |
|
EORI |
String |
選填 |
EORI |
|
HSCode |
String |
選填 |
海關(guān)編碼 |
|
Products |
Array |
必須 |
訂單明細(xì) |
|
SKU |
String |
必填 |
SKU |
SKU0001 |
EnName |
String |
必填 |
英文品名 |
Reflective clothes |
CnName |
String |
選填 |
中文品名 |
反光衣 |
MaterialQuantity |
Int |
必填 |
數(shù)量(/個) |
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 |
選填 |
產(chǎn)地 |
CN |
HSCode |
String |
選填 |
海關(guān)編碼 |
HS8888888 |
提交實例
.NET 提交實例
string serverurl = "http://oms.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://oms.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://oms.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'=>'手機(jī)',
'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);
返回結(jié)果
序號 |
參數(shù)名 |
參數(shù)類型 |
描述 |
1 |
status |
Int |
200代表成功
500代表未知錯誤
501代表 秘鑰錯誤
502代表參數(shù)錯誤
503代表未找到國家代碼
504代表未找到渠道代碼
505代表未找到發(fā)件人
506代表參考號已存在
507代表跟蹤號已存在
508代表預(yù)報失敗
509代表庫存不足
510代表未找到倉儲
511代表產(chǎn)品不存在
512訂單狀態(tài)不正確
513代表訂單類型不正確
|
2 |
msg |
string |
信息提示 |
3 |
data |
string |
返回的數(shù)據(jù) |
返回示例
成功
成功:
{
"status": 200,
"msg": "Success",
"data": {
"TrackingNo": null,
"OrderNo": "R800001709270001",
"CsRefNo": "JH0010",
"LablesUrl": null
}
}
/div>
失敗
失敗:
{
"status": 506,
"msg": "CsRefNo repeat",
"data": null
}
查詢產(chǎn)品庫存
-
應(yīng)用場景:用戶可以通過API查詢SKU/條形碼的存儲信息。
- 需要授權(quán),請到用戶中心申請key.
-
請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx/getStock"
- 輸入?yún)?shù):如下
- 授權(quán):需要
- 返回:Json
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
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 |
返回結(jié)果
名稱 |
返回值 |
描述 |
OutinQuantity |
8662 |
庫存數(shù)量 |
Stock |
6 |
占用數(shù)量 |
CnName |
MP31243 112\uFF0C |
產(chǎn)品中文名 |
EnName |
MP31 |
產(chǎn)品英文名 |
OutinQuantity |
1 |
庫存數(shù)量 |
Stock |
1 |
占用數(shù)量 |
CnName |
MP31243 112\uFF0C |
產(chǎn)品中文名 |
EnName |
MP31 |
產(chǎn)品英文名 |
錯誤碼
API示例工具
示例
.NET 示例
-
第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址
:"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)
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"}]
包裹追蹤信息
-
應(yīng)用場景:用戶可以通過API查詢訂單追蹤信息.
-
請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx/getOrder_Track"
- 輸入?yún)?shù):OrderNo(訂單號,追蹤號)
- 輸出參數(shù):返回json字符串
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Order number/Tracking number |
String |
必須 |
|
訂單號/快遞單號 |
R800001411160002 |
返回結(jié)果
名稱 |
返回值 |
派送內(nèi)容 |
SHENZHEN - CHINA:交運發(fā)往目的地(Departed Facility in ) |
時間 |
2014-11-16 16:19:55 |
錯誤碼
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址。假設(shè)為:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)。
.webservice p = new.webservice();
string result = p. getOrder_Track("R807521408070065")
返回示例
描述( Describe) 最后投遞時間(the last delivery time)
SHENZHEN - CHINA:交運發(fā)往目的地(Departed Facility in ) 2014-11-16 16:32:09
SHENZHEN - CHINA:收取包裹(Shipment picked up) 2014-11-16 16:19:55
打印標(biāo)簽
- 應(yīng)用場景:用戶可以直接訪問地址填寫相應(yīng)的信息可打印標(biāo)簽
-
請求的地址:
"http://{網(wǎng)址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type=A4"(A4標(biāo)簽)
"http://{網(wǎng)址}/Manage/PrintPage/Print_PDF.aspx?OrderNo=RP05851311190001,&type= (熱敏標(biāo)簽)"
- 參數(shù)介紹:OrderNo可以填單號,追蹤號。RP05851311190001,RP05851311190001逗號隔開type:打印格式=A4就打印A4的
- Type空的話,就是打印熱敏的。
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
type |
|
|
|
打印紙張格式:A4打印A4尺寸;
留空打印熱敏的格式。
|
A4 |
Order number |
|
必須 |
|
訂單號/快遞單號 |
R800001411160002 |
測試工具
打印標(biāo)簽
- 應(yīng)用場景:用戶可以直接訪問地址填寫相應(yīng)的信息可打印標(biāo)簽
-
請求的地址:
http://{網(wǎng)址}/webservice/APIWebService.asmx
- 請求方法GetLablesUrl
- 返回JSON
請求參數(shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
OrderNo |
|
必須 |
|
訂單號/跟蹤號 |
9400110200882632305530 |
返回結(jié)果
參數(shù) |
返回值 |
success |
是否成功 true/false |
error |
錯誤信息 success為false 側(cè)有值 |
LablesUrl |
標(biāo)簽URL |
創(chuàng)建ASN單
- 應(yīng)用場景:用戶可以通過API建立入庫清單到系統(tǒng)中
- 請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
- 請求方法:CreateAsn
- 授權(quán):需要
- 輸入?yún)?shù):如下
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Storage |
String |
必須 |
|
倉庫Id通過倉儲接口獲取 |
302 |
DeliveryStyle |
String |
必須 |
|
運輸方式[Delievery Paid,Express delivery,Their delivery] |
Delievery Paid |
EnchaseType |
String |
必須 |
|
裝箱類型[Original,Mixed] |
Original |
RefNo |
String |
必須 |
|
參考號 |
|
WaybillNumber |
String |
選填 |
|
運單號 |
|
ReachStartTime |
String |
必須 |
|
預(yù)計最早到倉時間 |
2022-04-08 |
ReachEndTime |
String |
必須 |
|
預(yù)計最晚到倉時間 |
2022-04-08 |
GFF_CustomerID |
String |
必須 |
|
客戶ID |
80000 |
CusRemark |
String |
選填 |
|
備注 |
|
SKU |
String |
必須 |
|
SKU |
|
Quantity |
String |
必須 |
|
數(shù)量 |
100 |
CartonNumber |
String |
必須 |
|
箱號 |
1001 |
...... |
...... |
...... |
...... |
...... |
...... |
提交實例
asninfo:{"storage":"302","enchaseType":"Original","enchaseNum":"1","deliveryStyle":"Delievery Paid","RefNo":"cs1001","waybillNumber":"123","reachStartTime":"2022-04-07","reachEndTime":"2022-04-07","gfF_CustomerID":"80000","CusRemark":"","products":[{"sku":"DM-0812-13","quantity":"1","cartonNumber":"123"}]} |
密鑰:string secretkey = "ca0c0b19-4d8c-46b2-b91b-10fb3b44da9f80000"; |
返回示例
描述 |
示例 |
|
{"status":200,"msg":null,"data":{"Address":"深圳市龍崗區(qū)坂田街道上雪科技園一路二號C棟4樓皇家物流","Consignee":"皇家物流倉儲中心-唐裕輝","Phone":"13530213478","ZipCode":"518000","ASNNo":"A800002204080003","Label":"https://oms.pfcexpress.com/Manage/PrintPage/PrintPackage.aspx?oid=181434338"}} |
錯誤碼
錯誤碼 |
錯誤描述 |
解決方案 |
502 |
{"status":502,"msg":"Wrong Storage","data":null} |
根據(jù)提示請輸入正確的數(shù)據(jù) |
查詢ASN單信息
- 應(yīng)用場景:用戶可以通過API查詢?nèi)霂烨鍐涡畔?/li>
- 請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
- 請求方法:GetAsnInfo
- 授權(quán):需要
- 輸入?yún)?shù):如下
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
asnno |
String |
必須 |
|
ASN單號 |
|
gff_customerid |
String |
必須 |
|
客戶ID |
|
secretkey |
String |
必須 |
|
密鑰 |
|
返回示例
描述 |
示例 |
|
{"status":200,"msg":null,"data":[{"SKU":"DM-0812-13","TakedQuantity":"1"}]} |
錯誤碼
錯誤碼 |
錯誤描述 |
解決方案 |
502 |
{"status":502,"msg":"Can't find ASNNo or Quality checking in progress","data":null} |
根據(jù)提示請輸入正確的數(shù)據(jù) |
攔截訂單
- 應(yīng)用場景:用戶可以通過API攔截已付款待發(fā)貨,未付款待發(fā)貨,處理中的訂單
- 請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
- 請求方法:AddPromble
- 授權(quán):需要
- 輸入?yún)?shù):如下
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
No |
String |
必須 |
|
訂單號或者追蹤單號 |
|
Remark |
String |
必須 |
|
截單原因以及處理方式 |
|
CustomerId |
String |
必須 |
|
客戶ID |
Original |
提交實例
{"order":"{\"no\":\"R800002209210002\",\"remark\":\"取消訂單\",\"customerId\":\"80000\"}","secretkey":"39129c2c-30fc-4a5c-3dc82-da5732a8352d80000"} |
返回示例
描述 |
示例 |
|
{"status":200,"msg":"截單成功!"}} |
錯誤碼
錯誤碼 |
錯誤描述 |
解決方案 |
502 |
{"status":502,"msg":截單成功:R800002207300327已做過截單!"} |
根據(jù)提示請輸入正確的數(shù)據(jù) |
獲取倉儲信息
- 應(yīng)用場景:用戶可以通過API獲取倉儲信息
- 請求的地址:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
輸入?yún)?shù)
名稱 |
類型 |
是否必須 |
默認(rèn)值 |
說明 |
示例 |
Secretkey |
String |
必須 |
|
密鑰 |
d0fc2606-611f-443a-aea2-aa209673a32c80000 |
返回結(jié)果
名稱 |
返回值 |
SZWH-深圳西麗倉 |
倉儲名稱 |
302 |
倉儲ID |
結(jié)果實例
顯示
測試工具 示例
.NET 示例
- 第一步:在你建好的asp.net項目中,添加web引用,輸入提供的API服務(wù)地址。假設(shè)為:
"http://{網(wǎng)址}/webservice/APIWebService.asmx"
-
第二步:初始化,再調(diào)用方法,即可獲取到數(shù)據(jù)。
.webservice p = new.webservice();
string result = p. GetWarehouse();//返回字符串
返回示例
302:SZWH-深圳西麗倉;381:GZWH廣州倉儲;382:HKWH-香港倉儲;457:深圳VIP倉儲
創(chuàng)建訂單錯誤返回
返回值 |
說明 |
解決方案 |
"" |
沒有權(quán)限插入日志 |
聯(lián)系管理員 |
你的密鑰不正確 |
系統(tǒng)匹配不到正確的密鑰 |
請檢查密鑰和用戶ID是否正確,調(diào)用的接口地址是否匹配 |
Strorderinfo(訂單主數(shù)據(jù))或Strorderproduct(訂單明細(xì))為空! |
訂單數(shù)據(jù)不正確 |
請查看“創(chuàng)建訂單”中的提交實例 |
發(fā)件人無效,請檢查是否在系統(tǒng)新建發(fā)件人? |
用戶沒有發(fā)件人 |
請進(jìn)入用戶的客戶端新建一個發(fā)件人 |
收件人國家錯誤!系統(tǒng)匹配不到相應(yīng)的收件人國家! |
系統(tǒng)匹配不到發(fā)件人國家 |
請查看“創(chuàng)建訂單”中的輸入?yún)?shù) |
運輸方式(渠道)數(shù)據(jù)錯誤!系統(tǒng)匹配不到相應(yīng)的運輸方式(渠道)! |
系統(tǒng)匹配不到運輸方式(渠道) |
請查看“創(chuàng)建訂單”中的輸入?yún)?shù) |
訂單保存并提交成功!-DL140887(跟蹤號,運單號);R800001409100028(訂單號) |
訂單提交成功(沒有任何錯誤) |
提交到確認(rèn)的訂單才會返回跟蹤號 |
訂單保存并提交成功!-R800001409100028(訂單號) |
訂單提交成功(沒有任何錯誤) |
訂單沒有返回跟蹤號,本身渠道部返回跟蹤號,也不預(yù)報 |
訂單保存并提交成功!-R800001409100028(訂單號)-預(yù)報失?。河唵翁朢800001409100028郵編不正確 |
訂單提交成功(沒有任何錯誤) |
訂單沒有返回跟蹤號,渠道有預(yù)報,但是預(yù)報失敗,會返回預(yù)報后的錯誤信息 |
訂單保存成功,但提交到確認(rèn)狀態(tài)失敗!-明細(xì)插入失敗 |
訂單主數(shù)據(jù)提交成功(明細(xì)插入失?。?/td>
| 請檢查傳入的明細(xì)數(shù)據(jù) |
訂單保存成功,但提交到確認(rèn)狀態(tài)失敗!錯誤信息 |
提交到確認(rèn)失敗 |
請檢查傳入的“訂單類型”Style:1 倉儲訂單(如果傳入的明細(xì)產(chǎn)品不存在則提交到確認(rèn)失?。?/td>
|
訂單保存成功,但由于不滿足跟蹤號必須唯一或者收件人名稱、收件人國家、運輸方式、地址行1都不能為空,提交到確認(rèn)狀態(tài)失敗!-" 錯誤信息 |
訂單保存成功 |
請檢查傳入數(shù)據(jù)是否有誤! |
訂單出錯 |
傳入的數(shù)據(jù)格式不正確 |
請參考“創(chuàng)建訂單”中的提交實例 |
技術(shù)支持
API問題請發(fā)郵件至 sales@pfcexpress.com