Skip to main content

@Achievo/api

Description​

API Client​

This package serves as the client for the Achievo API and is implemented in vanilla JavaScript. It provides a set of functions and methods for interacting with the Achievo API.

Requirements​

  1. NodeJs >=18

Installation​

To install the API client package, you can use npm: This package is the client for the Achievo API written in vanilla JavaScript.

npm install @achievo/api

Creating an API Client​

import { createAchievoClient } from "@achievo/api";

// create an API client
const achievo = createAchievoClient(apiKey, baseUrl);

const templates = await achievo.getContractTemplates();

Methods​

Authentication​

NFT Gating Login​

Logs in using NFT ownership validation.

nftGatingLogin(
address: `0x{string}`,
tenantId: string,
signature: string,
message: string,
smartContractAddress: `0x{string}`,
tokenId: string
): Promise<string>

Login with Signature​

Logs in using Ethereum account signature validation.

loginWithSignature(
address: `0x{string}`,
tenantId: string,
message: string,
signature: string
): Promise<string>

Contract Templates​

Get contract templates.

getContractTemplates(): Promise<{contractTemplates: any[]}>

Get contract template by template ID.

getContractTemplate(templateId: string): Promise<any>

Deployed Contracts​

Submit deployed contract to Achievo DB.

submitDeployedContractToDB(deployedContractPayload: any): Promise<void>

Get all deployed contracts

getDeployedContracts(): Promise<{deployedContracts: any[]}>

Get deployed contract by contract address.

getDeployedContract(contractAddress: string): Promise<any>