Может кто-нибудь опубликовать пример создания записи в быстрых книгах онлайн / интуитивно в любом месте, используя ruby и httparty?
Я работаю над интеграцией в приложение ruby on rails, используя везде интуит, и сталкиваюсь с проблемой с моим запросом POST при попытке создать новую запись. Мне удалось успешно получить данные (клиентов) с помощью команды POST, которая не требует данных XML в теле запроса, но у меня возникают проблемы при попытке создать новые записи, в которых есть обязательные поля, которые необходимо передать в XML в теле запроса.
Я получаю тот же вид ошибки в любой сущности, для которой я пытаюсь создать запись: недопустимое или отсутствующее обязательное поле. Мне кажется, что XML в теле (куда добавляются данные для обязательных полей) либо игнорируется (неправильное форматирование?), Либо не присоединяется.
Я надеялся, что кто-то еще, знакомый с ruby, сможет опубликовать пример создания записи с использованием httparty. Если бы я мог видеть, как правильно передать XML, используя httparty, я мог бы решить мою проблему самостоятельно.
Я использовал пример customer.com (https://code.intuit.com/integration/viewvc/viewvc.cgi/IntuitAnywhere-Ruby/customer.com/?root=intuitanywhere&system=exsy1003) в основном в том виде, в котором он был опубликован, с несколькими несоответствующими изменениями, необходимыми для его работы в Rails 3.1. Я использую извлечение и обработку данных, приведенную в примере , который выглядит как стандартная оболочка API, созданная с использованием httparty.
Я использую пул, похожий на тот, который был найден в методе клиентов 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"
}}
)