所以我有一个使用fedex api地址验证的函数,我试图找回多个结果,但无论我输入的是什么地址,无论模糊不清,我只得到1个结果。我已经尝试设置肥皂请求的元素给我更多的结果,但我想我错过了一些东西。
任何能够告诉我为什么返回的街道地址有时会重复的奖励积分。 我会给它地址'1234 StreetName'并在回复中返回'1234 StreetName1234 StreetName'
/* Define SOAP parameters */
var fedexURL = 'https://gateway.fedex.com:443/web-services';
var key = 'XXXXXXXXXXXXXXXXX';
var password = 'XXXXXXXXXXXXXXXXXXXX';
var accountNumber = XXXXXXX;
var meterNumber = XXXXXXXXXX;
var checkResidentialStatus = 1;
var addressID = 'address1';
// get address value from address fields
var streetLines = nlapiGetFieldValue('custpage_custrecord_inv_address') + nlapiGetFieldValue('custpage_custrecord_inv_address');
var city = nlapiGetFieldValue('custpage_custrecord_inv_city');
var state = nlapiGetFieldValue('custpage_custrecord_inv_state_display');
var postalCode = nlapiGetFieldValue('custpage_custrecord_inv_zip');
var countryCode = nlapiGetFieldValue('custpage_custrecord_inv_country_display');
var soap = '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://fedex.com/ws/addressvalidation/v2">'+
'<SOAP-ENV:Body>'+
'<AddressValidationRequest>'+
'<WebAuthenticationDetail>'+
'<UserCredential>'+
'<Key>'+key+'</Key>'+
'<Password>'+password+'</Password>'+
'</UserCredential>'+
'</WebAuthenticationDetail>'+
'<ClientDetail>'+
'<AccountNumber>'+accountNumber+'</AccountNumber>'+
'<MeterNumber>'+meterNumber+'</MeterNumber>'+
'</ClientDetail>'+
'<TransactionDetail>'+
'<CustomerTransactionId>WSVC_addressvalidation</CustomerTransactionId>'+
'</TransactionDetail>'+
'<Version>'+
'<ServiceId>aval</ServiceId>'+
'<Major>2</Major>'+
'<Intermediate>0</Intermediate>'+
'<Minor>0</Minor>'+
'</Version>'+
'<RequestTimestamp>2009-07-28T09:30:47-05:00</RequestTimestamp>'+
'<Options>'+
'<VerifyAddresses>1</VerifyAddresses>'+
// '<CheckResidentialStatus>1</CheckResidentialStatus>'+
'<MaximumNumberOfMatches>3</MaximumNumberOfMatches>'+
'<StreetAccuracy>EXACT</StreetAccuracy>'+
'<DirectionalAccuracy>EXACT</DirectionalAccuracy>'+
'<CompanyNameAccuracy>EXACT</CompanyNameAccuracy>'+
// '<ConvertToUpperCase>1</ConvertToUpperCase>'+
'<RecognizeAlternateCityNames>1</RecognizeAlternateCityNames>'+
'<ReturnParsedElements>1</ReturnParsedElements>'+
'</Options>'+
'<AddressesToValidate>'+
'<AddressId>'+ addressID +'</AddressId>'+
// '<CompanyName>String</CompanyName>'+
'<Address>'+
'<StreetLines>'+streetLines+'</StreetLines>'+
'<City>'+city+'</City>'+
'<StateOrProvinceCode>'+state+'</StateOrProvinceCode>'+
'<PostalCode>'+postalCode+'</PostalCode>'+
'<CountryCode>'+countryCode+'</CountryCode>'+
'<Residential>1</Residential>'+
'</Address>'+
'</AddressesToValidate>'+
'</AddressValidationRequest>'+
'</SOAP-ENV:Body>'+
'</SOAP-ENV:Envelope>';
var headers = [];
headers['Content-Type'] = 'application/soap+xml';
headers['User-Agent-x'] = 'SuiteScript-Call';
// send request and parse response to json xml object
var response = nlapiRequestURL(fedexURL, soap, headers);
var xml = response.getBody();
xml = jq.parseXML(xml);
答案 0 :(得分:0)
我遇到了类似的问题,我记得几年前使用API获得了多个结果,以及每个地址的评分和当前API中似乎没有的其他详细信息,例如或文档。我从联邦快递代表处证实,这是一个旧版本&#34;和当前版本的地址验证API(截至2015年9月)显然只返回一个地址。
(不确定重复的街道名称,但我没有亲身经历过。)
答案 1 :(得分:0)
重复地址是因为: var streetLines = nlapiGetFieldValue(&#39; custpage_custrecord_inv_address&#39;)+ nlapiGetFieldValue(&#39; custpage_custrecord_inv_address&#39;);