README
libvf
Javascript wrapper for the Verified API, for use in the browser.
Links
- libvf documentation
- The official Verified API documentation
- Find this package on NPM
- CDN for this package
Getting started
Installation
ES6 imports
import * as libvf from 'libvf'
// Or specify which modules to import
import { auth, envelopes, companies, oidc } from 'libvf'
From CDN
creates a global object libvf
<script src="https://unpkg.com/libvf"></script>
Authentication
Using your Verified credentials
Namespace is optional, but you will not be able to act on behalf of a company without it.
const jwt = await libvf.auth.login({
email: 'john.doe@example.com',
password: '***********',
namespace: '/companies/your_company_id'
})
Using an existing JWT
libvf.auth.setToken('JWT ey...')
libvf.auth.setNamespace('/companies/your_company_id')
Getting the JWT and namespace from the URL parameters
Looks for the url parameters verified_token
or access_token
for the jwt, and c
or namespace
for the namespace. If not found, an error will be thrown.
libvf.auth.useTokenFromUrl()
Creating an envelope
Requires a descriptor id as argument, in most cases this will be default
.
let envelope = await libvf.envelopes.create('default')
Fetching the envelope data
With the steps above completed, we now have an envelope object which references the envelope stored in the API. In order to get the data stored in the API into our local object, we need to reflect any recent changes.
await envelope.reflect()
This makes a request to the API, reads all of the envelope data, parses it and creates local instances of any documents, recipients, templates etc in our local object.
Uploading files
Uploading the main pdf to a document
await envelope.firstDocument().uploadPDF('Story of the padded one.pdf', fileBinary)
Uploading an attachment to a document
await envelope.firstDocument().uploadAttachment('Story of the deploy man.txt', fileBinary)
Adding recipients
await envelope.addRecipient({
givenName: "John",
familyName: "Doe",
language: "en_EN",
signingMethod: "email",
email: "john.doe@example.com",
order: 1,
role: {
action: "sign",
label: "Signatory",
name: "signer"
}
})
Publishing the envelope
await envelope.publish()