@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
- 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>