2014-10-03 99 views
2

我試圖實施fedex API來計算一個國家的郵政編碼之間的運輸成本。它在美國工作正常。它也正在從美國到其他國家(嘗試IN和AU)。但是,當我嘗試從印度或澳大利亞的兩個郵政編碼作爲託運人和收件人地址。它給出以下錯誤: -聯邦快遞送貨API是在印度國內工作

The transaction returned an Error. 
Severity: ERROR 
Source: crs 
Code: 691 
Message: The PurposeOfShipmentType is null, empty or invalid. 
LocalizedMessage: The PurposeOfShipmentType is null, empty or invalid. 

不知道是什麼問題。我檢查了價值PurposeOfShipmentType在wsdl文件是露出下面的XML代碼: -

First occurrence 
<xs:element name="Purpose" type="ns:PurposeOfShipmentType" minOccurs="0"> 
     <xs:annotation> 
      <xs:documentation>The reason for the shipment. Note: SOLD is not a valid purpose for a Proforma Invoice.</xs:documentation> 
     </xs:annotation> 
     </xs:element> 

second occurrence 
<xs:simpleType name="PurposeOfShipmentType"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="GIFT"/> 
     <xs:enumeration value="NOT_SOLD"/> 
     <xs:enumeration value="PERSONAL_EFFECTS"/> 
     <xs:enumeration value="REPAIR_AND_RETURN"/> 
     <xs:enumeration value="SAMPLE"/> 
     <xs:enumeration value="SOLD"/> 
    </xs:restriction> 
    </xs:simpleType> 

不要理解應該是什麼價值。下面是數組,我發送到$客戶 - > getRates($請求)功能

$request = Array 
(
[WebAuthenticationDetail] => Array 
    (
     [UserCredential] => Array 
      (
       [Key] => ******* 
       [Password] => ******* 
      ) 

    ) 

[ClientDetail] => Array 
    (
     [AccountNumber] => ***** 
     [MeterNumber] => ***** 
    ) 

[TransactionDetail] => Array 
    (
     [CustomerTransactionId] => *** Rate Available Services Request using PHP *** 
    ) 

[Version] => Array 
    (
     [ServiceId] => crs 
     [Major] => 16 
     [Intermediate] => 0 
     [Minor] => 0 
    ) 

[ReturnTransitAndCommit] => 1 
[RequestedShipment] => Array 
    (
     [DropoffType] => REGULAR_PICKUP 
     [ShipTimestamp] => 2014-10-03T11:37:53+02:00 
     [Shipper] => Array 
      (
       [Address] => Array 
        (
         [StreetLines] => Array 
          (
           [0] => 10 Fed Ex Pkwy 
          ) 

         [City] => Memphis 
         [StateOrProvinceCode] => 
         [PostalCode] => 110016 
         [CountryCode] => IN 
        ) 

      ) 

     [Recipient] => Array 
      (
       [Address] => Array 
        (
         [StreetLines] => Array 
          (
           [0] => 13450 Farmcrest Ct 
          ) 

         [City] => Herndon 
         [StateOrProvinceCode] => 
         [PostalCode] => 302015 
         [CountryCode] => IN 
        ) 

      ) 

     [ShippingChargesPayment] => Array 
      (
       [PaymentType] => SENDER 
       [Payor] => Array 
        (
         [ResponsibleParty] => Array 
          (
           [AccountNumber] => 510087500 
           [Contact] => 
           [Address] => Array 
            (
             [CountryCode] => IN 
            ) 

          ) 

        ) 

      ) 

     [PackageCount] => 2 
     [RequestedPackageLineItems] => Array 
      (
       [0] => Array 
        (
         [SequenceNumber] => 1 
         [GroupPackageCount] => 1 
         [Weight] => Array 
          (
           [Value] => 2 
           [Units] => LB 
          ) 

         [Dimensions] => Array 
          (
           [Length] => 10 
           [Width] => 10 
           [Height] => 3 
           [Units] => IN 
          ) 

        ) 

       [1] => Array 
        (
         [SequenceNumber] => 2 
         [GroupPackageCount] => 1 
         [Weight] => Array 
          (
           [Value] => 5 
           [Units] => LB 
          ) 

         [Dimensions] => Array 
          (
           [Length] => 20 
           [Width] => 20 
           [Height] => 10 
           [Units] => IN 
          ) 

        ) 

      ) 

    ) 

+0

它會告訴你什麼是錯的。 'PurposeOfShipmentType'和'PurposeOfShipmentType'都是;空,空或無效。 – 2014-10-03 09:17:12

+0

我已編輯您的評論問題。我檢查了PurposeOfShipmentType的值,但不知道它應該是什麼。 – 2014-10-03 09:24:46

+0

你在寄什麼? – 2014-10-03 09:27:24

回答

0

如果我沒看錯的,聯邦快遞的測試帳戶不返回印度的具體信息。除非經Fedex團隊認證並且他們向您提供生產密鑰,否則您的帳戶可能無法獲得匯率。請你糾正我,如果我的理解是錯誤的

6

爲了使印度印度國內海運工作,你需要在一個PurposeOfShipment類型爲請求添加。這條線不是Magento Fedex運輸代碼的標準。該行將作爲CommercialInvoice下的子標題添加到CustomsClearanceDetail標題中,然後在Purpose之下的行可以具有PurposeOfShipment具有的任何值。

以下是我使用的那個請求的示例,它返回了印度到印度航運的適當運費估算。

'CustomsClearanceDetail' => array(
    'CommercialInvoice' => array(
     'Purpose' => "SOLD" 
    ) 
), 
+0

opencart怎麼辦?你有什麼想法嗎? – 2015-07-27 06:32:25

+0

你確切的問題是什麼? – ganlaw 2015-07-27 20:52:16