我打算使用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#工作?
答案 0 :(得分:1)
您可以使用SoapUI工具(enter link description here)。 此工具可帮助您测试所有不同的WEB界面。
答案 1 :(得分:1)
不幸的是,虽然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;
}
假设您还没有拥有它们或知道每个部分是什么:
在下一页的右侧,有一个下载示例代码的链接。