从QuickBooks获取所有发票

时间:2012-05-22 18:51:58

标签: c# asp.net api quickbooks quickbooks-online

我正在寻找一种简单的方法(网络服务,API调用等)来简单地从Quickbooks Online Edition获取所有即将发票。有什么简单的方法来实现?我正在寻找一个相对高级别的抽象。

注意:我愿意禁用身份验证以避免必须处理证书等。只是寻找一个简单的解决方案。

1 个答案:

答案 0 :(得分:4)

在此处使用Intuit注册您的申请:https://appreg.intuit.com/

注册:

  • 目标应用:QBOE
  • 环境:生产
  • 应用程序类型:桌面

在浏览器中转到此URL(将您自己的应用程序ID替换为URL): https://login.quickbooks.com/j/qbn/sdkapp/confirm?appid=YOUR-APPLICATION-ID-HERE&serviceid=2004&appdata=1

出现提示时,请确保通过选择“否”确保关闭登录安全。否。任何可以登录[应用程序名称]的人都可以使用该连接。“选项。

您将在流程结束时获得连接票证。把它保存在安全的地方。

编写程序以发送此HTTP正文:

<?xml version="1.0" ?>
<?qbxml version="6.0"?> 
<QBXML>
    <SignonMsgsRq>
        <SignonDesktopRq>
            <ClientDateTime>2009-10-09T07:10:10</ClientDateTime> 
            <ApplicationLogin>application login goes here</ApplicationLogin> 
            <ConnectionTicket>connection ticket goes here</ConnectionTicket> 
            <Language>English</Language> 
            <AppID>application id goes here</AppID> 
            <AppVer>1</AppVer> 
        </SignonDesktopRq> 
    </SignonMsgsRq> 
</QBXML>

到Intuit的服务器: https://webapps.quickbooks.com/j/AppGateway

您将获得会话票证。

编写程序以发送此HTTP请求:

<?xml version="1.0" ?> 
<?qbxml version="6.0"?> 
<QBXML> 
    <SignonMsgsRq>
        <SignonTicketRq> 
            <ClientDateTime>2006-09-20T15:49:26</ClientDateTime> 
            <SessionTicket>session ticket goes here</SessionTicket>
            <Language>English</Language> 
            <AppID>application id goes here</AppID>
            <AppVer>1</AppVer> 
        </SignonTicketRq> 
    </SignonMsgsRq> 
    <QBXMLMsgsRq onError="continueOnError"> 
        <InvoiceQueryRq requestID="2"> 
            <MaxReturned>10</MaxReturned>
        </InvoiceQueryRq>
    </QBXMLMsgsRq> 
</QBXML>

到同一个网址。

响应将是XML格式的一堆发票数据。

当您需要有关qbXML请求语法的更多详细信息时,请参阅OSR: http://developer.intuit.com/qbsdk-current/common/newosr/index.html

您可以在此处找到一些C#示例代码: http://wiki.consolibyte.com/wiki/doku.php/quickbooks_integration_csharp#c_net_sample_code_for_quickbooks_online_edition

其他人阅读此帖子的重要提示:这应仅用于一次性/自定义类型的应用程序。如果您将软件作为服务应用程序构建并尝试允许最终用户将自己的QuickBooks数据与您的应用程序同步,那么您应该查看IPP / IDS而不是上面的qbXML示例。 http://developer.intuit.com/