Skip to content

Commit 27099a6

Browse files
Integration with Evolution api to create Whastapp instances (Guidelines in .ENV.EXAMPLE)
1 parent 67a8f89 commit 27099a6

17 files changed

+586
-214
lines changed

.env.example

100644100755
+70-14
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
APP_NAME="Core Tenant"
22
APP_ENV=local
3-
APP_KEY=
3+
APP_KEY=base64:TMV+LPK1/9PnkFLB5TxxwlPuNGOVtU6r1IeFfF+t7/w=
44
APP_DEBUG=true
5-
APP_TIMEZONE='America/Sao_Paulo'
5+
APP_TIMEZONE="America/Sao_Paulo"
66
APP_URL=http://localhost
77

88
APP_LOCALE=pt_BR
@@ -24,8 +24,7 @@ DB_HOST=mysql
2424
DB_PORT=3306
2525
DB_DATABASE=db_core_tenant
2626
DB_USERNAME=administrator
27-
DB_PASSWORD=Administrator123
28-
27+
DB_PASSWORD=
2928

3029
SESSION_DRIVER=database
3130
SESSION_LIFETIME=120
@@ -70,15 +69,72 @@ CASHIER_MODEL=App\Models\Organization
7069
CASHIER_CURRENCY=brl
7170
CASHIER_CURRENCY_LOCALE=br
7271

73-
#Keys autenticação Laravel/Stripe
74-
STRIPE_KEY=
75-
STRIPE_SECRET=
76-
STRIPE_WEBHOOK_SECRET=
72+
# Keys autenticação Laravel/Stripe
73+
STRIPE_KEY=pk_test_51Qp7eEGD6EuSqB2XwMUn2umTZEsQz9BxiuPHHF9mwGX0isphDmFtfQPwjjnYpqaHd1VnCxB7TDvfyuw2ffdB6MYE00jo9XtREl
74+
STRIPE_SECRET=sk_test_51Qp7eEGD6EuSqB2XWzBVRHtgaJmnX9phNtpkfftDdUbXxWUCqcwY62BFrOEo1Bw45PPX3tfROI6uoYk8bsGjQg2p00Z7v45VyO
75+
STRIPE_WEBHOOK_SECRET=whsec_1caa8b42961938d0ebccff0e6116c3c8a26e8ff337851ab00a4590d822b9747f
7776
STRIPE_DEVICE_NAME="${APP_NAME}"
7877

79-
#Keys Evolution API
80-
EVOLUTION_API_KEY= "KEY DE LOGIN GERADA NO ARQUIVO DA EVOLUTION"
81-
EVOLUTION_URL="ATENÇÃO SEU IP LOCAL "IP DA MAQUINA" :8080"
82-
EVOLUTION_URL_WEBHOOK="ATENÇÃO SEU IP LOCAL "IP DA MAQUINA" /evolution/webhook"
83-
84-
78+
# Keys Evolution API
79+
EVOLUTION_API_KEY= "${AUTHENTICATION_API_KEY}"
80+
EVOLUTION_URL="http://"colocar seu IP local / put your local IP" :8080"
81+
EVOLUTION_URL_WEBHOOK="http://"colocar seu IP local / put your local IP"/evolution/webhook"
82+
83+
############################
84+
### Evolution Parameters ###
85+
############################
86+
87+
# Postgres setup
88+
POSTGRES_USER=administrator
89+
POSTGRES_PASSWORD="Antes de rodar o Docker Gere a senha / Before running Docker Generate a password"
90+
POSTGRES_PORT=5432
91+
92+
SERVER_TYPE=http
93+
SERVER_PORT=8080
94+
SERVER_URL=http://localhost:8080
95+
96+
# Auth Config Evolution
97+
AUTHENTICATION_TYPE=apikey
98+
AUTHENTICATION_API_KEY="gerar uma string de 32 caracteres / generate a 32 character string"
99+
AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true
100+
101+
# Redis - Environment variables
102+
CACHE_REDIS_ENABLED=true
103+
CACHE_REDIS_URI=redis://redis:6379/2
104+
CACHE_REDIS_PREFIX_KEY=evolution
105+
CACHE_REDIS_SAVE_INSTANCES=true
106+
107+
# Typebot - Environment variables
108+
TYPEBOT_ENABLED=true
109+
TYPEBOT_API_VERSION=latest
110+
111+
# Determine the logs to be displayed
112+
LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS,WEBSOCKET
113+
LOG_COLOR=true
114+
LOG_BAILEYS=error
115+
116+
# Set the maximum number of listeners that can be registered for an event
117+
EVENT_EMITTER_MAX_LISTENERS=50
118+
119+
# Choose the data you want to save in the application's database
120+
DATABASE_SAVE_DATA_INSTANCE=true
121+
DATABASE_SAVE_DATA_NEW_MESSAGE=true
122+
DATABASE_SAVE_MESSAGE_UPDATE=true
123+
DATABASE_SAVE_DATA_CONTACTS=true
124+
DATABASE_SAVE_DATA_CHATS=true
125+
DATABASE_SAVE_DATA_LABELS=true
126+
DATABASE_SAVE_DATA_HISTORIC=true
127+
DATABASE_SAVE_IS_ON_WHATSAPP=true
128+
DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7
129+
DATABASE_DELETE_MESSAGE=true
130+
131+
# Name that will be displayed on smartphone connection
132+
CONFIG_SESSION_PHONE_CLIENT="Evolution API"
133+
134+
# Browser Name = Chrome | Firefox | Edge | Opera | Safari
135+
CONFIG_SESSION_PHONE_NAME=Chrome
136+
137+
# Set qrcode display limit (Seconds)
138+
QRCODE_LIMIT=30
139+
# Color of the QRCode on base64
140+
QRCODE_COLOR='#175197'

Dockerfile.evolution

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Usando a imagem oficial do Node.js como base
2+
FROM node:18-alpine
3+
4+
# Definindo o diretório de trabalho
5+
WORKDIR /app
6+
7+
# Copiando os arquivos de dependências para dentro do container
8+
COPY package.json package-lock.json ./
9+
10+
# Instalando as dependências da aplicação
11+
RUN npm install
12+
13+
# Instalando as dependências da aplicação
14+
RUN npm update
15+
# Copiando todo o código fonte para dentro do container
16+
COPY . .
17+
18+
# Expondo a porta onde a API vai rodar
19+
EXPOSE 8080
20+
21+
# Comando para iniciar a aplicação
22+
CMD ["npm", "start"]

Dockerfile.postgresSql

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Usa a imagem oficial do PostgreSQL
2+
FROM postgres:latest
3+
4+
# Copia os scripts de inicialização para o container
5+
COPY ./docker/postgres/init /docker-entrypoint-initdb.d/
6+
7+
# Garante que os scripts tenham permissão de execução
8+
RUN chmod -R 755 /docker-entrypoint-initdb.d/
9+
10+
# Expondo a porta do PostgreSQL
11+
EXPOSE 5432

app/Filament/App/Resources/SubscriptionResource.php

+8
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,19 @@
1919
class SubscriptionResource extends Resource
2020
{
2121
protected static ?string $model = Subscription::class;
22+
2223
protected static ?string $navigationIcon = 'fas-hand-holding-dollar';
24+
2325
protected static ?string $navigationGroup = 'Administração';
26+
2427
protected static ?string $navigationLabel = 'Minhas Assinaturas';
28+
2529
protected static ?string $modelLabel = 'Minha Assinatura';
30+
2631
protected static ?string $modelLabelPlural = "Minhas Assinaturas";
32+
2733
protected static ?int $navigationSort = 1;
34+
2835
protected static bool $isScopedToTenant = true;
2936

3037
public static function form(Form $form): Form
@@ -154,6 +161,7 @@ public static function table(Table $table): Table
154161

155162
$cancellationService = new CancelSubscriptionService();
156163
$cancellationService->cancel($record, $data);
164+
157165
} catch (\Exception $e) {
158166

159167
Notification::make()

0 commit comments

Comments
 (0)