2014-02-11 41 views
0

我已經實施minimul's指南getting started with Quickbooks Online。我的管理員可以使用Quickbooks進行身份驗證並執行任意數量的任務。如何在登錄到我的網站時自動將客戶添加到Quickbooks?

但是,我想生成一個自動化任務,只要他們註冊,我公司的Quickbooks應用程序就會創建一個客戶條目。當他們選擇要購買的物品時,我想要在Quickbooks中創建發票。等等。

顯然,我不希望我的用戶必須使用Quickbooks進行身份驗證才能執行此操作。該網站的用戶應該沒有Quickbooks的知識;只有所有者才能直接訪問它。有沒有辦法做到這一點?

回答

1

我假設當你說「我的管理員可以使用QuickBooks [在線](QBO)進行身份驗證並執行任意數量的任務」時,此連接將連接到貴公司的QBO帳戶。

因此,當有新註冊時,您可以使用貴公司的OAuth令牌在QBO端創建客戶端,該客戶端應以某種方式(DB或.yaml文件)保存。在下面的示例中,OAuth信息作爲以下屬性持久保存到Account模型中:qb_token,qb_secret和qb_realm_id。 $ qb_oauth_consumer全球來自config/initializer/quickeebooks.rb

account = Account.find(1) # your company's account 
oauth_client = OAuth::AccessToken.new($qb_oauth_consumer, account.qb_token, account.qb_secret) 
service = Quickeebooks::Online::Service::Customer.new 
service.access_token = oauth_client 
service.realm_id = account.qb_realm_id 
# Map the new user to QuickBooks Customer 
qb_customer = Quickeebooks::Online::Model::Customer.new 
qb_customer.name = params[:new_signup_name] 
qb_customer.email_address = params[:new_signup_email] 
# etc. 
service.create(qb_customer) 

這適用於發票,購買和其他任何。您使用公司的OAuth連接到QBO。

+0

謝謝!我不知道我保存在數據庫中的令牌會繼續提供給我。然後我讀到:https://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0020_connect/0010_from_within_your_app/implement_oauth_in_your_app/token_renewal_and_expiration,並意識到令牌對WAY的有效期比我想象的要長。 –