Saltar al contenido principal

Comenzar

OneEntry Platform SDK es un SDK que proporciona una forma fácil de interactuar con la API de OneEntry Platform.

Sitio Oficial

Visita el sitio web oficial de OneEntry en https://oneentry.cloud para aprender más sobre la plataforma OneEntry.

Regístrate

Para comenzar con OneEntry, regístrate para obtener una cuenta en https://account.oneentry.cloud/authentication/register.

Instalación

Para instalar el OneEntry Platform SDK en tu proyecto, ejecuta el siguiente comando:

npm install oneentry

Para usar el OneEntry Platform SDK en tu proyecto, importa la función defineOneEntry:

import { defineOneEntry } from 'oneentry'

const config = {
token: 'tu-token-de-aplicación',
}
const {
Admins,
AttributesSets,
AuthProvider,
Blocks,
Events,
Forms,
FormData,
FileUploading,
GeneralTypes,
IntegrationCollections,
Locales,
Menus,
Orders,
Pages,
Products,
ProductStatuses,
System,
Templates,
TemplatePreviews,
Users,
WS,
} = defineOneEntry('tu-url', config)

O

const config = {
token: 'tu-token-de-aplicación',
}
const api = defineOneEntry('tu-url', config)

Configuración

El segundo parámetro del constructor toma la 'config'. Contiene los siguientes valores:

  • 'token' - Establece la clave del token si tu proyecto requiere un "Token de API de Seguridad". Si estás utilizando protección por certificado, no pases esta variable. Puedes leer más sobre la seguridad de tu proyecto aquí.

  • 'langCode' - Establece el "langCode" para establecer el idioma predeterminado. Al especificar este parámetro una vez, no tendrás que pasar el langCode a los métodos de la API de ONEENTRY. Si no especificas un idioma predeterminado, se establecerá por defecto en "en_US".

  • 'traficLimit' - Algunos métodos utilizan más de una solicitud al CMS para garantizar que los datos que recibes sean completos y fáciles de trabajar. Establece este parámetro en "true" para ahorrar tráfico y decidir por ti mismo qué datos necesitas. El valor predeterminado es "false".

  • 'auth' - Un objeto con configuraciones de autorización. Por defecto, el SDK está configurado para trabajar con tokens almacenados en la sesión del usuario y no requiere ningún trabajo adicional de tu parte. Sin embargo, el SDK no mantiene el estado de la sesión entre sesiones. Si estás satisfecho con estas configuraciones, no necesitas pasar la variable 'auth' en absoluto.

El objeto 'auth' contiene las siguientes configuraciones:

  • 'refreshToken' - El token de actualización del usuario. Pásalo aquí desde el repositorio para restaurar la sesión del usuario durante la inicialización.

  • 'saveFunction' - Una función que maneja la actualización del token de actualización. Si deseas almacenar el token entre sesiones, por ejemplo, en el almacenamiento local, proporciona aquí una función que haga esto. La función debe aceptar un parámetro al que se le pasará la cadena que contiene el token.

  • 'customAuth' - Si deseas configurar la autorización y gestionar los tokens tú mismo, establece este flag en true. Si prefieres utilizar la configuración predeterminada del SDK, configúralo en false o omítelo por completo.

Un ejemplo de configuración con protección de token y autenticación automática que mantiene el estado entre sesiones:

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

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

Un ejemplo de configuración que está protegida con un certificado te permite configurar el sistema de autorización tú mismo y guarda datos en las solicitudes:

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

Si decides gestionar los tokens tú mismo, puedes pasar el token al método de la siguiente manera. El método intermedio te permite pasar un token de acceso a la solicitud. Luego llama al método requerido. Este método (setAccessToken) no debe ser llamado si el método no requiere autorización del usuario.

const user = api.Users.setAccessToken('mi.token.de.acceso').getUser()

Si optaste por la protección de token para garantizar la seguridad de la conexión, simplemente pasa tu token a la función como un parámetro opcional.

Puedes obtener un token de la siguiente manera:

  1. Inicia sesión en tu cuenta personal.
  2. Ve a la pestaña "Proyectos" y selecciona un proyecto.
  3. Navega a la pestaña "Acceso".
  4. Activa el interruptor para "Token de API de Seguridad".
  5. Inicia sesión en el proyecto, ve a la sección de configuración y abre la pestaña de token.
  6. Recupera y copia el token de tu proyecto.

También puedes conectar un certificado TLS para proteger tu proyecto. En este caso, no pases el "token" en absoluto. Al usar el certificado, configura un proxy en tu proyecto. Pasa una cadena vacía como parámetro de URL. Aprende más sobre seguridad

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

const api = defineOneEntry('tu-url', {
token: 'mi-token',
langCode: 'mi-langCode',
auth: {
customAuth: false,
userToken: 'refresh.token',
saveFunction: saveTokenFromLocalStorage,
},
})

Errores

Si deseas manejar errores dentro del SDK, deja la propiedad "errors" en su configuración predeterminada. En este caso, recibirás ya sea los datos de la entidad o un objeto de error. Necesitas realizar una verificación de tipo, por ejemplo, comprobando la propiedad statusCode con ".hasOwnProperty".

Sin embargo, si prefieres utilizar la construcción "try catch(e) ", establece la propiedad "isShell" en "false". En este caso, necesitarás manejar el error utilizando "try catch(e) ".

Además, puedes pasar funciones personalizadas que se llamarán dentro del SDK con el código de error correspondiente. Estas funciones reciben un objeto de error como argumento, que puedes procesar según sea necesario.

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