USPS v3 API JavaScript 库
用于与USPS v3 API接口的库. USPS v3 API取代了遗留的Web Tools API.
安装
npm i @balancer-team/usps-v3
使用量
导入和配置库
import { USPS } from '@balancer-team/usps-v3'
const usps = new USPS({
clientId: USPS_CLIENT_ID,
clientSecret: USPS_CLIENT_SECRET,
})
验证地址
const data = await usps.getAddress({
streetAddress: '302 Riverside Drive',
city: 'Melbourne Beach',
state: 'FL',
})
// Response:
//
// {
// firm: '',
// address: {
// streetAddress: '302 RIVERSIDE DR',
// streetAddressAbbreviation: '302 RIVERSIDE DR',
// secondaryAddress: '',
// cityAbbreviation: 'MELBOURNE BCH',
// city: 'MELBOURNE BCH',
// state: 'FL',
// ZIPCode: '32951',
// ZIPPlus4: '2142',
// urbanization: ''
// },
// additionalInfo: {
// deliveryPoint: '02',
// carrierRoute: 'C001',
// DPVConfirmation: 'Y',
// DPVCMRA: 'N',
// business: 'N',
// centralDeliveryPoint: 'N',
// vacant: 'N'
// },
// corrections: [ { code: '', text: '' } ],
// matches: [ { code: '31', text: 'Single Response - exact match' } ]
// }
以 ZIP 代码查找城市/ 状态
const data = await usps.getCityState({
ZIPCode: '90210',
})
// Response:
//
// {
// city: 'BEVERLY HILLS',
// state: 'CA',
// ZIPCode: '90210'
// }
标题大小写转换
USPS v3 API 默认返回地址字段的所有封顶 。 这个库如果需要,可以自动将字段转换为更人可读的标题大小写. 要启用此特性,请设置 useTitleCase 选项到 true 创建 USPS 实例时.
const usps = new USPS({
clientId: USPS_CLIENT_ID,
clientSecret: USPS_CLIENT_SECRET,
useTitleCase: true,
})
const data = await usps.getAddress({
streetAddress: '302 Riverside Drive',
city: 'Melbourne Beach',
state: 'FL',
})
// Response:
//
// {
// firm: '',
// address: {
// streetAddress: '302 Riverside Dr',
// ...
const data = await usps.getCityState({
ZIPCode: '90210',
})
// Response:
//
// {
// city: 'Beverly Hills',
// ...