You can use this from C# or F#.
Supported services:
- Identity (IDV)
- Pre-Fill
- TrustScore
- Sms Delivery
- InstantLink SMS
Here are some examples how to use this library. The test data here (e.g. phone "2001001686") is not real, just Prove test-environment data. For simplicity we use F#.
With Identity you send a customer information to Prove and they verify if that customer is match in their record.
/// ProveSDK.ServiceLicense: Get your license details from Prove
let license = { Environment = ProveEnvironment.Staging; ProveUser = "serviceuser"; ProvePassword = "pwd"; ClientId = "123"}
let testVerifyProve1() = ProveSDK.Identity.callProveVerify license "2001001686" "Tod" "Weedall" (Some "San Antonio") (Some "78285") (Some "TX") (Some (DateTime(1984,12,10))) (Some "565-22-8370") |> Async.RunSynchronously
let testVerifyProve2() = ProveSDK.Identity.callProveVerify license "2001001687" "Agretha" "Chene" (Some "Boston") (Some "2208") (Some "MA") (Some (DateTime(1994,12,29))) (Some "369-95-6933") |> Async.RunSynchronously
Trustscore gives a trust-score (from 0-1000) of how reliable the phone number is.
let license = { Environment = ProveEnvironment.Staging; ProveUser = "serviceuser"; ProvePassword = "pwd"; ClientId = "123"}
let testTrustScoreProve1() = ProveSDK.callProveTrustScore license "2001001686" |> Async.RunSynchronously //Some 925
Prefill needs a verified phone number and consent from customer. It fetches data of a customer based on a few key factors.
let license = { Environment = ProveEnvironment.Staging; ProveUser = "serviceuser"; ProvePassword = "pwd"; ClientId = "123"}
let testIdentityProve1() = ProveSDK.provePrefillIdentity license "2001001686" (DateTime(1984,12,10)) (Some "565-22-8370") |> Async.RunSynchronously
You can send SMS text messages via Prove, if you have that service enabled in your contract.
let smsLicense = { Environment = ProveEnvironment.Staging; ApiClientId = "123"; SubClientId = Some "456" }
ProveSDK.Sms.send smsLicense "2001001686" "Hello World."
InstantLink is a phone verification service. It sends a code to customer and expects to validate it.
let sesssionId = System.Guid.NewGuid().ToString()
let myReturnUrl = "http://localhost" //your service return
let instaLicense = { Environment = ProveEnvironment.Staging; ApiClientId = "123"; SubClientId = Some "123" }
let! genResult = ProveSDK.InstantLink.generate instaLicense myReturnUrl "123.123.123.123" "2001001686" sessionId
match genResult with
| Ok (InstantLink.InstantLink instantLink) ->
// send instantLink to user via sms (see above)
instantLink
| _ -> ""
let fingerPring = ProveSDK.InstantLink.validate instaLicense sessionId verificationFingerprint
let result =
match fingerPring with
| Ok res when res.LinkClicked -> true
| _ -> false