GitHub - verifid/vl-go: Go client library around the VerifID identity verification layer API. (original) (raw)
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
vlREST 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
- Send user's personal data
- Upload photos of identity card of passport
- Upload profile photo
- 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)