使用 C# 连接到 ConnectWise API



我打算使用C#创建一个程序,该程序最终将使用来自另一个API的数据更新ConnectWise中的票证。

到目前为止,我一直想测试以GET一些发票。为此,我安装了最新的SDK并在Visual studio(SDK 2017.3)中引用了它。

文档声称这应该足够:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ConnectWiseDotNetSDK;
using ConnectWiseDotNetSDK.ConnectWise;
using ConnectWiseDotNetSDK.ConnectWise.Client;
using ConnectWiseDotNetSDK.ConnectWise.Client.System.Api;
using ConnectWiseDotNetSDK.ConnectWise.Client.System.Model;
private static List<Invoice> getInvoices()
{
var client = getApiClient();
var invoicesApi = new InvoiceApi(client);
var response = invoicesApi.GetInvoices();
var invoices = response.GetResult<List<Invoice>>();
foreach (var invoice in invoices)
{
Console.WriteLine(invoice);
}
return invoices;
}

(在我添加了所有using ....行的地方,文档没有阐明需要哪些行)。

但是,这给了我一个错误,getApiClient() does not exist in this context.我认为我必须创建函数,它将提供我的身份验证等。因此,我完成了:

private static getApiClient()
{
string BaseUri = "https://eu-myconnectwise.net/v4_6_Release/apis/3.0/finance/invoices"
string ContentType = "application/json";
string Authstring = "xxxxyyxxxx";
}

这行不通。我不知道如何在主程序中创建client变量。

有没有人让 SDK 使用 C# 工作?

不幸的是,虽然 Connectwise 文档越来越好,但您仍然需要做一大堆挖掘才能获得您想要的最终结果。

下面是一个基于答案底部的 ZIP 文件的简短示例。

const string cw_app_id = "<YourAppID>";
const string cw_site = "<YourConnectWiseInstance>";
const string cw_companyname = "<YourConnectWiseCompany>";
const string public_key = "<PublicKey>";
const string private_key = "<PrivateKey>";
private static ApiClient GetApiClient()
{
return new ApiClient(cw_app_id, cw_site, cw_companyname)
.SetPublicPrivateKey(public_key, private_key);
}
private static List<Invoice> getInvoices()
{
var client = getApiClient();
var invoicesApi = new InvoiceApi(client);
var response = invoicesApi.GetInvoices();
var invoices = response.GetResult<List<Invoice>>();
foreach (var invoice in invoices)
{
Console.WriteLine(invoice.invoiceNumber);
}
return invoices;
}

假设您还没有它们或不知道每个部分是什么:

  • 您的应用 ID 来自此处:https://developer.connectwise.com/Manage/Cookies
  • 您的 Connectwise 实例是您用于连接的主机名
  • 您的公司是登录屏幕上的"公司"字段
  • 您的公钥和私钥是在创建 API 成员(系统->成员->API 成员)并转到新 API 成员的"API 密钥"选项卡后生成的。

在下一页的右侧,有一个下载示例代码的链接。

https://developer.connectwise.com/Manage/SDK

您可以使用工具SoapUI(在此处输入链接说明)。 此工具可帮助您测试所有不同的WEB接口。

最新更新