ShipStation Validate Address¶
ShipStation address validation for basic normalization and deliverability checking via the ShipStation API. The extension calls the ShipStation v1 address validation endpoint (POST /addresses/validate) to normalize street, city, state, postal code, and country, and to flag whether ShipStation could verify the address. It is a lightweight option for merchants who already hold ShipStation credentials; it does not provide RDI, address type, or address imagery — the address type is always reported as unknown.
At a glance
| Extension id | shipstation_address |
| Category | Address verification |
| Version | 0.1.0 |
| Provides | Address validation strategy (shipstation_address) |
| External account | ShipStation v1 API Key and Secret (from ShipStation's Settings > API Settings) |
What It Provides¶
- Address validation strategy — registers an
AddressValidationStrategynamedshipstation_address. On validation it posts the structured address tohttps://ssapi.shipstation.com/addresses/validatewith Basic Auth, takes the first result, and returns:- a normalized address (street1/street2, city, state, postal code, country),
is_validfrom ShipStation'sverifiedflag, with deliverabilitydeliverablewhen verified andunknownotherwise,- any ShipStation messages as validation warnings,
- the raw provider response in the result metadata.
Setup¶
- In ShipStation, generate a v1 API Key and Secret under Settings > API Settings.
- Enter them in the extension's configuration (the two fields below; both are secret fields, stored encrypted and masked in the admin). Note that in the current code the strategy reads its credentials from environment variables, not the stored config — see Operational Notes.
- Select
shipstation_addressas a channel's address validation provider — the provider name is configured per channel (Settings > Geocoding channel configuration, or the address validation provider field in Settings > Channels).
Configuration Reference¶
| Key | Type | Required | Secret | Description |
|---|---|---|---|---|
api_key |
string | Yes | Yes | ShipStation v1 API Key (from Settings > API Settings) |
api_secret |
string | Yes | Yes | ShipStation v1 API Secret |
Permissions¶
This extension declares no permissions.
Operational Notes¶
- Missing credentials pass addresses through — when the API key or secret is unavailable,
validate()returns the input address unchanged withis_valid: true. Nothing is rejected, but nothing is actually validated either. - Environment fallback — the strategy is built per call and falls back to the
SHIPSTATION_API_KEYandSHIPSTATION_API_SECRETenvironment variables when no config is supplied; in the current code the registered strategy proxy builds the client without passing stored configuration, so the environment variables are the effective credential source. - No result means invalid — an empty response from ShipStation returns
is_valid: falsewith ano_resulterror issue. - Timeout — validation requests use a 10-second HTTP timeout.
- Limited signal — unverified addresses come back with deliverability
unknown(notundeliverable); this provider cannot distinguish residential from commercial addresses.