Pular para o conteúdo principal

Comece

O OneEntry Platform SDK é um SDK que fornece uma maneira fácil de interagir com a API da OneEntry Platform.

Site Oficial

Visite o site oficial da OneEntry em https://oneentry.cloud para saber mais sobre a OneEntry Platform.

Inscrição

Para começar com o OneEntry, inscreva-se para uma conta em https://account.oneentry.cloud/authentication/register.

Instalação

Para instalar o OneEntry Platform SDK em seu projeto, execute o seguinte comando:

npm install oneentry

Para usar o OneEntry Platform SDK em seu projeto, importe a função defineOneEntry:

import { defineOneEntry } from 'oneentry'

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

Ou

const config = {
token: 'seu-token-do-app',
}
const api = defineOneEntry('sua-url', config)

Configuração

O segundo parâmetro do construtor recebe a 'config'. Ele contém os seguintes valores:

  • 'token' - Defina a chave do token se seu projeto exigir um "Token de API de Segurança". Se você estiver usando proteção por certificado, não passe esta variável. Você pode ler mais sobre a segurança do seu projeto aqui.

  • 'langCode' - Defina o "langCode" para estabelecer o idioma padrão. Ao especificar este parâmetro uma vez, você não precisará passar o langCode para os métodos da API ONEENTRY. Se você não especificar um idioma padrão, ele será definido como "en_US".

  • 'traficLimit' - Alguns métodos usam mais de uma solicitação para o CMS para garantir que os dados que você recebe sejam completos e fáceis de trabalhar. Defina este parâmetro como "true" para economizar tráfego e decidir por si mesmo quais dados você precisa. O valor padrão é "false".

  • 'auth' - Um objeto com configurações de autorização. Por padrão, o SDK é configurado para trabalhar com tokens armazenados na sessão do usuário e não requer nenhum trabalho adicional de sua parte. No entanto, o SDK não mantém o estado da sessão entre sessões. Se você estiver satisfeito com essas configurações, não precisa passar a variável 'auth' de forma alguma.

O objeto 'auth' contém as seguintes configurações:

  • 'refreshToken' - O token de atualização do usuário. Passe-o aqui do repositório para restaurar a sessão do usuário durante a inicialização.

  • 'saveFunction' - Uma função que lida com a atualização do token de atualização. Se você quiser armazenar o token entre sessões, por exemplo, no armazenamento local, forneça uma função aqui que faça isso. A função deve aceitar um parâmetro ao qual a string contendo o token será passada.

  • 'customAuth' - Se você quiser configurar a autorização e gerenciar tokens por conta própria, defina este sinalizador como verdadeiro. Se preferir usar as configurações padrão do SDK, defina como falso ou omita completamente.

Um exemplo de configuração com proteção de token e autenticação automática que mantém o estado entre sessões:

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

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

Um exemplo de configuração que é protegida com um certificado permite que você configure o sistema de autorização por conta própria e salve dados em solicitações:

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

Se você optar por gerenciar tokens por conta própria, pode passar o token para o método da seguinte forma. O método intermediário permite que você passe um token de acesso para a solicitação. Em seguida, chame o método necessário. Este método (setAccessToken) não deve ser chamado se o método não exigir autorização do usuário.

const user = api.Users.setAccessToken('meu.token.de.acesso').getUser()

Se você optou pela proteção de token para garantir a segurança da conexão, basta passar seu token para a função como um parâmetro opcional.

Você pode obter um token da seguinte forma:

  1. Faça login na sua conta pessoal.
  2. Vá para a aba "Projetos" e selecione um projeto.
  3. Navegue até a aba "Acesso".
  4. Ative o interruptor para "Token de API de Segurança".
  5. Faça login no projeto, vá para a seção de configurações e abra a aba de token.
  6. Recupere e copie o token do seu projeto.

Você também pode conectar um certificado TLS para proteger seu projeto. Nesse caso, não passe o "token" de forma alguma. Ao usar o certificado, configure um proxy em seu projeto. Passe uma string vazia como parâmetro de URL. Saiba mais sobre segurança

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

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

Erros

Se você quiser lidar com erros dentro do SDK, mantenha a propriedade "errors" em sua configuração padrão. Nesse caso, você receberá os dados da entidade ou um objeto de erro. Você precisa realizar uma verificação de tipo, por exemplo, verificando a propriedade statusCode com ".hasOwnProperty".

No entanto, se você preferir usar a construção "try catch(e) ", defina a propriedade "isShell" como "false". Nesse caso, você precisará lidar com o erro usando "try catch(e) ".

Além disso, você pode passar funções personalizadas que serão chamadas dentro do SDK com o código de erro apropriado. Essas funções recebem um objeto de erro como argumento, que você pode processar conforme necessário.

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