Nhảy đến nội dung

index

---
sidebar_position: 2
---

# Bắt đầu

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.

## Trang chính thức

Truy cập trang web chính thức của OneEntry tại [https://oneentry.cloud](https://oneentry.cloud) để tìm hiểu thêm về OneEntry Platform.

## Đăng ký

Để bắt đầu với OneEntry, hãy đăng ký một tài khoản tại [https://account.oneentry.cloud/authentication/register](https://account.oneentry.cloud/authentication/register).

## Cài đặt

Để cài đặt OneEntry Platform SDK trong dự án của bạn, hãy chạy lệnh sau:

```bash
npm install oneentry

Để sử dụng OneEntry Platform SDK trong dự án của bạn, hãy nhập hàm defineOneEntry:

import { defineOneEntry } from 'oneentry'

const config = {
token: 'your-app-token',
}
const {
Admins,
AttributesSets,
AuthProvider,
Blocks,
Events,
Forms,
FormData,
FileUploading,
GeneralTypes,
IntegrationCollections,
Locales,
Menus,
Orders,
Pages,
Products,
ProductStatuses,
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 yêu cầu "Security API Token". Nếu bạn đang sử dụng bảo vệ bằng chứng chỉ, không cần 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 sẽ không cần phải truyền langCode cho các phương thức của API ONEENTRY. Nếu bạn không chỉ định ngôn ngữ mặc định, nó sẽ mặc định 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 CMS để đảm bảo rằng dữ liệu bạn nhận được là đầy đủ và dễ làm việc. Đặt tham số này thành "true" để 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 được lưu trữ 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. Tuy nhiên, SDK không duy 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 này, bạn không cần phải truyền biến 'auth' chút nào.

Đối tượng 'auth' chứa các cài đặt sau:

  • 'refreshToken' - Token làm mới của người dùng. Truyề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 xử lý việc cập nhật token làm mới. Nếu bạn muốn lưu trữ token giữa các phiên, ví dụ trong bộ nhớ cục bộ, hãy cung cấp 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à quản lý token của riêng 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 mặc định của SDK, hãy đặt nó thành false hoặc bỏ qua hoàn toàn.

Một ví dụ về cấu hình với bảo vệ token và xác thực tự động duy 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,
},
})

Một ví dụ về 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'),
},
})

Nếu bạn chọn quản lý token của riêng 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ể lấy 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ều hướng đến tab "Truy cập".
  4. Bật công tắc cho "Security API Token".
  5. Đăng nhập vào dự án, đi đến phần cài đặt và mở tab token.
  6. Lấy và sao chép token của dự án của 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 cần 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: 'refresh.token',
saveFunction: saveTokenFromLocalStorage,
},
})

Lỗi

Nếu bạn muốn xử lý lỗi trong SDK, hãy để thuộc tính "errors" ở cài đặt mặc định của nó. Trong trường hợp này, bạn sẽ nhận được dữ liệu thực thể hoặc một đố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 thích sử dụng cấu trúc "try catch(e) ", hãy đặt thuộc tính "isShell" thành "false". Trong trường hợp này, bạn sẽ 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 trong SDK với mã lỗi thích hợp. Những hàm này nhận một đối tượng lỗi làm tham số, mà bạn có thể xử lý theo nhu cầu.

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),
},
},
})