-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
82 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,82 @@ | ||
# veryfi-rust | ||
Rust module for communicating with the Veryfi OCR API | ||
![Veryfi Logo](https://cdn.veryfi.com/logos/veryfi-logo-wide-github.png) | ||
|
||
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) | ||
[![code coverage](.github/reports/badges/plastic.svg)](.github/reports/badges/plastic.svg) | ||
|
||
**Veryfi** is a Rust module for communicating with the [Veryfi OCR API](https://veryfi.com/api/) | ||
|
||
## Installation | ||
Add to your cargo.tml | ||
```toml | ||
veryfi = "1.0.0" | ||
``` | ||
|
||
## Getting Started | ||
|
||
### Obtaining Client ID and user keys | ||
If you don't have an account with Veryfi, please go ahead and register here: [https://hub.veryfi.com/signup/api/](https://hub.veryfi.com/signup/api/) | ||
|
||
### Rust API Client Library | ||
The **Veryfi** library can be used to communicate with Veryfi API. All available functionality is described here DOC | ||
|
||
Below is the sample script using **Veryfi** to OCR and extract data from a document: | ||
|
||
```rust | ||
use veryfi::client::create_client; | ||
use serde_json::{from_str, Map, Value}; | ||
|
||
fn main() { | ||
let client_id = "your_client_id".to_string(); | ||
let client_secret = "your_client_secret".to_string(); | ||
let username = "your_username".to_string(); | ||
let api_key = "your_api_key".to_string(); | ||
|
||
let client = create_client(client_id, client_secret, username, api_key); | ||
let categories = vec!["Advertising & Marketing", "Automotive"]; | ||
let file = "path_to_your_file"; | ||
let delete_after_processing = true; | ||
let additional_parameters = Map::new(); | ||
|
||
let response = client.process_document(file_path, categories, delete_after_processing, additional_parameters); | ||
print!(response); // to print | ||
let json_response: Value = from_str(&*response).unwrap(); | ||
// ... | ||
} | ||
``` | ||
|
||
### Update a document | ||
|
||
```rust | ||
use veryfi::client::create_client; | ||
use serde_json::{from_str, Map, Value}; | ||
|
||
fn main() { | ||
let client_id = "your_client_id".to_string(); | ||
let client_secret = "your_client_secret".to_string(); | ||
let username = "your_username".to_string(); | ||
let api_key = "your_api_key".to_string(); | ||
|
||
let client = create_client(client_id, client_secret, username, api_key); | ||
let document_id = "your_document_id".to_string(); | ||
let mut parameters = Map::new(); | ||
let notes = "your_notes"; | ||
parameters.insert("notes".to_string(), Value::from(notes.clone())); | ||
|
||
let response = client.update_document(document_id, parameters); | ||
print!(response); // to print | ||
let json_response: Value = from_str(&*response).unwrap(); | ||
// ... | ||
} | ||
``` | ||
|
||
## Need help? | ||
If you run into any issue or need help installing or using the library, please contact [email protected]. | ||
|
||
If you found a bug in this library or would like new features added, then open an issue or pull requests against this repo! | ||
|
||
To learn more about Veryfi visit https://www.veryfi.com/ | ||
|
||
## Tutorial | ||
|
||
|
||
Below is an introduction to the Rust SDK. |