Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@gat-solutions/ecommerce

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gat-solutions/ecommerce

## Introduction Đây là một thư viện chứa các hàm để kết nối với service ecommerce của công ty GreenAgri

  • 1.1.3
  • latest
  • npm
  • Socket score

Version published
Maintainers
2
Created
Source

E-commerce Integration

Introduction

Đây là một thư viện chứa các hàm để kết nối với service ecommerce của công ty GreenAgri

Installation

$ npm install @gat-solutions/ecommerce

Config environment

ECOMMERCE_SERVICE_URL=
ECOMMERCE_SERVICE_APP_CODE=
ECOMMERCE_SERVICE_APP_SECRET=

EcommerceService

Muốn kết nối được với service ecommerce của GreenAgri bạn cần phải có app-code và app-secret. Sau đó dùng hàm dưới đây để lấy access token.

...
    const { token } = await EcommerceService.generateToken();
...

Sau khi có được access token bạn cần khởi tạo EcommerceService:

...
    const ecommerceService = new EcommerceService(token);
...

GetPlatformAuthorizeUrl

Lấy đường dẫn đăng nhập của các sàn TMDT

...
    const payload = {
        platformType: PlatformType.TIKI
    };
    const { url } = await ecommerceService.getPlatformAuthorizeUrl(payload)
...

Đường dẫn trả về sẽ đưa bạn đến trang đăng nhập của sàn TMDT.

ConnectPlatform

Liên kết với một sàn TMDT

...
    const payload = {
        merchantId: "uuid"
        code: "something"
        platformType: PlatformType.TIKI
    };
    const data = await ecommerceService.connectPlatform(payload)
...
  • merchantId: Mã cửa hàng liên kết với sàn TMDT
  • code: đoạn mã trả về sau khi login thành công trên sàn

ConnectTikiInhouse

Liến kết với sàn Tiki thông qua app-inhouse (Only dev mode)

...
    const payload = {
        merchantId: "uuid"
    };
    const data = await ecommerceService.connectTikiInhouse(payload)
...
  • merchantId: Mã cửa hàng liên kết với sàn Tiki

GetAllLinkedShop

Lấy danh sách những cửa hàng đã liên kết

...
    const payload = {
        merchantId: "uuid",
        limit: 20,
        page: 1
    };
    const data = await ecommerceService.getAllLinkedShop(payload)
...

GetAllPlatformProducts

Lấy danh sách sản phẩm trên sàn TMDT

...
    const payload = {
        merchantId: "uuid",
        platformType: PlatformType.TIKI
        limit: 20,
        page: 1,
        name: "UCook"
    };
    const data = await ecommerceService.getAllPlatformProducts(payload)
...

LinkProduct

Liên kết sản phẩm trên cửa hàng với sản phẩm trên sàn TMDT

...
    const payload = {
        merchantId: "uuid",
        data: [
            {
                merchantProductId: "uuid",
                platformProductId: "uuid",
                platformType: PlatformType.TIKI
            }
        ]
    };
    const data = await ecommerceService.linkProduct(payload)
...
  • merchantProductId: Mã sản phẩm trên cửa hàng
  • platformProductId: Mã sản phẩm trên sàn

GetAllLinkedProducts

Lấy danh sách các sản phẩm đã liên kết

...
    const payload = {
        merchantId: "uuid",
        platformType: PlatformType.TIKI
        limit: 20,
        page: 1,
    };
    const data = await ecommerceService.getAllLinkedProducts(payload)
...

GraphQL

Schema

import { schema } from "@gat-solutions/ecommerce";

export default schema;

Resolver

import {
  GetAllLinkedProductArgs,
  GetAllPlatformProductArgs,
  GetAllLinkedPlatformArgs,
  LinkProductArgs,
  ConnectPlatformArgs,
  Mutation,
  Query,
  parseToResolver,
} from "@gat-solutions/ecommerce";

class EcommerceQuery implements Query {
  async getPlatformAuthorizeUrl(root: any, args: any, context: Context) {
    ...
  }
  async getAllLinkedPlatform(root: any, args: GetAllLinkedPlatformArgs, context: Context) {
    ...
  }
  async getAllPlatformProduct(root: any, args: GetAllPlatformProductArgs, context: Context) {
    ...
  }
  async getAllLinkedProduct(root: any, args: GetAllLinkedProductArgs, context: any) {
    ...
  }
}

class EcommerceMutation implements Mutation {
  async connectPlatform(root: any, args: ConnectPlatformArgs, context: Context) {
    ...
  }
  async connectTikiInhouse(root: any, args: any, context: Context) {
    ...
  }
  async linkProduct(root: any, args: LinkProductArgs, context: Context) {
    ...
  }
}

const ecommerceQuery = new EcommerceQuery();
const ecommerceMutation = new EcommerceMutation();

export default parseToResolver(ecommerceQuery, ecommerceMutation);

FAQs

Package last updated on 17 Aug 2023

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc