You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linnworks宏开发遇CS1501错误:AssignOrderIdentifier参数不匹配

Linnworks宏开发API调用错误求助

我正在为Linnworks(订单管理软件)开发宏,但在宏的最终环节受阻,官方支持响应迟缓,希望能获得帮助。

相关代码

using LinnworksAPI;
using LinnworksMacroHelpers.Classes;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Serialization;

namespace LinnworksMacro
{
    public class LinnworksMacro : LinnworksMacroHelpers.LinnworksMacroBase
    {
        public void Execute(Guid[] OrderIds, decimal DPDMinimumCharge, decimal DPDPerParcel, decimal DPD_Red_Fuel, decimal DPDSurcharges, decimal DPDLocalConsignment, decimal DPDLocalAdditionalKG, decimal DPDLocalFuel)
        {
            try
            {
                decimal DPDRed = 0;
                decimal DPDLocal = 0;
                string Courier = "Blue";
                var OrderID = OrderIds;

                var OrderTotalWeight = int.Parse($"SELECT TotalWeight FROM OrderPackaging WHERE fkOrderId = '{OrderIds}';");
                var BoxCount = int.Parse($"SELECT SplitPackageCount FROM OrderPackaging WHERE fkOrderId = '{OrderIds}';");

                if (BoxCount == 1)
                {
                    DPDRed = (DPDMinimumCharge + DPDSurcharges) * DPD_Red_Fuel;
                }
                
                else
                {
                    DPDRed = ((DPDPerParcel * BoxCount) + (DPDSurcharges * BoxCount)) * DPD_Red_Fuel;
                }

                
                if (OrderTotalWeight < 15)
                {
                    DPDLocal = (DPDLocalConsignment + (BoxCount * DPDSurcharges)) * DPDLocalFuel;
                }
                else
                {
                    DPDLocal = (DPDLocalConsignment + ((OrderTotalWeight - 15) * DPDLocalAdditionalKG) + (BoxCount * DPDSurcharges)) * DPDLocalFuel;
                }
                
                if (DPDRed < DPDLocal)
                {
                    Api.OpenOrders.AssignOrderIdentifier(OrderIds, "DPD Red");
                }
                else
                {
                    Courier = "DPD Local";
                    Logger.WriteInfo(Courier);
                }

            }
            catch (Exception ex)
            {
                Logger.WriteError(ex.Message);
            }
            finally
            {
                Logger.WriteInfo("Macro Finished");
            }
        }
    }
}

错误信息

问题出在Api.OpenOrders.AssignOrderIdentifier(OrderIds, "DPD Red");这一行,持续返回错误:

ID: CS1501, Message: No overload for method 'AssignOrderIdentifier' takes 2 arguments, Location: @((50, 36)), Severity: Error

API控制器定义

public AssignResult AssignOrderIdentifier(ChangeOrderIdentifierRequest request)
{
    var response = GetResponse("OpenOrders/AssignOrderIdentifier", "request=" + System.Net.WebUtility.UrlEncode(JsonFormatter.ConvertToJson(request)) + "");
    return JsonFormatter.ConvertFromJson<AssignResult>(response);
}

我不熟悉C#,一直在摸索开发,尝试调整API调用格式但仍未解决问题,也调整过文本格式,确认并非语法问题,恳请各位提供帮助。


内容的提问来源于stack exchange,提问作者Ginger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:15:40