docker run -d \
  --name evolution-api \
  --restart always \
  -p 8765:8080 \
  -e AUTHENTICATION_API_KEY=2BB9F404F2F2C9974E3AB5C7 \
  -v evolution_data:/evolution/instances \
  atendai/evolution-api:latest


node --version
npm --version


https://git-scm.com/download/win


git clone https://github.com/EvolutionAPI/evolution-api.git C:\evolution-api

cd C:\
git clone https://github.com/EvolutionAPI/evolution-api.git
cd evolution-api
npm install



.copy .env.example .env
notepad .env




AUTHENTICATION_API_KEY=2BB9F404F2F2C9974E3AB5C7
PORT=8765


npm run start:prod


start notepad C:\evolution-api\.env


start C:\evolution-api\.env


git clone --branch v2.1.1 https://github.com/EvolutionAPI/evolution-api.git C:\evolution-api

cd C:\evolution-api
npm install


npx prisma generate
npm run build




https://nodejs.org/dist/v20.19.2/node-v20.19.2-x64.msi

git clone https://github.com/EvolutionAPI/evolution-api.git C:\evolution-api
cd C:\evolution-api
git checkout 1.8.7

cd C:\
rmdir /s /q C:\evolution-api

git clone https://github.com/EvolutionAPI/evolution-api.git C:\evolution-api --depth 1
cd C:\evolution-api


dir


npx prisma generate --schema prisma/mysql-schema.prisma


npx tsup src/main.ts --format cjs --out-dir dist --no-check



copy C:\evolution-api\.env.example C:\evolution-api\.env
start notepad C:\evolution-api\.env


DATABASE_CONNECTION_URI=mysql://root:@localhost:3306/evolution


npx prisma migrate deploy --schema prisma/mysql-schema.prisma

npm run start:prod



npx prisma migrate deploy --schema prisma/mysql-schema.prisma --migrations-dir prisma/mysql-migrations


npx prisma db push --schema prisma/mysql-schema.prisma


ALTER DATABASE evolution CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;



npx prisma db push --schema prisma/mysql-schema.prisma --force-reset


SET GLOBAL innodb_large_prefix = ON;
SET GLOBAL innodb_file_format = Barracuda;
SET GLOBAL innodb_file_per_table = ON;



C:\wamp64\bin\mysql\mysql[versão]\my.ini


innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_file_per_table=ON


npx prisma db push --schema prisma/mysql-schema.prisma --force-reset


npx prisma db push --schema prisma/mysql-schema.prisma --accept-data-loss

CREATE TABLE IF NOT EXISTS `instance` (
  `id` varchar(36) NOT NULL,
  `name` varchar(255) NOT NULL,
  `connectionStatus` varchar(50) NOT NULL DEFAULT 'close',
  `ownerJid` varchar(100) DEFAULT NULL,
  `profileName` varchar(255) DEFAULT NULL,
  `profilePicUrl` text DEFAULT NULL,
  `integration` varchar(100) DEFAULT NULL,
  `number` varchar(100) DEFAULT NULL,
  `businessId` varchar(100) DEFAULT NULL,
  `token` varchar(255) DEFAULT NULL,
  `clientName` varchar(255) DEFAULT NULL,
  `disconnectionReasonCode` int DEFAULT NULL,
  `disconnectionObject` json DEFAULT NULL,
  `disconnectionAt` datetime DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `instance_name_key` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


netsh advfirewall firewall add rule name="Evolution API" dir=in action=allow protocol=TCP localport=8765


type C:\evolution-api\.env | findstr AUTHENTICATION

CREATE TABLE IF NOT EXISTS `webhook` (
  `id` varchar(36) NOT NULL,
  `url` text,
  `headers` json DEFAULT NULL,
  `byEvents` tinyint(1) DEFAULT 0,
  `base64` tinyint(1) DEFAULT 0,
  `enabled` tinyint(1) DEFAULT 0,
  `events` json DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `IntegrationSession` (
  `id` varchar(36) NOT NULL,
  `sessionId` varchar(255) DEFAULT NULL,
  `remoteJid` varchar(255) DEFAULT NULL,
  `pushName` varchar(255) DEFAULT NULL,
  `status` varchar(50) DEFAULT NULL,
  `awaitUser` tinyint(1) DEFAULT 0,
  `context` json DEFAULT NULL,
  `type` varchar(50) DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;





CREATE TABLE IF NOT EXISTS `webhook` (
  `id` varchar(36) NOT NULL,
  `url` text,
  `headers` json DEFAULT NULL,
  `byEvents` tinyint(1) DEFAULT 0,
  `base64` tinyint(1) DEFAULT 0,
  `enabled` tinyint(1) DEFAULT 0,
  `events` json DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `IntegrationSession` (
  `id` varchar(36) NOT NULL,
  `sessionId` varchar(255) DEFAULT NULL,
  `remoteJid` varchar(255) DEFAULT NULL,
  `pushName` varchar(255) DEFAULT NULL,
  `status` varchar(50) DEFAULT NULL,
  `awaitUser` tinyint(1) DEFAULT 0,
  `context` json DEFAULT NULL,
  `type` varchar(50) DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `Setting` (
  `id` varchar(36) NOT NULL,
  `rejectCall` tinyint(1) DEFAULT 0,
  `msgCall` text,
  `groupsIgnore` tinyint(1) DEFAULT 0,
  `alwaysOnline` tinyint(1) DEFAULT 0,
  `readMessages` tinyint(1) DEFAULT 0,
  `readStatus` tinyint(1) DEFAULT 0,
  `syncFullHistory` tinyint(1) DEFAULT 0,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `Chatwoot` (
  `id` varchar(36) NOT NULL,
  `enabled` tinyint(1) DEFAULT 0,
  `accountId` varchar(255) DEFAULT NULL,
  `token` text,
  `url` text,
  `nameInbox` varchar(255) DEFAULT NULL,
  `signMsg` tinyint(1) DEFAULT 0,
  `signDelimiter` varchar(10) DEFAULT NULL,
  `reopenConversation` tinyint(1) DEFAULT 0,
  `conversationPending` tinyint(1) DEFAULT 0,
  `mergeBrazilContacts` tinyint(1) DEFAULT 0,
  `importContacts` tinyint(1) DEFAULT 0,
  `importMessages` tinyint(1) DEFAULT 0,
  `daysLimitImportMessages` int DEFAULT 0,
  `organization` varchar(255) DEFAULT NULL,
  `logo` text,
  `ignoreJids` json DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `Proxy` (
  `id` varchar(36) NOT NULL,
  `enabled` tinyint(1) DEFAULT 0,
  `host` varchar(255) DEFAULT NULL,
  `port` varchar(10) DEFAULT NULL,
  `protocol` varchar(10) DEFAULT NULL,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `instanceId` varchar(36) DEFAULT NULL,
  `createdAt` datetime DEFAULT CURRENT_TIMESTAMP,
  `updatedAt` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

curl -X GET "http://localhost:8765/instance/connect/mkt-telecom" -H "apikey: 2BB9F404F2F2C9974E3AB5C7"



