Javascript / Typescript

Effortless SDK Integration: Mastering Wallets, NFTs and Payments with Javascript or Typescript

SDKVersionPackageFunction referenceObject reference
Javascript/Typescript2.0.73Download linkDocumentation LinkDocumentation Link

🚧

This library should only be used server-side! In order to use the API, a Client-ID and Client-secret will be required. Which can be obtained via our Developer Portal.

The following paragraphs provide examples of SDK initialization and usage. These code snippets assume you've already obtained the library from NPM. Towards the end, you'll discover a practical code example illustrating how to create and retrieve wallets and NFTs using this Javascript SDK.

Initialising the API

/*Import SDK*/
import { Venly } from '@venly/venly-core-sdk'

/*INITIALIZE SDK*/
const clientId: string = 'YOUR_CLIENT_ID_HERE';
const clientSecret: string = 'YOUR_CLIENT_SECRET_HERE';
const sdkEnvironment: VyEnvironment = VyEnvironment.Sandbox; 

Venly.initialize(clientId, clientSecret, sdkEnvironment);

After the initialisation you can now start using functions from the exposed API products, Wallet, NFT, and Pay.

Usage Examples

//Wallet API - GetWallets
//-----------------------
Venly.Wallet.getWallets()
    .then(response => {
        if (response.success) {
            console.log(response.data);
        }
        else {
            console.error(response.errorsToStr());
        }
    });

//Wallet API - Create User
//------------------------
let createUserReq = new VyCreateUserDto({
    reference: 'api-created-user',
    signingMethod: new VyCreatePinSigningMethodRequest({
        value: '123456'
    })
});

Venly.Wallet.createUser(createUserReq)
    .then(response => {
        if (response.success) {
            let user: VyUserDto = response.data;
            console.log(`New user created with ID=${user.id!}`);
        }
        else {
            console.error(response.errorsToStr());
        }
    });

//Wallet API - Create Wallet
//--------------------------
const USER_ID = 'VALID_USER_ID_HERE';
const USER_SIGNINGMETHOD_ID = 'VALID_SIGNING-METHOD_ID_OF_USER';
const USER_SIGNINGMETHOD_VALUE = 'VALID_SIGNING-METHOD_VALUE_OF_USER';

//Create Wallet Request Parameters
let createWalletReq = new VyCreateApiWalletRequest({
    chain: VyChain.Matic,
    description: 'my first wallet with the Venly API',
    identifier: 'api-created-wallet',
    userId: USER_ID
});

let userAuth = new VyUserAuth(USER_SIGNINGMETHOD_ID, USER_SIGNINGMETHOD_VALUE);
Venly.Wallet.createWallet(createWalletReq, userAuth)
    .then(
        response => {
            if (response.success) {
                let wallet: VyWalletDto = response.data;
                console.log(`New wallet created with Addr=${wallet.address!} for User with ID=${wallet.userId!}`)
            }
            else {
                console.error(response.errorsToStr());
            }
        }
    );

//NFT API - Get Contracts
//-----------------------

Venly.Nft.getContracts()
.then(response =>{
    if (response.success) {
        let contractSummaries: VyTokenContractSummaryDto[] = response.data;
        console.log(`Found ${contractSummaries.length} contracts!`)
        contractSummaries.forEach(c => console.log(c.name!))
    }
    else {
        console.error(response.errorsToStr());
    }
})

// Venly.Pay.checkoutSession(...)
// Venly.Notifications.createWebhook(...)
// ...