Ruby on rails QBOv3 XML验证错误2500(引用Id无效)
我正在尝试使用quickbooks ruby gem在quickbooks上创建一个测试发票。注意,我在QB有一个测试帐户,它没有任何内容:发票、客户等。它是一个仅为测试目的而创建的新帐户。这是我的代码:Ruby on rails QBOv3 XML验证错误2500(引用Id无效),ruby-on-rails,ruby,quickbooks,quickbooks-online,Ruby On Rails,Ruby,Quickbooks,Quickbooks Online,我正在尝试使用quickbooks ruby gem在quickbooks上创建一个测试发票。注意,我在QB有一个测试帐户,它没有任何内容:发票、客户等。它是一个仅为测试目的而创建的新帐户。这是我的代码: service = Quickbooks::Service::Invoice.new service.company_id = current_user.company_id service.access_token = create_consumer qb_invoice = Quickb
service = Quickbooks::Service::Invoice.new
service.company_id = current_user.company_id
service.access_token = create_consumer
qb_invoice = Quickbooks::Model::Invoice.new
qb_invoice.customer_id = 123
line_item = Quickbooks::Model::InvoiceLineItem.new
line_item.amount = 100
line_item.sales_item! do |detail|
detail.unit_price = 100
detail.quantity = 1
detail.item_id = 1
end
qb_invoice.line_items << line_item
res = service.create qb_invoice
p res.id #exception!
def create_consumer
OAuth::AccessToken.new(.....)
end
service=Quickbooks::service::Invoice.new
service.company\u id=当前用户.company\u id
service.access\u令牌=创建\u消费者
qb_invoice=Quickbooks::Model::invoice.new
qb_invoice.customer_id=123
行项目=Quickbooks::模型::InvoiceLineItem.new
行\项目金额=100
行\项目。销售\项目!详细说明|
详细信息:单价=100
细节。数量=1
detail.item_id=1
结束
qb_invoice.line_项目请检查您的帐户中是否存在客户(ID-123)和项目(ID-1)
如果没有,则使用apiexplorer/code创建这两个条目,并使用相应的对象ID
蜂房探险者-
EntityRef-
蜂房探险者-
参考-
谢谢有一个菜单项叫做“客户”(不是客户)。就是这样,对吗?它的id是什么,我在哪里可以看到它?我猜这是在名为“nameId=1”的url中,对吗?客户和客户指的是同一件事(这取决于您在设置QBO帐户时选择的术语)。您可以从QB UI创建客户,并使用APIExplorer(调用customer REST endpoint)检索详细信息(包括ID)。您需要在invoice create API调用中使用该客户ID。感谢您的详细回答。然而,什么是itemID,我真的需要它吗?我只创建了一个客户,并通过API成功创建了一个新发票。我为什么不需要itemID呢?我怎么才能得到itemID呢?如果调用ITEM实体的getAll端点,那么您将得到XML/json形式的所有项作为响应。从那里您可以找到itemID。请参见发票主体单据-。
METHOD = post
RESOURCE = https://qb.sbfinance.intuit.com/v3/company/fdsfdsfdsfds123/invoice
<?xml version="1.0" encoding="utf-8"?>
<Invoice xmlns="http://schema.intuit.com/finance/v3" sparse="false">
<Line>
<Amount>100.0</Amount>
<DetailType>SalesItemLineDetail</DetailType>
<SalesItemLineDetail>
<ItemRef>1</ItemRef>
<UnitPrice>100.0</UnitPrice>
<RatePercent>0.0</RatePercent>
<Qty>1.0</Qty>
</SalesItemLineDetail>
</Line>
<CustomerRef>123</CustomerRef>
<TotalAmt>0.0</TotalAmt>
<Balance>0.0</Balance>
<Deposit>0.0</Deposit>
</Invoice>
RESPONSE CODE = 400
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-03-06T19:30:49.168-08:00">
<Fault type="ValidationFault">
<Error code="2500" element="">
<Message>Invalid Reference Id</Message>
<Detail>Invalid Reference Id : Something you're trying to use has been deleted. Check the fields with accounts, customers, items, vendors or employees.
</Detail>
</Error>
</Fault>
</IntuitResponse>