Nhảy đến nội dung

Bắt đầu

NPM VersionBundle Size

OneEntry Platform SDK là một SDK cung cấp cách dễ dàng để tương tác với API của OneEntry Platform.


🚀 Quick Start

Get up and running with OneEntry in 3 simple steps:

1️⃣ Install the package

npm install oneentry

2️⃣ Initialize the SDK

import { defineOneEntry } from 'oneentry';

const api = defineOneEntry('your-project-url', {
token: 'your-api-token',
langCode: 'en_US'
});

3️⃣ Start using the API

// Fetch products
const products = await api.Products.getProducts({ limit: 10 });

// Get user profile
const user = await api.Users.getUser();

// Submit a form
const formData = await api.FormData.postFormsData('contact-form', {
name: 'John Doe',
email: 'john@example.com'
});

🎉 That's it! You're ready to build amazing applications with OneEntry.


🌐 Tài nguyên


✨ Tính năng chính

🔐
Secure Authentication

Built-in token management and OAuth support

🌍
Multi-language

i18n support with automatic language detection

📝
TypeScript

Full type definitions for better DX

Lightweight

Optimized bundle size for production

🔌
Modular Architecture

24 specialized modules for all your needs

🛡️
Error Handling

Custom error handlers and shell mode


📖 Sử dụng chi tiết

Tất cả các mô-đun có sẵn

Nhập và phân tách tất cả các mô-đun bạn cần:


import { defineOneEntry } from 'oneentry'

const config = {
token: 'your-app-token',
}
const {
Admins,
AttributesSets,
AuthProvider,
Blocks,
Events,
FileUploading,
Forms,
FormData,
GeneralTypes,
IntegrationCollections,
Locales,
Menus,
Orders,
Pages,
Payments,
ProductStatuses,
Products,
Settings,
System,
Templates,
TemplatePreviews,
Users,
WS
} = defineOneEntry('your-url', config);

Hoặc

const config = {
token: 'your-app-token',
};

const api = defineOneEntry('your-url', config);

Cấu hình

Tham số thứ hai của hàm khởi tạo nhận 'config'. Nó chứa các giá trị sau:

  • 'token' - Đặt khóa token nếu dự án của bạn bảo mật "Security API Token". Nếu bạn đang sử dụng bảo vệ bằng chứng chỉ, không truyền biến này. Bạn có thể đọc thêm về bảo mật của dự án của bạn tại đây.
  • 'langCode' - Đặt "langCode" để thiết lập ngôn ngữ mặc định. Bằng cách chỉ định tham số này một lần, bạn không cần phải truyền langCode cho các phương thức của ONEENTRY API. Nếu bạn không truyền ngôn ngữ mặc định, nó sẽ được đặt là "en_US".
  • 'traficLimit' - Một số phương thức sử dụng nhiều hơn một yêu cầu đến OneEntry để dữ liệu bạn nhận được đầy đủ và dễ làm việc. Truyền giá trị "true" cho tham số này để tiết kiệm lưu lượng và tự quyết định dữ liệu bạn cần. Giá trị mặc định là "false".
  • 'auth' - Một đối tượng với các cài đặt xác thực. Theo mặc định, SDK được cấu hình để làm việc với các token bên trong phiên của người dùng và không yêu cầu bất kỳ công việc bổ sung nào từ bạn. Đồng thời, SDK không lưu trữ trạng thái phiên giữa các phiên. Nếu bạn hài lòng với các cài đặt như vậy, không truyền biến 'auth' chút nào.

'auth' chứa các cài đặt sau:

  • 'refreshToken' - Token làm mới của người dùng. Chuyển nó từ kho lưu trữ ở đây để khôi phục phiên của người dùng trong quá trình khởi tạo.
  • 'saveFunction' - Một hàm làm việc với token làm mới. Nếu bạn muốn lưu trữ token giữa các phiên, chẳng hạn như trong bộ nhớ cục bộ, hãy truyền một hàm ở đây thực hiện điều này. Hàm phải chấp nhận một tham số mà chuỗi chứa token sẽ được truyền vào.
  • 'customAuth' - Nếu bạn muốn cấu hình xác thực và làm việc với các token tự mình, hãy đặt cờ này thành true. Nếu bạn muốn sử dụng các cài đặt của sdk, hãy đặt nó thành false hoặc không truyền nó chút nào.
  • 'providerMarker' - Đánh dấu cho nhà cung cấp xác thực. Mặc định: 'email'. Ví dụ về một cấu hình với bảo vệ token và xác thực tự động lưu trữ trạng thái giữa các phiên
