发送云端退货标签

问题描述 投票:0回答:1

我正在尝试通过点击谷歌表格上的按钮来设置自动生成 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_* 格式填写了这些字段。

你们有什么想法吗?

谢谢

javascript http google-sheets post
1个回答
0
投票

我在 Sendcloud 的客户支持部门工作,所以我可以 100% 为您提供帮助。问题是,如果您仍然有它,则说明您没有设置目标地址。当您设置了发件人地址时,必须告知包裹还被退回的位置。所以你需要添加以下字段:

name

address

city

postal_code

country

email_address

© www.soinside.com 2019 - 2024. All rights reserved.