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
data/docs/index.markdown
ADDED
@@ -0,0 +1,273 @@
|
|
1
|
+
---
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
4
|
+
|
5
|
+
layout: home
|
6
|
+
---
|
7
|
+
|
8
|
+
- [Minimal example](#minimal-example)
|
9
|
+
- [Document API](#document-api)
|
10
|
+
- [Line Items API](#line-items-api)
|
11
|
+
- [Tags API](#tags-api)
|
12
|
+
|
13
|
+
### Minimal example
|
14
|
+
|
15
|
+
Below is a sample script using <a href="https://www.veryfi.com" target="_blank">**Veryfi**</a> for OCR and extracting data from a document:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
require 'veryfi'
|
19
|
+
|
20
|
+
veryfi_client = Veryfi::Client.new(
|
21
|
+
client_id: 'your_client_id',
|
22
|
+
client_secret: 'your_client_secret',
|
23
|
+
username: 'your_username',
|
24
|
+
api_key: 'your_password'
|
25
|
+
)
|
26
|
+
```
|
27
|
+
|
28
|
+
This submits a document for processing (3-5 seconds for a response)
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
params = {
|
32
|
+
file_path: './test/receipt.jpg',
|
33
|
+
auto_delete: 1,
|
34
|
+
boost_mode: 1,
|
35
|
+
async: 1,
|
36
|
+
external_id: '123456789',
|
37
|
+
max_pages_to_process: 10,
|
38
|
+
tags: ['tag1'],
|
39
|
+
categories: [
|
40
|
+
'Advertising & Marketing',
|
41
|
+
'Automotive'
|
42
|
+
]
|
43
|
+
}
|
44
|
+
|
45
|
+
response = veryfi_client.document.process(params)
|
46
|
+
|
47
|
+
puts response
|
48
|
+
```
|
49
|
+
|
50
|
+
...or with a URL
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
params = {
|
54
|
+
file_url: "https://raw.githubusercontent.com/veryfi/veryfi-python/master/tests/assets/receipt_public.jpg",
|
55
|
+
auto_delete: 1,
|
56
|
+
boost_mode: 1,
|
57
|
+
async: 1,
|
58
|
+
external_id: "123456789",
|
59
|
+
max_pages_to_process: 10,
|
60
|
+
tags: ["tag1"],
|
61
|
+
categories: [
|
62
|
+
"Advertising & Marketing",
|
63
|
+
"Automotive"
|
64
|
+
]
|
65
|
+
}
|
66
|
+
|
67
|
+
response = veryfi_client.document.process_url(params)
|
68
|
+
|
69
|
+
puts response
|
70
|
+
```
|
71
|
+
|
72
|
+
This will produce the following response:
|
73
|
+
|
74
|
+
```json
|
75
|
+
{
|
76
|
+
"abn_number": "",
|
77
|
+
"account_number": "",
|
78
|
+
"bill_to_address": "2 Court Square\nNew York, NY 12210",
|
79
|
+
"bill_to_name": "John Smith",
|
80
|
+
"bill_to_vat_number": "",
|
81
|
+
"card_number": "",
|
82
|
+
"cashback": 0,
|
83
|
+
"category": "Repairs & Maintenance",
|
84
|
+
"created": "2021-06-28 19:20:02",
|
85
|
+
"currency_code": "USD",
|
86
|
+
"date": "2019-02-11 00:00:00",
|
87
|
+
"delivery_date": "",
|
88
|
+
"discount": 0,
|
89
|
+
"document_reference_number": "",
|
90
|
+
"document_title": "",
|
91
|
+
"document_type": "invoice",
|
92
|
+
"due_date": "2019-02-26",
|
93
|
+
"duplicate_of": 37055375,
|
94
|
+
"external_id": "",
|
95
|
+
"id": 37187909,
|
96
|
+
"img_file_name": "receipt.png",
|
97
|
+
"img_thumbnail_url": "https://scdn.veryfi.com/receipts/thumbnail.png",
|
98
|
+
"img_url": "https://scdn.veryfi.com/receipts/receipt.png",
|
99
|
+
"insurance": "",
|
100
|
+
"invoice_number": "US-001",
|
101
|
+
"is_duplicate": 1,
|
102
|
+
"line_items": [
|
103
|
+
{
|
104
|
+
"date": "",
|
105
|
+
"description": "Front and rear brake cables",
|
106
|
+
"discount": 0,
|
107
|
+
"id": 68004313,
|
108
|
+
"order": 0,
|
109
|
+
"price": 100,
|
110
|
+
"quantity": 1,
|
111
|
+
"reference": "",
|
112
|
+
"section": "",
|
113
|
+
"sku": "",
|
114
|
+
"tax": 0,
|
115
|
+
"tax_rate": 0,
|
116
|
+
"total": 100,
|
117
|
+
"type": "product",
|
118
|
+
"unit_of_measure": ""
|
119
|
+
},
|
120
|
+
{
|
121
|
+
"date": "",
|
122
|
+
"description": "New set of pedal arms",
|
123
|
+
"discount": 0,
|
124
|
+
"id": 68004315,
|
125
|
+
"order": 1,
|
126
|
+
"price": 15,
|
127
|
+
"quantity": 2,
|
128
|
+
"reference": "",
|
129
|
+
"section": "",
|
130
|
+
"sku": "",
|
131
|
+
"tax": 0,
|
132
|
+
"tax_rate": 0,
|
133
|
+
"total": 30,
|
134
|
+
"type": "product",
|
135
|
+
"unit_of_measure": ""
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"date": "",
|
139
|
+
"description": "Labor 3hrs",
|
140
|
+
"discount": 0,
|
141
|
+
"id": 68004316,
|
142
|
+
"order": 2,
|
143
|
+
"price": 5,
|
144
|
+
"quantity": 3,
|
145
|
+
"reference": "",
|
146
|
+
"section": "",
|
147
|
+
"sku": "",
|
148
|
+
"tax": 0,
|
149
|
+
"tax_rate": 0,
|
150
|
+
"total": 15,
|
151
|
+
"type": "service",
|
152
|
+
"unit_of_measure": ""
|
153
|
+
}
|
154
|
+
],
|
155
|
+
"notes": "",
|
156
|
+
"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",
|
157
|
+
"order_date": "",
|
158
|
+
"payment_display_name": "",
|
159
|
+
"payment_terms": "15 days",
|
160
|
+
"payment_type": "",
|
161
|
+
"phone_number": "",
|
162
|
+
"purchase_order_number": "2312/2019",
|
163
|
+
"rounding": 0,
|
164
|
+
"service_end_date": "",
|
165
|
+
"service_start_date": "",
|
166
|
+
"ship_date": "",
|
167
|
+
"ship_to_address": "3787 Pineview Drive\nCambridge, MA 12210",
|
168
|
+
"ship_to_name": "John Smith",
|
169
|
+
"shipping": 0,
|
170
|
+
"store_number": "",
|
171
|
+
"subtotal": 145,
|
172
|
+
"tax": 9.06,
|
173
|
+
"tax_lines": [
|
174
|
+
{
|
175
|
+
"base": 0,
|
176
|
+
"name": "Sales",
|
177
|
+
"order": 0,
|
178
|
+
"rate": 6.25,
|
179
|
+
"total": 9.06
|
180
|
+
}
|
181
|
+
],
|
182
|
+
"tip": 0,
|
183
|
+
"total": 154.06,
|
184
|
+
"total_weight": "",
|
185
|
+
"tracking_number": "",
|
186
|
+
"updated": "2021-06-28 19:20:03",
|
187
|
+
"vat_number": "",
|
188
|
+
"vendor": {
|
189
|
+
"address": "1912 Harvest Lane\nNew York, NY 12210",
|
190
|
+
"category": "Car Repair",
|
191
|
+
"email": "",
|
192
|
+
"fax_number": "",
|
193
|
+
"name": "East Repair",
|
194
|
+
"phone_number": "",
|
195
|
+
"raw_name": "East Repair Inc.",
|
196
|
+
"vendor_logo": "https://cdn.veryfi.com/logos/tmp/560806841.png",
|
197
|
+
"vendor_reg_number": "",
|
198
|
+
"vendor_type": "Car Repair",
|
199
|
+
"web": ""
|
200
|
+
},
|
201
|
+
"vendor_account_number": "",
|
202
|
+
"vendor_bank_name": "",
|
203
|
+
"vendor_bank_number": "",
|
204
|
+
"vendor_bank_swift": "",
|
205
|
+
"vendor_iban": ""
|
206
|
+
}
|
207
|
+
```
|
208
|
+
|
209
|
+
---
|
210
|
+
|
211
|
+
### Document API
|
212
|
+
|
213
|
+
See [API schema](https://app.swaggerhub.com/apis/Veryfi/verify-api/) for request params and response details.
|
214
|
+
|
215
|
+
```ruby
|
216
|
+
# Update document
|
217
|
+
veryfi_client.document.update(document_id, params)
|
218
|
+
|
219
|
+
# Delete document by ID
|
220
|
+
veryfi_client.document.delete(document_id)
|
221
|
+
|
222
|
+
# Get document by ID
|
223
|
+
veryfi_client.document.get(document_id)
|
224
|
+
|
225
|
+
# List all documents
|
226
|
+
veryfi_client.document.all
|
227
|
+
```
|
228
|
+
|
229
|
+
---
|
230
|
+
|
231
|
+
### Line Items API
|
232
|
+
|
233
|
+
See [API schema](https://app.swaggerhub.com/apis/Veryfi/verify-api/) for request params and response details.
|
234
|
+
|
235
|
+
```ruby
|
236
|
+
# Get document line items
|
237
|
+
veryfi_client.line_items.all(document_id)
|
238
|
+
|
239
|
+
# Get line item by document id and line item id
|
240
|
+
veryfi_client.line_items.get(document_id, id)
|
241
|
+
|
242
|
+
# Create/update/delete document line item
|
243
|
+
veryfi_client.line_items.create(document_id, params)
|
244
|
+
veryfi_client.line_items.update(document_id, params)
|
245
|
+
veryfi_client.line_items.delete(document_id, params)
|
246
|
+
```
|
247
|
+
|
248
|
+
---
|
249
|
+
|
250
|
+
### Tags API
|
251
|
+
|
252
|
+
See [API schema](https://app.swaggerhub.com/apis/Veryfi/verify-api/) for request params and response details.
|
253
|
+
|
254
|
+
```ruby
|
255
|
+
# Tags
|
256
|
+
# List all tags
|
257
|
+
veryfi_client.tag.all
|
258
|
+
|
259
|
+
# Delete a tag by ID
|
260
|
+
veryfi_client.tag.delete(id)
|
261
|
+
|
262
|
+
# List all document tags
|
263
|
+
veryfi_client.document_tag.all(document_id)
|
264
|
+
|
265
|
+
# Add tag to document
|
266
|
+
veryfi_client.document_tag.add(document_id, name: "tag_name")
|
267
|
+
|
268
|
+
# Delete tag by document id and tag id
|
269
|
+
veryfi_client.document_tag.delete(document_id, id)
|
270
|
+
|
271
|
+
# Delete all document tags
|
272
|
+
veryfi_client.document_tag.delete_all(document_id)
|
273
|
+
```
|
data/lib/veryfi/request.rb
CHANGED
@@ -88,11 +88,11 @@ module Veryfi
|
|
88
88
|
)
|
89
89
|
end
|
90
90
|
|
91
|
-
def default_headers
|
91
|
+
def default_headers
|
92
92
|
{
|
93
93
|
"User-Agent": "Ruby Veryfi-Ruby/0.1.0",
|
94
94
|
"Accept": "application/json",
|
95
|
-
"Content-Type":
|
95
|
+
"Content-Type": "application/json",
|
96
96
|
"Client-Id": client_id,
|
97
97
|
"Authorization": "apikey #{username}:#{api_key}"
|
98
98
|
}
|
data/lib/veryfi/signature.rb
CHANGED
data/lib/veryfi/version.rb
CHANGED
data/veryfi.gemspec
CHANGED
@@ -27,14 +27,16 @@ Gem::Specification.new do |spec|
|
|
27
27
|
|
28
28
|
spec.add_dependency "faraday", "~> 1.7"
|
29
29
|
|
30
|
-
spec.add_development_dependency "bundler", "~>
|
31
|
-
spec.add_development_dependency "bundler-audit", "~> 0.
|
30
|
+
spec.add_development_dependency "bundler", "~> 2.2"
|
31
|
+
spec.add_development_dependency "bundler-audit", "~> 0.9"
|
32
32
|
spec.add_development_dependency "pry", "~> 0.14"
|
33
33
|
spec.add_development_dependency "rake", "~> 13.0"
|
34
34
|
spec.add_development_dependency "rspec", "~> 3.9"
|
35
35
|
spec.add_development_dependency "rspec-its", "~> 1.3"
|
36
36
|
spec.add_development_dependency "rubocop", "~> 0.82"
|
37
37
|
spec.add_development_dependency "rubocop-rspec", "~> 1.38"
|
38
|
+
spec.add_development_dependency "simplecov", "~> 0.21"
|
39
|
+
spec.add_development_dependency "simplecov-badge", "~> 2.0"
|
38
40
|
spec.add_development_dependency "vcr", "~> 6.0"
|
39
41
|
spec.add_development_dependency "webmock", "~> 3.14"
|
40
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: veryfi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Veryfi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: base64
|
@@ -58,28 +58,28 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.2'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler-audit
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0.
|
75
|
+
version: '0.9'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0.
|
82
|
+
version: '0.9'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,34 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '1.38'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: simplecov
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.21'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.21'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: simplecov-badge
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '2.0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '2.0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: vcr
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -218,6 +246,15 @@ files:
|
|
218
246
|
- bin/rspec
|
219
247
|
- bin/rubocop
|
220
248
|
- bin/setup
|
249
|
+
- coverage/coverage-badge.png
|
250
|
+
- docs/.gitignore
|
251
|
+
- docs/404.html
|
252
|
+
- docs/Gemfile
|
253
|
+
- docs/Gemfile.lock
|
254
|
+
- docs/_config.yml
|
255
|
+
- docs/_includes/footer.html
|
256
|
+
- docs/_includes/header.html
|
257
|
+
- docs/index.markdown
|
221
258
|
- lib/.keep
|
222
259
|
- lib/veryfi.rb
|
223
260
|
- lib/veryfi/api/document.rb
|