有人可以在任何地方使用 ruby 和 httparty 在 quickbooks/intuit 中发布创建记录的示例吗?
我正在使用 intuit 在任何地方集成到 ruby on rails 应用程序,并且在尝试创建新记录时遇到了我的 POST 请求的问题。我已经能够使用 POST 命令成功检索数据(客户),该命令不需要请求正文中的 XML 数据,但是在尝试创建具有需要传入的必填字段的新记录时遇到了麻烦请求正文中的 XML。
在我尝试为其创建记录的任何实体中,我都会遇到相同的错误:无效或缺少必填字段。在我看来,正文中的 XML(添加了必填字段的数据)要么被忽略(格式不正确?),要么没有被附加。
我希望其他熟悉 ruby 的人可以发布使用 httparty 创建记录的示例。如果我能看到如何使用 httparty 正确传递 XML,我可以自己解决我的问题。
我一直在使用 customer.com 示例(https://code.intuit.com/integration/viewvc/viewvc.cgi/IntuitAnywhere-Ruby/customer.com/?root=intuitanywhere&system=exsy1003),其中有一些使其在 Rails 3.1 中工作所需的无关修改。我正在使用示例中提供的数据拉取和处理,它看起来像一个使用 httparty 构建的非常标准的 API 包装器。
我正在使用类似于 company_controller 客户方法中的拉动。以下是我尝试提交 XML 的两种不同方式:
#########################################
#Example 1 - XML
e = @company.intuit_token.post("https://qbo.intuit.com/qbo1/resource/account/v2/#{@company.realm}",
{ :body =>
"<Account xmlns:ns2=\"http://www.intuit.com/sb/cdm/qbo\" xmlns=\"http://www.intuit.com/sb/cdm/v2\">
<Name>Test Account 2</Name>
<Desc>Test Account</Desc>
<Subtype>Savings</Subtype>
<AcctNum>5001</AcctNum>
<OpeningBalanceDate>2010-05-14</OpeningBalanceDate>
</Account>",
:headers => {
"Content-Type" => "application/xml"
}}
)
#########################################
#Example 2 - hash
e = @company.intuit_token.post("https://qbo.intuit.com/qbo1/resource/account/v2/#{@company.realm}",
{ :body => {
:Account => {
:Name => "Loan Account 2",
:Desc => "Loac Account 2",
:Subtype => "Savings",
:AcctNum => "5001",
:OpeningBalanceDate => "2011-04-22"
}
},
:headers => {
"Content-Type" => "application/xml"
}}
)