Address Validation

作者 goshippocf8e96532f24无许可证3 个星标收录于 2026年10月8日更新于 2026年10月8日仓库2周前更新

Validate, parse, and standardize shipping addresses via the Shippo API

AI 生成的概览

通过 Shippo API 验证、解析并标准化配送地址。

功能
该技能指导智能体使用 Shippo API 端点验证、解析和标准化配送地址。内容涵盖 v1 与 v2 字段命名规则、CreateAddress 加 ValidateAddress 的工作流程、解读验证结果与更正项、解析自由格式地址字符串、处理国际地址、批量验证、重新验证以及重复地址错误。产出为标准化地址,包含更正字段、验证状态以及住宅或商业分类。
适用场景
当智能体需要在履约前检查或规范化配送地址、将非结构化地址解析为各组成部分,或批量处理地址进行验证时使用。也适用于处理国际地址或解决 Shippo 账户中的重复地址错误。
运行要求
需要访问 Shippo API 及相应的 API 凭据。不包含脚本,仅为操作说明。
<!-- ⚠️ DO NOT EDIT. Auto-generated from skills/address-validation/SKILL.md by scripts/sync.js Edits here will be overwritten on the next sync. To change this content, edit the canonical source and re-run the sync script. -->

Address Validation

Address Field Format

The Shippo API uses v1 field names for address components in most endpoints (including CreateShipment). Always use:

FieldDescriptionExample
nameFull nameJane Smith
street1Street address line 1731 Market St
street2Street address line 2 (optional)Suite 200
cityCitySan Francisco
stateState or provinceCA
zipPostal code94103
countryISO 3166-1 alpha-2 country codeUS
emailEmail (required for international senders)[email protected]
phonePhone (required for international senders)+1-555-123-4567

Note: CreateAddress and ValidateAddress take the v2 field names (address_line_1, city_locality, state_province, postal_code), but when passing addresses inline to CreateShipment, you must use the v1 names above.


Validate a Structured Address

  1. Collect at minimum: street1, city, state, zip, country (ISO 3166-1 alpha-2).
  2. Call CreateAddress with the address fields. This creates the address and returns an object ID.
  3. Call ValidateAddress with the address fields to get validation results. Note: this endpoint takes address fields as query parameters, not an object ID.
  4. Check analysis.validation_result.value in the response. Values: "valid", "invalid", or "partially_valid" (address found with corrections applied). Check analysis.validation_result.reasons for details.
  5. Report the standardized address back. Highlight any corrected fields (listed in changed_attributes). Note analysis.address_type ("residential", "commercial", or "unknown") -- residential classification affects carrier surcharges.
  6. If invalid: relay the reason descriptions. If the API returns a recommended_address, present it to the user.
  7. If partially_valid: show what was corrected and ask the user to confirm the corrections are acceptable.

Parse a Freeform Address

  1. Call ParseAddress with the raw string (e.g., "123 Main St, Springfield IL 62704").
  2. Review the structured output for completeness. The parse response uses v2 field names: address_line_1, city_locality, state_province, postal_code.
  3. Note: the parse response does not include country. You must ask the user for the country or infer it, then add it before proceeding.
  4. Validate the parsed result by passing the fields to CreateAddress then ValidateAddress (follow the structured address workflow above from step 2).

International Addresses

  • Always require the country field. Do not guess.
  • Pass non-Latin characters as-is; the API handles encoding.
  • Validation depth varies by country. US, CA, GB, AU, and major EU countries have deep validation. Others may only confirm structural completeness. Inform the user of this limitation.

Bulk Address Validation

There is no batch validation endpoint. Call CreateAddress per address. Track results (row number, valid/invalid, corrections, errors, residential classification) and report a summary when done. For 50+ addresses, set expectations about processing time and provide progress updates.


Re-validate an Existing Address

Call ValidateAddress with the address fields. This endpoint validates by address fields, not by object ID.


Duplicate Addresses

If CreateAddress returns a "Duplicate address" error, the address already exists in the account. Retrieve it via ListAddresses or proceed directly to validation.


Quick Reference

Validate an address: CreateAddress (saves address) + ValidateAddress (validates with same fields)

Parse then validate: ParseAddress -> add country -> CreateAddress + ValidateAddress

来源与署名

来源:goshippo/ai位于providers/claude/plugin/skills/address-validation提交cf8e965

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 goshippo/ai 的技能

Upgrade Shippo

goshippo

指导 Shippo API 版本变更、Webhook 负载版本管理,以及托管 Shippo MCP 服务器的故障排查。

Software Development32周前更新

Tracking

goshippo

通过 Shippo API 跨承运商追踪包裹,包括物流轨迹和追踪 webhook。

Productivity & Workflow32周前更新

Shippo Support Ticket

goshippo

Generate a complete, auto-classified, ready-to-paste Shippo support ticket for a single shipment or label. Use when a support agent or customer needs to escalate a shipping issue (lost/delayed package, unused-label refund, billing/rate adjustment, address exception, customs hold, carrier-account, or tracking-webhook problem). Given a tracking number + carrier, a transaction (label) ID, or a shipment ID, it classifies the issue, runs the right read-only Shippo MCP lookups, computes the triage timeline, and emits both a copy-paste support message and a routing-tagged JSON block so the ticket lands in the right pipeline first time.

待分类32周前更新

Shippo Best Practices

goshippo

Guides Shippo integration decisions, choosing between Rates at Checkout vs. full Shipments+Transactions vs. Batch processing, address validation strategy (v1 vs v2 fields), domestic vs international workflows (customs declarations, incoterms), label format selection, and webhook setup. Use when planning, building, or reviewing any Shippo integration, including building checkout flows, bulk fulfillment pipelines, address validation, label generation, package tracking, customs handling, or webhook subscriptions.

待分类32周前更新

Shipping Analysis

goshippo

通过 Shippo API 分析运费、比较承运商、优化包裹尺寸并审查历史运费支出。

Business & Finance32周前更新

Rate Shopping

goshippo

通过 Shippo API 比较多家承运商的运费,并推荐最便宜、最快或最具性价比的方案。

Business & Finance32周前更新