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>