Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thorium/provesdk
Unofficial Prove .NET Client
https://github.com/thorium/provesdk
identity prove sms verification
Last synced: about 1 month ago
JSON representation
Unofficial Prove .NET Client
- Host: GitHub
- URL: https://github.com/thorium/provesdk
- Owner: Thorium
- License: apache-2.0
- Created: 2024-07-18T10:26:29.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-02T11:51:37.000Z (5 months ago)
- Last Synced: 2024-10-19T21:21:55.537Z (2 months ago)
- Topics: identity, prove, sms, verification
- Language: F#
- Homepage:
- Size: 30.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Unofficial .NET client for Prove
You can use this from C# or F#.
https://www.prove.com/
Supported services:
- Identity (IDV)
- Pre-Fill
- TrustScore
- Sms Delivery
- InstantLink SMS## Usage examples ##
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#.### Identity (IDV) ###
With Identity you send a customer information to Prove and they verify if that customer is match in their record.
```fsharp
/// 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 ###
Trustscore gives a trust-score (from 0-1000) of how reliable the phone number is.
```fsharp
let license = { Environment = ProveEnvironment.Staging; ProveUser = "serviceuser"; ProvePassword = "pwd"; ClientId = "123"}
let testTrustScoreProve1() = ProveSDK.callProveTrustScore license "2001001686" |> Async.RunSynchronously //Some 925
```### Pre-Fill ###
Prefill needs a verified phone number and consent from customer. It fetches data of a customer based on a few key factors.
```fsharp
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
```### SMS Delivery ###
You can send SMS text messages via Prove, if you have that service enabled in your contract.
```fsharp
let smsLicense = { Environment = ProveEnvironment.Staging; ApiClientId = "123"; SubClientId = Some "456" }
ProveSDK.Sms.send smsLicense "2001001686" "Hello World."
```### InstantLink ###
InstantLink is a phone verification service. It sends a code to customer and expects to validate it.
```fsharp
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```
Nuget: https://www.nuget.org/packages/ProveSDK/