1.1.3 • Published 9 months ago

@gat-solutions/ecommerce v1.1.3

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

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);
1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

10 months ago

1.0.10

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago