UNPKG

manux-cli

Version:

CLI para configuração de plataformas headless de e-commerce

395 lines (392 loc) 11.9 kB
import { validateField } from './src/validators/schemas'; export const integrations = [ { name: 'VTEX', alias: 'vtex', description: 'A Plataforma de Comércio Composable e Completa.', url: 'https://vtex.com/pt-br/', status: 'soon', types: ['ecommerce'], }, { name: 'Shopify', alias: 'shopify', description: 'Experimente a Shopify gratuitamente e abra ou amplie sua empresa com uma plataforma que é muito mais que um software de e-commerce e conta com ferramentas para gerenciar tudo o que você precisa.', url: 'https://www.shopify.com/br', status: 'available', types: ['ecommerce'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Shopify?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'accessToken', required: true, message: 'Qual o accessToken da sua conta na Shopify?', validate: (value: string) => validateField(value, 'accessToken', true) }, { type: 'text', name: 'apiKey', required: false, message: 'Qual o apiKey da sua conta na Shopify?', validate: (value: string) => validateField(value, 'apiKey', true) }, { type: 'text', name: 'apiSecretKey', required: false, message: 'Qual o apiSecretKey da sua conta na Shopify?', validate: (value: string) => validateField(value, 'apiSecretKey', true) }, ], }, { name: 'Nuvemshop', alias: 'nuvemshop', description: 'Com a Nuvemshop, você cria uma loja virtual grátis sem a necessidade de conhecimentos técnicos e sem limite de produtos, vendas e visitas.', url: 'https://www.nuvemshop.com.br/', status: 'available', types: ['ecommerce'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Nuvemshop?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'token', required: true, message: 'Qual o token da sua conta na Nuvemshop?', validate: (value: string) => validateField(value, 'token', true) }, { type: 'text', name: 'username', required: true, message: 'Qual o username da sua conta na Nuvemshop?', validate: (value: string) => validateField(value, 'username', true) }, ] }, { name: 'Linx Commerce', alias: 'linx-commerce', description: 'Descubra as melhores soluções de e-commerce que conectam seu varejo físico e digital. Plataforma completa Linx Commerce para aumentar vendas e integrar canais com eficiência.', url: 'https://www.linxcommerce.com.br/', status: 'available', types: ['ecommerce'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Linx Commerce?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'username', required: true, message: 'Qual o username da sua conta na Linx Commerce?', validate: (value: string) => validateField(value, 'username', true) }, { type: 'text', name: 'password', required: true, message: 'Qual o password da sua conta na Linx Commerce?', validate: (value: string) => validateField(value, 'password', true) }, { type: 'text', name: 'cdn', required: true, message: 'Qual o cdn da sua conta na Linx Commerce?', validate: (value: string) => validateField(value, 'cdn', true) }, ] }, { name: 'Uappi', alias: 'uappi', description: 'A Plataforma de e-commerce com tecnologia sob medida e proximidade, para manter seu negócio sempre um passo à frente.', url: 'https://uappi.com.br/', status: 'available', types: ['ecommerce'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Uappi?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'token', required: false, initial: 'wapstore', message: 'Qual o token da sua conta na Uappi?', validate: (value: string) => validateField(value, 'token', true) }, ] }, { name: 'Yourviews', alias: 'yourviews', description: 'Uma solução integrada de avaliação de produtos e jornada de compra.', url: 'https://qa.hiplatform.com/yourviews', status: 'available', types: ['reviews'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Yourviews?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'token', required: true, message: 'Qual o token da sua conta na Yourviews?', validate: (value: string) => validateField(value, 'token', true) } ] }, { name: 'Trustvox', alias: 'trustvox', description: 'Transforme seus clientes em seus maiores vendedores.', url: 'https://trustvox.com', status: 'soon', types: ['reviews'] }, { name: 'Ebit', alias: 'ebit', description: 'A Ebit mede a reputação das lojas virtuais por meio de pesquisas com consumidores reais, gerando dados estratégicos e táticas para o mercado online.', url: 'https://www.ebit.com.br/', status: 'soon', types: ['reviews'] }, { name: 'Yotpo', alias: 'yotpo', description: 'Transforme suas avaliações em geradores de receita.', url: 'https://yotpo.com', status: 'soon', types: ['reviews'] }, { name: 'Beonly', alias: 'beonly', description: 'Crie e automatize jornadas de compra personalizadas no seu e-commerce.', url: 'https://www.beonly.com.br/', status: 'soon', types: ['showcase'] }, { name: 'Linx Impulse', alias: 'linx-impulse', description: 'Aumente a Performance do seu E-commerce. Linx Impulse.', url: 'https://www.linx.com.br/linx-impulse/', status: 'available', types: ['search', 'showcase'], requires: [ { type: 'text', name: 'url', required: true, default: 'https://api.linx.com.br', message: 'Qual o URL da sua conta na Linx Impulse?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'account', required: true, message: 'Qual o account da sua conta na Linx Impulse?', validate: (value: string) => validateField(value, 'account', true) }, { type: 'text', name: 'secretKey', required: true, message: 'Qual o secretKey da sua conta na Linx Impulse?', validate: (value: string) => validateField(value, 'secretKey', true) }, { type: 'text', name: 'username', required: true, message: 'Qual o username da sua conta na Linx Impulse?', validate: (value: string) => validateField(value, 'username', true) }, { type: 'text', name: 'password', required: true, message: 'Qual o password da sua conta na Linx Impulse?', validate: (value: string) => validateField(value, 'password', true) }, ] }, { name: 'Smarthint', alias: 'smarthint', description: 'Mostre aos seus clientes o que eles precisam e venda até 30% mais!', url: 'https://www.smarthint.co/', status: 'soon', types: ['search', 'showcase'] }, { name: 'Algolia', alias: 'algolia', description: 'Pesquisa de IA que encontra o que os usuários precisam.', url: 'https://www.algolia.com/', status: 'soon', types: ['search'] }, { name: 'RD Station', alias: 'rd-station', description: 'Automatize seu Marketing com Inteligência Artificial integrada.', url: 'https://www.rdstation.com.br/', status: 'soon', types: ['email', 'crm', 'marketing', 'sales'] }, { name: 'Flowbiz', alias: 'flowbiz', description: 'Inteligência em CRM e automação para escalar resultados.', url: 'https://www.flowbiz.com.br/', status: 'soon', types: ['email', 'crm', 'marketing', 'sales', 'cart'] }, { name: 'Dinamize', alias: 'dinamize', description: 'Transforme leads em vendas com nossa plataforma completa.', url: 'https://dinamize.com.br/', status: 'soon', types: ['email', 'marketing', 'sales'] }, { name: 'ActiveCampaign', alias: 'activecampaign', description: 'Automação de marketing para qualquer negócio.', url: 'https://www.activecampaign.com/', status: 'soon', types: ['email'], requires: [ { type: 'text', name: 'url', required: true, message: 'Qual o URL da sua conta na Mailchimp?', validate: (value: string) => validateField(value, 'url', true) }, { type: 'text', name: 'token', required: true, message: 'Qual o token da sua conta na Mailchimp?', validate: (value: string) => validateField(value, 'token', true) } ] }, { name: 'Mailchimp', alias: 'mailchimp', description: 'Transforme e-mails em receita.', url: 'https://mailchimp.com/pt-br/', status: 'available', types: ['email'] }, { name: 'Utils', description: 'Configuração de utilitários (Google Analytics, Tag Manager, Site Verification, Microsoft Clarity e Facebook Pixel).', status: 'available', types: ['utils'], requires: [ { type: 'text', name: 'Google Analytics', alias: 'ga', required: false, message: 'Qual o ID do Google Analytics?', validate: (v: string) => validateField(v, 'text', false) }, { type: 'text', name: 'Google Tag Manager', alias: 'gtm', required: false, message: 'Qual o ID do Google Tag Manager?', validate: (v: string) => validateField(v, 'text', false) }, { type: 'list', name: 'Google Site Verification', alias: 'google-site-verification', required: false, message: 'Digite a(s) Google Site Verification (separadas por vírgula):', separator: ',' }, { type: 'text', name: 'Microsoft Clarity', alias: 'clarity', required: false, message: 'Qual o ID do Microsoft Clarity?', validate: (v: string) => validateField(v, 'text', false) }, { type: 'text', name: 'Facebook Pixel', alias: 'facebook-pixel-id', required: false, message: 'Qual o ID do Facebook Pixel?', validate: (v: string) => validateField(v, 'text', false) }, { type: 'text', name: 'Facebook Ad Account ID', alias: 'facebook-ad-account-id', required: false, message: 'Qual o ID da conta de anúncios do Facebook Pixel?', validate: (v: string) => validateField(v, 'text', false) }, ] } ]; export interface IntegrationRequire { name: string; alias?: string; required: boolean; default?: string; type?: string; message: string; separator?: string; validate?: (value: any) => { success: boolean; error?: string }; } export interface Integration { name: string; alias?: string; description: string; url: string; status: string; types: string[]; requires: IntegrationRequire[]; }