Versa Rust
This crate is the official Versa SDK.
Versa uses semantic versioning to ensure the stability of its data model. The current schema version 1.5.1
You can use this crate broadly in two ways: either just referencing the type bindings, or to implement a custom client in Rust.
You will need to enable either the client_sender or client_receiver feature to leverage the corresponding client implementation.
Type Bindings
There are broadly two kinds of types represented in this repository: Protocol Bindings and Purchase Details
This repository references the root JSON schema files, at https://github.com/versa-protocol/schema
Protocol Bindings
Protocol Bindings represent the types of requests, responses, and error codes to be expected when developing client implementations according to the specifications of the Versa Protocol. These types are defined in the protocol_bindings directory.
Purchase Details
Purchase Details represent the receipt and invoice data schemas to be handled when developing client implementations according to the specifications of the Versa Protocol. These types are defined in the purchase_details directory.
Build Process
This crate uses the typify crate to construct the receipt schema bindings from our json schema
Features
- mysql: Enables mysql conversion for certain protocol bindings
TODO
- Rust stable crate
- Complete protocol bindings
- Expanded diesel database support