【问题标题】:Fedex Tracking Number联邦快递追踪号码
【发布时间】:2014-02-06 08:11:13
【问题描述】:

我需要在我的网站中集成fedex api。我如何才能第一次获得有关运输的新跟踪号。我找不到获取跟踪号的方法?如果有人知道,请帮忙。

谢谢

【问题讨论】:

    标签: tracking fedex


    【解决方案1】:

    当您提到“新的追踪号码”时,我猜您的意思是“创建 FedEx 货件”。

    FedEx 有一个开发者计划,您可以在其中注册并将您的网站与 FedEx 集成。注册后,您可以:

    • 创建货件
    • 取消发货
    • 跟踪包裹
    • 安排取件
    • 创建调用标签

    FedEx 开发者计划的链接是:http://www.fedex.com/us/developer

    最好的!

    【讨论】:

      【解决方案2】:

      用于 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.
      

      共享编辑删除

      【讨论】:

      • 请不要对多个问题发布相同的答案。发布一个好的答案,然后标记/投票以关闭其他问题作为重复问题。如果问题不是重复的,调整你对问题的回答。找到重复的答案here
      【解决方案3】:

      您可以在下面的链接中找到所有类型的跟踪号。 我测试了其中一些。 响应不会与开发指南中写的完全一样,但它不会引发错误。 尝试另一个,依此类推。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多