我们正在尝试使用Shippo API打印运输标签,但似乎无法使其工作。代码中使用的数据直接来自Shippo网站。
我们正在使用Swift、Alamofire和SwiftyJSON以及来自我们的ios应用程序的Swift代码,并得到以下错误结果:
{
"detail" : "Shippo API could not process your request. Request ID: 8af7a4c883cd453bb492ad2782bd54d3"
}我们已经搜索了Shippo网站,stackoverflow和谷歌,但没有找到任何关于这个错误的参考。
这是Swift的代码:
func shippoRequest() {
var headers: HTTPHeaders = [
"content-type": "application/json"
]
let credentials = "shippo_test_318550b6ebde57479ef555ae7f80e660c23ee6c6"
headers["Authorization"] = "ShippoToken \(credentials)"
let parameters: [String: Any] = [
"address_from": [
[
"name" : "Shippy Shipper",
"company": "Our Shippo App",
"street1" : "101 Lafayette Road",
"street2" : "",
"city" : "Rye",
"state" : "NH",
"zip" : "03870",
"phone" : "8443872777",
"country" : "US",
"email" : "cuzineed1@yahoo.com"
]
],
"address_to": [
[
"name": "Mrs. Hippo",
"street1": "965 Mission St.",
"city": "San Francisco",
"state": "CA",
"zip": "94103",
"country": "US",
"phone": "0987654321",
"email": "support@goshippo.com"
]
],
"async": false,
"parcels": [
[
"length": "5",
"width": "5",
"height": "5",
"distance_unit": "in",
"weight": "2",
"mass_unit": "lb"
]
]
]
let url = "https://api.goshippo.com/shipments"
Alamofire.request(url, method: .post, parameters: parameters , encoding: JSONEncoding.default, headers: headers)
.responseJSON { (response) in
switch response.result {
case .success(let value):
let swiftyJson = JSON(value)
print ("return as JSON using swiftyJson is: \(swiftyJson)")
case .failure(let error):
print ("error: \(error)")
}
}
}我们已经尝试了许多不同的地址,从和从,甚至使用相同的数据在shippo网站上使用那里的测试链接,它确实有效。
如果Shippo返回这个错误,我们希望有人以前看到过它,或者Shippo应该能够解释是什么无效数据生成了这个错误。
任何帮助都将不胜感激。
谢谢
发布于 2018-04-18 06:59:29
我认为address to/from字段中缺少"object_purpose“属性。这在API的'2017-03-29‘版本中已被弃用,因此它可能取决于您是否使用较旧版本的API。
https://stackoverflow.com/questions/47859028
复制相似问题