Socket
Book a DemoInstallSign in
Socket

@gofynd/fdk-client-javascript

Package Overview
Dependencies
Maintainers
15
Versions
121
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gofynd/fdk-client-javascript

![GitHub package.json version](https://img.shields.io/github/package-json/v/gofynd/fdk-client-javascript?style=plastic) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/gofynd/fdk-client-javascript/Node.js%20CI?style=plastic) ![GitH

3.4.3
latest
npmnpm
Version published
Weekly downloads
0
Maintainers
15
Weekly downloads
 
Created
Source

FDK Javascript

GitHub package.json version GitHub Workflow Status GitHub Coverage Status

FDK client for Javascript

Getting Started

Get started with the Javascript Development SDK for Fynd Platform

Usage

Node

npm install @gofynd/fdk-client-javascript

Using this method, you can require fdk-client-javascript like so:

const {
  ApplicationClient,
} = require("fdk-client-javascript");

Browser

you can load fdk-client-javascript's application browser bundle from CDN; ApplicationClient and ApplicationModels will be attached to browser's window object.

<script src="https://cdn.jsdelivr.net/gh/gofynd/fdk-client-javascript@<version>/dist/application.js"></script>

Install Specific version

<script src="https://cdn.jsdelivr.net/gh/gofynd/fdk-client-javascript@1.1.0/dist/application.js"></script>
const { ApplicationClient } = window;

Logging

For logging support user can pass logLevel in ApplicationClient or PlatformClient while declaration.

Available logging levels: TRACE, DEBUG, INFO, WARN, ERROR.

Default log level: ERROR

Sample Usage - ApplicationClient

const applicationClient = new ApplicationClient({
  applicationID: "YOUR_APPLICATION_ID",
  applicationToken: "YOUR_APPLICATION_TOKEN",
  locationDetails: "LOCATION_DETAILS_OBJECT"
});

applicationClient.setLocationDetails({ 
  pincode:"385001",
  country: "India",
  city:  "Ahmedabad",
  location: {longitude: "72.585022", latitude: "23.033863"}
  });


async function getProductDetails() {
  try {
    const product = await applicationClient.catalog.getProductDetailBySlug({
        slug: "product-slug"
      });
    console.log(product.name);
  } catch (err) {
    console.log(err);
  }
}

getProductDetails();

Sample Usage - PlatformClient

const { PlatformClient } = require("fdk-client-javascript");

async function getData() {
  try {
    const client = new PlatformClient({
      companyId: "COMPANY_ID",
      apiKey: "API_KEY", 
      apiSecret: "API_SECRET", 
      domain: "DOMAIN",
      useAutoRenewTimer: true // Setting `true` will use timer based logic to refresh the access token. With `false` will issue refresh token just before any api call when it is expired. 
    });

    const token = await platformClient.getAccesstokenObj({
      grant_type: 'client_credentials'    
    })
    
    platformClient.setToken(token);

    // API's without application_id
    const tickets = await client.lead.getTickets();
    console.log("tickets", tickets);

    // API's with application_id
    const customers = await client
      .application("APPLICATION_ID")
      .user.getCustomers();
    console.log("customers", customers);
  } catch (err) {
    console.log(err);
  }
}

getData();

Sample Usage - Request function.

The request function allows you to make custom API requests with ease. It is available on both platform and application client.


let auditLog = await client.request({
    url: `/service/platform/audit-trail/v1.0/company/1/logs`,
    method: 'GET',
});

The request function accepts an object with the following possible keys:

  • method (string): The HTTP method to use (e.g., 'GET', 'POST', 'PUT', 'DELETE').
  • url (string): The URL endpoint for the request.
  • query (object): Query parameters to include in the request URL.
  • body (object): The request payload to send.
  • headers (object): Additional headers to include in the request.

Following code snippet will read and write cookies on behalf of you
Cookies will get appended in subsequent requests.

const { FdkAxios } = require('@gofynd/fdk-client-javascript');
const { wrapper } =  require("axios-cookiejar-support");
const { CookieJar } = require("tough-cookie");


wrapper(FdkAxios);
const cookieJar = new CookieJar();
FdkAxios.defaults.jar = cookieJar;


module.exports = cookieJar

get the stored cookie from the CookieJar instance

const cookieJar = require('path/to/cookieJar') // replace with actual path

let cookies = await cookieJar.getCookies("https://api.fynd.com");

Headers

Adding Request Headers

To include request headers when calling a method, add requestHeaders object in the first argument.

const requestHeaders = {
  "x-api-version": "1.0"
}

const options = {
  responseHeaders: true
}

const [response, headers] = await platformClient.application("<APPLICATION_ID>").theme.getAllPages({theme_id: "<THEME_ID>", requestHeaders: requestHeaders}, options);

get Response Headers

To retrieve the response headers, simply set the responseHeaders option to true when calling the desired method. Below is an example demonstrating how to achieve this:

const options = {
  responseHeaders: true
}
const [response, headers] = await platformClient.application("<APPLICATION_ID>").theme.getAllPages({theme_id: "<THEME_ID>"}, options);

console.log("[API RESPONSE]: ", response);
console.log("[RESPONSE HEADERS]: ", headers);

Log Curl

To print the curl command in the console for all network calls made using applicationClient or platformClient, set the logger level to debug.

const {
  ApplicationClient,
} = require("fdk-client-javascript");

let applicationClient = new ApplicationClient({
  applicationID: "YOUR_APPLICATION_ID",
  applicationToken: "YOUR_APPLICATION_TOKEN",
  logLevel: "debug"
});

let response = await applicationClient.theme.getAppliedTheme(); 
console.log("Active Theme: ", response.information.name);

The above code will log the curl command in the console

curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer <authorization-token>' --header 'x-fp-sdk-version: 3.4.3' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8'
Active Theme: Emerge

TypeScript

fdk-client-javascript includes Typescript definitions.

import { ApplicationClient } from "fdk-client-javascript";

FAQs

Package last updated on 30 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.