qbo_api 1.7.0 → 1.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env.example_app.oauth1 +2 -0
- data/.env.example_app.oauth2 +2 -0
- data/.env.test +6 -0
- data/.travis.yml +8 -1
- data/README.md +16 -29
- data/lib/qbo_api/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 368838159586d1ffaf77d1618d13838cecbccbab
|
4
|
+
data.tar.gz: 6caa3bae70dabfc99de0260fdd6845c21658f392
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 515b977dbe1ddd7ac9ba90fa9715d594a58307114141013b48a7c4d6ae9f6fb9995434c597a9a3e73ffe6316b2c3e5701936b7db66b079ba59a02793663f9414
|
7
|
+
data.tar.gz: 41af9ba95cd96304e225d8f3d4b892f84475c6f1bb78d57c6be79d3ad178df1a185aba1a52808e966aa7ec2f1683535db643d1d6ae520784cd426e9b0ab8b84b
|
data/.env.test
ADDED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# QboApi
|
2
2
|
|
3
3
|
Ruby client for the QuickBooks Online API version 3.
|
4
|
-
- Built on top of the excellent Faraday gem.
|
5
|
-
- JSON only support.
|
4
|
+
- Built on top of the excellent Faraday gem.
|
5
|
+
- JSON only support.
|
6
6
|
- Please don't ask about XML support. [Intuit has stated](https://github.com/ruckus/quickbooks-ruby/issues/257#issuecomment-126834454) that JSON is the primary data format for the QuickBooks API (v3 and beyond). This gem will specialize in JSON only. The [`quickbooks-ruby`](https://github.com/ruckus/quickbooks-ruby) gem has fantastic support for those who favor XML.
|
7
7
|
- Features specs built directly against a QuickBooks Online Sandbox via the VCR gem.
|
8
8
|
- Robust error handling.
|
@@ -10,9 +10,9 @@ Ruby client for the QuickBooks Online API version 3.
|
|
10
10
|
## Tutorials and Screencasts
|
11
11
|
- <a href="http://minimul.com/introducing-a-new-ruby-quickbooks-online-client.html" target="_blank">Why qbo_api is a better choice </a> than the <a href="https://github.com/ruckus/quickbooks-ruby" target="_blank">quickbooks-ruby</a> gem.
|
12
12
|
- <a href="http://minimul.com/getting-started-with-the-modern-ruby-quickbooks-online-client-qbo_api-part-1.html" target="_blank">Part 1</a>: Learn how to spin up the <a href="https://github.com/minimul/qbo_api#spin-up-an-example">example app</a>.
|
13
|
-
- <a href="http://minimul.com/the-modern-ruby-quickbooks-client-part-2.html" target="_blank">Part 2</a>: <a href="https://github.com/minimul/qbo_api#running-the-specs">Running the specs</a> to aid you in understanding a QuickBooks API transaction.
|
13
|
+
- <a href="http://minimul.com/the-modern-ruby-quickbooks-client-part-2.html" target="_blank">Part 2</a>: <a href="https://github.com/minimul/qbo_api#running-the-specs">Running the specs</a> to aid you in understanding a QuickBooks API transaction.
|
14
14
|
- <a href="http://minimul.com/the-modern-ruby-quickbooks-client-contributing.html" target="_blank">Part 3</a>: <a href="https://github.com/minimul/qbo_api#creating-new-specs-or-modifying-existing-spec-that-have-been-recorded-using-the-vcr-gem">Contributing to the gem</a>.
|
15
|
-
### Important Note: The videos are out of date.
|
15
|
+
### Important Note: The videos are out of date.
|
16
16
|
If you signed up for a Intuit developer account after July 17th, 2017 then you will have to
|
17
17
|
follow <a href='#OAuth2-example'>OAuth2: Spin up an example</a>
|
18
18
|
## The Book
|
@@ -79,7 +79,7 @@ Or install it yourself as:
|
|
79
79
|
Intuit will be [requiring](https://developer.intuit.com/hub/blog/2017/08/03/upgrading-your-apps-to-support-tls-1-2) API client connections to be negotiated over TLS1.2 by December 31st, 2017. Using the default HTTP client (Net::HTTP) with Faraday this is the case with QboApi, however, if you are using another HTTP client you may need to directly set the TLS version negotiation manually.
|
80
80
|
|
81
81
|
### DateTime serialization
|
82
|
-
Some QBO entities have attributes of type DateTime (e.g., Time Activities with StartTime and EndTime). All DateTimes passed to the QBO API must be serialized in ISO 8601 format.
|
82
|
+
Some QBO entities have attributes of type DateTime (e.g., Time Activities with StartTime and EndTime). All DateTimes passed to the QBO API must be serialized in ISO 8601 format.
|
83
83
|
If ActiveSupport is loaded, you can achieve proper serialization with the following configuration:
|
84
84
|
```ruby
|
85
85
|
ActiveSupport::JSON::Encoding.use_standard_json_time_format = true
|
@@ -145,7 +145,7 @@ QboApi.minor_version = 8
|
|
145
145
|
|
146
146
|
### Update
|
147
147
|
```ruby
|
148
|
-
customer = {
|
148
|
+
customer = {
|
149
149
|
DisplayName: 'Jack Doe',
|
150
150
|
PrimaryPhone: {
|
151
151
|
FreeFormNumber: "(415) 444-1234"
|
@@ -205,9 +205,9 @@ QboApi.minor_version = 8
|
|
205
205
|
```ruby
|
206
206
|
payload = {"AttachableRef":
|
207
207
|
[
|
208
|
-
{"EntityRef":
|
208
|
+
{"EntityRef":
|
209
209
|
{
|
210
|
-
"type": "Invoice",
|
210
|
+
"type": "Invoice",
|
211
211
|
"value": "111"
|
212
212
|
}
|
213
213
|
}
|
@@ -237,7 +237,7 @@ Be aware that any errors will not raise a `QboApi::Error`, but will be returned
|
|
237
237
|
### Change data capture (CDC) query
|
238
238
|
```ruby
|
239
239
|
response = qbo_api.cdc(entities: 'estimate', changed_since: '2011-10-10T09:00:00-07:00')
|
240
|
-
# You can also send in a Time object e.g. changed_since: Time.now
|
240
|
+
# You can also send in a Time object e.g. changed_since: Time.now
|
241
241
|
expect(response['CDCResponse'].size).to eq 1
|
242
242
|
ids = response['CDCResponse'][0]['QueryResponse'][0]['Estimate'].collect{ |e| e['Id'] }
|
243
243
|
p ids
|
@@ -299,7 +299,7 @@ See [docs](https://developer.intuit.com/docs/0100_quickbooks_online/0100_essenti
|
|
299
299
|
|
300
300
|
### Respond to an error
|
301
301
|
```ruby
|
302
|
-
customer = { DisplayName: 'Weiskopf Consulting' }
|
302
|
+
customer = { DisplayName: 'Weiskopf Consulting' }
|
303
303
|
begin
|
304
304
|
response = qbo_api.create(:customer, payload: customer)
|
305
305
|
rescue QboApi::BadRequest => e
|
@@ -327,7 +327,7 @@ See [docs](https://developer.intuit.com/docs/0100_quickbooks_online/0100_essenti
|
|
327
327
|
qbo_api.all(:vendor, max: 5).each do |v|
|
328
328
|
p v['DisplayName']
|
329
329
|
end
|
330
|
-
|
330
|
+
|
331
331
|
# retrieves all customers by groups of 2 using a custom select query
|
332
332
|
where = "WHERE Id IN ('5', '6', '7', '8', '9', '10')"
|
333
333
|
qbo_api.all(:customer, max: 2, select: "SELECT * FROM Customer #{where}").each do |c|
|
@@ -349,14 +349,11 @@ See [docs](https://developer.intuit.com/docs/0100_quickbooks_online/0100_essenti
|
|
349
349
|
- `git clone git://github.com/minimul/qbo_api && cd qbo_api`
|
350
350
|
- `bundle`
|
351
351
|
- Create a `.env` file
|
352
|
+
- `cp .env.example_app.oauth2 .env`
|
352
353
|
- If needed create an account at [https://developer.intuit.com](https://developer.intuit.com)
|
353
354
|
- Click `Get started coding`
|
354
355
|
- Create an app with both the `Accounting` & `Payments` selected.
|
355
356
|
- Go to the `Development` tab and copy and paste the client id and client secret into the `.env` file.
|
356
|
-
```ruby
|
357
|
-
export QBO_API_CLIENT_ID=<Your QuickBooks Apps Client ID>
|
358
|
-
export QBO_API_CLIENT_SECRET=<Your QuickBooks Apps Client Secret>
|
359
|
-
```
|
360
357
|
- Note: the `.env` file will be automatically loaded after you run the next step.
|
361
358
|
- Start up the example app
|
362
359
|
- `ruby example/app.rb`
|
@@ -373,14 +370,11 @@ export QBO_API_CLIENT_SECRET=<Your QuickBooks Apps Client Secret>
|
|
373
370
|
- `git clone git://github.com/minimul/qbo_api && cd qbo_api`
|
374
371
|
- `bundle`
|
375
372
|
- Create a `.env` file
|
373
|
+
- `cp .env.example_app.oauth1 .env`
|
376
374
|
- If needed create an account at [https://developer.intuit.com](https://developer.intuit.com)
|
377
375
|
- Click `Get started coding`
|
378
376
|
- Create an app with both the `Accounting` & `Payments` selected.
|
379
377
|
- Go to the `Development` tab and copy and paste the consumer key and secret into the `.env` file.
|
380
|
-
```ruby
|
381
|
-
export QBO_API_CONSUMER_KEY=<Your QuickBooks apps consumer key>
|
382
|
-
export QBO_API_CONSUMER_SECRET=<Your QuickBooks apps consumer secret>
|
383
|
-
```
|
384
378
|
- Note: the `.env` file will be automatically loaded after you run the next step.
|
385
379
|
- Start up the example app
|
386
380
|
- `ruby example/app.rb`
|
@@ -403,17 +397,10 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/minimu
|
|
403
397
|
- `git clone git://github.com/minimul/qbo_api && cd qbo_api`
|
404
398
|
- `bundle`
|
405
399
|
- Create a `.env` file
|
406
|
-
-
|
407
|
-
|
408
|
-
export QBO_API_CONSUMER_KEY=
|
409
|
-
export QBO_API_CONSUMER_SECRET=
|
410
|
-
export QBO_API_ACCESS_TOKEN=
|
411
|
-
export QBO_API_ACCESS_TOKEN_SECRET=
|
412
|
-
export QBO_API_OAUTH2_ACCESS_TOKEN=
|
413
|
-
export QBO_API_COMPANY_ID=12345
|
414
|
-
```
|
400
|
+
- `cp .env.test .env`
|
401
|
+
- Update it if your are making HTTP requests.
|
415
402
|
- `bundle exec rspec spec/`
|
416
|
-
|
403
|
+
|
417
404
|
#### Creating new specs or modifying existing spec that have been recorded using the VCR gem.
|
418
405
|
- All specs that require interaction with the API must be recorded against your personal QuickBooks sandbox. More coming on how to create or modifying existing specs against your sandbox.
|
419
406
|
- <a href="http://minimul.com/the-modern-ruby-quickbooks-client-contributing.html" target="_blank">Check out this tutorial and screencast on contributing to qbo_api</a>.
|
data/lib/qbo_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qbo_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Pelczarski
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -255,6 +255,9 @@ executables: []
|
|
255
255
|
extensions: []
|
256
256
|
extra_rdoc_files: []
|
257
257
|
files:
|
258
|
+
- ".env.example_app.oauth1"
|
259
|
+
- ".env.example_app.oauth2"
|
260
|
+
- ".env.test"
|
258
261
|
- ".gitignore"
|
259
262
|
- ".travis.yml"
|
260
263
|
- Gemfile
|