### Install, Start, and Enable Nginx Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nginx Installs Nginx, starts the service, and ensures it runs on system boot. Verifies the status to confirm it's operational. ```bash apt-get install -y nginx systemctl start nginx systemctl enable nginx systemctl status nginx ``` -------------------------------- ### Execute SetupOrion for Automated Installation Source: https://docs.evolutionfoundation.com.br/evolution-api/install/setup-orion Run this command on a clean VPS to initiate the automated installation of Evolution API infrastructure, including Docker, Traefik, and Portainer. The script will guide you through the setup process. ```bash bash <(curl -sSL setup.oriondesign.art.br) ``` -------------------------------- ### Install and Manage API with PM2 Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Install PM2 globally, start the API process, set up PM2 to start on system boot, and save the current process list. ```bash npm install pm2 -g pm2 start 'npm run start:prod' --name ApiEvolution pm2 startup pm2 save --force ``` -------------------------------- ### Run Setup Command Source: https://docs.evolutionfoundation.com.br/self-hosted Execute this command to build Docker images, set up the database, populate initial data, and start all services. The first run may take 15-20 minutes. ```bash make setup ``` -------------------------------- ### Install Docker Source: https://docs.evolutionfoundation.com.br/evolution-api/install/docker Download and execute the official Docker installation script. ```bash curl -fsSL https://get.docker.com | bash ``` -------------------------------- ### Install MySQL Server on Ubuntu Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/database Install the MySQL server package on Ubuntu systems using apt-get. This is a prerequisite for local MySQL setup. ```bash sudo apt-get update sudo apt-get install mysql-server ``` -------------------------------- ### Start Redis Server Service Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/redis Start the Redis server service on Ubuntu after installation. This command ensures the Redis daemon is running. ```bash sudo service redis-server start ``` -------------------------------- ### CLI Activation URL Output Example Source: https://docs.evolutionfoundation.com.br/licensing/activation Example of how the registration URL can be presented to an operator in a command-line interface. ```text ───────────────────────────────────────────────────────────────── Ativação de licença Evolution API ───────────────────────────────────────────────────────────────── Para ativar, abra no navegador: https://license.evolutionfoundation.com.br/register?token=abc123def... Aguardando confirmação... (expira em 30 minutos) ───────────────────────────────────────────────────────────────── ``` -------------------------------- ### Build and Start Evolution API Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Build the production-ready application and start the Evolution API. These commands prepare the application for deployment and run it. ```bash npm run build npm run start:prod ``` -------------------------------- ### Install Redis Server on Ubuntu Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/redis Install the Redis server package on Ubuntu systems. This is the first step for a local Redis installation. ```bash sudo apt-get update sudo apt-get install redis-server ``` -------------------------------- ### Install PostgreSQL on Ubuntu Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/database Install PostgreSQL and its contrib package on Ubuntu systems using apt-get. This is a prerequisite for local PostgreSQL setup. ```bash sudo apt-get update sudo apt-get install postgresql postgresql-contrib ``` -------------------------------- ### Request Example with Tenant Source: https://docs.evolutionfoundation.com.br/api-reference/authentication Examples of making requests, showing how the tenant can be identified automatically via token or explicitly via a header. ```APIDOC ### Example of Request with Tenant ```bash # The tenant can be identified automatically via token # The Base URL varies by environment curl -X GET https://api.evoai.app/api/v1/agents \ -H "api_access_token: " \ -H "Content-Type: application/json" # Or explicitly via header (if supported by the service) # Note: The header name varies by service - consult specific documentation # The Base URL varies by environment curl -X GET https://api.evoai.app/api/v1/agents \ -H "api_access_token: " \ -H "X-Account-ID: " \ -H "Content-Type: application/json" ``` > **Note**: Consult the specific documentation for each service to confirm the tenant identification method used. The header name may vary between services. ``` -------------------------------- ### Install Evo-Nexus Service Manually Source: https://docs.evolutionfoundation.com.br/evo-nexus/getting-started.md Command to manually install the evo-nexus systemd service using a provided script. ```bash sudo bash install-service.sh ``` -------------------------------- ### Install NVM Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Download and install the Node Version Manager (NVM) script. This is the first step to managing Node.js versions. ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` -------------------------------- ### Start MySQL Service Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/database Start the MySQL service on your system. This command is typically used on Linux systems. ```bash sudo service mysql start ``` -------------------------------- ### Start PostgreSQL Service Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/database Start the PostgreSQL service on your system. This command is typically used on Linux systems. ```bash sudo service postgresql start ``` -------------------------------- ### Minio Example Configuration Source: https://docs.evolutionfoundation.com.br/evolution-api/integrations/s3minio Example environment variables for configuring Minio storage. Use your Minio service's custom domain for the endpoint. ```plaintext S3_ENABLED=true S3_ACCESS_KEY=your-minio-access-key S3_SECRET_KEY=your-minio-secret-key S3_BUCKET=my-minio-bucket S3_PORT=443 S3_ENDPOINT=minio.mycompany.com S3_USE_SSL=true ``` -------------------------------- ### Install Project Dependencies Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Navigate into the project directory and install all necessary Node.js dependencies using npm. This step is crucial before configuring and running the API. ```bash cd evolution-api npm install ``` -------------------------------- ### Start PostgreSQL Docker Container Source: https://docs.evolutionfoundation.com.br/evolution-api/requirements/database Use this command to start a PostgreSQL instance using Docker Compose. Ensure you have downloaded the appropriate docker-compose.yaml file. ```bash docker-compose up -d ``` -------------------------------- ### Start the Dashboard Application Source: https://docs.evolutionfoundation.com.br/evo-nexus/dashboard/overview Use this command to start both the Flask backend and the React frontend for the dashboard. The default port is http://localhost:8080. ```bash make dashboard-app ``` -------------------------------- ### Example API Request Source: https://docs.evolutionfoundation.com.br/api-reference/authentication Example of how to make a GET request to the /api/v1/agents endpoint using the API Access Token. ```APIDOC ## Example API Request ### Description Example of how to make a GET request to the /api/v1/agents endpoint using the API Access Token. ### Method GET ### Endpoint https://api.evoai.app/api/v1/agents ### Headers - `api_access_token`: - `Content-Type`: application/json ``` -------------------------------- ### Start All Services Source: https://docs.evolutionfoundation.com.br/self-hosted Use this command to bring all platform services online. ```bash make start ``` -------------------------------- ### EvoAI CRM API - Get Assignable Agents OpenAPI Spec Source: https://docs.evolutionfoundation.com.br/evo-ai-crm/get-assignable-agents This OpenAPI 3.0.4 specification defines the GET /api/v1/inboxes/{id}/assignable_agents endpoint. It outlines the request parameters, success response structure with example data, and various error response structures. ```yaml openapi: 3.0.4 info: title: Evolution Foundation - CRM Service - Inboxes description: Management of contacts, conversations, inboxes, labels and macros version: 1.1.0 servers: - url: https://api.evoai.app description: Production server - url: http://localhost:3000 description: Development server variables: port: default: '3000' - url: '{customUrl}' description: Custom server variables: customUrl: default: https://your-instance.com description: Enter your server URL security: [] paths: /api/v1/inboxes/{id}/assignable_agents: get: summary: Get Assignable Agents description: >- Returns list of agents that can be assigned to conversations in this inbox operationId: getAssignableAgents parameters: - name: id in: path schema: type: string format: uuid description: ID of the inbox required: true responses: '200': description: Assignable agents retrieved successfully content: application/json: schema: type: object required: - success - data - meta - message properties: success: type: boolean example: true data: type: array description: Array of assignable agents items: 7df4416a-753e-4a69-a3f9-fa1b73fd3355 meta: type: object properties: timestamp: type: string format: date-time description: Response timestamp example: '2024-01-15T10:30:00Z' message: type: string description: Success message example: Assignable agents retrieved successfully example: success: true data: [] meta: timestamp: '2024-01-15T10:30:00Z' message: Assignable agents retrieved successfully '400': description: Bad Request (invalid data) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: bad_request: summary: Invalid request data value: success: false error: code: BAD_REQUEST message: Invalid request data meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/inboxes/{id}/assignable_agents method: GET '401': description: Unauthorized (invalid or missing token) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: unauthorized: summary: Unauthorized value: success: false error: code: UNAUTHORIZED message: Unauthorized meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/inboxes/{id}/assignable_agents method: GET '403': description: Forbidden (insufficient permissions) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: forbidden: summary: Forbidden value: success: false error: code: FORBIDDEN message: Forbidden meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/inboxes/{id}/assignable_agents method: GET '404': description: Not Found (resource not found) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: not_found: summary: Inbox not found value: success: false error: code: NOT_FOUND message: Inbox not found meta: timestamp: '2024-01-15T10:30:00Z' ``` -------------------------------- ### Step 1: Initiate Registration Source: https://docs.evolutionfoundation.com.br/licensing/activation Initiates the license registration process by sending product details to the registration server. This is the first step when an instance detects no local API key. ```APIDOC ## POST /v1/register/init ### Description Initiates the license registration process. This endpoint should be called when an instance detects that it does not have a locally saved `api_key`. ### Method POST ### Endpoint /v1/register/init ### Parameters #### Request Body - **tier** (string) - Required - `community` or `beta` - **version** (string) - Required - Version of the Evolution product (e.g., `2.4.0`) - **instance_id** (UUID v4) - Required - Local identifier for the instance, generated once and persisted. ### Request Example ```json { "tier": "community", "version": "2.4.0", "instance_id": "550e8400-e29b-41d4-a716-446655440000" } ``` ### Response #### Success Response (200) - **register_url** (string) - The URL the operator needs to visit to complete the activation. - **token** (string) - A token associated with the registration request, used for subsequent polling. #### Response Example ```json { "register_url": "https://license.evolutionfoundation.com.br/register?token=abc123def456...", "token": "abc123def456..." } ``` ### Errors - **400** `INVALID_TIER`: The provided tier is not `community` or `beta`. - **400** `INVALID_BODY`: The request body is malformed JSON. - **429** `RATE_LIMIT`: Exceeded the rate limit of 10 inits per hour per IP. ``` -------------------------------- ### Example SKILL.md for New Skill Creation Source: https://docs.evolutionfoundation.com.br/evo-nexus/skills/overview This markdown example demonstrates the `SKILL.md` file for a new skill, `my-new-skill`. It includes a detailed description for triggering the skill and outlines the steps for collecting data from Linear and GitHub, generating a summary, and saving the output. ```markdown --- name: my-new-skill description: "Gerar um resumo semanal de standup do time a partir de issues do Linear e PRs do GitHub. Acione quando o usuário disser 'resumo de standup', 'update do time' ou 'o que o time fez'." --- # Resumo de Standup do Time Gera um resumo semanal da atividade do time. ## Passo 1 — Coletar Dados do Linear Use a skill `/int-linear-review` para buscar: - Issues concluídas esta semana - Issues em progresso - Bloqueios ## Passo 2 — Coletar Dados do GitHub Use a skill `/int-github-review` para buscar: - PRs mergeados esta semana - PRs em review ## Passo 3 — Gerar Resumo Formate como relatório markdown com seções: - Concluído - Em Progresso - Bloqueado - Destaques ## Passo 4 — Salvar Salve em `workspace/projects/reports/[C] YYYY-MM-DD-standup.md` ``` -------------------------------- ### Show Contact API Endpoint Definition Source: https://docs.evolutionfoundation.com.br/evo-ai-crm/show-contact Defines the GET /api/v1/contacts/{id} endpoint for retrieving a contact by ID. Includes parameters, success response with data example, and error responses. ```yaml openapi: 3.0.4 info: title: Evolution Foundation - CRM Service - Contacts description: Management of contacts, conversations, inboxes, labels and macros version: 1.1.0 servers: - url: https://api.evoai.app description: Production server - url: http://localhost:3000 description: Development server variables: port: default: '3000' - url: '{customUrl}' description: Custom server variables: customUrl: default: https://your-instance.com description: Enter your server URL security: [] paths: /api/v1/contacts/{id}: parameters: - name: id in: path required: true schema: type: string format: uuid description: ID of the contact get: summary: Show Contact description: Get a contact belonging to the account using ID operationId: contactDetails responses: '200': description: Contact retrieved successfully content: application/json: schema: type: object properties: success: type: boolean example: true data: $ref: '#/components/schemas/extended_contact' meta: type: object properties: timestamp: type: string format: date-time description: Response timestamp example: '2024-01-15T10:30:00Z' message: type: string description: Success message example: Contact retrieved successfully example: success: true data: id: 550e8400-e29b-41d4-a716-446655440000 name: John Doe email: john@example.com phone_number: '+5574999999999' identifier: john-doe-123 account_id: 123e4567-e89b-12d3-a456-426614174000 custom_attributes: {} created_at: '2024-01-15T10:30:00Z' updated_at: '2024-01-15T10:30:00Z' meta: timestamp: '2024-01-15T10:30:00Z' message: Contact retrieved successfully '400': description: Bad Request (invalid data) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: validation_error: summary: Invalid request parameters value: success: false error: code: VALIDATION_ERROR message: Invalid request parameters meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/contacts/{id} method: GET '401': description: Unauthorized (invalid or missing token) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: invalid_token: summary: Invalid or missing token value: success: false error: code: INVALID_TOKEN message: Invalid token meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/contacts/{id} method: GET '403': description: Forbidden (insufficient permissions) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: forbidden: summary: Access forbidden value: success: false error: code: FORBIDDEN message: You do not have permission to access this resource meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/contacts/{id} method: GET '404': description: Not Found (resource not found) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: contact_not_found: summary: Contact not found value: success: false error: code: NOT_FOUND message: Contact not found ``` -------------------------------- ### Practical Example 1: Basic Request with API Access Token Source: https://docs.evolutionfoundation.com.br/api-reference/authentication A practical example demonstrating how to make a basic authenticated request using an API Access Token in Bash. ```APIDOC ## Practical Examples ### Example 1: Basic Request with API Access Token ```bash #!/bin/bash # Configuration # The Base URL varies by environment API_URL="https://api.evoai.app/api/v1/agents" API_TOKEN="" # Make request curl -X GET "$API_URL" \ -H "api_access_token: $API_TOKEN" \ -H "Content-Type: application/json" | jq . ``` ``` -------------------------------- ### OpenAPI Specification for Default Knowledge Base Config Source: https://docs.evolutionfoundation.com.br/evo-ai-knowledge/get-default-knowledge-base-config-by-provider This OpenAPI 3.1.0 specification defines the GET /api/v1/knowledge-base-configs/default/{provider} endpoint. It includes details on request parameters, server URLs, and possible responses with examples for error scenarios. ```yaml openapi: 3.1.0 info: title: Evolution Foundation - Knowledge Service - Knowledge Base Configs description: Knowledge base and memory management version: 1.0.0 servers: - url: https://api.evoai.app description: Production server - url: http://localhost:3005 description: Development server variables: port: default: '3005' - url: '{customUrl}' description: Custom server variables: customUrl: default: https://your-instance.com description: Enter your server URL security: [] paths: /api/v1/knowledge-base-configs/default/{provider}: get: summary: Get Default Knowledge Base Config By Provider description: Get the default knowledge base configuration for a provider. operationId: >- get_default_knowledge_base_config_by_provider_api_v1_knowledge_base_configs_default__provider__get parameters: - name: provider in: path required: true schema: $ref: '#/components/schemas/ProviderType' responses: '200': description: Default knowledge base configuration retrieved successfully content: application/json: schema: $ref: >- #/components/schemas/SuccessResponse_KnowledgeBaseConfigResponse_ '400': description: Bad Request (invalid data) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: success: false error: code: BAD_REQUEST message: Invalid request parameters meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/knowledge-base-configs/default/{provider} method: GET '401': description: Unauthorized (invalid or missing token) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: success: false error: code: UNAUTHORIZED message: Invalid or missing authentication token meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/knowledge-base-configs/default/{provider} method: GET '403': description: Forbidden (insufficient permissions) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: success: false error: code: FORBIDDEN message: Insufficient permissions to perform this action meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/knowledge-base-configs/default/{provider} method: GET '404': description: Not Found (resource not found) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: success: false error: code: NOT_FOUND message: Default knowledge base configuration not found meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/knowledge-base-configs/default/{provider} method: GET '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' '500': description: Internal Server Error (server error) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: success: false error: code: INTERNAL_SERVER_ERROR message: An unexpected error occurred meta: timestamp: '2024-01-15T10:30:00Z' path: /api/v1/knowledge-base-configs/default/{provider} method: GET components: schemas: ProviderType: type: string enum: - pinecone - qdrant - openai - redis title: ProviderType description: Supported knowledge base provider types SuccessResponse_KnowledgeBaseConfigResponse_: properties: success: type: boolean title: Success description: Success indicator default: true data: $ref: e0bf1675-0f54-4bb3-95f6-2f2b0b12cb25 ``` -------------------------------- ### Instalação com Docker Source: https://docs.evolutionfoundation.com.br/evolution-go/installation Instale e execute o Evolution Go rapidamente usando Docker. Siga os passos para clonar o repositório, configurar as variáveis de ambiente e construir/executar a imagem Docker. ```APIDOC ## Instalação com Docker ### Passo 1: Clone o repositório ```bash git clone https://git.evoai.app/Evolution/evolution-go.git cd evolution-go ``` ### Passo 2: Configure as variáveis de ambiente ```bash cp .env.example .env ``` Edite o arquivo `.env` com suas configurações: ```env # Porta do servidor SERVER_PORT=8080 # Nome do cliente CLIENT_NAME=evolution # Chave de API global (altere para uma chave segura!) GLOBAL_API_KEY=sua-chave-secura-aqui # Banco de dados (PostgreSQL) POSTGRES_AUTH_DB=postgresql://postgres:password@postgres:5432/evogo_auth?sslmode=disable POSTGRES_USERS_DB=postgresql://postgres:password@postgres:5432/evogo_users?sslmode=disable DATABASE_SAVE_MESSAGES=false # Logs WADEBUG=INFO LOGTYPE=console ``` ### Passo 3: Build e execução ```bash # Build da imagem Docker make docker-build # Executar o container make docker-run ``` O serviço estará disponível em `http://localhost:8080`. ``` -------------------------------- ### Instalar EvoNexus via Clone Manual Source: https://docs.evolutionfoundation.com.br/evo-nexus/getting-started.md Clona o repositório do EvoNexus e executa o script de setup interativo para configurar o ambiente. ```bash git clone --depth 1 https://github.com/evolution-foundation/evo-nexus.git cd evo-nexus # Wizard de setup interativo make setup # Ou: python setup.py ``` -------------------------------- ### Instalar EvoNexus com npx Source: https://docs.evolutionfoundation.com.br/evo-nexus/getting-started.md Executa o EvoNexus diretamente via npx, que baixa e inicia o wizard de setup interativo automaticamente. ```bash npx @evoapi/evo-nexus ``` -------------------------------- ### Start Scheduler Locally Source: https://docs.evolutionfoundation.com.br/evo-nexus/getting-started.md Command to start the scheduler for running automated routines locally. ```bash make scheduler ``` -------------------------------- ### Copy Environment File Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Copy the example environment file to create your own configuration file. This file will store sensitive information and API settings. ```bash cp ./.env.example ./.env ``` -------------------------------- ### Conversation Not Found Error Example Source: https://docs.evolutionfoundation.com.br/evo-ai-crm/assign-conversation This example demonstrates the structure of an error response when a conversation ID is not found. ```json { "success": false, "error": { "code": "NOT_FOUND", "message": "Conversation not found" }, "meta": { "timestamp": "2024-01-15T10:30:00Z", "path": "/api/v1/conversations/{conversation_id}/assignments", "method": "POST" } } ``` -------------------------------- ### Instalar e rodar EvoNexus com Docker Source: https://docs.evolutionfoundation.com.br/evo-nexus/getting-started.md Baixa as imagens oficiais e inicia o EvoNexus usando Docker Compose. Acesse o wizard de configuração em http://localhost:8080. ```bash curl -O https://raw.githubusercontent.com/evolution-foundation/evo-nexus/main/docker-compose.hub.yml docker compose -f docker-compose.hub.yml up -d open http://localhost:8080 ``` -------------------------------- ### Practical Example 3: Python with API Access Token Source: https://docs.evolutionfoundation.com.br/api-reference/authentication A practical example in Python demonstrating how to create a client to make authenticated requests using an API Access Token. ```APIDOC ### Example 3: Python with API Access Token ```python import os import requests class EvoAIClient: def __init__(self, api_token, api_url): self.api_token = api_token self.api_url = api_url def request(self, method, endpoint, **kwargs): """Makes an authenticated request with API Access Token""" url = f"{self.api_url}{endpoint}" headers = kwargs.get('headers', {}) headers['api_access_token'] = self.api_token headers['Content-Type'] = 'application/json' kwargs['headers'] = headers response = requests.request(method, url, **kwargs) if response.status_code == 401: raise Exception('Invalid or missing token. Please check your API Access Token.') if response.status_code == 403: raise Exception('Permission denied to access this resource') response.raise_for_status() return response ``` -------------------------------- ### Update and Install AppArmor Utilities Source: https://docs.evolutionfoundation.com.br/evolution-api/install/docker Run this command on Hetzner servers to update package lists and install apparmor-utils. ```bash sudo apt-get update && apt-get install -y apparmor-utils ``` -------------------------------- ### Start Scheduler Source: https://docs.evolutionfoundation.com.br/evo-nexus/routines/overview Command to start the scheduler service, which runs core routines and custom routines defined in config/routines.yaml. ```bash make scheduler ``` -------------------------------- ### Build e Execução com Docker Source: https://docs.evolutionfoundation.com.br/evolution-go/installation Construa a imagem Docker do Evolution Go e execute o container. O serviço estará acessível em `http://localhost:8080`. ```bash # Build da imagem Docker make docker-build # Executar o container make docker-run ``` -------------------------------- ### Internal Server Error Example Source: https://docs.evolutionfoundation.com.br/evo-ai-crm/assign-conversation This example shows the structure of an error response for a 500 Internal Server Error. ```json { "success": false, "error": { "code": "INTERNAL_ERROR", "message": "An internal server error occurred" }, "meta": { "timestamp": "2024-01-15T10:30:00Z", "path": "/api/v1/conversations/{conversation_id}/assignments", "method": "POST" } } ``` -------------------------------- ### Verify NVM Installation Source: https://docs.evolutionfoundation.com.br/evolution-api/install/nvm Check if NVM has been installed correctly by verifying its command availability. This confirms NVM is accessible in your PATH. ```bash command -v nvm ``` -------------------------------- ### Python Authentication Example Source: https://docs.evolutionfoundation.com.br/api-reference/authentication Instantiate the EvoAI client with your API token and the correct API URL. Ensure the API_ACCESS_TOKEN is set in your environment variables. ```python client = EvoAIClient( api_token=os.getenv('API_ACCESS_TOKEN'), api_url='https://api.evoai.app/api/v1' ) # Fazer requisição response = client.request('GET', '/agents') print(response.json()) ``` -------------------------------- ### Instalação com Docker Compose Source: https://docs.evolutionfoundation.com.br/evolution-go/installation Utilize o Docker Compose para subir o Evolution Go e o PostgreSQL simultaneamente. Este método simplifica a orquestração de múltiplos contêineres. ```APIDOC ## Alternativa: Docker Compose Você também pode usar um `docker-compose.yml` para subir o Evolution Go junto com o PostgreSQL: ```yaml services: postgres: image: postgres:15 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: password ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data evolution-go: image: evoapicloud/evolution-go:latest ports: - "8080:8080" environment: SERVER_PORT: 8080 CLIENT_NAME: evolution GLOBAL_API_KEY: sua-chave-segura-aqui POSTGRES_AUTH_DB: postgresql://postgres:password@postgres:5432/evogo_auth?sslmode=disable POSTGRES_USERS_DB: postgresql://postgres:password@postgres:5432/evogo_users?sslmode=disable DATABASE_SAVE_MESSAGES: "false" WADEBUG: INFO LOGTYPE: console depends_on: - postgres restart: unless-stopped volumes: postgres_data: ``` Execute com: ```bash docker compose up -d ``` ``` -------------------------------- ### Install iMessage Plugin Source: https://docs.evolutionfoundation.com.br/evo-nexus/guides/channels.md Install the iMessage plugin for Claude Code. If the plugin is not found, update the plugin marketplace first. ```bash /plugin install imessage@claude-plugins-official ``` ```bash /plugin marketplace update claude-plugins-official ``` -------------------------------- ### Set Webhook - Not Found Response Example Source: https://docs.evolutionfoundation.com.br/evolution-api/set-webhook Example of a 'Not Found' response, indicating that the specified instance name does not exist. ```json { "success": false, "error": { "code": "NOT_FOUND", "message": "Instance not found" }, "meta": { "timestamp": "2024-01-15T10:30:00Z", "path": "/webhook/set/{instanceName}", "method": "POST" } } ``` -------------------------------- ### Set Webhook - Unauthorized Response Example Source: https://docs.evolutionfoundation.com.br/evolution-api/set-webhook Example of an 'Unauthorized' response, indicating an invalid or missing API key was provided. ```json { "success": false, "error": { "code": "UNAUTHORIZED", "message": "Invalid or missing API key" }, "meta": { "timestamp": "2024-01-15T10:30:00Z", "path": "/webhook/set/{instanceName}", "method": "POST" } } ``` -------------------------------- ### Build Docker Image Source: https://docs.evolutionfoundation.com.br/evolution-go/installation Use this command to build the Docker image for the Evolution Go application. ```bash make docker-build ``` -------------------------------- ### Set Webhook - Success Response Example Source: https://docs.evolutionfoundation.com.br/evolution-api/set-webhook Example of a successful response when configuring a webhook. Indicates that the webhook has been successfully set up. ```json { "success": true, "message": "Webhook configured successfully" } ``` -------------------------------- ### Example SKILL.md for fin-daily-pulse Source: https://docs.evolutionfoundation.com.br/evo-nexus/skills/overview This is an example of a `SKILL.md` file for the `fin-daily-pulse` skill. The `description` field is crucial for Claude to match user intent with the skill, listing its functionality and trigger phrases. ```yaml --- name: fin-daily-pulse description: "Pulso financeiro diário — consulta Stripe (MRR, cobranças, churn, falhas) e Omie (contas a pagar/receber, notas) para gerar um snapshot HTML da saúde financeira da empresa. Acione quando o usuário disser 'pulso financeiro', 'snapshot financeiro' ou 'métricas financeiras'." --- ``` -------------------------------- ### ISO 8601 Date Format Example Source: https://docs.evolutionfoundation.com.br/api-reference/introduction All APIs use the ISO 8601 format for dates. This is an example of the expected format. ```text 2026-01-26T10:30:00Z ```