首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#连接ConnectWise接口

使用C#连接ConnectWise接口
EN

Stack Overflow用户
提问于 2017-07-05 15:53:11
回答 2查看 2.2K关注 0票数 1

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

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

文档声称这应该足够了:

代码语言:javascript
运行
复制
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。我认为我必须创建函数,它将提供我的身份验证等。因此我已经完成了:

代码语言:javascript
运行
复制
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变量。

有没有人用C#让SDK正常工作?

EN

回答 2

Stack Overflow用户

发布于 2017-07-27 17:37:24

不幸的是,虽然Connectwise文档正在变得更好,但要获得您想要的最终结果,您仍然需要进行大量的挖掘工作。

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

代码语言:javascript
运行
复制
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

  • Your Connectwise实例是您用于连接的主机名

  • 您的公司是登录屏幕上的“公司”字段

  • 您的公钥和私钥是在创建成员(系统->成员->成员)并转到新的
  • 成员的"API密钥“选项卡后生成的。

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

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

票数 2
EN

Stack Overflow用户

发布于 2017-07-05 16:18:45

您可以使用工具SoapUI (enter link description here)。此工具可帮助您测试所有不同的WEB界面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44920150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档