veryfi 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +2 -0
- data/.rubocop.yml +5 -0
- data/Gemfile.lock +46 -31
- data/README.md +8 -258
- data/coverage/coverage-badge.png +0 -0
- data/docs/.gitignore +5 -0
- data/docs/404.html +25 -0
- data/docs/Gemfile +30 -0
- data/docs/Gemfile.lock +282 -0
- data/docs/_config.yml +50 -0
- data/docs/_includes/footer.html +35 -0
- data/docs/_includes/header.html +30 -0
- data/docs/index.markdown +273 -0
- data/lib/veryfi/request.rb +2 -2
- data/lib/veryfi/signature.rb +1 -1
- data/lib/veryfi/version.rb +1 -1
- data/veryfi.gemspec +4 -2
- metadata +43 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0b98174bc21d552218a407a17a0801218b4a93c76adbd6676d081e6c98eb9c7
|
4
|
+
data.tar.gz: edf7a6c1f283eb3d2f4369554c72dd6fb627674b2dc752f1040f145537197946
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21251717fe8fe9e0c424700ff1d1b0776f089cabe764fb55c3abf5509eb94014021bdaf64cbe8fbe1571f2840049b0c02367a655d5fa6f6887cd924cfdbb4363
|
7
|
+
data.tar.gz: 603f846c3eb5376b2c21380c7b47a2544203fde58beb88a310e582643b58e38589c785551710b4d992feaf38625d55c77d3a95efd3f00751276f84382021d6b1
|
data/.github/workflows/test.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -2,11 +2,13 @@ require: rubocop-rspec
|
|
2
2
|
|
3
3
|
AllCops:
|
4
4
|
DisplayCopNames: true
|
5
|
+
NewCops: enable
|
5
6
|
Exclude:
|
6
7
|
- bin/**/*
|
7
8
|
- tmp/**/*
|
8
9
|
- .bundle/**/*
|
9
10
|
- vendor/**/*
|
11
|
+
- docs/**/*
|
10
12
|
- veryfi.gemspec
|
11
13
|
|
12
14
|
Style/Documentation:
|
@@ -23,6 +25,9 @@ Style/SymbolArray:
|
|
23
25
|
Description: 'Use %i or %I for arrays of symbols.'
|
24
26
|
Enabled: true
|
25
27
|
|
28
|
+
Style/StringConcatenation:
|
29
|
+
Enabled: false
|
30
|
+
|
26
31
|
Style/StringLiterals:
|
27
32
|
EnforcedStyle: double_quotes
|
28
33
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
veryfi (0.1.
|
4
|
+
veryfi (0.1.2)
|
5
5
|
base64 (~> 0.1)
|
6
6
|
faraday (~> 1.7)
|
7
7
|
openssl (~> 2.2)
|
@@ -11,15 +11,16 @@ GEM
|
|
11
11
|
specs:
|
12
12
|
addressable (2.8.0)
|
13
13
|
public_suffix (>= 2.0.2, < 5.0)
|
14
|
-
ast (2.4.
|
14
|
+
ast (2.4.2)
|
15
15
|
base64 (0.1.0)
|
16
|
-
bundler-audit (0.
|
16
|
+
bundler-audit (0.9.0)
|
17
17
|
bundler (>= 1.2.0, < 3)
|
18
|
-
thor (~> 0
|
18
|
+
thor (~> 1.0)
|
19
19
|
coderay (1.1.3)
|
20
20
|
crack (0.4.5)
|
21
21
|
rexml
|
22
|
-
diff-lcs (1.
|
22
|
+
diff-lcs (1.4.4)
|
23
|
+
docile (1.4.0)
|
23
24
|
faraday (1.7.1)
|
24
25
|
faraday-em_http (~> 1.0)
|
25
26
|
faraday-em_synchrony (~> 1.0)
|
@@ -40,49 +41,60 @@ GEM
|
|
40
41
|
faraday-patron (1.0.0)
|
41
42
|
faraday-rack (1.0.0)
|
42
43
|
hashdiff (1.0.1)
|
43
|
-
jaro_winkler (1.5.4)
|
44
44
|
method_source (1.0.0)
|
45
45
|
multipart-post (2.1.1)
|
46
46
|
openssl (2.2.0)
|
47
|
-
parallel (1.
|
48
|
-
parser (
|
49
|
-
ast (~> 2.4.
|
47
|
+
parallel (1.20.1)
|
48
|
+
parser (3.0.2.0)
|
49
|
+
ast (~> 2.4.1)
|
50
50
|
pry (0.14.1)
|
51
51
|
coderay (~> 1.1)
|
52
52
|
method_source (~> 1.0)
|
53
53
|
public_suffix (4.0.6)
|
54
54
|
rainbow (3.0.0)
|
55
55
|
rake (13.0.6)
|
56
|
+
regexp_parser (2.1.1)
|
56
57
|
rexml (3.2.5)
|
57
|
-
rspec (3.
|
58
|
-
rspec-core (~> 3.
|
59
|
-
rspec-expectations (~> 3.
|
60
|
-
rspec-mocks (~> 3.
|
61
|
-
rspec-core (3.
|
62
|
-
rspec-support (~> 3.
|
63
|
-
rspec-expectations (3.
|
58
|
+
rspec (3.10.0)
|
59
|
+
rspec-core (~> 3.10.0)
|
60
|
+
rspec-expectations (~> 3.10.0)
|
61
|
+
rspec-mocks (~> 3.10.0)
|
62
|
+
rspec-core (3.10.1)
|
63
|
+
rspec-support (~> 3.10.0)
|
64
|
+
rspec-expectations (3.10.1)
|
64
65
|
diff-lcs (>= 1.2.0, < 2.0)
|
65
|
-
rspec-support (~> 3.
|
66
|
+
rspec-support (~> 3.10.0)
|
66
67
|
rspec-its (1.3.0)
|
67
68
|
rspec-core (>= 3.0.0)
|
68
69
|
rspec-expectations (>= 3.0.0)
|
69
|
-
rspec-mocks (3.
|
70
|
+
rspec-mocks (3.10.2)
|
70
71
|
diff-lcs (>= 1.2.0, < 2.0)
|
71
|
-
rspec-support (~> 3.
|
72
|
-
rspec-support (3.
|
73
|
-
rubocop (0.
|
74
|
-
jaro_winkler (~> 1.5.1)
|
72
|
+
rspec-support (~> 3.10.0)
|
73
|
+
rspec-support (3.10.2)
|
74
|
+
rubocop (0.93.1)
|
75
75
|
parallel (~> 1.10)
|
76
|
-
parser (>= 2.7.
|
76
|
+
parser (>= 2.7.1.5)
|
77
77
|
rainbow (>= 2.2.2, < 4.0)
|
78
|
+
regexp_parser (>= 1.8)
|
78
79
|
rexml
|
80
|
+
rubocop-ast (>= 0.6.0)
|
79
81
|
ruby-progressbar (~> 1.7)
|
80
82
|
unicode-display_width (>= 1.4.0, < 2.0)
|
81
|
-
rubocop-
|
82
|
-
|
83
|
-
|
83
|
+
rubocop-ast (1.11.0)
|
84
|
+
parser (>= 3.0.1.1)
|
85
|
+
rubocop-rspec (1.44.1)
|
86
|
+
rubocop (~> 0.87)
|
87
|
+
rubocop-ast (>= 0.7.1)
|
88
|
+
ruby-progressbar (1.11.0)
|
84
89
|
ruby2_keywords (0.0.5)
|
85
|
-
|
90
|
+
simplecov (0.21.2)
|
91
|
+
docile (~> 1.1)
|
92
|
+
simplecov-html (~> 0.11)
|
93
|
+
simplecov_json_formatter (~> 0.1)
|
94
|
+
simplecov-badge (2.0.2)
|
95
|
+
simplecov-html (0.12.3)
|
96
|
+
simplecov_json_formatter (0.1.3)
|
97
|
+
thor (1.1.0)
|
86
98
|
unicode-display_width (1.7.0)
|
87
99
|
vcr (6.0.0)
|
88
100
|
webmock (3.14.0)
|
@@ -91,20 +103,23 @@ GEM
|
|
91
103
|
hashdiff (>= 0.4.0, < 2.0.0)
|
92
104
|
|
93
105
|
PLATFORMS
|
94
|
-
|
106
|
+
x86_64-darwin-19
|
107
|
+
x86_64-linux
|
95
108
|
|
96
109
|
DEPENDENCIES
|
97
|
-
bundler (~>
|
98
|
-
bundler-audit (~> 0.
|
110
|
+
bundler (~> 2.2)
|
111
|
+
bundler-audit (~> 0.9)
|
99
112
|
pry (~> 0.14)
|
100
113
|
rake (~> 13.0)
|
101
114
|
rspec (~> 3.9)
|
102
115
|
rspec-its (~> 1.3)
|
103
116
|
rubocop (~> 0.82)
|
104
117
|
rubocop-rspec (~> 1.38)
|
118
|
+
simplecov (~> 0.21)
|
119
|
+
simplecov-badge (~> 2.0)
|
105
120
|
vcr (~> 6.0)
|
106
121
|
veryfi!
|
107
122
|
webmock (~> 3.14)
|
108
123
|
|
109
124
|
BUNDLED WITH
|
110
|
-
|
125
|
+
2.2.26
|
data/README.md
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
|
3
3
|

|
4
4
|
|
5
|
+
[](https://rubygems.org/gems/veryfi)
|
6
|
+
[](https://github.com/slavakisel/veryfi-ruby/actions/workflows/test.yml)
|
7
|
+
|
8
|
+
[](https://raw.githubusercontent.com/slavakisel/veryfi-ruby/main/coverage/coverage-badge.png)
|
9
|
+
|
5
10
|
## Table of Contents
|
6
11
|
|
7
12
|
- [Veryfi SDK for Ruby](#veryfi-sdk-for-ruby)
|
@@ -10,18 +15,13 @@
|
|
10
15
|
- [Getting Started](#getting-started)
|
11
16
|
- [Obtaining Client ID and user keys](#obtaining-client-id-and-user-keys)
|
12
17
|
- [Ruby API Client Library](#ruby-api-client-library)
|
13
|
-
- [Extracting Data](#extracting-data)
|
14
|
-
- [Document Response Example](#document-response-example)
|
15
|
-
- [Other methods](#other-methods)
|
16
18
|
- [Need help?](#need-help)
|
17
|
-
- [Learn more at our blog](#learn-more-at-our-blog)
|
18
|
-
- [Tutorial Video](#tutorial-video)
|
19
19
|
- [For Developers](#for-developers)
|
20
20
|
- [Install](#install)
|
21
21
|
- [Quality tools](#quality-tools)
|
22
22
|
- [Develop](#develop)
|
23
23
|
|
24
|
-
**veryfi** is a Ruby gem for communicating with the [Veryfi OCR API](https://veryfi.com/api/)
|
24
|
+
**veryfi-ruby** is a Ruby gem for communicating with the [Veryfi OCR API](https://veryfi.com/api/)
|
25
25
|
|
26
26
|
## Installation
|
27
27
|
|
@@ -31,7 +31,7 @@ gem install veryfi
|
|
31
31
|
|
32
32
|
Or add to your Gemfile:
|
33
33
|
```ruby
|
34
|
-
gem 'veryfi', '
|
34
|
+
gem 'veryfi', '~> 0.1'
|
35
35
|
```
|
36
36
|
|
37
37
|
## Getting Started
|
@@ -42,263 +42,13 @@ If you don't have an account with Veryfi, please go ahead and register here: [ht
|
|
42
42
|
|
43
43
|
### Ruby API Client Library
|
44
44
|
|
45
|
-
The **veryfi** gem can be used to communicate with Veryfi API. All available functionality is described
|
46
|
-
|
47
|
-
Below is a sample script using **Veryfi** for OCR and extracting data from a document:
|
48
|
-
|
49
|
-
### Extracting Data
|
50
|
-
|
51
|
-
```ruby
|
52
|
-
require 'veryfi'
|
53
|
-
|
54
|
-
veryfi_client = Veryfi::Client.new(
|
55
|
-
client_id: 'your_client_id',
|
56
|
-
client_secret: 'your_client_secret',
|
57
|
-
username: 'your_username',
|
58
|
-
api_key: 'your_password'
|
59
|
-
)
|
60
|
-
```
|
61
|
-
|
62
|
-
This submits a document for processing (3-5 seconds for a response)
|
63
|
-
|
64
|
-
```ruby
|
65
|
-
params = {
|
66
|
-
file_path: './test/receipt.jpg',
|
67
|
-
auto_delete: 1,
|
68
|
-
boost_mode: 1,
|
69
|
-
async: 1,
|
70
|
-
external_id: '123456789',
|
71
|
-
max_pages_to_process: 10,
|
72
|
-
tags: ['tag1'],
|
73
|
-
categories: [
|
74
|
-
'Advertising & Marketing',
|
75
|
-
'Automotive'
|
76
|
-
]
|
77
|
-
}
|
78
|
-
|
79
|
-
response = veryfi_client.document.process(params)
|
80
|
-
|
81
|
-
puts response
|
82
|
-
```
|
83
|
-
|
84
|
-
...or with a URL
|
85
|
-
|
86
|
-
```ruby
|
87
|
-
params = {
|
88
|
-
file_url: "https://raw.githubusercontent.com/veryfi/veryfi-python/master/tests/assets/receipt_public.jpg",
|
89
|
-
auto_delete: 1,
|
90
|
-
boost_mode: 1,
|
91
|
-
async: 1,
|
92
|
-
external_id: "123456789",
|
93
|
-
max_pages_to_process: 10,
|
94
|
-
tags: ["tag1"],
|
95
|
-
categories: [
|
96
|
-
"Advertising & Marketing",
|
97
|
-
"Automotive"
|
98
|
-
]
|
99
|
-
}
|
100
|
-
|
101
|
-
response = veryfi_client.document.process_url(params)
|
102
|
-
|
103
|
-
puts response
|
104
|
-
```
|
105
|
-
|
106
|
-
### Document Response Example
|
107
|
-
|
108
|
-
```json
|
109
|
-
{
|
110
|
-
"abn_number": "",
|
111
|
-
"account_number": "",
|
112
|
-
"bill_to_address": "2 Court Square\nNew York, NY 12210",
|
113
|
-
"bill_to_name": "John Smith",
|
114
|
-
"bill_to_vat_number": "",
|
115
|
-
"card_number": "",
|
116
|
-
"cashback": 0,
|
117
|
-
"category": "Repairs & Maintenance",
|
118
|
-
"created": "2021-06-28 19:20:02",
|
119
|
-
"currency_code": "USD",
|
120
|
-
"date": "2019-02-11 00:00:00",
|
121
|
-
"delivery_date": "",
|
122
|
-
"discount": 0,
|
123
|
-
"document_reference_number": "",
|
124
|
-
"document_title": "",
|
125
|
-
"document_type": "invoice",
|
126
|
-
"due_date": "2019-02-26",
|
127
|
-
"duplicate_of": 37055375,
|
128
|
-
"external_id": "",
|
129
|
-
"id": 37187909,
|
130
|
-
"img_file_name": "receipt.png",
|
131
|
-
"img_thumbnail_url": "https://scdn.veryfi.com/receipts/thumbnail.png",
|
132
|
-
"img_url": "https://scdn.veryfi.com/receipts/receipt.png",
|
133
|
-
"insurance": "",
|
134
|
-
"invoice_number": "US-001",
|
135
|
-
"is_duplicate": 1,
|
136
|
-
"line_items": [
|
137
|
-
{
|
138
|
-
"date": "",
|
139
|
-
"description": "Front and rear brake cables",
|
140
|
-
"discount": 0,
|
141
|
-
"id": 68004313,
|
142
|
-
"order": 0,
|
143
|
-
"price": 100,
|
144
|
-
"quantity": 1,
|
145
|
-
"reference": "",
|
146
|
-
"section": "",
|
147
|
-
"sku": "",
|
148
|
-
"tax": 0,
|
149
|
-
"tax_rate": 0,
|
150
|
-
"total": 100,
|
151
|
-
"type": "product",
|
152
|
-
"unit_of_measure": ""
|
153
|
-
},
|
154
|
-
{
|
155
|
-
"date": "",
|
156
|
-
"description": "New set of pedal arms",
|
157
|
-
"discount": 0,
|
158
|
-
"id": 68004315,
|
159
|
-
"order": 1,
|
160
|
-
"price": 15,
|
161
|
-
"quantity": 2,
|
162
|
-
"reference": "",
|
163
|
-
"section": "",
|
164
|
-
"sku": "",
|
165
|
-
"tax": 0,
|
166
|
-
"tax_rate": 0,
|
167
|
-
"total": 30,
|
168
|
-
"type": "product",
|
169
|
-
"unit_of_measure": ""
|
170
|
-
},
|
171
|
-
{
|
172
|
-
"date": "",
|
173
|
-
"description": "Labor 3hrs",
|
174
|
-
"discount": 0,
|
175
|
-
"id": 68004316,
|
176
|
-
"order": 2,
|
177
|
-
"price": 5,
|
178
|
-
"quantity": 3,
|
179
|
-
"reference": "",
|
180
|
-
"section": "",
|
181
|
-
"sku": "",
|
182
|
-
"tax": 0,
|
183
|
-
"tax_rate": 0,
|
184
|
-
"total": 15,
|
185
|
-
"type": "service",
|
186
|
-
"unit_of_measure": ""
|
187
|
-
}
|
188
|
-
],
|
189
|
-
"notes": "",
|
190
|
-
"ocr_text": "\n\fEast Repair Inc.\n1912 Harvest Lane\nNew York, NY 12210\n\nBILL TO\t\tSHIP TO\tRECEIPT #\tUS-001\nJohn Smith\t\tJohn Smith\tRECEIPT DATE\t11/02/2019\n2 Court Square\t3787 Pineview Drive\n\tP.O.#\t2312/2019\nNew York, NY 12210\tCambridge, MA 12210\n\tDUE DATE\t26/02/2019\nReceipt Total\t\t\t$154.06\n\nQTY DESCRIPTION\t\t\tUNIT PRICE\tAMOUNT\n1\tFront and rear brake cables\t\t100.00\t100.00\n2\tNew set of pedal arms\t\t\t15.00\t30.00\n3\tLabor 3hrs\t\t\t\t5.00\t15.00\n\n\tSubtotal\t145.00\n\tSales Tax 6.25%\t9.06\n\nTERMS & CONDITIONS\nPayment is due within 15 days\nPlease make checks payable to: East Repair\n\tJohn Smith\n\tInc.\n",
|
191
|
-
"order_date": "",
|
192
|
-
"payment_display_name": "",
|
193
|
-
"payment_terms": "15 days",
|
194
|
-
"payment_type": "",
|
195
|
-
"phone_number": "",
|
196
|
-
"purchase_order_number": "2312/2019",
|
197
|
-
"rounding": 0,
|
198
|
-
"service_end_date": "",
|
199
|
-
"service_start_date": "",
|
200
|
-
"ship_date": "",
|
201
|
-
"ship_to_address": "3787 Pineview Drive\nCambridge, MA 12210",
|
202
|
-
"ship_to_name": "John Smith",
|
203
|
-
"shipping": 0,
|
204
|
-
"store_number": "",
|
205
|
-
"subtotal": 145,
|
206
|
-
"tax": 9.06,
|
207
|
-
"tax_lines": [
|
208
|
-
{
|
209
|
-
"base": 0,
|
210
|
-
"name": "Sales",
|
211
|
-
"order": 0,
|
212
|
-
"rate": 6.25,
|
213
|
-
"total": 9.06
|
214
|
-
}
|
215
|
-
],
|
216
|
-
"tip": 0,
|
217
|
-
"total": 154.06,
|
218
|
-
"total_weight": "",
|
219
|
-
"tracking_number": "",
|
220
|
-
"updated": "2021-06-28 19:20:03",
|
221
|
-
"vat_number": "",
|
222
|
-
"vendor": {
|
223
|
-
"address": "1912 Harvest Lane\nNew York, NY 12210",
|
224
|
-
"category": "Car Repair",
|
225
|
-
"email": "",
|
226
|
-
"fax_number": "",
|
227
|
-
"name": "East Repair",
|
228
|
-
"phone_number": "",
|
229
|
-
"raw_name": "East Repair Inc.",
|
230
|
-
"vendor_logo": "https://cdn.veryfi.com/logos/tmp/560806841.png",
|
231
|
-
"vendor_reg_number": "",
|
232
|
-
"vendor_type": "Car Repair",
|
233
|
-
"web": ""
|
234
|
-
},
|
235
|
-
"vendor_account_number": "",
|
236
|
-
"vendor_bank_name": "",
|
237
|
-
"vendor_bank_number": "",
|
238
|
-
"vendor_bank_swift": "",
|
239
|
-
"vendor_iban": ""
|
240
|
-
}
|
241
|
-
```
|
242
|
-
|
243
|
-
### Other methods
|
244
|
-
|
245
|
-
```ruby
|
246
|
-
# Update document
|
247
|
-
veryfi_client.document.update(document_id, params)
|
248
|
-
|
249
|
-
# Delete document by ID
|
250
|
-
veryfi_client.document.delete(document_id)
|
251
|
-
|
252
|
-
# Get document by ID
|
253
|
-
veryfi_client.document.get(document_id)
|
254
|
-
|
255
|
-
# List all documents
|
256
|
-
veryfi_client.document.all
|
257
|
-
|
258
|
-
# Get document line items
|
259
|
-
veryfi_client.line_items.all(document_id)
|
260
|
-
|
261
|
-
# Get line item by document id and line item id
|
262
|
-
veryfi_client.line_items.get(document_id, id)
|
263
|
-
|
264
|
-
# Create/update/delete document line item
|
265
|
-
veryfi_client.line_items.create(document_id, params)
|
266
|
-
veryfi_client.line_items.update(document_id, params)
|
267
|
-
veryfi_client.line_items.delete(document_id, params)
|
268
|
-
|
269
|
-
# Tags
|
270
|
-
# List all tags
|
271
|
-
veryfi_client.tag.all
|
272
|
-
|
273
|
-
# Delete a tag by ID
|
274
|
-
veryfi_client.tag.delete(id)
|
275
|
-
|
276
|
-
# List all document tags
|
277
|
-
veryfi_client.document_tag.all(document_id)
|
278
|
-
|
279
|
-
# Add tag to document
|
280
|
-
veryfi_client.document_tag.add(document_id, name: "tag_name")
|
281
|
-
|
282
|
-
# Delete tag by document id and tag id
|
283
|
-
veryfi_client.document_tag.delete(document_id, id)
|
284
|
-
|
285
|
-
# Delete all document tags
|
286
|
-
veryfi_client.document_tag.delete_all(document_id)
|
287
|
-
```
|
45
|
+
The **veryfi-ruby** gem can be used to communicate with Veryfi API. All available functionality is described [in docs](https://skdev.info/veryfi-ruby/)
|
288
46
|
|
289
47
|
## Need help?
|
290
48
|
|
291
49
|
If you run into any issue or need help installing or using the library, please contact support@veryfi.com.
|
292
50
|
|
293
51
|
If you found a bug in this library or would like new features added, then open an issue or pull requests against this repo!
|
294
|
-
### [Learn more at our blog](https://www.veryfi.com/ruby/)
|
295
|
-
|
296
|
-
## Tutorial Video
|
297
|
-
|
298
|
-
TBD
|
299
|
-
<!-- [![Veryfi Tutorial]()]() -->
|
300
|
-
|
301
|
-
---
|
302
52
|
|
303
53
|
# For Developers
|
304
54
|
|