@gat-solutions/ecommerce
v1.1.3
Published
## 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
Downloads
69
Keywords
Readme
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);