const tokenFunction = (token) => {
localStorage.setItem('refreshToken', token);
};

const api = defineOneEntry('https://my-project.oneentry.cloud', {
token: 'my-token',
langCode: 'en_US',
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: tokenFunction,
providerMarker: 'email'
},
});

Ví dụ về một cấu hình được bảo vệ bằng chứng chỉ cho phép bạn tự cấu hình hệ thống xác thực và lưu trữ dữ liệu trên các yêu cầu.

const api = defineOneEntry('https://my-project.oneentry.cloud', {
langCode: 'en_US',
traficLimit: true,
auth: {
customAuth: true,
refreshToken: localStorage.getItem('refreshToken'),
providerMarker: 'email'
},
});

Nếu bạn đã chọn cấu hình các token tự mình, bạn có thể truyền token vào phương thức như sau. Phương thức trung gian cho phép bạn truyền một token truy cập vào yêu cầu. Sau đó gọi phương thức cần thiết. Phương thức này (setAccessToken) không nên được gọi nếu phương thức không yêu cầu xác thực người dùng.

const user = api.Users.setAccessToken('my.access.token').getUser();

Nếu bạn đã chọn bảo vệ token để đảm bảo an ninh kết nối, chỉ cần truyền token của bạn vào hàm như một tham số tùy chọn.

Bạn có thể nhận token như sau

  1. Đăng nhập vào tài khoản cá nhân của bạn
  2. Đi đến tab "Dự án" và chọn một dự án
  3. Đi đến tab "Truy cập"
  4. Đặt công tắc thành "Security API Token"
  5. Đăng nhập vào dự án, đi đến phần cài đặt và mở tab token
  6. Nhận và sao chép token của dự án bạn

Bạn cũng có thể kết nối một chứng chỉ tls để bảo vệ dự án của bạn. Trong trường hợp này, không truyền "token" chút nào. Khi sử dụng chứng chỉ, hãy thiết lập một proxy trong dự án của bạn. Truyền một chuỗi rỗng làm tham số url. Tìm hiểu thêm về bảo mật

const saveTokenFromLocalStorage = (token) => {
localStorage.setItem('refreshToken', token);
};

const api = defineOneEntry('your-url', {
token: 'my-token',
langCode: 'my-langCode',
auth: {
customAuth: false,
userToken: 'rerfesh.token',
saveFunction: saveTokenFromLocalStorage,
providerMarker: 'email'
},
});

Lỗi

Nếu bạn muốn bỏ qua lỗi bên trong sc, hãy giữ thuộc tính "errors" theo mặc định. Trong trường hợp này, bạn sẽ nhận được dữ liệu thực thể hoặc đối tượng lỗi. Bạn cần thực hiện kiểm tra kiểu. ví dụ, bằng cách kiểm tra thuộc tính statusCode với ".hasOwnProperty"

Tuy nhiên, nếu bạn muốn sử dụng cấu trúc "try catch(e) ", hãy đặt thuộc tính "isShell" thành giá trị "false". Trong trường hợp này, bạn cần xử lý lỗi bằng cách sử dụng "try catch(e) ".

Ngoài ra, bạn có thể truyền các hàm tùy chỉnh sẽ được gọi bên trong sdk với mã lỗi thích hợp. Các hàm này nhận một đối tượng lỗi làm đối số. Bạn có thể xử lý nó theo cách của riêng bạn.

const api = defineOneEntry('your-url', {
token: 'my-token',
langCode: 'my-langCode',
errors: {
isShell: false,
customErrors: {
400: (error) => console.error(error.message),
404: (error) => console.error(error.message),
500: (error) => console.error(error.message),
},
},
});

📚 Các bước tiếp theo

Khám phá các hướng dẫn toàn diện của chúng tôi để tìm hiểu thêm: