Pular para o conteúdo principal

index

---
sidebar_position: 2
---

import Tooltip from '@site/src/components/Tooltip/Tooltip';
import CodeBlockWithTooltips from '@site/src/components/CodeBlockWithTooltips/';
import Badges from '@site/src/components/Badges/Badges';
import ResourceCards from '@site/src/components/ResourceCards/ResourceCards';
import FeatureCards from '@site/src/components/FeatureCards/FeatureCards';
import QuickStart from '@site/src/components/QuickStart/QuickStart';

# Comece

<Badges />

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

---

<QuickStart />

---

## 🌐 Recursos

<ResourceCards />

---

## ✨ Principais Recursos

<FeatureCards />

---

## 📖 Uso Detalhado

### Todos os Módulos Disponíveis

Importe e desestruture todos os módulos que você precisa:

<CodeBlockWithTooltips
code={`
import { defineOneEntry } from 'oneentry'

const config = {
token: 'seu-token-do-app',
}
const {
{/* O módulo <a target='_blank' href='/docs/admins/'> 'Admins' </a> é usado para gerenciar administradores. Um administrador é um usuário que pode adicionar, atualizar e editar informações no site ou no aplicativo móvel. */}
Admins,
{/* O módulo <a target='_blank' href='/docs/attribute-sets/attributesets/'> 'AttributesSets' </a> é usado para gerenciar atributos. Atributos são uma entidade que permite configurar a estrutura do seu aplicativo. */}
AttributesSets,
{/* O módulo <a target='_blank' href='/docs/auth-provider/authprovider/'> 'AuthProvider' </a> lida com a autenticação e registro de usuários através de vários métodos, como e-mail. */}
AuthProvider,
{/* O módulo <a target='_blank' href='/docs/blocks/'> 'Blocks' </a> permite criar estruturas contendo conjuntos de atributos. A OneEntry fornece ferramentas altamente flexíveis, para que você possa usar o módulo 'Blocks' conforme necessário para seu caso específico. Seu conceito principal é criar entidades reutilizáveis (blocos) que incluem conjuntos de atributos e conteúdo adicional. */}
Blocks,
{/* O módulo <a target='_blank' href='/docs/events/'> 'Events' </a> permite criar e gerenciar eventos para interagir com os usuários. Você define um evento que aciona respostas e notificações do sistema. Por exemplo, se os itens do catálogo têm status 'Em estoque' e 'Fora de estoque', você pode enviar uma notificação quando o status mudar de 'Fora de estoque' para 'Em estoque'. */}
Events,
{/* O módulo <a target='_blank' href='/docs/file-uploading/fileuploading/'> 'FileUploading' </a> fornece métodos para gerenciar arquivos no armazenamento em nuvem. O método de upload permite que você envie arquivos com parâmetros opcionais, como tipo, entidade, ID e opções de otimização de imagem. Ele retorna informações sobre o arquivo enviado, incluindo seu nome e link de download. O método de exclusão remove um arquivo do armazenamento, enquanto o método getFile recupera um objeto de arquivo com base em parâmetros como ID, tipo, entidade e nome do arquivo. */}
FileUploading,
{/* O módulo <a target='_blank' href='/docs/forms/'> 'Forms' </a> é uma ferramenta amigável para criar e gerenciar formulários, como formulários de contato, pesquisas e folhas de registro. Ele oferece uma interface intuitiva para adicionar elementos, personalizar layouts e aplicar temas. Também suporta a organização de formulários, definição de permissões de acesso e rastreamento de respostas em tempo real. Os recursos de automação incluem notificações em envios e integração com aplicativos. */}
Forms,
{/* O módulo <a target='_blank' href='/docs/forms-data/formsdata/'> 'FormData' </a> permite gerenciar e interagir com dados de formulários. Usando a função defineOneEntry, você pode criar um objeto FormData para lidar com várias operações. Ele suporta múltiplos tipos de dados, como strings, números, datas, texto, imagens, arquivos, listas e entidades aninhadas. Fornece métodos como getFormsData, postFormsData e getFormsDataByMarker para recuperar, criar e pesquisar dados de formulários. Cada método interage com a API e retorna objetos JSON estruturados com informações detalhadas, incluindo IDs, timestamps e dados específicos de idioma. */}
FormData,
{/* O módulo <a target='_blank' href='/docs/general-types/generaltypes/'> 'GeneralTypes' </a> é usado para gerenciar e recuperar tipos gerais dentro do sistema. Usando defineOneEntry, você pode criar um objeto GeneralTypes e chamar getAllTypes para recuperar todos os objetos GeneralTypeEntity da API. Cada entidade inclui um ID e tipo, cobrindo propósitos como layouts de página, formulários, blocos de produtos e mais. */}
GeneralTypes,
{/* O módulo <a target='_blank' href='/docs/integration-collections/integrationcollections/'> 'IntegrationCollections' </a> armazena dados usados para integrar diferentes serviços e sistemas. Para integrar serviços de terceiros, você primeiro precisa criar e configurar coleções. */}
IntegrationCollections,
{/* O módulo <a target='_blank' href='/docs/locales/'> 'Locales' </a> permite suporte multilíngue na OneEntry. Você pode personalizar a interface do painel e gerenciar convenientemente os idiomas do projeto. */}
Locales,
{/* O módulo <a target='_blank' href='/docs/menus/'> 'Menus' </a> define a estrutura e navegação do seu site. Ele fornece aos visitantes uma maneira fácil de navegar pelas seções do seu aplicativo e encontrar as informações de que precisam. */}
Menus,
{/* O módulo <a target='_blank' href='/docs/orders/'> 'Orders' </a> gerencia a criação e pagamento de bens ou serviços, que é uma parte integral de aplicativos de e-commerce. */}
Orders,
{/* O módulo <a target='_blank' href='/docs/pages/'> 'Pages' </a> permite gerenciar páginas em um aplicativo web ou telas em um aplicativo móvel. */}
Pages,
{/* O módulo <a target='_blank' href='/docs/payments/'> 'Payments' </a> é uma parte essencial de aplicativos de e-commerce. Ele fornece métodos para gerenciar pagamentos. */}
Payments,
{/* O módulo <a target='_blank' href='/docs/product-statuses/productstatuses/'> 'ProductStatuses' </a> gerencia status que servem como filtros adicionais ao lado das condições definidas por atributos. */}
ProductStatuses,
{/* O módulo <a target='_blank' href='/docs/products/'> 'Products' </a> permite gerenciar um catálogo de produtos. */}
Products,
{/* O módulo <a target='_blank' href='/docs/settings/'> 'Settings' </a> fornece métodos para gerenciar configurações gerais do aplicativo na OneEntry. */}
Settings,
{/* O módulo <a target='_blank' href='/docs/system/'> 'System' </a> fornece métodos para testar redirecionamentos de páginas de erro (404 e 500) para verificar se os mecanismos de tratamento de erros estão funcionando corretamente. */}
System,
{/* O módulo <a target='_blank' href='/docs/templates/'> 'Templates' </a> configura a exibição de conteúdo dentro do seu aplicativo. Alguns templates afetam imagens armazenadas na OneEntry, enquanto outros definem a aparência de entidades como blocos, páginas e produtos. */}
Templates,
{/* O módulo <a target='_blank' href='/docs/templates-preview/templatepreviews/'> 'TemplatePreviews' </a> configura os parâmetros de imagem usados em atributos. Aplicar um template a um atributo 'Imagem' ou 'Grupo de Imagens' padroniza os tamanhos das imagens de acordo com as especificações do template de visualização. */}
TemplatePreviews,
{/* O módulo <a target='_blank' href='/docs/users/'> 'Users' </a> permite gerenciar usuários registrados. */}
Users,
{/* Você pode se inscrever em eventos através do módulo <a target='_blank' href='/docs/web-socket/ws'> WebSocket </a> para receber notificações. */}
WS
} = defineOneEntry('sua-url', config);
`}
language="js"
/>

Ou

```js
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 "Security API Token". 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 definir o idioma padrão. Ao especificar este parâmetro uma vez, você não precisa passar o langCode para os métodos da API ONEENTRY. Se você não tiver passado o idioma padrão, ele será definido como "en_US".
  • 'traficLimit' - Alguns métodos usam mais de uma solicitação para a OneEntry para que os dados que você recebe sejam completos e fáceis de trabalhar. Passe o valor "true" para este parâmetro 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 dentro da sessão do usuário e não requer nenhum trabalho adicional de sua parte. Ao mesmo tempo, o SDK não armazena o estado da sessão entre sessões. Se você estiver satisfeito com essas configurações, não passe a variável 'auth' de forma alguma.

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

  • 'refreshToken' - O token de atualização do usuário. Transfira-o aqui do repositório para restaurar a sessão do usuário durante a inicialização.
  • 'saveFunction' - Uma função que trabalha com a atualização do token de atualização. Se você quiser armazenar o token entre sessões, por exemplo, no armazenamento local, passe uma função aqui que faça isso. A função deve aceitar um parâmetro ao qual a string com o token será passada.
  • 'customAuth' - Se você quiser configurar a autorização e trabalhar com tokens por conta própria, defina este sinalizador como verdadeiro. Se você quiser usar as configurações do sdk, defina como falso ou não a transfira de forma alguma.
  • 'providerMarker' - O marcador para o provedor de autenticação. Padrão: 'email'. Um exemplo de configuração com proteção por token e autenticação automática que armazena 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,
providerMarker: 'email'
},
});

Um exemplo de configuração que é protegida por 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'),
providerMarker: 'email'
},
});

Se você optou por configurar 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ê escolheu a proteção por 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. Vá para a aba "Acesso"
  4. Defina o interruptor para "Security API Token"
  5. Faça login no projeto, vá para a seção de configurações e abra a aba de token
  6. Obtenha 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: 'rerfesh.token',
saveFunction: saveTokenFromLocalStorage,
providerMarker: 'email'
},
});

Erros

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

No entanto, se você quiser usar a construção "try catch(e) ", defina a propriedade "isShell" como "false". Nesse caso, você precisa tratar 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. Você pode processá-lo por conta própria.

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

📚 Próximos Passos

Explore nossos guias abrangentes para saber mais: