【问题标题】:Is FedEx shipping api works in India DomesticFedEx shipping api 在印度国内有效吗
【发布时间】:2014-10-03 08:56:55
【问题描述】:

我尝试实施fedex api 来计算从一个国家的邮政编码到某个国家/地区的运输成本。它在美国工作得很好。它也适用于从美国到其他国家/地区(尝试过 IN 和 AU)。但是当我尝试使用来自印度或澳大利亚的两个邮政编码作为发货人和收件人地址时。它给出以下错误:-

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.

不知道是什么问题。我在 wsdl 文件中检查了 PurposeOfShipmentType 的值,它显示在 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>

不明白价值应该是什么。下面是我发送到 $client ->getRates($request) 函数的数组

$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
                            )

                    )

            )

    )

)

【问题讨论】:

  • 它会告诉你哪里出了问题。 PurposeOfShipmentTypePurposeOfShipmentType 两者之一; null、空或无效。
  • 我已编辑问题以供您发表评论。我检查了 PurposeOfShipmentType 的值,但不知道应该是什么。
  • 你要发送什么?
  • 在印度一个城市的发件人邮政编码和收件人印度的另一个城市的邮政编码和国家代码 IN 它适用于国际运输和美国城市
  • 在您的请求中,PurposeOfShipmentType 的值是多少?

标签: php fedex


【解决方案1】:

为了使印度到印度国内运输工作,您需要在请求中添加 PurposeOfShipment 类型。此行在 Magento 的 Fedex 运输代码中不是标准的。该行将作为CommercialInvoice 下的子项添加到CustomsClearanceDetail 标头中,然后Purpose 下的行可以具有PurposeOfShipment 具有的任何值。

以下是我使用的请求的示例,该请求返回了印度到印度运输的正确运费估算值。

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

【讨论】:

  • 在opencart中怎么做?你有什么想法吗?
  • 您的具体问题是什么?
【解决方案2】:

如果我没记错的话,Fedex 的测试帐户不会返回印度特定信息。除非得到 Fedex 团队的认证并且他们为您提供生产密钥,否则您可能无法获得为您的帐户商定的费率。如果我的理解有误,请纠正我

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2013-05-11
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多