导入
地址
学习如何创建、验证和获取 Shippo 地址。
我们需要提供发货地址和收货地址来寄送物品。在发货前,必须对这些地址进行验证,以避免发货失败。Shippo API 免费验证美国地址,并对实时令牌(live token)的全球(非美国)地址收取费用。如果使用测试令牌(test token),API 会对全球地址跳过验证。
代码示例
1https://api.goshippo.com/addresses/
| 字段 | 类型 | 必填/可选 | 描述 |
|---|---|---|---|
| name | 字符串 | 必填 | 收件人姓名。 |
| company | 字符串 | 可选 | 公司名称。 |
| street1 | 字符串 | 必填 | 街道地址第一行。 |
| street_no | 字符串 | 可选 | 街道门牌号。 |
| city | 字符串 | 必填 | 城市名称。 |
| zip | 字符串 | 必填 | 邮政编码。 |
| state | 字符串 | 必填 | 地址所在州名。部分国家需要此字段。 |
| country | 字符串 | 必填 | 国家名称,需使用 ISO 2 国家代码。 |
| phone | 字符串 | 可选 | 联系电话。 |
| 字符串 | 可选 | 电子邮箱。 | |
| is_residential | 字符串 | 可选 | 标识地址是住宅还是商业用途。 |
| validate | 布尔值 | 可选 | 是否启用地址验证。 |
1url = 'https://api.goshippo.com/addresses/' 2 3headers = { 4 'Authorization': 'ShippoToken {{TOKEN}}', 5 'Content-Type': 'application/json' 6} 7 8payload = json.dumps({ 9 "name": "Shawn Ippotle", 10 "company": "Shippo", 11 "street1": "215 Clayton St.", 12 "city": "San Francisco", 13 "state": "CA", 14 "zip": "94117", 15 "country": "US", 16 "email": "example@goshippo.com" 17}) 18 19response = requests.request("POST", url, headers=headers, data=payload) 20pprint(response.json())
1payload = json.dumps({ 2 'name': 'Mrs. Hippo', 3 "street1": "965 Mission St.", 4 "city": "San Francisco", 5 "state": "CA", 6 "zip": "94105", 7 "country": "US" 8})
| 字段 | 类型 | 描述 |
|---|---|---|
| object_id | 字符串 | 新创建地址对象的唯一标识 ID。 |
| is_complete | 布尔值 | 表示地址信息是否完整。 |
| is_residential | 布尔值 | 若设置 validate 为 true,API 可自动判断地址类型为住宅或商业。也可手动传入该标志;否则为 null。 |
| test | 布尔值 | 表示当前使用的是测试令牌还是实时令牌。 |
| validation_results | 对象 | 若开启验证,API 将返回验证结果对象,包含 is_valid 标志和 message 信息。若地址有效,is_valid 为 true,message 为空;若无效,is_valid 为 false,message 包含失败原因。 |
| zip | 字符串 | 启用验证时,API 会校验邮编并返回修正后的正确值(如原输入有误)。 |
| latitude | 数字 | 地址的纬度坐标,由 API 根据地址自动计算。 |
| longitude | 数字 | 地址的经度坐标,由 API 根据地址自动计算。 |
代码示例
1https://api.goshippo.com/addresses/{ADDRESS_OBJECT_ID}/validate/
1url = 'https://api.goshippo.com/addresses/{{ADDRESS_OBJECT_ID}}/validate/' 2 3headers = { 4 'Authorization': 'ShippoToken {{TOKEN}}', 5 'Content-Type': 'application/json' 6} 7 8res = requests.request("GET", url, headers=headers) 9pprint(res.json())
代码示例
1https://api.goshippo.com/addresses/
1url = 'https://api.goshippo.com/addresses/' 2 3headers = { 4 'Authorization': 'ShippoToken {{TOKEN}}', 5 'Content-Type': 'application/json' 6} 7 8res = requests.request("GET", url, headers=headers) 9pprint(res.json())
代码示例
1https://api.goshippo.com/addresses/{ADDRESS_OBJECT_ID}
1url = 'https://api.goshippo.com/addresses/{{ADDRESS_OBJECT_ID}}' 2 3headers = { 4 'Authorization': 'ShippoToken {{TOKEN}}', 5 'Content-Type': 'application/json' 6} 7 8res = requests.request("GET", url, headers=headers) 9pprint(res.json())