【发布时间】:2014-02-06 08:11:13
【问题描述】:
我需要在我的网站中集成fedex api。我如何才能第一次获得有关运输的新跟踪号。我找不到获取跟踪号的方法?如果有人知道,请帮忙。
谢谢
【问题讨论】:
我需要在我的网站中集成fedex api。我如何才能第一次获得有关运输的新跟踪号。我找不到获取跟踪号的方法?如果有人知道,请帮忙。
谢谢
【问题讨论】:
当您提到“新的追踪号码”时,我猜您的意思是“创建 FedEx 货件”。
FedEx 有一个开发者计划,您可以在其中注册并将您的网站与 FedEx 集成。注册后,您可以:
FedEx 开发者计划的链接是:http://www.fedex.com/us/developer。
最好的!
【讨论】:
用于 IE 的 FedEx 站点在另一个站点的 IFrame 中返回网页。您不能使用 iframe 跨站点获取信息。因此,请执行以下操作。您可以将以下 xml 传输到:https://ws.fedex.com:443/web-services
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v10="http://fedex.com/ws/track/v10">
<soapenv:Header/>
<soapenv:Body>
<v10:TrackRequest>
<v10:WebAuthenticationDetail>
<v10:ParentCredential>
<v10:Key>productionkey</v10:Key>
<v10:Password>productionpassword</v10:Password>
</v10:ParentCredential>
<v10:UserCredential>
<v10:Key>productionkey</v10:Key>
<v10:Password>productionpassword</v10:Password>
</v10:UserCredential>
</v10:WebAuthenticationDetail>
<v10:ClientDetail>
<v10:AccountNumber>accountnumber</v10:AccountNumber>
<v10:MeterNumber>meternumber</v10:MeterNumber>
<v10:IntegratorId/>
<v10:Localization>
<v10:LanguageCode>EN</v10:LanguageCode>
<v10:LocaleCode>us</v10:LocaleCode>
</v10:Localization>
</v10:ClientDetail>
<v10:TransactionDetail>
<v10:CustomerTransactionId>Ground Track By Number</v10:CustomerTransactionId>
<v10:Localization>
<v10:LanguageCode>EN</v10:LanguageCode>
<v10:LocaleCode>us</v10:LocaleCode>
</v10:Localization>
</v10:TransactionDetail>
<v10:Version>
<v10:ServiceId>trck</v10:ServiceId>
<v10:Major>10</v10:Major>
<v10:Intermediate>0</v10:Intermediate>
<v10:Minor>0</v10:Minor>
</v10:Version>
<v10:SelectionDetails>
<v10:CarrierCode>FDXG</v10:CarrierCode>
<v10:PackageIdentifier>
<v10:Type>TRACKING_NUMBER_OR_DOORTAG</v10:Type>
<v10:Value>$WAYBILL$</v10:Value>
</v10:PackageIdentifier>
</v10:SelectionDetails>
<v10:ProcessingOptions>INCLUDE_DETAILED_SCANS</v10:ProcessingOptions>
</v10:TrackRequest>
</soapenv:Body>
</soapenv:Envelope>
使用以下VBA代码进行传输,它将返回跟踪信息:
Public Function ReturnXMLResponse(ByVal XML_Method As Variant, _
ByVal XML_Track_URL As Variant, _
ByVal XML_Request As Variant, _
Optional ByVal WaybillNum As String = "", _
Optional ByVal CarrierName As String = "", _
Optional ByVal TotalWaybills As Long = 0, _
Optional ByVal XML_Chunks As Long = 1) As String
' Passed expressions to this function have to be Variant, as some arguments
' may be passed as Null which would result in a type conversion failure.
' If True Then Exit Function
ReturnXMLResponse = "Test" ' default if not supported or not tracked by request
If UCase(XML_Track_URL) <> "NOT SUPPORTED" And UCase(XML_Track_URL) <> "NOT TRACKED BY REQUEST" Then
If (WaybillNum <> "") And (CarrierName <> "") Then
TrackingCounter = TrackingCounter + (1 / XML_Chunks)
SBText = "Tracking: " & CarrierName & ":" & WaybillNum
If TotalWaybills <> 0 Then SBText = SBText & " (" & CLng(TrackingCounter) & "/" & TotalWaybills & ") [" & (TrackingCounter / TotalWaybills) * 100 & "%]"
SBText = SBText & "."
Application.SysCmd acSysCmdSetStatus, SBText
End If
Set XMLHTTP = CreateObject("Microsoft.xmlhttp")
If (WaybillNum <> "") And (CarrierName <> "") Then
SBText = SBText & "."
Application.SysCmd acSysCmdSetStatus, SBText
End If
XMLHTTP.Open XML_Method, XML_Track_URL, False
If (WaybillNum <> "") And (CarrierName <> "") Then
SBText = SBText & "."
Application.SysCmd acSysCmdSetStatus, SBText
End If
XMLHTTP.Send XML_Request ' okay to send blank string, if not needed
If (WaybillNum <> "") And (CarrierName <> "") Then
SBText = SBText & "."
Application.SysCmd acSysCmdSetStatus, SBText
End If
ReturnXMLResponse = Cstr(XMLHttp.ResponseText)
End If
If ReturnXMLResponse = "" Then ReturnXMLResponse = "Nothing"
End Function
Basically XMLHTTP.Send XML_Request
'XMLHTTP.Send = Sending the XML_Request which is the soap envelope
above. It 'then returns the valid XML.
共享编辑删除
【讨论】:
您可以在下面的链接中找到所有类型的跟踪号。 我测试了其中一些。 响应不会与开发指南中写的完全一样,但它不会引发错误。 尝试另一个,依此类推。
转到 2014 年页面:附录 AA:测试服务器模拟跟踪号
您将看到:page with tracking numbers。它对我有用。
【讨论】: