Skip to content
/ vl-go Public

Go client library around the VerifID identity verification layer API.

License

Notifications You must be signed in to change notification settings

verifid/vl-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vl-go Build Status codecov GoDoc Go Report Card

vlgo is a Go HTTP client library around the VerifID identity verification layer API. It's a complete wrapper contains all endpoints available on Verification Layer. Use of this client and API is enough to verify someone's identity.

Features

  • VerifID vl REST API:
    • User
    • Image

Install

go get github.com/verifid/vl-go/vlgo

Usage

REST API

The vlgo package provides a Client for accessing the VerifID Verification Layer API. You need to follow 4 basic steps to verify a person and his identity.

Steps of user verification

  1. Send user's personal data
  2. Upload photos of identity card of passport
  3. Upload profile photo
  4. Call verify user

Here are some example requests.

import (
	"fmt"
	"net/http"
	"path"
	"time"

	"github.com/verifid/vl-go/vlgo"
)

var httpClient = &http.Client{
    Timeout: time.Second * 15,
}

// Send User Data
user := vlgo.User{
    Country:     "United States",
    DateOfBirth: "10.04.1980",
    Name:        "Tony",
    Surname:     "Stark"}

userClient := vlgo.NewUserService(httpClient)
userResponse, resp, err := userClient.User.SendUserData(user)
fmt.Println(userResponse)
fmt.Println(resp)
fmt.Println(err)

// Upload Identity Image
imageClient := vlgo.NewImageService(httpClient)

identityImagePath := path.Dir("/resources/2.png")
base64Str := imageClient.Image.ImageFileToBase64(identityImagePath)
imageUpload := vlgo.ImageUpload{Image: base64Str, UserID: "userId"}

uploadResponse, resp, err := imageClient.Image.UploadIdentity(imageUpload)
fmt.Println(uploadResponse)
fmt.Println(resp)
fmt.Println(err)

profileImagePath := path.Dir("/resources/2.png")
base64Str = imageClient.Image.ImageFileToBase64(profileImagePath)
imageUpload = vlgo.ImageUpload{Image: base64Str, UserID: "userId"}

// Upload Profile Image
uploadResponse, resp, err = imageClient.Image.UploadProfile(imageUpload)
fmt.Println(uploadResponse)
fmt.Println(resp)
fmt.Println(err)

// Verify User
verifyUser := vlgo.VerifyUser{
UserID:   "userId",
Language: "en_core_web_sm"}
userVerificationResponse, httResponse, err := userClient.User.VerifyUser(verifyUser)
fmt.Println(userVerificationResponse)
fmt.Println(httResponse)
fmt.Println(err)

Releases

No releases published

Packages

No packages published

Languages