我正在尝试通过点击谷歌表格上的按钮来设置自动生成 Sendcloud 退货标签。我已经为它制作了一个脚本,但我一直在生成退货标签时遇到新问题。
我仔细研究了 sendcloud API 文档,但问题仍然存在。
我正在使用这段代码:
`function createReturnLabel() {
// Set up API credentials
var apiKey = 'my API';
var apiSecret = 'my API';
var auth = Utilities.base64Encode(apiKey + ":" + apiSecret);
// Set up parcel details
var parcel = {
"parcel": {
"is_return": true,
"from_name": "John Doe",
"from_company_name": "FlowerShop",
"from_email": "[email protected]",
"from_telephone": "+31611423344",
"from_street_name": "Fürstenrieder Str.",
"from_house_number": "70",
"from_address_2": "",
"from_city": "Munich",
"from_country": "DE",
"from_postal_code": "80686",
"weight": "3.49",
"postal_code": "5722",
"length": "31.5",
"width": "27.2",
"height": "12.7",
"shipment": {
"id": 1, // Example return method
"name": "DPD AT Return 0-20kg"
},
"request_label": true
}
};
// Log the payload
Logger.log("Payload: " + JSON.stringify(parcel));
// Send API request to create return label
var options = {
'method': 'post',
'headers': {
'Authorization': 'Basic ' + auth,
'Content-Type': 'application/json'
},
'payload': JSON.stringify(parcel)
};
var response = UrlFetchApp.fetch('https://panel.sendcloud.sc/api/v2/parcels', options);
// Log the response
Logger.log("Response: " + response.getContentText());
// Parse response
var json = JSON.parse(response.getContentText());
var labelUrl = json.parcel.label.normal_printer[0];
// Download label
var labelBlob = UrlFetchApp.fetch(labelUrl).getBlob();`
我一直收到这个错误: “异常:https://panel.sendcloud.sc 的请求失败返回代码 400。截断的服务器响应:{“错误”:{“代码”:400,“请求”:“api/v2/parcels”,” message":"address: "This field is required.", city: "This field is required.", country: "This...(使用 muteHttpExceptions 选项检查完整响应)"
尽管我已经按照文档中的说明以 form_* 格式填写了这些字段。
你们有什么想法吗?
谢谢
我在 Sendcloud 的客户支持部门工作,所以我可以 100% 为您提供帮助。问题是,如果您仍然有它,则说明您没有设置目标地址。当您设置了发件人地址时,必须告知包裹还被退回的位置。所以你需要添加以下字段:
name
address
city
postal_code
country
email_address