mirror of
https://github.com/EvolutionAPI/evolution-manager.git
synced 2025-07-13 07:04:50 -06:00
Atualizações de integração e opções de configuração
This commit is contained in:
parent
d4b344d2c1
commit
a34aeea649
@ -85,18 +85,18 @@
|
|||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-model.number="chatwootData.days_limit_import_messages"
|
v-model.number="chatwootData.days_limit_import_messages"
|
||||||
:label="$t('chatwoot.dayslimitimportmessages')"
|
:label="$t('chatwoot.dayslimitimportmessages')"
|
||||||
:disabled="loading"
|
:disabled="loading"
|
||||||
outlined
|
outlined
|
||||||
dense
|
dense
|
||||||
hide-details="auto"
|
hide-details="auto"
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="d-flex align-center gap-4 flex-wrap">
|
<div class="d-flex align-center gap-4 flex-wrap">
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
class="flex-grow-0 flex-shrink-0"
|
class="flex-grow-0 flex-shrink-0"
|
||||||
@ -113,7 +113,11 @@
|
|||||||
<v-text-field
|
<v-text-field
|
||||||
class="flex-grow-1 flex-shrink-0"
|
class="flex-grow-1 flex-shrink-0"
|
||||||
v-model="chatwootData.sign_delimiter"
|
v-model="chatwootData.sign_delimiter"
|
||||||
:disabled="loading || !chatwootData.sign_msg || !AppStore.versionSatisfies('>=1.6.1')"
|
:disabled="
|
||||||
|
loading ||
|
||||||
|
!chatwootData.sign_msg ||
|
||||||
|
!AppStore.versionSatisfies('>=1.6.1')
|
||||||
|
"
|
||||||
:label="$t('chatwoot.signDelimiter')"
|
:label="$t('chatwoot.signDelimiter')"
|
||||||
:hint="
|
:hint="
|
||||||
!AppStore.versionSatisfies('>=1.6.0')
|
!AppStore.versionSatisfies('>=1.6.0')
|
||||||
@ -164,10 +168,16 @@
|
|||||||
<div>
|
<div>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="chatwootData.import_contacts"
|
v-model="chatwootData.import_contacts"
|
||||||
:disabled="loading"
|
hide-details="auto"
|
||||||
hide-details
|
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
density="compact"
|
density="compact"
|
||||||
|
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
|
||||||
|
:hint="
|
||||||
|
!AppStore.versionSatisfies('>=1.7.0')
|
||||||
|
? $t('version.availableFrom', { version: '1.7.0' })
|
||||||
|
: undefined
|
||||||
|
"
|
||||||
|
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
|
||||||
>
|
>
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<span>{{ $t("chatwoot.importcontacts") }}</span>
|
<span>{{ $t("chatwoot.importcontacts") }}</span>
|
||||||
@ -181,10 +191,16 @@
|
|||||||
<div>
|
<div>
|
||||||
<v-checkbox
|
<v-checkbox
|
||||||
v-model="chatwootData.import_messages"
|
v-model="chatwootData.import_messages"
|
||||||
:disabled="loading"
|
hide-details="auto"
|
||||||
hide-details
|
|
||||||
class="mb-3"
|
class="mb-3"
|
||||||
density="compact"
|
density="compact"
|
||||||
|
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
|
||||||
|
:hint="
|
||||||
|
!AppStore.versionSatisfies('>=1.7.0')
|
||||||
|
? $t('version.availableFrom', { version: '1.7.0' })
|
||||||
|
: undefined
|
||||||
|
"
|
||||||
|
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
|
||||||
>
|
>
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<span>{{ $t("chatwoot.importmessages") }}</span>
|
<span>{{ $t("chatwoot.importmessages") }}</span>
|
||||||
@ -227,7 +243,7 @@
|
|||||||
hide-details
|
hide-details
|
||||||
></v-switch>
|
></v-switch>
|
||||||
<v-btn variant="text" @click="chatwootConfig" size="small">
|
<v-btn variant="text" @click="chatwootConfig" size="small">
|
||||||
{{ $t("chatwoot.config.btn") }}
|
{{ $t("chatwoot.config.btn") }}
|
||||||
</v-btn>
|
</v-btn>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-btn
|
<v-btn
|
||||||
|
@ -84,10 +84,16 @@
|
|||||||
<v-checkbox
|
<v-checkbox
|
||||||
class="flex-grow-0"
|
class="flex-grow-0"
|
||||||
v-model="optionsData.sync_full_history"
|
v-model="optionsData.sync_full_history"
|
||||||
:disabled="loading"
|
|
||||||
:label="$t('options.syncfullhistory')"
|
:label="$t('options.syncfullhistory')"
|
||||||
hide-details
|
hide-details="auto"
|
||||||
density="compact"
|
density="compact"
|
||||||
|
:disabled="loading || !AppStore.versionSatisfies('>=1.7.0')"
|
||||||
|
:hint="
|
||||||
|
!AppStore.versionSatisfies('>=1.7.0')
|
||||||
|
? $t('version.availableFrom', { version: '1.7.0' })
|
||||||
|
: undefined
|
||||||
|
"
|
||||||
|
:persistent-hint="!AppStore.versionSatisfies('>=1.7.0')"
|
||||||
></v-checkbox>
|
></v-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</v-form>
|
</v-form>
|
||||||
@ -112,6 +118,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import instanceController from "@/services/instanceController";
|
import instanceController from "@/services/instanceController";
|
||||||
|
import { useAppStore } from "@/store/app";
|
||||||
|
|
||||||
const defaultOptions = () => ({
|
const defaultOptions = () => ({
|
||||||
reject_call: false,
|
reject_call: false,
|
||||||
@ -132,6 +139,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
data: () => ({
|
data: () => ({
|
||||||
|
AppStore: useAppStore(),
|
||||||
expanded: false,
|
expanded: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
error: false,
|
error: false,
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
<v-dialog v-model="dialog" max-width="350px" :persistent="loading">
|
<v-dialog v-model="dialog" max-width="350px" :persistent="loading">
|
||||||
<v-card :loading="loading && qrCode">
|
<v-card :loading="loading && qrCode">
|
||||||
<v-card-text class="pt-6">
|
<v-card-text class="pt-6">
|
||||||
<v-btn-toggle v-model="connectType" class="d-flex mb-4" color="primary">
|
<!-- Not finished -->
|
||||||
|
<!-- <v-btn-toggle v-model="connectType" class="d-flex mb-4" color="primary">
|
||||||
<v-btn text value="qr" class="flex-grow-1">
|
<v-btn text value="qr" class="flex-grow-1">
|
||||||
<v-icon start>mdi-qrcode-scan</v-icon>
|
<v-icon start>mdi-qrcode-scan</v-icon>
|
||||||
{{ $t("connectPhone.qr") }}
|
{{ $t("connectPhone.qr") }}
|
||||||
@ -29,7 +30,7 @@
|
|||||||
<v-icon start>mdi-key</v-icon>
|
<v-icon start>mdi-key</v-icon>
|
||||||
{{ $t("connectPhone.code") }}
|
{{ $t("connectPhone.code") }}
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-btn-toggle>
|
</v-btn-toggle> -->
|
||||||
<template v-if="connectType == 'qr'">
|
<template v-if="connectType == 'qr'">
|
||||||
<v-img v-if="qrCode" :src="qrCode" width="300px" height="300px" />
|
<v-img v-if="qrCode" :src="qrCode" width="300px" height="300px" />
|
||||||
<v-card
|
<v-card
|
||||||
|
@ -18,8 +18,9 @@
|
|||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
<v-select
|
<v-select
|
||||||
|
v-if="AppStore.versionSatisfies('>=1.7.0')"
|
||||||
v-model="instance.integration"
|
v-model="instance.integration"
|
||||||
:items="['WHATSAPP-BAILEYS', 'WHATSAPP-BUSINESS']"
|
:items="integrationItens"
|
||||||
:label="$t('createInstance.integration')"
|
:label="$t('createInstance.integration')"
|
||||||
required
|
required
|
||||||
outlined
|
outlined
|
||||||
@ -89,6 +90,10 @@ export default {
|
|||||||
data: () => ({
|
data: () => ({
|
||||||
dialog: false,
|
dialog: false,
|
||||||
valid: false,
|
valid: false,
|
||||||
|
integrationItens: [
|
||||||
|
{ title: "Cloud API (Meta)", value: "WHATSAPP-BUSINESS" },
|
||||||
|
{ title: "Baileys", value: "WHATSAPP-BAILEYS" },
|
||||||
|
],
|
||||||
instance: {
|
instance: {
|
||||||
instanceName: "",
|
instanceName: "",
|
||||||
token: "",
|
token: "",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// src/i18n/pt.js
|
// src/i18n/pt.js
|
||||||
import { pt } from 'vuetify/locale'
|
import { pt } from "vuetify/locale";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
$vuetify: { ...pt },
|
$vuetify: { ...pt },
|
||||||
@ -19,7 +19,7 @@ export default {
|
|||||||
noInstances: "Nenhuma instância encontrada",
|
noInstances: "Nenhuma instância encontrada",
|
||||||
unknown: "Desconhecido",
|
unknown: "Desconhecido",
|
||||||
required: "{field} é obrigatório",
|
required: "{field} é obrigatório",
|
||||||
maxLength: "{field} deve ter no máximo {length} caracteres",
|
maxLength: "{field} deve ter no máximo {length} caracteres",
|
||||||
https: "{field} deve começar com https://",
|
https: "{field} deve começar com https://",
|
||||||
httpHttps: "{field} deve começar com http:// ou https://",
|
httpHttps: "{field} deve começar com http:// ou https://",
|
||||||
enabled: "Habilitado",
|
enabled: "Habilitado",
|
||||||
@ -39,19 +39,23 @@ export default {
|
|||||||
},
|
},
|
||||||
about: {
|
about: {
|
||||||
title: "Sobre",
|
title: "Sobre",
|
||||||
description: "O Evolution Manager facilita a gestão de suas APIs com uma interface intuitiva. Ele foi criado por desenvolvedores independentes, focando em melhorar a experiência do usuário e a administração das funcionalidades da API.",
|
description:
|
||||||
|
"O Evolution Manager facilita a gestão de suas APIs com uma interface intuitiva. Ele foi criado por desenvolvedores independentes, focando em melhorar a experiência do usuário e a administração das funcionalidades da API.",
|
||||||
contribute: "Contribua com o projeto",
|
contribute: "Contribua com o projeto",
|
||||||
dataProcess: {
|
dataProcess: {
|
||||||
title: "Processamento de dados",
|
title: "Processamento de dados",
|
||||||
description: "O processamento e armazenamento de dados ocorre <b>localmente</b> no seu navegador, sem uso de um backend centralizado. Isso reforça a segurança e privacidade, mantendo suas informações confidenciais e protegidas.",
|
description:
|
||||||
https: "Por conta de todo o processamento ser realizado no navegador, é necessário que o servidor da Evolution API seja acessado através de uma conexão segura (HTTPS)."
|
"O processamento e armazenamento de dados ocorre <b>localmente</b> no seu navegador, sem uso de um backend centralizado. Isso reforça a segurança e privacidade, mantendo suas informações confidenciais e protegidas.",
|
||||||
|
https:
|
||||||
|
"Por conta de todo o processamento ser realizado no navegador, é necessário que o servidor da Evolution API seja acessado através de uma conexão segura (HTTPS).",
|
||||||
},
|
},
|
||||||
version: "Versão",
|
version: "Versão",
|
||||||
},
|
},
|
||||||
createInstance: {
|
createInstance: {
|
||||||
title: "Criar instância",
|
title: "Criar instância",
|
||||||
name: "Nome da instância",
|
name: "Nome da instância",
|
||||||
configInfo: "O WebHook, WebSocket, RabbitMQ, Chatwoot e Typebot poderão ser configurados após a criação da instância.",
|
configInfo:
|
||||||
|
"O WebHook, WebSocket, RabbitMQ, Chatwoot e Typebot poderão ser configurados após a criação da instância.",
|
||||||
integration: "Integração",
|
integration: "Integração",
|
||||||
number: "Identificador de número de telefone",
|
number: "Identificador de número de telefone",
|
||||||
},
|
},
|
||||||
@ -72,7 +76,8 @@ export default {
|
|||||||
},
|
},
|
||||||
connectPhone: {
|
connectPhone: {
|
||||||
title: "Telefone não conectado",
|
title: "Telefone não conectado",
|
||||||
apiGenericError: "Não foi possível carregar o QR Code, se o erro persistir, reinicie a API e tente novamente.",
|
apiGenericError:
|
||||||
|
"Não foi possível carregar o QR Code, se o erro persistir, reinicie a API e tente novamente.",
|
||||||
qr: "QR Code",
|
qr: "QR Code",
|
||||||
code: "Código",
|
code: "Código",
|
||||||
},
|
},
|
||||||
@ -84,14 +89,15 @@ export default {
|
|||||||
alwaysOnline: "Sempre online",
|
alwaysOnline: "Sempre online",
|
||||||
readMessages: "Marcar mensagens como lidas",
|
readMessages: "Marcar mensagens como lidas",
|
||||||
readStatus: "Marcar status como visto",
|
readStatus: "Marcar status como visto",
|
||||||
syncfullhistory: "Sincronizar el historial completo",
|
syncfullhistory: "Sinconizar histórico completo",
|
||||||
},
|
},
|
||||||
webhook: {
|
webhook: {
|
||||||
byEvents: "Webhook por eventos",
|
byEvents: "Webhook por eventos",
|
||||||
byEventsHelp: "Adiciona o nome do evento no final da URL (ex: /webhook/event_name )",
|
byEventsHelp:
|
||||||
|
"Adiciona o nome do evento no final da URL (ex: /webhook/event_name )",
|
||||||
},
|
},
|
||||||
rabbitmq: {
|
rabbitmq: {
|
||||||
info: "O RabbitMQ é utilizado pela API para o enfileiramento das notificações. Ele NÃO é utilizado para o envio de mensagens."
|
info: "O RabbitMQ é utilizado pela API para o enfileiramento das notificações. Ele NÃO é utilizado para o envio de mensagens.",
|
||||||
},
|
},
|
||||||
chatwoot: {
|
chatwoot: {
|
||||||
account_id: "ID da conta",
|
account_id: "ID da conta",
|
||||||
@ -100,29 +106,33 @@ export default {
|
|||||||
signMsg: "Assinar mensagens",
|
signMsg: "Assinar mensagens",
|
||||||
signMsgHelp: "Adiciona o nome do atendente na primeira linha da mensagem",
|
signMsgHelp: "Adiciona o nome do atendente na primeira linha da mensagem",
|
||||||
signDelimiter: "Separador da assinatura da mensagem",
|
signDelimiter: "Separador da assinatura da mensagem",
|
||||||
signDelimiterHelp: "Delimitador utilizado para separar a assinatura da mensagem (\\n para quebra de linha)",
|
signDelimiterHelp:
|
||||||
|
"Delimitador utilizado para separar a assinatura da mensagem (\\n para quebra de linha)",
|
||||||
reopenConversation: "Reabrir conversa",
|
reopenConversation: "Reabrir conversa",
|
||||||
reopenConversationHelp: "Reabre a conversa do cliente quando ele inicia uma nova conversa em vez de criar uma nova conversa",
|
reopenConversationHelp:
|
||||||
|
"Reabre a conversa do cliente quando ele inicia uma nova conversa em vez de criar uma nova conversa",
|
||||||
conversationPending: "Iniciar conversa como pendente",
|
conversationPending: "Iniciar conversa como pendente",
|
||||||
conversationPendingHelp: "Inicia a conversa como pendente ao invés de aberta",
|
conversationPendingHelp:
|
||||||
|
"Inicia a conversa como pendente ao invés de aberta",
|
||||||
autoCreate: "Criar Caixa de Entrada",
|
autoCreate: "Criar Caixa de Entrada",
|
||||||
autoCreateHelp: "Cria a caixa de entrada no Chatwoot caso ela não exista",
|
autoCreateHelp: "Cria a caixa de entrada no Chatwoot caso ela não exista",
|
||||||
importcontacts: "Importar contatos",
|
importcontacts: "Importar contatos",
|
||||||
importcontactsHelp: "Importar contatos para o Chatwoot",
|
importcontactsHelp: "Importar contatos para o Chatwoot",
|
||||||
importmessages: "Importar mensagens",
|
importmessages: "Importar mensagens",
|
||||||
importmessagesHelp: "Importar mensagens do histórico de mensagens para o Chatwoot",
|
importmessagesHelp:
|
||||||
|
"Importar mensagens do histórico de mensagens para o Chatwoot",
|
||||||
config: {
|
config: {
|
||||||
btn: "Como configurar o chatwoot?",
|
btn: "Como configurar o chatwoot?",
|
||||||
title: "Como configurar a caixa de entrada do Chatwoot?",
|
title: "Como configurar a caixa de entrada do Chatwoot?",
|
||||||
fullDoc: "Ver documentação completa",
|
fullDoc: "Ver documentação completa",
|
||||||
steps: {
|
steps: {
|
||||||
"1": "Acesse as configurações > Caixa de Entrada e \"Adicionar Caixa\"",
|
1: 'Acesse as configurações > Caixa de Entrada e "Adicionar Caixa"',
|
||||||
"2": "Selecione \"API\" como tipo de caixa",
|
2: 'Selecione "API" como tipo de caixa',
|
||||||
"3": "Preencha nome da caixa e webhook. Os valores devem ser exatamente os seguintes:",
|
3: "Preencha nome da caixa e webhook. Os valores devem ser exatamente os seguintes:",
|
||||||
"4": "Adicione os agentes à caixa de entrada.",
|
4: "Adicione os agentes à caixa de entrada.",
|
||||||
"5": "Pronto! Agora você pode receber mensagens.",
|
5: "Pronto! Agora você pode receber mensagens.",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
typebot: {
|
typebot: {
|
||||||
typebot: "Nome do fluxo do Typebot",
|
typebot: "Nome do fluxo do Typebot",
|
||||||
@ -135,10 +145,12 @@ export default {
|
|||||||
delayMessageUnit: "em milisegundos",
|
delayMessageUnit: "em milisegundos",
|
||||||
delayMessageHelp: "Tempo de simulação de digitação",
|
delayMessageHelp: "Tempo de simulação de digitação",
|
||||||
unknownMessage: "Mensagem formato desconhecido",
|
unknownMessage: "Mensagem formato desconhecido",
|
||||||
unknownMessageHelp: "Mensagem enviada quando o formato da mensagem não é reconhecido",
|
unknownMessageHelp:
|
||||||
|
"Mensagem enviada quando o formato da mensagem não é reconhecido",
|
||||||
unknownMessagePlaceholder: "Deixe em branco para não enviar mensagem",
|
unknownMessagePlaceholder: "Deixe em branco para não enviar mensagem",
|
||||||
listeningFromMe: "Ouvir mensagens enviadas por mim",
|
listeningFromMe: "Ouvir mensagens enviadas por mim",
|
||||||
listeningFromMeHelp: "Envia as mensagens enviadas por você para o fluxo do Typebot",
|
listeningFromMeHelp:
|
||||||
|
"Envia as mensagens enviadas por você para o fluxo do Typebot",
|
||||||
session: {
|
session: {
|
||||||
title: "Sessões do Typebot",
|
title: "Sessões do Typebot",
|
||||||
btn: "Ver 0 sessões | Ver uma sessão | Ver {count} sessões",
|
btn: "Ver 0 sessões | Ver uma sessão | Ver {count} sessões",
|
||||||
@ -147,13 +159,13 @@ export default {
|
|||||||
variables: "Variáveis",
|
variables: "Variáveis",
|
||||||
createdAt: "Iniciada em",
|
createdAt: "Iniciada em",
|
||||||
updatedAt: "Última mensagem",
|
updatedAt: "Última mensagem",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
status: {
|
status: {
|
||||||
opened: "Aberto",
|
opened: "Aberto",
|
||||||
paused: "Pausado",
|
paused: "Pausado",
|
||||||
closed: "Fechado",
|
closed: "Fechado",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
sendMessage: {
|
sendMessage: {
|
||||||
title: "Enviar mensagem",
|
title: "Enviar mensagem",
|
||||||
@ -179,16 +191,16 @@ export default {
|
|||||||
},
|
},
|
||||||
groups: {
|
groups: {
|
||||||
title: "Meus grupos",
|
title: "Meus grupos",
|
||||||
headers: { creation: "Criado em", }
|
headers: { creation: "Criado em" },
|
||||||
},
|
},
|
||||||
chats: {
|
chats: {
|
||||||
title: "Minhas conversas",
|
title: "Minhas conversas",
|
||||||
headers: { lastMsgTimestamp: "Última mensagem", }
|
headers: { lastMsgTimestamp: "Última mensagem" },
|
||||||
},
|
},
|
||||||
profile: {
|
profile: {
|
||||||
title: "Nome e Recado",
|
title: "Nome e Recado",
|
||||||
name: "Name",
|
name: "Name",
|
||||||
status: "Recado (status)"
|
status: "Recado (status)",
|
||||||
},
|
},
|
||||||
profilePicture: {
|
profilePicture: {
|
||||||
title: "Foto de perfil",
|
title: "Foto de perfil",
|
||||||
@ -210,6 +222,6 @@ export default {
|
|||||||
contactBlacklist: "Meus contatos, exceto os da lista negra",
|
contactBlacklist: "Meus contatos, exceto os da lista negra",
|
||||||
matchLastSeen: "Igual ao visto por último",
|
matchLastSeen: "Igual ao visto por último",
|
||||||
none: "Ninguém",
|
none: "Ninguém",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user