我正在尝试将 FedEx 与我的应用程序集成。我创建了一个测试帐户。当我发送 RateRequest 时,我收到了响应 Authentication Failed(代码为 1000)。我使用联邦快递费率服务 v10。对于 SOAP,我使用 Savon ruby gem。
这是我使用的代码:
require 'rubygems'
require 'savon'
TEST_URL = 'https://wsbeta.fedex.com:443/web-services/rate'
client = Savon::Client.new do
wsdl.document = File.expand_path("../rate_wsdl.xml", __FILE__)
wsdl.endpoint = TEST_URL
end
client.request "RateRequest" do
soap.body = {
'WebAuthenticationDetail' => {'Key' => KEY, 'Password' => PASSWORD},
'ClientDetail' => {'AccountNumber' => ACCOUNT_NUMBER, 'MeterNumber' => METER_NUMBER},
'RequestedShipment' => {
'PackagingType' => 'FODEX_BOX',
'Shipper' =>
{'Address' => {'PostalCode' => '90210', 'CountryCode' => 'US', 'Residential' => 'true'}
},
'Recipient' =>
{'Address' => {'PostalCode' => 'KIP 1J1', 'CountryCode' => 'CA', 'Residential' => 'true'}
},
'RateRequestTypes' => 'ACCOUNT',
'PackageCount' => '1',
'RequestedPackages' => {
'Weight' => {'Units' => 'LB', 'Value' => '7.5'},
'Dimensions' => {'Length' => '15', 'Width' => '10', 'Height' => '5', 'Units' => 'IN'}
}
#'LabelSpecification' => ''
}
}
end
我用谷歌搜索了很多。有些人有同样的问题。人们说这可能是由于缺乏地址验证权限引起的,但如果是这样,我找不到如何禁用它。我确信所有凭据都正常(帐号、仪表编号、密钥、密码)。我还尝试了“https://wsbeta.fedex.com:443/web-service”作为端点 url。