如何将SignatureOption传递给FedEx RateRequest API?

0 api fedex

对于某些交货,我需要签名,这是额外收费。我想知道使用费率请求API会产生的额外费用。我想知道这是否是获得该价值的地方,或者是否还有其他方法。

在文档中,我仅在有关RateReplyDetails的说明中看到SignatureOption元素,但没有任何关于如何在RateRequest中将其发送给他们的信息。答复总是对SignatureOption说“ SERVICE_DEFAULT”,值为零。我想在回覆中附上INDIRECT和一些金额。其他选项包括ADULT,DIRECT,NO_SIGNATURE_REQUIRED等。

在下面,您可以看到我尝试将元素放置在RequestedShipment元素下的位置。但这导致答复是“无效元素”错误。我在RateRequest的各个地方尝试了一下都无济于事。

<ns:RateRequest xmlns:ns="http://fedex.com/ws/rate/v7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ns:WebAuthenticationDetail>
                    <ns:UserCredential>
                        <ns:Key>00000</ns:Key>
                        <ns:Password>00000</ns:Password>
                    </ns:UserCredential>
                </ns:WebAuthenticationDetail>
                <ns:ClientDetail>
                    <ns:AccountNumber>00000</ns:AccountNumber>
                    <ns:MeterNumber>00000</ns:MeterNumber>
                </ns:ClientDetail>
                <ns:Version>
                    <ns:ServiceId>crs</ns:ServiceId>
                    <ns:Major>7</ns:Major>
                    <ns:Intermediate>0</ns:Intermediate>
                    <ns:Minor>0</ns:Minor>
                </ns:Version>
                <ns:RequestedShipment>
                    <ns:SignatureOption>INDIRECT</ns:SignatureOption>
                    <ns:ShipTimestamp>#DateFormat(Now(),'yyyy-mm-dd')#T#TimeFormat(Now(),'hh:mm:ss')#</ns:ShipTimestamp>
                    <ns:DropoffType>REGULAR_PICKUP</ns:DropoffType>
                    <ns:PackagingType>YOUR_PACKAGING</ns:PackagingType>
Run Code Online (Sandbox Code Playgroud)

and*_*nas 5

When using more recent versions of the API you need to set the option inside of RequestedPackageLineItems. Only send the element when you've got an actual signature option selection.

<RequestedPackageLineItems>
… dim, weight, etc…
<SpecialServicesRequested>
<SpecialServiceTypes>SIGNATURE_OPTION</SpecialServiceTypes>
<SignatureOptionDetail>
<OptionType>DIRECT|INDIRECT|ADULT|NO_SIGNATURE_REQUIRED</OptionType>
</SignatureOptionDetail>
</SpecialServicesRequested>
</RequestedPackageLineItems>
Run Code Online (Sandbox Code Playgroud)