├── .docker └── nginx.conf ├── .gitignore ├── Dockerfile ├── README.md ├── babel.config.js ├── blog ├── 2022-12-12-update-v1.16.0.md └── authors.yml ├── docs ├── 01-Get Started │ ├── Environment Variables.md │ ├── Installation │ │ ├── Docker.md │ │ ├── NVM.md │ │ └── _category_.json │ ├── Introduction.md │ ├── Optional resources │ │ ├── MongoDB.md │ │ ├── RabbitMQ.md │ │ ├── Redis.md │ │ ├── Websocket.md │ │ └── _category_.json │ ├── Release notes.md │ ├── Update.md │ ├── _category_.json │ └── _updates.js ├── 02-Configuration │ ├── Availiable rersources.md │ ├── Postman collection.md │ ├── Webhooks.md │ └── _category_.json ├── 03-Instance contoller │ ├── 00-create-instance.md │ ├── 01-instance-connect.md │ ├── 02-fetch-instances.md │ ├── 03-restart-instance.md │ ├── 04-connection-status.md │ ├── 05-logout-instance.md │ ├── 06-delete-instance.md │ └── _category_.json ├── 05-Endpoints │ ├── 00-send-plain-text.md │ ├── 01-send-reply-quote-text.md │ ├── 02-send-mention-text.md │ ├── 03-send-ghost-mention-text.md │ ├── 04-send-status_stories-text_url.md │ ├── 05-send-status-stories-image_video.md │ ├── 06-send-status_stories-audio.md │ ├── 07-send-image-media-url.md │ ├── 2022-12-12-update-v1.16.0.md │ └── _category_.json └── 06-Integrations │ ├── 00-set-chatwoot.md │ ├── 01-find-chatwoot.md │ └── _category_.json ├── docusaurus.config.js ├── i18n └── pt │ ├── code.json │ ├── docusaurus-plugin-content-blog │ └── options.json │ ├── docusaurus-plugin-content-docs │ ├── current.json │ └── current │ │ ├── 01-Get Started │ │ ├── Environment Variables.md │ │ ├── Installation │ │ │ ├── Docker.md │ │ │ ├── NVM.md │ │ │ └── _category_.json │ │ ├── Introduction.md │ │ ├── Optional resources │ │ │ ├── MongoDB.md │ │ │ ├── RabbitMQ.md │ │ │ ├── Redis.md │ │ │ ├── Websocket.md │ │ │ └── _category_.json │ │ ├── Release notes.md │ │ ├── Update.md │ │ └── _category_.json │ │ ├── 02-Configuration │ │ ├── 02-postman-variables.md │ │ ├── 06-available-resources.md │ │ ├── 07-webhooks.md │ │ └── _category_.json │ │ ├── 03-Instance contoller │ │ ├── 00-create-instance.md │ │ ├── 01-instance-connect.md │ │ ├── 02-fetch-instances.md │ │ ├── 03-restart-instance.md │ │ ├── 04-connection-status.md │ │ ├── 05-logout-instance.md │ │ ├── 06-delete-instance.md │ │ └── _category_.json │ │ ├── 04-Webhooks │ │ ├── 00-set-webhook.md │ │ ├── 01-find-webhook.md │ │ └── _category_.json │ │ ├── 05-Endpoints │ │ ├── 00-send-plain-text.md │ │ ├── 01-send-reply-quote-text.md │ │ ├── 02-send-mention-text.md │ │ ├── 03-send-ghost-mention-text.md │ │ ├── 04-send-status_stories-text_url.md │ │ ├── 05-send-status-stories-image_video.md │ │ ├── 06-send-status_stories-audio.md │ │ ├── 07-send-image-media-url.md │ │ └── _category_.json │ │ └── 06-Integrations │ │ ├── 00-set-chatwoot.md │ │ ├── 01-find-chatwoot.md │ │ └── _category_.json │ └── docusaurus-theme-classic │ ├── footer.json │ └── navbar.json ├── package.json ├── pnpm-lock.yaml ├── public ├── composes │ └── docker-compose.yaml └── images │ ├── 01-portainer.png │ ├── 02-portainer.png │ └── bmc_qr.png ├── sidebars.js ├── src ├── components │ ├── DocsLists │ │ ├── index.module.css │ │ └── index.tsx │ ├── UpdatesComponent.js │ └── UpdatesComponent.module.css ├── css │ └── custom.css ├── pages │ ├── index.module.css │ └── index.tsx └── theme │ └── SearchBar.js ├── static ├── .nojekyll └── img │ ├── bg-hero.svg │ ├── brand │ ├── png │ │ ├── icon-black.png │ │ ├── icon-default.png │ │ ├── icon-white.png │ │ ├── logo-horizontal-black.png │ │ ├── logo-horizontal-default.png │ │ ├── logo-horizontal-inverted.png │ │ ├── logo-horizontal-primary.png │ │ ├── logo-horizontal-white.png │ │ ├── logo-vertical-black.png │ │ ├── logo-vertical-default.png │ │ ├── logo-vertical-inverted.png │ │ ├── logo-vertical-primary.png │ │ └── logo-vertical-white.png │ └── svg │ │ ├── icon-black.svg │ │ ├── icon-default.svg │ │ ├── icon-white.svg │ │ ├── logo-horizontal-black.svg │ │ ├── logo-horizontal-default.svg │ │ ├── logo-horizontal-inverted.svg │ │ ├── logo-horizontal-primary.svg │ │ ├── logo-horizontal-white.svg │ │ ├── logo-vertical-black.svg │ │ ├── logo-vertical-default.svg │ │ ├── logo-vertical-inverted.svg │ │ ├── logo-vertical-primary.svg │ │ └── logo-vertical-white.svg │ ├── docusaurus-social-card.jpg │ ├── docusaurus.png │ ├── favicon.ico │ ├── logo.png │ ├── logo.svg │ ├── og-image.jpg │ ├── undraw_docusaurus_mountain.svg │ ├── undraw_docusaurus_react.svg │ └── undraw_docusaurus_tree.svg └── tsconfig.json /.docker/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | root /usr/share/nginx/html; 4 | index index.html; 5 | 6 | location / { 7 | try_files $uri /index.html; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | /yarn.lock 19 | /package-lock.json 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:20-alpine as build-deps 2 | WORKDIR /usr/src/app 3 | COPY package*.json ./ 4 | RUN yarn install -f 5 | 6 | ENV TZ=America/Sao_Paulo 7 | RUN apk update \ 8 | && apk upgrade \ 9 | && apk add --no-cache tzdata \ 10 | && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ 11 | && echo $TZ > /etc/timezone 12 | 13 | RUN date 14 | 15 | COPY . . 16 | RUN yarn build 17 | 18 | FROM nginx:alpine 19 | 20 | ENV PUBLIC_HTML=/usr/share/nginx/html 21 | 22 | RUN rm /etc/nginx/conf.d/default.conf 23 | 24 | COPY .docker/nginx.conf /etc/nginx/conf.d/ 25 | 26 | COPY --from=build-deps /usr/src/app/build ${PUBLIC_HTML} 27 | 28 | EXPOSE 80 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Evolution API Documentation 2 | 3 | ![Evolution API Documentation](/static/img/og-image.jpg?raw=true) 4 | 5 | This is the source code of website documentation for [Evolution API](https://evolution-api.com) for WhatsApp Business alternative API in Node JS. 6 | 7 | This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. 8 | 9 | ### Installation 10 | 11 | ```sh 12 | yarn 13 | ``` 14 | 15 | ### Local Development 16 | 17 | ```sh 18 | yarn start 19 | ``` 20 | 21 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 22 | 23 | ### Build 24 | 25 | ``` 26 | $ yarn build 27 | ``` 28 | 29 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 30 | 31 | ### Contribute 32 | 33 | Make a fork of this repo, start a new branch to mark you contrubuition code, commit to your remote fork and come here compose your great pull request... 34 | 35 | ...And, Welcome to the team! 🎉 36 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /blog/2022-12-12-update-v1.16.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: evolution-update-v1.6.0 3 | title: "Evolution API's v1.6.0 Update: Streamlining Customer Engagement with Advanced Integrations and Enhanced Features" 4 | authors: [matheus] 5 | tags: [updates] 6 | --- 7 | 8 | ## New times are comming to Evolution 9 | 10 | We are excited to announce the release of Evolution API v1.6.0. This update introduces a range of new features and enhancements, focusing on improving customer engagement and streamlining communication processes. Below is a detailed overview of what's new and what has been improved. 11 | 12 | ## It's Been a Busy Month 13 | 14 | The Evolution team has worked tirelessly over the past month to bring these significant updates to life. Our focus has been on enhancing the overall user experience while incorporating valuable feedback from our community. This version represents not just our commitment to technical excellence but also our dedication to adapting and evolving in response to our users' needs. 15 | 16 | Key areas of our work this month included: 17 | 18 | - **Integrating Cutting-Edge Technologies**: We've dedicated substantial efforts to integrate advanced technologies like AWS SQS and the new Typebot API, ensuring our platform remains at the forefront of innovation. 19 | - **Streamlining Communication Processes**: Understanding the importance of efficient communication, we've introduced new endpoints and features to make interactions smoother and more intuitive. 20 | - **Enhancing Stability and Reliability**: A significant portion of our work focused on addressing various bugs and enhancing the stability of our platform. These improvements are crucial for a seamless user experience. 21 | - **Expanding Functionalities in Chatwoot**: We've made considerable enhancements in Chatwoot, introducing new features and capabilities to enrich customer engagement. 22 | 23 | All these efforts are a testament to our team's hard work and commitment to providing the best possible solutions to our users. We're excited about these new changes and confident they will make a positive impact on your experience with Evolution API. 24 | 25 | ### New Features 26 | 27 | - **AWS SQS Integration**: Enhanced messaging capabilities with Amazon Simple Queue Service integration. 28 | - **Typebot API Support**: We now support the new Typebot API, offering more options for bot integration. 29 | - **New Endpoint 'sendPresence'**: A new endpoint for real-time presence updates. 30 | - **Instance Manager**: A tool for managing and monitoring your Evolution API instances more effectively with a built-in front-end in the api. 31 | - **Auto-create in Chatwoot**: Option to automatically create inboxes in Chatwoot, simplifying the setup process. 32 | - **Enhanced Chatwoot Features**: Added support for reply, delete, and message reactions in Chatwoot v3.3.1. 33 | 34 | ### Fixes and Improvements 35 | 36 | - **Proxy and Session Start Adjustments**: Improvements in proxy handling and session start for Typebot. 37 | - **Media Handling Enhancements**: Added a 'mimetype' field when sending media for better compatibility. 38 | - **Message Handling Improvements**: Adjustments in message upsert validations and enhanced error handling in Chatwoot. 39 | - **MongoDB and Webhook Updates**: Various fixes in MongoDB usage and improved webhook response times. 40 | - **Chatwoot Compatibility and Stability Fixes**: Numerous fixes to enhance the stability and compatibility of Chatwoot, including QR code generation and CSAT issues. 41 | 42 | ## Conclusion 43 | 44 | The v1.6.0 update is a significant step forward in our ongoing efforts to provide a robust and efficient API for customer engagement. We believe these improvements and new features will greatly enhance your experience and capabilities in managing customer interactions. 45 | 46 | For any queries or support, feel free to reach out to our team. We are always here to help! 47 | 48 | --- 49 | 50 | #### Keep the project alive 51 | 52 | We appreciate any support you can provide to keep our project thriving. If you would like to make a contribution, you can do so through our "Buy Me a Coffee" page. Simply click on the QR code below, and it will take you to our donation page. 53 | 54 |
55 | 56 | 57 | 58 |
59 | 60 | Your support helps us continue developing and maintaining the Evolution API. Thank you for considering a donation! 61 | 62 | Also, don't forget that you can contribute to our project on GitHub. Check out our repository: [Evolution API on GitHub](https://github.com/EvolutionAPI/evolution-api). Whether it's code contributions, feature suggestions, or bug reports, every bit of help counts! 63 | 64 | Stay tuned for more updates and enhancements in the future! 65 | -------------------------------------------------------------------------------- /blog/authors.yml: -------------------------------------------------------------------------------- 1 | adson: 2 | name: Adson Cicilioti 3 | title: Marketer and Dev Enthusiast 4 | url: https://github.com/AdsonCicilioti 5 | image_url: https://avatars.githubusercontent.com/u/6278398?v=4 6 | 7 | matheus: 8 | name: Matheus Maiberg 9 | title: Growth Hacking Specialist 10 | url: https://groufy.com.br 11 | image_url: https://avatars.githubusercontent.com/u/119268809?v=4 12 | -------------------------------------------------------------------------------- /docs/01-Get Started/Environment Variables.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: variables 3 | title: Environment variables 4 | hide_title: false 5 | hide_table_of_contents: false 6 | sidebar_label: Environment variables 7 | sidebar_position: 6 8 | pagination_label: Variables 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Variables configuration 11 | # image: https://i.imgur.com/mErPwqL.png 12 | slug: /variables 13 | last_update: 14 | date: 12/12/2023 15 | author: matheus 16 | keywords: 17 | - Environment 18 | - Variables 19 | - Configuration 20 | --- 21 | 22 | ```bash 23 | # Server URL - Set your application url 24 | 25 | SERVER_URL=API-DOMAIN 26 | 27 | # Cors - \* for all or set separate by commas - ex.: 'yourdomain1.com, yourdomain2.com' 28 | 29 | CORS_ORIGIN=\* 30 | CORS_METHODS=POST,GET,PUT,DELETE 31 | CORS_CREDENTIALS=true 32 | 33 | # Determine the logs to be displayed 34 | 35 | LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS 36 | LOG_COLOR=true 37 | 38 | # Log Baileys - "fatal" | "error" | "warn" | "info" | "debug" | "trace" 39 | 40 | LOG_BAILEYS=error 41 | 42 | # Determine how long the instance should be deleted from memory in case of no connection. 43 | 44 | # Default time: 5 minutes 45 | 46 | # If you don't even want an expiration, enter the value false 47 | 48 | DEL_INSTANCE=false 49 | 50 | # Temporary data storage 51 | 52 | STORE_MESSAGES=true 53 | STORE_MESSAGE_UP=true 54 | STORE_CONTACTS=true 55 | STORE_CHATS=true 56 | 57 | # Set Store Interval in Seconds (7200 = 2h) 58 | 59 | CLEAN_STORE_CLEANING_INTERVAL=7200 60 | CLEAN_STORE_MESSAGES=true 61 | CLEAN_STORE_MESSAGE_UP=true 62 | CLEAN_STORE_CONTACTS=true 63 | CLEAN_STORE_CHATS=true 64 | 65 | # Permanent data storage 66 | 67 | DATABASE_ENABLED=false 68 | DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true 69 | DATABASE_CONNECTION_DB_PREFIX_NAME=evdocker 70 | 71 | # Choose the data you want to save in the application's database or store 72 | 73 | DATABASE_SAVE_DATA_INSTANCE=false 74 | DATABASE_SAVE_DATA_NEW_MESSAGE=false 75 | DATABASE_SAVE_MESSAGE_UPDATE=false 76 | DATABASE_SAVE_DATA_CONTACTS=false 77 | DATABASE_SAVE_DATA_CHATS=false 78 | 79 | REDIS_ENABLED=false 80 | REDIS_URI=redis://redis:6379 81 | REDIS_PREFIX_KEY=evdocker 82 | 83 | RABBITMQ_ENABLED=false 84 | RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672 85 | 86 | WEBSOCKET_ENABLED=false 87 | 88 | # Global Webhook Settings 89 | 90 | # Each instance's Webhook URL and events will be requested at the time it is created 91 | 92 | ## Define a global webhook that will listen for enabled events from all instances 93 | 94 | WEBHOOK_GLOBAL_URL= 95 | WEBHOOK_GLOBAL_ENABLED=false 96 | 97 | # With this option activated, you work with a url per webhook event, respecting the global url and the name of each event 98 | 99 | WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false 100 | 101 | ## Set the events you want to hear 102 | 103 | WEBHOOK_EVENTS_APPLICATION_STARTUP=false 104 | WEBHOOK_EVENTS_QRCODE_UPDATED=true 105 | WEBHOOK_EVENTS_MESSAGES_SET=true 106 | WEBHOOK_EVENTS_MESSAGES_UPSERT=true 107 | WEBHOOK_EVENTS_MESSAGES_UPDATE=true 108 | WEBHOOK_EVENTS_MESSAGES_DELETE=true 109 | WEBHOOK_EVENTS_SEND_MESSAGE=true 110 | WEBHOOK_EVENTS_CONTACTS_SET=true 111 | WEBHOOK_EVENTS_CONTACTS_UPSERT=true 112 | WEBHOOK_EVENTS_CONTACTS_UPDATE=true 113 | WEBHOOK_EVENTS_PRESENCE_UPDATE=true 114 | WEBHOOK_EVENTS_CHATS_SET=true 115 | WEBHOOK_EVENTS_CHATS_UPSERT=true 116 | WEBHOOK_EVENTS_CHATS_UPDATE=true 117 | WEBHOOK_EVENTS_CHATS_DELETE=true 118 | WEBHOOK_EVENTS_GROUPS_UPSERT=true 119 | WEBHOOK_EVENTS_GROUPS_UPDATE=true 120 | WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true 121 | WEBHOOK_EVENTS_CONNECTION_UPDATE=true 122 | WEBHOOK_EVENTS_CALL=true 123 | 124 | # This event fires every time a new token is requested via the refresh route 125 | 126 | WEBHOOK_EVENTS_NEW_JWT_TOKEN=false 127 | 128 | # Name that will be displayed on smartphone connection 129 | 130 | CONFIG_SESSION_PHONE_CLIENT=Evolution API 131 | 132 | # Browser Name = chrome | firefox | edge | opera | safari 133 | 134 | CONFIG_SESSION_PHONE_NAME=chrome 135 | 136 | # Set qrcode display limit 137 | 138 | QRCODE_LIMIT=30 139 | QRCODE_COLOR=#198754 140 | 141 | # Defines an authentication type for the api 142 | 143 | # We recommend using the apikey because it will allow you to use a custom token, 144 | 145 | # if you use jwt, a random token will be generated and may be expired and you will have to generate a new token 146 | 147 | # jwt or 'apikey' 148 | 149 | AUTHENTICATION_TYPE=apikey 150 | 151 | ## Define a global apikey to access all instances. 152 | 153 | ### OBS: This key must be inserted in the request header to create an instance. 154 | 155 | AUTHENTICATION_API_KEY=GLOBAL-API-KEY 156 | AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true 157 | 158 | ## Set the secret key to encrypt and decrypt your token and its expiration time 159 | 160 | # seconds - 3600s ===1h | zero (0) - never expires 161 | 162 | AUTHENTICATION_JWT_EXPIRIN_IN=0 163 | AUTHENTICATION_JWT_SECRET='L=0YWt]b2w[WF>#>:&E`' 164 | ``` 165 | -------------------------------------------------------------------------------- /docs/01-Get Started/Installation/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 2, 3 | "label": "Installation", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "Installation", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Installation" 10 | }, 11 | "customProps": { 12 | "description": "Self-host Evolution in your own environment." 13 | } 14 | } -------------------------------------------------------------------------------- /docs/01-Get Started/Introduction.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: introduction 3 | title: Introduction 4 | hide_title: false 5 | hide_table_of_contents: false 6 | sidebar_label: Introduction 7 | sidebar_position: 1 8 | pagination_label: Introduction 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Start exploring Evolution API 11 | # image: https://i.imgur.com/mErPwqL.png 12 | slug: /introduction 13 | last_update: 14 | date: 12/12/2023 15 | author: matheus 16 | keywords: 17 | - Introduction 18 | --- 19 | 20 | This is a **COMPLETELY FREE** project, aiming to support small shopkeepers, entrepreneurs, self-employed professionals, and people with limited purchasing power. The goal is to enhance local or digital businesses with a WhatsApp™ messaging solution via API. 21 | 22 | ## Domain 23 | 24 | All requests should use the domain or the IP of your Evolution API instance. 25 | 26 | For most users is recommended using a subdomain to keep the main domain free for your dashboards or website. 27 | 28 | ```plaintext 29 | 30 | http://localhost:8080/ 31 | 32 | 33 | http://123.123.12.123:8080/ 34 | 35 | 36 | https://api.yoursite.com/ 37 | ``` 38 | 39 | Every call has an an endpoint that is the final part of your url, every action like `send a message` or `fetch an instance` has an different endpoint. 40 | 41 | ## RESTful methods 42 | 43 | Evolution API supports various RESTful methods to interact with your data, providing a flexible way to handle different types of requests. The primary methods used are POST, GET, and DELETE. 44 | 45 | #### POST Method 46 | 47 | The POST method is used to create new data on the server. In the context of the Evolution API, it's typically used to create new entries or send data to the server. 48 | 49 | Example usage with Evolution API: 50 | 51 | ```rest 52 | POST /your-endpoint 53 | ``` 54 | 55 | #### GET Method 56 | 57 | The GET method retrieves data from the server. It's used for fetching records or data sets from your Evolution API instance. 58 | 59 | Example usage with Evolution API: 60 | 61 | ```rest 62 | GET /your-endpoint 63 | ``` 64 | 65 | #### DELETE Method 66 | 67 | The DELETE method is used to remove data from the server. This method allows you to delete specific entries or data from your Evolution API instance. 68 | 69 | Example usage with Evolution API: 70 | 71 | ```rest 72 | DELETE /your-endpoint 73 | ``` 74 | 75 | ## Authentication 76 | 77 | To consume our API REST is necessary to include the `apikey` in the headers, this is the api key that authenticate the calls and secure your api to keep malicious people of using your WhatsApp api. 78 | 79 | Every request has to send the `apikey` in the headers of the request. 80 | 81 | If you don send the parameter or in the case of an invalid `apikey` the response of the request will be and HTTP STATUS 401 like this: 82 | 83 | ```json showLineNumbers 84 | { 85 | "status": 401, 86 | "error": "Unauthorized", 87 | "response": { 88 | "message": "Unauthorized" 89 | } 90 | } 91 | ``` 92 | 93 | ### Request response status 94 | 95 | It is always prudent that you evaluate the response code for a call made to the Evolution API. By default, we follow the HTTP specification. You can refer to this link to understand the returned codes. 96 | 97 | In summary, some of the codes you will find in the vast majority of API calls are: 98 | 99 | #### 200 OK 100 | 101 | Indicates that the call was successful 102 | 103 | #### 401 Unauthorized 104 | 105 | Check your API token if it is being sent in the header as described here. Also check that it is an API v2 token, as tokens issued only for API v1 do not work in this version. 106 | 107 | #### 422 Unprocessable Entity 108 | 109 | We are unable to process the entity sent in your request. Check the endpoint documentation and response body to understand the errors that are causing it. 110 | 111 | #### 429 Too Many Requests 112 | 113 | Your requests are not being accepted due to the Request Limit. 114 | 115 | #### 500 Internal Server Error 116 | 117 | Some error has occurred within our system. Contact our team specifying the code of your request that is in the headers of your response so that we can understand the problem and provide a solution. 118 | 119 | ## Content-Type of requests 120 | 121 | API data submission and collection is done using json. 122 | 123 | So in both your request and response, the content-type will always be application/json. 124 | 125 | ## Objective 126 | 127 | The content of this documentation is designed to be easy to understand and implement, even for users who are not familiar with technical procedures or systems. Efforts have been made to be as didactic as possible, anticipating potential errors and suggesting likely solutions. 128 | 129 | ## Community Support 130 | 131 | For any inquiries, join our dedicated Discord Channel for individuals interested in Evolution-API. Visit [Evolution-API Discord](https://evolution-api.com/discord) for support and community discussions. 132 | 133 | ## Important Recommendations 134 | 135 | Before starting the installation, **please read all recommendation before installation**: 136 | 137 | 1. This script is based on the **DEBIAN distribution, version 11 LTS 64bits**. 138 | 2. Tests were not conducted on other distributions, versions, or VPSs other than Hetzner. 139 | 3. A clean VPS was used for testing, without any other apps or services installed, to avoid conflicts unrelated to the Evolution API. 140 | 4. **Local installation is not recommended**, regardless of the operating system. 141 | 5. **Avoid installations without using a reverse proxy**. Direct access through IP + Port (e.g., `http://0.0.0.0:8080`) is discouraged. 142 | 6. While some users have successfully installed in various scenarios (other providers, local installation, Windows installation, usage and access without reverse proxy), these may require additional steps like port forwarding, additional apps, or specific settings not covered in this tutorial. 143 | 7. Any installation method deviating from this tutorial is **AT THE USER'S OWN DISCRETION AND RESPONSIBILITY**. 144 | 145 | ### License 146 | 147 | This application is protected under the **GNU V3 Use License**. 148 | 149 | ## Overview 150 | 151 | - The GNU User License V3 ensures that this application is distributed under the terms of the GNU General Public License Version 3. 152 | - This means you have the rights to use, modify, and distribute this application under the terms outlined in the license. 153 | - The GNU V3 Use License promotes the freedom to share and change software, ensuring user access to the source code and the right to exercise their rights. 154 | 155 | **Please read the [GNU General Public License Version 3](https://www.gnu.org/licenses/gpl-3.0.html) carefully to understand your rights and obligations when using this application.** 156 | -------------------------------------------------------------------------------- /docs/01-Get Started/Optional resources/MongoDB.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: mongodb 3 | title: MongoDB 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: MongoDB 7 | sidebar_position: 1 8 | pagination_label: MongoDB 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Setup an MongoBD database in your environment with Evolution API. 11 | keywords: 12 | - Optional Resources 13 | - MongoDB 14 | - Database 15 | # image: https://i.imgur.com/mErPwqL.png 16 | slug: /mongodb 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Setup a MongoDB database 23 | 24 | MongoDB, a NoSQL database, is known for high performance and scalability. It's ideal for handling large data volumes in the Evolution API. 25 | 26 | Set the MongoDB environment variables in the `.env` for Docker or the `dev-env.yml` for NPM file as follows: 27 | 28 | ```yaml title=".env or dev-env.yml" showLineNumbers 29 | # Set to true to enable MongoDB. 30 | DATABASE_ENABLED=true 31 | # Your MongoDB connection string. 32 | DATABASE_CONNECTION_URI=mongodb://user:password@database_URL/?authSource=admin&readPreference=primary&ssl=false&directConnection=true 33 | # Prefix for your database name. 34 | DATABASE_CONNECTION_DB_PREFIX_NAME=evo 35 | ``` 36 | 37 | ## Data migration 38 | 39 | Switching from local storage to MongoDB will not automatically transfer your WhatsApp instances that are currently synchronized with the original local storage. 40 | 41 | :::tip Beta: Data Migration 42 | 43 | Make sure that you already have an MongoDB instance running with a database created. 44 | 45 | ::: 46 | 47 | ## Migrate your data in NPM or NVM 48 | 49 | Stop the PM2 execution: 50 | 51 | **Flush and Stop**: Clears all logs from PM2, useful for troubleshooting after the update and temporarily stops the Evolution API to safely apply updates. 52 | 53 | ```bash title="CLI" 54 | # Clear all PM2 logs 55 | pm2 flush 56 | 57 | # Stop the current Evolution API process 58 | pm2 stop ApiEvolution 59 | ``` 60 | 61 | **Evolution API directory**: access your directory installation with the following command: 62 | 63 | ```bash 64 | cd evolution-api 65 | ``` 66 | 67 | **Migrate command**: Run the migration command in the installation directory: 68 | 69 | ```bash title="/evolution-api/" 70 | npx evolution-manager api migrate-to-mongo 71 | ``` 72 | 73 | Follow the script steps and migrate specific WhatsApp instances or all your instances. 74 | -------------------------------------------------------------------------------- /docs/01-Get Started/Optional resources/Redis.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: redis 3 | title: Redis 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: Redis 7 | sidebar_position: 4 8 | pagination_label: Redis 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Setup an Redis in your environment with Evolution API. 11 | keywords: 12 | - Optional Resources 13 | - Redis 14 | - Database 15 | # image: https://i.imgur.com/mErPwqL.png 16 | # slug: /myDoc 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Setup Redis Cache 23 | 24 | :::warning Deprecation of Redis 25 | 26 | Redis will be deprecated in future versions of Evolution API, we do not recommend Redis installation anymore. 27 | 28 | ::: 29 | 30 | Redis is an in-memory data structure store, used as a database, cache, and message broker. It supports data structures such as strings, hashes, lists, sets, and more. Incorporating Redis can significantly improve the performance of Evolution API by enabling faster data access and efficient caching. 31 | 32 | Set the Redis environment variables in the `.env` for Docker or the `dev-env.yml` for NPM file as follows: 33 | 34 | ```yaml title=".env or dev-env.yml" showLineNumbers 35 | # Set to true to enable Redis. 36 | REDIS_ENABLED=false 37 | # Your Redis server URI. 38 | REDIS_URI=redis://redis:6379 39 | # Prefix key for Redis data. 40 | REDIS_PREFIX_KEY=evo 41 | ``` 42 | -------------------------------------------------------------------------------- /docs/01-Get Started/Optional resources/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 3, 3 | "label": "Optional resources", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "Resources", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Optional resources" 10 | }, 11 | "customProps": { 12 | "description": "Resources that can be useful in your environment to extend Evolution functionalities." 13 | } 14 | } -------------------------------------------------------------------------------- /docs/01-Get Started/Release notes.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: release-notes 3 | title: Release notes 4 | hide_title: false 5 | hide_table_of_contents: false 6 | sidebar_label: Release notes 7 | sidebar_position: 7 8 | pagination_label: Releases 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Latest releases of Evolution API 11 | # image: https://i.imgur.com/mErPwqL.png 12 | slug: /release-notes 13 | last_update: 14 | date: 12/12/2023 15 | author: matheus 16 | keywords: 17 | - Updates 18 | - Releases 19 | - Versions 20 | --- 21 | 22 | New features and bug fixes for Evolution API. 23 | 24 | You can also view the Releases in the [GitHub repository](https://github.com/EvolutionAPI/evolution-api/releases). 25 | 26 | ## How to update Evolution API 27 | 28 | The steps to update your Evolution depend on which platform you use. Refer to the documentation for your Evolution: 29 | 30 | - Upgrade & Update 31 | 32 | - [Docker](/docs/01-Get%20Started/Update.md/#update-with-docker-cli) 33 | 34 | - [Portainer](/docs/01-Get%20Started/Update.md/#update-with-portainer) 35 | 36 | - [NPM](/docs/01-Get%20Started/Update.md/#update-with-npm) 37 | 38 | ## Tags 39 | 40 | ### Docker 41 | 42 | There is two main tags used in Docker, `latest` and `homolog`. 43 | 44 | - **Latest**: this image contains the most stable version, recommended in most cases. 45 | - **Homolog**: test and feature implementation, also referred as next version. This version may be not stable and is not recommended for production environments. 46 | 47 | ### Github 48 | 49 | There is two main branches/tags used in github, `main` and `homolog`. 50 | 51 | - **main**: most stable version, recommended in most cases. 52 | - **Homolog**: Test and feature implementation, also referred as next version. This version may be not stable and is not recommended for production environments. 53 | 54 | ## Versions nomenclature 55 | 56 | Evolution uses semantic versioning. All version numbers are in the format MAJOR.MINOR.PATCH. Version numbers increment as follows: 57 | 58 | - **Major** version when making incompatible changes which potentially require user action. 59 | - **Minor** version when adding functionality in a backward-compatible manner. 60 | - **Patch** version when making backward-compatible bug fixes. 61 | 62 | :::info 63 | 64 | This is the `latest` version, the most stable as of right now. We recommend uses of the `latest` version instead of `homolog` for stability reasons. 65 | 66 | ::: 67 | 68 | import UpdatesComponent from '@site/src/components/UpdatesComponent'; 69 | 70 | 71 | -------------------------------------------------------------------------------- /docs/01-Get Started/Update.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: Updates 3 | title: Updates 4 | hide_title: false 5 | hide_table_of_contents: false 6 | sidebar_label: Updates 7 | sidebar_position: 8 8 | pagination_label: Updates 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Update your Evolution API instances 11 | # image: https://i.imgur.com/mErPwqL.png 12 | slug: /update 13 | last_update: 14 | date: 12/12/2023 15 | author: matheus 16 | keywords: 17 | - Updates 18 | --- 19 | 20 | Keeping your Evolution API instance up-to-date is crucial for security, performance, and accessing new features. The update method depends on how you initially installed the API. This guide covers the steps for updating your Evolution API using Docker Compose and NPM. 21 | 22 | :::warning 23 | 24 | Before updating Evolution make sure that all the integrated apps are really working with Evolution, update at your own risk. 25 | 26 | ::: 27 | 28 | ## Update with Docker 29 | 30 | If you initially set up your Evolution API using Docker, follow these steps to update: 31 | 32 | ### Update with Docker CLI 33 | 34 | If your Evolution API was initially installed using Docker Compose via the command line interface (CLI), and not through Portainer or any other container management tool, follow these steps to update it: 35 | 36 | 1. **Navigate to Docker Compose Directory**: Open a terminal and go to the directory where your Docker Compose file (`docker-compose.yml`) is located. 37 | 38 | 2. **Pull the Latest Image**: Update the Evolution API image to the latest version by running the following command: 39 | 40 | ```bash title="CLI" 41 | docker-compose pull atendai/evolution-api:latest 42 | ``` 43 | 44 | 3. **Stop and Restart the Containers**: After pulling the latest image, stop the current containers and restart them. This can be done using the following command: 45 | 46 | ```bash title="CLI" 47 | docker-compose down && docker-compose up -d 48 | 49 | ``` 50 | 51 | ## Update with Portainer 52 | 53 | If you're using Portainer for container management, follow these steps to update your Evolution API: 54 | 55 | 1. **Access Portainer Dashboard**: Open your Portainer dashboard in a web browser. 56 | 57 | 2. **Navigate to Your Containers**: Go to the 'Stacks' section where your Evolution API container is listed. 58 | 59 | 60 | 61 | 3. **Update the Compose**: 62 | - Locate the `image` field in your Docker Compose configuration. 63 | 64 | ```yaml title="https://portainer.yourdomain.com/#!/1/docker/stacks/evolution" showLineNumbers 65 | # ... (other services and configurations) 66 | 67 | evolution_api: 68 | # Update the Evolution API image version here 69 | # Use 'atendai/evolution-api:latest' for the latest version 70 | # Or specify a specific version like 'atendai/evolutionapi:v1.6.0' 71 | # highlight-next-line 72 | image: atendai/evolution-api:v1.x.x 73 | networks: 74 | - your_network 75 | 76 | # ... (rest of the Docker Compose configuration) 77 | ``` 78 | 79 | - Update the value to `atendai/evolution-api:latest` for the latest version, or use `atendai/evolutionapi:v1.x.x` for a specific version. 80 | - After making the changes, click the 'Deploy' button at the end of the edit compose window. 81 | 82 | 83 | 84 | 4. **Verify the Update**: After recreating the container, check to ensure Evolution API is running the latest version. This can typically be verified through the API's version endpoint or logs. 85 | 86 | :::note Production Environment Recommendation 87 | For production environments, it's advisable to specify a particular version of the Evolution API (e.g., `atendai/evolution-api:v1.x.x`) rather than using `latest`. 88 | 89 | This practice ensures stability and predictability, as it protects your production environment from potential issues arising from unexpected changes in the latest version. 90 | ::: 91 | 92 | By following these steps, you can ensure your Evolution API is always up to date using Portainer. 93 | 94 | ## Update with NPM 95 | 96 | Updating your Evolution API installation via NPM involves several steps to ensure a smooth transition to the new version. Here's a step-by-step guide: 97 | 98 | 1. **Flush and Stop**: Clears all logs from PM2, useful for troubleshooting after the update and temporarily stops the Evolution API to safely apply updates. 99 | 100 | ```bash title="CLI" 101 | # Clear all PM2 logs 102 | pm2 flush 103 | 104 | # Stop the current Evolution API process 105 | pm2 stop ApiEvolution 106 | ``` 107 | 108 | 2. **Reset local repository and pull the latest updates**: Ensures your local codebase is in sync with the latest commit and downloads the latest updates from the repository. Optionally, switch to a specific version if not using the latest. It's recommended for production environments. 109 | 110 | ```bash title="CLI" 111 | # Reset your local repository to the latest commit 112 | git reset --hard HEAD 113 | 114 | # Pull the latest updates from the repository 115 | git pull 116 | 117 | # For a specific version, use either 'git checkout main' for the latest, 118 | # or 'git checkout 1.x.x' for a specific version. Example: 119 | # highlight-next-line 120 | git checkout 1.x.x 121 | ``` 122 | 123 | 3. **Clean Installation**: Removes existing `node_modules` to prevent potential conflicts with new dependencies and installs the required Node.js dependencies for the updated version. 124 | 125 | 126 | ```bash title="CLI" 127 | # Remove the current node_modules directory to ensure clean installation 128 | rm -rf node_modules 129 | 130 | # Install dependencies with NPM 131 | npm i 132 | 133 | # Restart the Evolution API with the updated version 134 | pm2 start ApiEvolution 135 | 136 | # Optionally, view the PM2 logs for the Evolution API 137 | pm2 log ApiEvolution 138 | ``` 139 | -------------------------------------------------------------------------------- /docs/01-Get Started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 1, 3 | "label": "Get Started", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "get-started", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Get Started" 10 | }, 11 | "customProps": { 12 | "description": "Start exploring EvolutionAPI" 13 | } 14 | } -------------------------------------------------------------------------------- /docs/01-Get Started/_updates.js: -------------------------------------------------------------------------------- 1 | export const updates = [ 2 | { 3 | version: "1.7.0", 4 | description: "Added support to oficial WhatsApp integration, new update message endpoint, labels and more.", 5 | releaseDate: "2024-03-11", 6 | features: [ 7 | "Added update message endpoint", 8 | "Add translate capabilities to QRMessages in CW", 9 | "Join in Group by Invite Code", 10 | "Read messages from whatsapp in chatwoot", 11 | "Add support to use use redis in cacheservice", 12 | "Add support for labels", 13 | "Command to clearcache from chatwoot inbox", 14 | "Whatsapp Cloud API Oficial support", 15 | ], 16 | fixes: [ 17 | "Proxy configuration improvements", 18 | "Correction in sending lists", 19 | "Adjust in webhook_base64", 20 | "Correction in typebot text formatting", 21 | "Correction in chatwoot text formatting and render list message", 22 | "Only use a axios request to get file mimetype if necessary", 23 | "When possible use the original file extension", 24 | "When receiving a file from whatsapp, use the original filename in chatwoot if possible", 25 | "Remove message ids cache in chatwoot to use chatwoot's api itself", 26 | "Adjusts the quoted message, now has contextInfo in the message Raw", 27 | "Collecting responses with text or numbers in Typebot", 28 | "Added sendList endpoint to swagger documentation", 29 | "Implemented a function to synchronize message deletions on WhatsApp, automatically reflecting in Chatwoot.", 30 | "Improvement on numbers validation", 31 | "Fix polls in message sending", 32 | "Sending status message", 33 | "Message 'connection successfully' spamming", 34 | "Invalidate the conversation cache if reopen_conversation is false and the conversation was resolved", 35 | "Fix looping when deleting a message in chatwoot", 36 | "When receiving a file from whatsapp, use the original filename in chatwoot if possible", 37 | "Correction in the sendList Function", 38 | "Implement contact upsert in messaging-history.set", 39 | "Improve proxy error handling", 40 | "Refactor fetching participants for group in WhatsApp service", 41 | "Fixed problem where the typebot final keyword did not work", 42 | "Typebot's wait now pauses the flow and composing is defined by the delay_message parameter in set typebot", 43 | "Composing over 20s now loops until finished" 44 | ], 45 | integrations: [ 46 | "Chatwoot: v3.5.2", 47 | "Typebot: v2.23.0" 48 | ], 49 | commits: "", 50 | }, 51 | { 52 | version: "1.6.1", 53 | description: "This is a minor fix update. Version 1.6.1 introduces fixes for message handling, Typebot integration, media sharing, text formatting in Chatwoot, and instance management. It also adds customization options and resolves reconnection issues with MongoDB.", 54 | releaseDate: "2023-12-15", 55 | features: [ 56 | "Added AWS SQS Integration", 57 | "Added support for new typebot API", 58 | "Added endpoint sendPresence", 59 | "New Instance Manager", 60 | "Added auto_create to the chatwoot set to create the inbox automatically or not", 61 | "Added reply, delete and message reaction in chatwoot v3.3.1" 62 | ], 63 | fixes: [ 64 | "Fixed Lid Messages", 65 | "Fixed the pairing code", 66 | "Adjusts in typebot", 67 | "Fixed sending variables to typebot", 68 | "Fixed sending variables from typebot", 69 | "Options to disable docs and manager", 70 | "Correction sending s3/minio media to chatwoot and typebot", 71 | "Fixed chatwoot Bold, Italic and Underline formatting using Regex", 72 | "Include instance Id field in the instance configuration", 73 | "Fix the problem when disconnecting the instance and connecting again using mongodb", 74 | "Fixed the problem with typebot closing at the end of the flow, now this is optional with the TYPEBOT_KEEP_OPEN variable", 75 | "Added the sign_delimiter property to the Chatwoot configuration, allowing you to set a different delimiter for the signature. Default when not defined \n", 76 | ], 77 | integrations: [ 78 | "Chatwoot: v3.3.1", 79 | "Typebot: v2.20.0" 80 | ], 81 | commits: "", 82 | }, { 83 | version: "1.6.0", 84 | description: "New Instance manager available on endpoint /manager and support for reply messages in Chatwoot, better error handling and more...", 85 | releaseDate: "2023-10-12", 86 | features: [ 87 | "Adjusting function cleaningStoreFiles to remove itens from missing…", 88 | "Handle optional chaining for 'settings.msg_call', this change prevent…", 89 | "Handle erros in Typebot", 90 | "Add session creation for typebot service", 91 | "Add sendPresence", 92 | "Add Manager", 93 | ], 94 | fixes: [ 95 | "Removed await from webhook when sending a message", 96 | "messages not received: error handling when updating contact", 97 | "workaround to manage param data as an array in mongodb", 98 | "chatwoot find", 99 | "only create if is paused", 100 | "size of group participants", 101 | ], 102 | integrations: [ 103 | "Chatwoot: v3.3.1", 104 | "Typebot: v2.19.0" 105 | ], 106 | commits: "", 107 | }, 108 | { 109 | version: "1.5.4", 110 | description: "Baileys logger typing issue resolved and resolved duplicated messages problems in Chatwoot", 111 | releaseDate: "2023-10-12", 112 | features: [ 113 | 114 | ], 115 | fixes: [ 116 | 117 | ], 118 | integrations: [ 119 | 120 | ], 121 | commits: "", 122 | } 123 | ] 124 | 125 | -------------------------------------------------------------------------------- /docs/02-Configuration/Availiable rersources.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | description: Available resources that Evolution API covers at now. 4 | --- 5 | 6 | # Available Resources 7 | 8 | ## MESSAGING & GROUP FEATURES 9 | 10 | ### Messages (Individual or Group) 11 | 12 | 13 | | Feature | Availability | Description | 14 | |-:|:-:|-| 15 | | Send Text | ✅ | (Plain, bold, italic, strikethrough, monospaced text and emojis) | 16 | | Send Media | ✅ | (Vídeo, image and document) | 17 | | Send Narrated Audio | ✅ | (Working fine in Android and iOS) | 18 | | Send Location | ✅ | (With name and description of the place) | 19 | | Send Contact | ✅ | (With Name, Company, Phone, Email and Url) | 20 | | Send Reaction | ✅ | (Send any emoji for reaction) | 21 | | Send Link Preview | ✅ | (Searching for SEO information) 🆕 | 22 | | Send Reply | ✅ | (Mark messages in reply) 🆕 | 23 | | Send Mention | ✅ | (Individual, some or all members) 🆕 | 24 | | Send Poll Message | ✅ | (Send and receive votes from a poll) 🆕 | 25 | | Send Status/Storie | ✅ | (Text, linkpreview, vídeo, image and waveform) 🆕 | 26 | | Send Sticker | ✅ | (Static Image) 🆕 | 27 | | Send List (Homolog) | ✅ | (Testing) | 28 | | Send Buttons (Deprecated) | ❌ | (Only works on Cloud API) | 29 | 30 | ### Profile 31 | 32 | | Feature | Availability | Description | 33 | | -----------------: | :----------: | ----------------------------------------- | 34 | | Update Name | ✅ | (Change the connected profile name) | 35 | | Update Picture | ✅ | (Change the connected profile picture) 🆕 | 36 | | Update Status | ✅ | (Change the connected profile status) 🆕 | 37 | | And many others... | | | 38 | 39 | ### Group 40 | 41 | | Feature | Availability | Description | 42 | | -----------------: | :----------: | -------------------------------------- | 43 | | Create Group | ✅ | (New groups) | 44 | | Update Picture | ✅ | (Change group picture) | 45 | | Update Subject | ✅ | (Change group name) 🆕 | 46 | | Update Description | ✅ | (Change group description) 🆕 | 47 | | Fetch All Groups | ✅ | (Fetch all groups and participants) 🆕 | 48 | | And many others... | | | 49 | -------------------------------------------------------------------------------- /docs/02-Configuration/Postman collection.md: -------------------------------------------------------------------------------- 1 | # Postman Variables 2 | 3 | All Evolution API events are updated first on postman. 4 | 5 | :::info 6 | Check out all available Rest API endpoints from EvolutionAPI: 7 | [Postman/EvolutionAPI](https://www.postman.com/agenciadgcode/workspace/evolution-api/overview) 8 | 9 | ::: 10 | -------------------------------------------------------------------------------- /docs/02-Configuration/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Configuration" 3 | } -------------------------------------------------------------------------------- /docs/03-Instance contoller/01-instance-connect.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Instance Connect 6 | 7 | | Method | Endpoint | 8 | | ------ | ----------------------------------------- | 9 | | GET | [baseUrl]/instance/connect[instance] | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | { 21 | "code": "[code]", 22 | "base64": "[base64] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/02-fetch-instances.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Fetch Instances 6 | 7 | | Method | Endpoint | 8 | | ------ | ----------------------------------- | 9 | | GET | [baseUrl]/instance/fetchInstances | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | [ 21 | { 22 | "instance": { 23 | "instanceName": "[instance]", 24 | "owner": "[remoteJid]", 25 | "profileName": "[pushName]", 26 | "profilePictureUrl": "[profilePictureUrl]", 27 | "profileStatus": "[profileStatus]", 28 | "status": "open", 29 | "apikey": "[apikey]" 30 | } 31 | }, 32 | { 33 | "instance": { 34 | "instanceName": "[instance]", 35 | "status": "connecting", 36 | "apikey": "[apikey]" 37 | } 38 | } 39 | ] 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/03-restart-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Restart Instance 6 | 7 | | Method | Endpoint | 8 | | ------ | ----------------------------------------- | 9 | | PUT | [baseUrl]/instance/restart/[instance] | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | { 21 | "state": "[state]", 22 | "statusReason": [statusCode] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/04-connection-status.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | --- 4 | 5 | # Connection Status 6 | 7 | | Method | Endpoint | 8 | | ------ | ------------------------------------------------- | 9 | | GET | [baseUrl]/instance/connectionState/[instance] | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | { 21 | "state": "[state]", 22 | "statusReason": [statusCode] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/05-logout-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Logout Instance 6 | 7 | | Method | Endpoint | 8 | | ------ | ---------------------------------------- | 9 | | DELETE | [baseUrl]/instance/logout/[instance] | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | { 21 | "error": "[error]", 22 | "message": "[message]" 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/06-delete-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | --- 4 | 5 | # Delete Instance 6 | 7 | | Method | Endpoint | 8 | | ------ | ---------------------------------------- | 9 | | DELETE | [baseUrl]/instance/delete/[instance] | 10 | 11 | ### Data to be sent in the Request 12 | 13 | ```json title=Payload 14 | This request has no payload. 15 | ``` 16 | 17 | ### Data returned from the Request 18 | 19 | ```json title=Result 20 | { 21 | "error": "[error]", 22 | "message": "[message]" 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/03-Instance contoller/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Instance Controller" 3 | } -------------------------------------------------------------------------------- /docs/05-Endpoints/00-send-plain-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 0 3 | --- 4 | 5 | # Send Plain Text 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ----------------------------------------- | 13 | | POST | [baseUrl]/message/sendText/[instance] | 14 | 15 | Send text messages using the same features as your device or web. 16 | 17 | ### Data to be sent in the Request 18 | 19 | ```json title=Payload 20 | { 21 | "number": "[remoteJid]", 22 | "options": { 23 | "delay": 1200, 24 | "presence": "composing" 25 | }, 26 | "textMessage": { 27 | "text": "Plain text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 28 | } 29 | } 30 | ``` 31 | 32 | ### Data returned from the Request 33 | 34 | ```json title=Result 35 | { 36 | "key": { 37 | "remoteJid": "[remoteJid]", 38 | "fromMe": true, 39 | "id": "BAE5B8BC84A484E3" 40 | }, 41 | "message": { 42 | "extendedTextMessage": { 43 | "text": "Plain text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 44 | } 45 | }, 46 | "messageTimestamp": "1689604487", 47 | "status": "PENDING" 48 | } 49 | ``` 50 | 51 | ### Explanation of Parameters 52 | 53 | 54 | Parameter | Type | Description 55 | --|--|-- 56 | remoteJid | Required | Enter the remoteJid or groupJid to whom the message will be sent.

_remoteJid = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

**groupJid** = Accepts the group identifier in hash format for new groups, or remoteJid + "-" + timestamp for old groups. In this cases, it is mandatory to inform the @g.us ending.

Ex: 120363024158769234@g.us or 5511911111111-1111111111@g.us_ 57 | options.delay | Optional | Time in milliseconds that the message must wait until it is sent, showing the presence information configured in the next item. 58 | options.presence | Optional | The "composing" content will make the message "typing" appear in the WhatsApp™ top menu, during the time defined in the previous item. 59 | textMessage.text | Required | Inform the text of the message you want to send, being able to use the same resources you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

_To break a line, enter "\n" in the message._

Check the example in the payload for better understanding. 60 | 61 | :::note Note: 62 | Every message sent by the Evolution API initially has the status PENDING. 63 | 64 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 65 | ::: 66 | 67 | :::danger Warning: 68 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 69 | 70 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 71 | ::: 72 | -------------------------------------------------------------------------------- /docs/05-Endpoints/01-send-reply-quote-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Send Reply Quote Text 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ----------------------------------------- | 13 | | POST | [baseUrl]/message/sendText/[instance] | 14 | 15 | Send a message quoting a previous message in the reply. 16 | 17 | It works both for incoming messages and for quoting your own outgoing messages if you want to remind the recipient of a previously discussed subject. 18 | 19 | ### Data to be sent in the Request 20 | 21 | ```json title=Payload 22 | { 23 | "number": "[remoteJid]", 24 | "options": { 25 | "delay": 1200, 26 | "presence": "composing", 27 | "quoted": { 28 | "key": { 29 | "remoteJid": "[remoteJid]@s.whatsapp.net", 30 | "fromMe": true, 31 | "id": "BAE5766236A2AEFF", 32 | "participant": "" 33 | }, 34 | "message": { 35 | "conversation": "Plain text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 36 | } 37 | } 38 | }, 39 | "textMessage": { 40 | "text": "Reply quote text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 41 | } 42 | } 43 | ``` 44 | 45 | ### Data returned from the Request 46 | 47 | ```json title=Result 48 | { 49 | "key": { 50 | "remoteJid": "[remoteJid]@s.whatsapp.net", 51 | "fromMe": true, 52 | "id": "BAE5FA1CB273B533" 53 | }, 54 | "message": { 55 | "extendedTextMessage": { 56 | "text": "Reply quote text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏", 57 | "contextInfo": { 58 | "stanzaId": "BAE5766236A2AEFF", 59 | "participant": "[remoteJid]@s.whatsapp.net", 60 | "quotedMessage": { 61 | "conversation": "Plain text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 62 | } 63 | } 64 | } 65 | }, 66 | "messageTimestamp": "1689608179", 67 | "status": "PENDING" 68 | } 69 | ``` 70 | 71 | ### Explanation of Parameters 72 | 73 | 74 | Parameter | Type | Description 75 | -|-|- 76 | remoteJid | Required | Enter the remoteJid or groupJid to whom the message will be sent.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

**groupJid** = Accepts the group identifier in hash format for new groups, or remoteJid + "-" + timestamp for old groups. In this case, it is mandatory to inform the @g.us ending.

Ex: 120363024158769234@g.us or 5511911111111-1111111111@g.us 77 | options.delay | Optional | Time in milliseconds that the message must wait until it is sent, showing the presence information configured in the next item. 78 | options.presence | Optional | The "composing" content will make the message "typing" appear in the WhatsApp™ top menu, during the time defined in the previous item. 79 | options.quoted.key.remoteJid | Required | Take this information from the remoteJid in the key of the object of the message to be quoted. 80 | options.quoted.key.fromMe | Required | Take this information from the remoteJid in the key of the object of the message to be quoted. 81 | options.quoted.key.id | Required | Take this information from the remoteJid in the key of the object of the message to be quoted. 82 | options.quoted.key.participant | Required | Take this information from the remoteJid in the key of the object of the message to be quoted. 83 | options.quoted.message.conversation | Required | Take this information from the remoteJid in the key of the object of the message to be quoted. 84 | textMessage.text | Required | Inform the text of the message you want to send, being able to use the same resources you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

_To break a line, enter "\n" in the message._

Check the example in the payload for better understanding. 85 | 86 | :::note Note: 87 | Every message sent by the Evolution API initially has the status PENDING. 88 | 89 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 90 | ::: 91 | 92 | :::danger Warning: 93 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 94 | 95 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 96 | ::: 97 | -------------------------------------------------------------------------------- /docs/05-Endpoints/02-send-mention-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Send Mention Text 6 | 7 | :::note Instructions: 8 | 9 | Swap the existing content between [ ] for whatever matches your scenario or need. 10 | ::: 11 | 12 | | Method | Endpoint | 13 | | ------ | ----------------------------------------- | 14 | | POST | [baseUrl]/message/sendText/[instance] | 15 | 16 | Send a message in a group, mentioning one or several participants, without the need to include @name in the message content. 17 | 18 | :::info Note: 19 | Use this feature sparingly, as in a group where participants have chosen to mute notifications, they will still be notified and tagged with the @. 20 | 21 | Excessive use in a group with many members in this condition may cause dissatisfaction and result in an effect contrary to the desired one. 22 | ::: 23 | 24 | ### Data to be sent in the Request 25 | 26 | ```json title=Payload 27 | { 28 | "number": "[groupJid]", 29 | "options": { 30 | "delay": 1200, 31 | "presence": "composing", 32 | "mentions": { 33 | "everyOne": false, 34 | "mentioned": ["[remoteJid]"] 35 | } 36 | }, 37 | "textMessage": { 38 | "text": "Mention text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 39 | } 40 | } 41 | ``` 42 | 43 | ### Data returned from the Request 44 | 45 | ```json title=Result 46 | { 47 | "key": { 48 | "remoteJid": "[groupJid]", 49 | "fromMe": true, 50 | "id": "BAE500F92531D3E2" 51 | }, 52 | "message": { 53 | "extendedTextMessage": { 54 | "text": "Mention text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏", 55 | "contextInfo": { 56 | "mentionedJid": ["[remoteJid]@s.whatsapp.net"] 57 | } 58 | } 59 | }, 60 | "messageTimestamp": "1689620558", 61 | "status": "PENDING", 62 | "participant": "[sender]@s.whatsapp.net" 63 | } 64 | ``` 65 | 66 | ### Explanation of Parameters 67 | 68 | 69 | Parameter | Type | Description 70 | --- | --- | --- 71 | number | Required | Enter the groupJid to whom the message will be sent.

**groupJid** = Accepts the group identifier in hash format for new groups, or remoteJid + "-" + timestamp for old groups. In this case, it is mandatory to inform the @g.us ending.

Ex: 120363024158769234@g.us or 5511911111111-1111111111@g.us 72 | options.delay | Optional | Time in milliseconds that the message must wait until it is sent, showing the presence information configured in the next item. 73 | options.presence | Optional | The "composing" content will make the message "typing" appear in the WhatsApp™ top menu, during the time defined in the previous item. 74 | options.mentions.everyOne | Required | To mention one or more participants, enter "false".

Accepted values ​​are "true" or "false".

To mention all, it will be explained in the next item. 75 | options.mentions.mentioned | Required | Enter the remoteJid of one or more participants that will be mentioned in the group.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

If you want to inform more than one participant, just separate the contacts with commas, as in the example below:

- 551191111111,
- 5511922222222,
- 5511933333333
76 | textMessage.text | Required | Inform the text of the message you want to send, being able to use the same resources you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

To break a line, enter "\n" in the message.

_Check the example in the payload for better understanding._ 77 | 78 | :::note Note: 79 | Every message sent by the Evolution API initially has the status PENDING. 80 | 81 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 82 | ::: 83 | 84 | :::danger Warning: 85 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 86 | 87 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 88 | ::: 89 | -------------------------------------------------------------------------------- /docs/05-Endpoints/03-send-ghost-mention-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Send Ghost Mention Text 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ----------------------------------------- | 13 | | POST | [baseUrl]/message/sendText/[instance] | 14 | 15 | Send a message in a group, mentioning ALL participants, without the need to include @name in the message content. 16 | 17 | :::info Note: 18 | Use this feature sparingly, as in a group where participants have chosen to mute notifications, they will still be notified and tagged with the @. 19 | 20 | Excessive use in a group with many members in this condition may cause dissatisfaction and result in an effect contrary to the desired one. 21 | ::: 22 | 23 | ### Data to be sent in the Request 24 | 25 | ```json title=Payload 26 | { 27 | "number": "[groupJid]", 28 | "options": { 29 | "delay": 1200, 30 | "presence": "composing", 31 | "mentions": { 32 | "everyOne": true 33 | } 34 | }, 35 | "textMessage": { 36 | "text": "Ghost mention text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏" 37 | } 38 | } 39 | ``` 40 | 41 | ### Data returned from the Request 42 | 43 | ```json title=Result 44 | { 45 | "key": { 46 | "remoteJid": "[groupJid]", 47 | "fromMe": true, 48 | "id": "BAE59EF61E567741" 49 | }, 50 | "message": { 51 | "extendedTextMessage": { 52 | "text": "Ghost mention text message, sent with the _Evolution-API_ 🚀.\n\nHere you can send texts in *bold*, _italic_, ~strikethrough~ and `monospaced`.\n\nYou can also use any available emoticon on WhatsApp, like these examples below:\n\n😉🤣🤩🤝👏👍🙏", 53 | "contextInfo": { 54 | "mentionedJid": [ 55 | "[remoteJid]1@s.whatsapp.net", 56 | "[remoteJid]2@s.whatsapp.net", 57 | "[remoteJid]3@s.whatsapp.net", 58 | "[remoteJid]4@s.whatsapp.net", 59 | "[remoteJid]5@s.whatsapp.net" 60 | ] 61 | } 62 | } 63 | }, 64 | "messageTimestamp": "1689617824", 65 | "status": "PENDING", 66 | "participant": "[sender]@s.whatsapp.net" 67 | } 68 | ``` 69 | 70 | ### Explanation of Parameters 71 | 72 | 73 | Parameter | Type | Description 74 | -|-|- 75 | number | Required | Enter the groupJid to whom the message will be sent.

**groupJid** = Accepts the group identifier in hash format for new groups, or remoteJid + "-" + timestamp for old groups. In this case, it is mandatory to inform the @g.us ending.

Ex: 120363024158769234@g.us or 5511911111111-1111111111@g.us 76 | options.delay | Optional | Time in milliseconds that the message must wait until it is sent, showing the presence information configured in the next item. 77 | options.presence | Optional | The "composing" content will make the message "typing" appear in the WhatsApp™ top menu, during the time defined in the previous item. 78 | options.mentions.everyOne | Required | To mention ALL participants, enter "true".

Accepted values ​​are "true" or "false".

To name one or more, it was explained in the previous item. 79 | textMessage.text | Required | Inform the text of the message you want to send, being able to use the same resources you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

To break a line, enter "\n" in the message.

_Check the example in the payload for better understanding._ 80 | 81 | :::note Note: 82 | Every message sent by the Evolution API initially has the status PENDING. 83 | 84 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 85 | ::: 86 | 87 | :::danger Warning: 88 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 89 | 90 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 91 | ::: 92 | -------------------------------------------------------------------------------- /docs/05-Endpoints/04-send-status_stories-text_url.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | --- 4 | 5 | # Send Status/Stories Text/Url 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ------------------------------------------- | 13 | | POST | [baseUrl]/message/sendStatus/[instance] | 14 | 15 | Send a text or url (clickable) Status/Stories to one, some or all contacts in your list. 16 | 17 | ### Data to be sent in the Request 18 | 19 | ```json title=Payload 20 | { 21 | "statusMessage": { 22 | "type": "text", 23 | "content": "Hi, how are you today? 😉👍\n\nSee more in\n\nhttps://evolution-api.com/", 24 | "backgroundColor": "#008000", 25 | "font": 1, 26 | "allContacts": false, 27 | "statusJidList": ["[remoteJid]@s.whatsapp.net"] 28 | } 29 | } 30 | ``` 31 | 32 | ### Data returned from the Request 33 | 34 | ```json title=Result 35 | { 36 | "key": { 37 | "remoteJid": "status@broadcast", 38 | "fromMe": true, 39 | "id": "BAE59F76997142F0" 40 | }, 41 | "message": { 42 | "extendedTextMessage": { 43 | "text": "Hi, how are you today? 😉👍\n\nSee more in\n\nhttps://evolution-api.com/", 44 | "matchedText": "https://evolution-api.com/", 45 | "canonicalUrl": "https://evolution-api.com/opensource-whatsapp-api/", 46 | "title": "OpenSource WhatsApp API – Evolution API", 47 | "backgroundArgb": 4278222848, 48 | "font": "SERIF", 49 | "previewType": "NONE", 50 | "thumbnailDirectPath": "/o1/v/t62.7118-24/f1/m230/up-oil-image-bae65e3e-9813-4686-99a5-53ab5e2336c7?ccb=9-4&oh=01_AdRENApzu4pB-Y6VDbbGWfD6w91B1rmxgveUJH_cCmt0Hg&oe=64DCEF1B", 51 | "thumbnailSha256": "QcKPDG2Bk+d3fPceiuS1cnGuBNgv/8hHM4UgcwYMtKk=", 52 | "thumbnailEncSha256": "UpEq8UfeJuT2/0A2nS7vEEIUZzIi+SmOydvvWQthzAs=", 53 | "mediaKey": "KXuIeKYSqsHVD8uxEoHnQPjXuADqTVCtfuI35zbmVxc=", 54 | "mediaKeyTimestamp": "1689621677", 55 | "thumbnailHeight": 0, 56 | "thumbnailWidth": 0 57 | } 58 | }, 59 | "messageTimestamp": "1689621677", 60 | "status": "PENDING", 61 | "participant": "[sender]@s.whatsapp.net" 62 | } 63 | ``` 64 | 65 | ### Explanation of Parameters 66 | 67 | 68 | Parameter | Type | Description 69 | -|-|- 70 | statusMessage.type | Required | Inform text, to send text messages or clickable url's. 71 | statusMessage.content | Required | Inform the text of the message you want to send, being able to use the same resources you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

To break a line, enter "\n" in the message.

_Check the example in the payload for better understanding._ 72 | statusMessage.backgroundColor | Required | Enter the color you want for the status/stories background, using the Hex Color Code.

Examples:

#FFFFFF = White
#0000FF = Blue
#008000 = Green
#FFFF00 = Yellow
#FF0000 = Red
#800080 = Purple
#808080 = Gray
#FFC0CB = Pink
73 | statusMessage.font | Required | Choose the font type to be used.

Accept the options below:

1 = SERIF
2 = NORICAN_REGULAR
3 = BRYNDAN_WRITE
4 = BEBASNEUE_REGULAR
5 = OSWALD_HEAVY
74 | statusMessage.allContacts | Required | To send to ALL contacts, type "true".

Accepted values ​​are "true" or "false".

If "false" is informed, the "statusJidList" becomes required. 75 | statusMessage.statusJidList | Optional | Enter the remoteJid of one or more contacts you want to send status/stories.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

If you want to send it to more than one contact, just separate them with commas, as shown in the example below:

551191111111,
5511922222222,
5511933333333 76 | 77 | :::note Note: 78 | Every message sent by the Evolution API initially has the status PENDING. 79 | 80 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 81 | ::: 82 | 83 | :::danger Warning: 84 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 85 | 86 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 87 | ::: 88 | -------------------------------------------------------------------------------- /docs/05-Endpoints/05-send-status-stories-image_video.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Send Status Stories Image/Video 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ------------------------------------------- | 13 | | POST | [baseUrl]/message/sendStatus/[instance] | 14 | 15 | Send a image or video Status/Stories to one, some or all contacts in your list. 16 | 17 | ### Data to be sent in the Request 18 | 19 | ```json title=Payload 20 | { 21 | "statusMessage": { 22 | "type": "image", 23 | "content": "https://evolution-api.com/files/evolution-api.jpg", 24 | "caption": "This is my status/storie image. 📷", 25 | "allContacts": false, 26 | "statusJidList": ["[remoteJid]@s.whatsapp.net"] 27 | } 28 | } 29 | ``` 30 | 31 | ### Data returned from the Request 32 | 33 | ```json title=Result 34 | { 35 | "key": { 36 | "remoteJid": "status@broadcast", 37 | "fromMe": true, 38 | "id": "BAE5689FDB7A25B6" 39 | }, 40 | "message": { 41 | "imageMessage": { 42 | "url": "https://mmg.whatsapp.net/o1/v/t62.7118-24/f1/m231/up-oil-image-155d5601-7e78-4b9f-b...", 43 | "mimetype": "image/jpeg", 44 | "caption": "This is my status/storie image. 📷", 45 | "fileSha256": "8VXLU/xZb6avXAocU65TB8PYu2hqBYA7GR1SKNcF8rs=", 46 | "fileLength": "54005", 47 | "height": 482, 48 | "width": 1728, 49 | "mediaKey": "xVG4qXCr6dgG0P6v/c76p+2W26QDdWWjfsu6KaNZqsQ=", 50 | "fileEncSha256": "DGtpcQDfi6D8z1HIn/CRHCW0jIMXtB6mkswbbpC+Sok=", 51 | "directPath": "/o1/v/t62.7118-24/f1/m231/up-oil-image-155d5601-7e78-4b9f-bb7b-c432147ee35...", 52 | "mediaKeyTimestamp": "1689623202", 53 | "jpegThumbnail": "/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19..." 54 | } 55 | }, 56 | "messageTimestamp": "1689623202", 57 | "status": "PENDING", 58 | "participant": "[sender]@s.whatsapp.net" 59 | } 60 | ``` 61 | 62 | ### Explanation of Parameters 63 | 64 | 65 | Parameter | Type | Description 66 | ---|---|--- 67 | statusMessage.type | Required | Inform image or video to send medias. 68 | statusMessage.content | Required | Enter the public url of the image or video.

We recommend a hosting service that does not block API access. 69 | statusMessage.caption | Optional | Inform the caption text of the media you want to send, being able to use the same resources that you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

To break a line, enter "\n" in the message.

Check the example in the payload for better understanding. 70 | statusMessage.allContacts | Required | To send to ALL contacts, type "true".

Accepted values ​​are "true" or "false".

If "false" is informed, the "statusJidList" becomes required. 71 | statusMessage.statusJidList | Optional | Enter the remoteJid of one or more contacts you want to send status/stories.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

If you want to send it to more than one contact, just separate them with commas, as shown in the example below:

551191111111,
5511922222222,
5511933333333 72 | 73 | :::note Note: 74 | Every message sent by the Evolution API initially has the status PENDING. 75 | 76 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 77 | ::: 78 | 79 | :::danger Warning: 80 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 81 | 82 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 83 | ::: 84 | -------------------------------------------------------------------------------- /docs/05-Endpoints/06-send-status_stories-audio.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | --- 4 | 5 | # Send Status/Stories Audio 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ------------------------------------------- | 13 | | POST | [baseUrl]/message/sendStatus/[instance] | 14 | 15 | Send a audio Status/Stories to one, some or all contacts in your list. 16 | 17 | ### Data to be sent in the Request 18 | 19 | ```json title=Payload 20 | { 21 | "statusMessage": { 22 | "type": "audio", 23 | "content": "https://evolution-api.com/files/narratedaudio.mp3", 24 | "allContacts": false 25 | "statusJidList": [ 26 | "[remoteJid]@s.whatsapp.net" 27 | ] 28 | } 29 | } 30 | ``` 31 | 32 | ### Data returned from the Request 33 | 34 | ```json title=Result 35 | { 36 | "key": { 37 | "remoteJid": "status@broadcast", 38 | "fromMe": true, 39 | "id": "BAE5B0FC8A8EA66F" 40 | }, 41 | "message": { 42 | "audioMessage": { 43 | "url": "https://mmg.whatsapp.net/v/t62.7114-24/28510574_1291945264794607_9192703486876771390_n.enc?ccb=11-4&oh=01_AdQIRJtm58sVzCQUneKp1a0-WGw8fIZtjyUm1rqP5xA-QQ&oe=64DD2832&mms3=true", 44 | "mimetype": "audio/mp4", 45 | "fileSha256": "9gAg85yo8szE2mFn9ZO4wG+P3wilP3txBR7uPVjvRj4=", 46 | "fileLength": "326006", 47 | "seconds": 19, 48 | "ptt": true, 49 | "mediaKey": "F8BinfCyJuCDTBB9jnLNSgWxjvyxH1clqSVOmPwtqBY=", 50 | "fileEncSha256": "r8veVXB8gf87qjNRhjeDWlAkrdL1fvNgcapy5lh9N04=", 51 | "directPath": "/v/t62.7114-24/28510574_1291945264794607_9192703486876771390_n.enc?ccb=11-4&oh=01_AdQIRJtm58sVzCQUneKp1a0-WGw8fIZtjyUm1rqP5xA-QQ&oe=64DD2832", 52 | "mediaKeyTimestamp": "1689624384" 53 | } 54 | }, 55 | "messageTimestamp": "1689624384", 56 | "status": "PENDING", 57 | "participant": "[sender]@s.whatsapp.net" 58 | } 59 | ``` 60 | 61 | ### Explanation of Parameters 62 | 63 | 64 | Parameter | Type | Description 65 | -|-|- 66 | statusMessage.type | Required | Inform audio to send Waveform. 67 | statusMessage.content | Required | Enter the public url of the audio.

We recommend a hosting service that does not block API access. 68 | statusMessage.allContacts | Required | To send to ALL contacts, type "true".

Accepted values ​​are "true" or "false".

If "false" is informed, the "statusJidList" becomes required. 69 | statusMessage.statusJidList | Optional | Enter the remoteJid of one or more contacts you want to send status/stories.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

If you want to send it to more than one contact, just separate them with commas, as shown in the example below:

551191111111,
5511922222222,
5511933333333 70 | 71 | :::note Note: 72 | Every message sent by the Evolution API initially has the status PENDING. 73 | 74 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 75 | ::: 76 | 77 | :::danger Warning: 78 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 79 | 80 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 81 | ::: 82 | -------------------------------------------------------------------------------- /docs/05-Endpoints/07-send-image-media-url.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | --- 4 | 5 | # Send Image Media Url 6 | 7 | :::note Instructions: 8 | Swap the existing content between [ ] for whatever matches your scenario or need. 9 | ::: 10 | 11 | | Method | Endpoint | 12 | | ------ | ------------------------------------------ | 13 | | POST | [baseUrl]/message/sendMedia/[instance] | 14 | 15 | Send images directly from the internet, in JPG and PNG formats. 16 | 17 | ### Data to be sent in the Request 18 | 19 | ```json title=Payload 20 | { 21 | "number": "[remoteJid]", 22 | "options": { 23 | "delay": 1200, 24 | "presence": "composing" 25 | }, 26 | "mediaMessage": { 27 | "mediatype": "image", 28 | "caption": "This is an example JPG image file sent by Evolution-API via URL.", 29 | "media": "https://evolution-api.com/files/evolution-api.jpg" 30 | } 31 | } 32 | ``` 33 | 34 | ### Data returned from the Request 35 | 36 | ```json title=Result 37 | { 38 | "key": { 39 | "remoteJid": "[remoteJid]", 40 | "fromMe": true, 41 | "id": "BAE51614A82384B8" 42 | }, 43 | "message": { 44 | "imageMessage": { 45 | "url": "https://mmg.whatsapp.net/o1/v/t62.7118-24/f1/m230/up-oil-image-807ef642-4b4b-4ed9-...", 46 | "mimetype": "image/jpeg", 47 | "caption": "This is an example JPG image file sent by Evolution-API via URL.", 48 | "fileSha256": "8VXLU/xZb6avXAocU65TB8PYu2hqBYA7GR1SKNcF8rs=", 49 | "fileLength": "54005", 50 | "height": 482, 51 | "width": 1728, 52 | "mediaKey": "y6cbe1XoK0o9muPFcwY48tE6+dtapdE3m7BmSCGIZUY=", 53 | "fileEncSha256": "2Qp8gKmnazumKDIYvotqNdFmkzCEQwHVQ3AM3sEdFeE=", 54 | "directPath": "/o1/v/t62.7118-24/f1/m230/up-oil-image-807ef642-4b4b-4ed9-b9b8-c9cc855796...", 55 | "mediaKeyTimestamp": "1689625686", 56 | "jpegThumbnail": "/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV1...", 57 | "contextInfo": {} 58 | } 59 | }, 60 | "messageTimestamp": "1689625687", 61 | "status": "PENDING" 62 | } 63 | ``` 64 | 65 | ### Explanation of Parameters 66 | 67 | 68 | Parameter | Type | Description 69 | -|-|- 70 | number | Required | Enter the remoteJid or groupJid to whom the message will be sent.

**remoteJid** = Number in DDI + DDD + Number format, with or without the @s.whatsapp.net ending.

Ex: 5511911111111 or 5511911111111@s.whatsapp.net

**groupJid** = Accepts the group identifier in hash format for new groups, or remoteJid + "-" + timestamp for old groups. In this cases, it is mandatory to inform the @g.us ending.

Ex: 120363024158769234@g.us or 5511911111111-1111111111@g.us 71 | options.delay | Optional | Time in milliseconds that the message must wait until it is sent, showing the presence information configured in the next item. 72 | options.presence| Optional | The "composing" content will make the message "typing" appear in the WhatsApp™ top menu, during the time defined in the previous item. 73 | mediaMessage.mediaType | Required | Inform "image". 74 | mediaMessage.caption | Optional | Inform the caption text of the media you want to send, being able to use the same resources that you would use in the app or on the web, which are:

- Emojis
- Bold, enter \*yourtext\*
- Italics, between \_yourtext\_
- Scratched, come in \~yourtext\~
- Monospace between \```yourtext\```

_To break a line, enter "\n" in the message._

Check the example in the payload for better understanding. 75 | mediaMessage.media | Required | Enter the public url of the image.

We recommend a hosting service that does not block API access. 76 | 77 | :::note Note: 78 | Every message sent by the Evolution API initially has the status PENDING. 79 | 80 | This indicates that the sending was successful and the message is waiting for the following statuses, which will be sent to the MESSAGES_UPDATE Webhook. 81 | ::: 82 | 83 | :::danger Warning: 84 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 85 | 86 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 87 | ::: 88 | -------------------------------------------------------------------------------- /docs/05-Endpoints/2022-12-12-update-v1.16.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: evolution-update-v1.6.0 3 | title: "Evolution API's v1.6.0 Update: Streamlining Customer Engagement with Advanced Integrations and Enhanced Features" 4 | authors: [matheus] 5 | tags: [updates] 6 | --- 7 | 8 | ## New times are comming to Evolution 9 | 10 | We are excited to announce the release of Evolution API v1.6.0. This update introduces a range of new features and enhancements, focusing on improving customer engagement and streamlining communication processes. Below is a detailed overview of what's new and what has been improved. 11 | 12 | ## It's Been a Busy Month 13 | 14 | The Evolution team has worked tirelessly over the past month to bring these significant updates to life. Our focus has been on enhancing the overall user experience while incorporating valuable feedback from our community. This version represents not just our commitment to technical excellence but also our dedication to adapting and evolving in response to our users' needs. 15 | 16 | Key areas of our work this month included: 17 | 18 | - **Integrating Cutting-Edge Technologies**: We've dedicated substantial efforts to integrate advanced technologies like AWS SQS and the new Typebot API, ensuring our platform remains at the forefront of innovation. 19 | - **Streamlining Communication Processes**: Understanding the importance of efficient communication, we've introduced new endpoints and features to make interactions smoother and more intuitive. 20 | - **Enhancing Stability and Reliability**: A significant portion of our work focused on addressing various bugs and enhancing the stability of our platform. These improvements are crucial for a seamless user experience. 21 | - **Expanding Functionalities in Chatwoot**: We've made considerable enhancements in Chatwoot, introducing new features and capabilities to enrich customer engagement. 22 | 23 | All these efforts are a testament to our team's hard work and commitment to providing the best possible solutions to our users. We're excited about these new changes and confident they will make a positive impact on your experience with Evolution API. 24 | 25 | ### New Features 26 | 27 | - **AWS SQS Integration**: Enhanced messaging capabilities with Amazon Simple Queue Service integration. 28 | - **Typebot API Support**: We now support the new Typebot API, offering more options for bot integration. 29 | - **New Endpoint 'sendPresence'**: A new endpoint for real-time presence updates. 30 | - **Instance Manager**: A tool for managing and monitoring your Evolution API instances more effectively with a built-in front-end in the api. 31 | - **Auto-create in Chatwoot**: Option to automatically create inboxes in Chatwoot, simplifying the setup process. 32 | - **Enhanced Chatwoot Features**: Added support for reply, delete, and message reactions in Chatwoot v3.3.1. 33 | 34 | ### Fixes and Improvements 35 | 36 | - **Proxy and Session Start Adjustments**: Improvements in proxy handling and session start for Typebot. 37 | - **Media Handling Enhancements**: Added a 'mimetype' field when sending media for better compatibility. 38 | - **Message Handling Improvements**: Adjustments in message upsert validations and enhanced error handling in Chatwoot. 39 | - **MongoDB and Webhook Updates**: Various fixes in MongoDB usage and improved webhook response times. 40 | - **Chatwoot Compatibility and Stability Fixes**: Numerous fixes to enhance the stability and compatibility of Chatwoot, including QR code generation and CSAT issues. 41 | 42 | ## Conclusion 43 | 44 | The v1.6.0 update is a significant step forward in our ongoing efforts to provide a robust and efficient API for customer engagement. We believe these improvements and new features will greatly enhance your experience and capabilities in managing customer interactions. 45 | 46 | For any queries or support, feel free to reach out to our team. We are always here to help! 47 | 48 | --- 49 | 50 | #### Keep the project alive 51 | 52 | We appreciate any support you can provide to keep our project thriving. If you would like to make a contribution, you can do so through our "Buy Me a Coffee" page. Simply click on the QR code below, and it will take you to our donation page. 53 | 54 |
55 | 56 | 57 | 58 |
59 | 60 | Your support helps us continue developing and maintaining the Evolution API. Thank you for considering a donation! 61 | 62 | Also, don't forget that you can contribute to our project on GitHub. Check out our repository: [Evolution API on GitHub](https://github.com/EvolutionAPI/evolution-api). Whether it's code contributions, feature suggestions, or bug reports, every bit of help counts! 63 | 64 | Stay tuned for more updates and enhancements in the future! 65 | -------------------------------------------------------------------------------- /docs/05-Endpoints/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Send Messages" 3 | } -------------------------------------------------------------------------------- /docs/06-Integrations/00-set-chatwoot.md: -------------------------------------------------------------------------------- 1 | # Set ChatWoot 2 | 3 | :::info Instructions: 4 | Swap the existing content between [ ] for whatever matches your scenario or need. 5 | ::: 6 | 7 | | Method | Endpoint | 8 | | ------ | ------------------------------------- | 9 | | POST | [baseUrl]/chatwoot/set/[instance] | 10 | 11 | ## Set Instance from ChatWoot™ 12 | 13 | In this option it is possible to associate an instance already created to make the connection with ChatWoot™, automatically generating the Inbox and the Contact for the Bot EvolutionAPI. 14 | 15 | If the QrCode option is selected as "true", a message with the QrCode will already be created in the conversation to be read by your device. 16 | 17 | It is also possible to mark as "true" the option to automatically sign messages with the Attendant's name. 18 | 19 | ### Data to be sent in the Request 20 | 21 | ```json title=Payload 22 | { 23 | "enabled": true, 24 | "account_id": 1, 25 | "token": "token", 26 | "url": "https://app.chatwoot.com", 27 | "sign_msg": true 28 | } 29 | ``` 30 | 31 | ### Data returned from the Request 32 | 33 | ```json title=Result 34 | { 35 | "instance": { 36 | "instanceName": "[instance]", 37 | "status": "created" 38 | }, 39 | "hash": { 40 | "apikey": "[apikey]" 41 | }, 42 | "webhook": "[webhook]", 43 | "events": [ 44 | "QRCODE_UPDATED", 45 | "MESSAGES_UPSERT", 46 | "MESSAGES_UPDATE", 47 | "SEND_MESSAGE", 48 | "CONNECTION_UPDATE" 49 | ], 50 | "chatwoot": { 51 | "enabled": true, 52 | "account_id": [account_id], 53 | "token": "[token]", 54 | "url": "[url]", 55 | "sign_msg": false, 56 | "name_inbox": "[name_inbox]", 57 | "webhook_url": "[webhook_url]" 58 | } 59 | } 60 | ``` 61 | 62 | ### Explanation of Parameters 63 | 64 | 65 | Parameter | Type | Description 66 | --- | --- | --- 67 | enabled | Required | Does it generate the QRCode automatically?

_Accepted values ​​are "true" or "false"._ 68 | account_id | Optional | Your ChatWoot Account ID.

_Enter only if you are joining ChatWoot™._ 69 | token | Optional | Your Access Token, which must be obtained from your ChatWoot™ installation.

_Only inform if you are installing with ChatWoot™._ 70 | url | Optional | Installation URL of your ChatWoot™.

_Enter only if you are joining ChatWoot™._ 71 | sign_msg | Optional | Do you want messages to be signed with the Attendant's name?

_Accepted values ​​are "true" or "false".

Enter only if you are joining ChatWoot™._ 72 | 73 | :::danger Warning: 74 | 75 | It is extremely necessary that the payload obey the rules for creating a JSON file, considering the correct arrangement of items, formatting, square brackets, braces and commas, etc. 76 | 77 | Before consuming the endpoint, if you have questions about the JSON formatting, go to https://jsonlint.com/ and validate. 78 | ::: 79 | -------------------------------------------------------------------------------- /docs/06-Integrations/01-find-chatwoot.md: -------------------------------------------------------------------------------- 1 | # Find ChatWoot 2 | 3 | | Method | Endpoint | 4 | | ------ | ------------------------------------- | 5 | | GET | [baseUrl]/chatwoot/find/[instance] | 6 | 7 | ### Data to be sent in the Request 8 | 9 | ```json title=Payload 10 | This request has no payload. 11 | ``` 12 | 13 | ### Data returned from the Request 14 | 15 | ```json title=Result 16 | { 17 | "enabled": true, 18 | "url": "[url]", 19 | "webhookByEvents": false, 20 | "events": [ 21 | [events] 22 | ] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /docs/06-Integrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Chatwoot" 3 | } -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // Note: type annotations allow type checking and IDEs autocompletion 3 | 4 | const {themes} = require('prism-react-renderer'); 5 | const lightCodeTheme = themes.vsLight; 6 | const darkCodeTheme = themes.vsDark; 7 | 8 | /** @type {import('@docusaurus/types').Config} */ 9 | const config = { 10 | title: "Evolution API Documentation", 11 | tagline: "Documentation for Evolution API", 12 | favicon: "img/favicon.ico", 13 | 14 | // Set the production url of your site here 15 | url: "https://doc.evolution-api.com", 16 | // Set the // pathname under which your site is served 17 | // For GitHub pages deployment, it is often '//' 18 | baseUrl: "/", 19 | 20 | // GitHub pages deployment config. 21 | // If you aren't using GitHub pages, you don't need these. 22 | organizationName: "EvolutionAPI", // Usually your GitHub org/user name. 23 | projectName: "doc-evolution-api", // Usually your repo name. 24 | 25 | // onBrokenLinks: "throw", 26 | onBrokenLinks: "ignore", 27 | onBrokenMarkdownLinks: "warn", 28 | 29 | // Even if you don't use internalization, you can use this field to set useful 30 | // metadata like html lang. For example, if your site is Chinese, you may want 31 | // to replace "en" with "zh-Hans". 32 | i18n: { 33 | defaultLocale: 'en', 34 | locales: ['en', 'pt'], 35 | localeConfigs: { 36 | en: { 37 | label: 'English', 38 | direction: 'ltr', 39 | htmlLang: 'en-US', 40 | calendar: 'gregory', 41 | path: 'en', 42 | }, 43 | pt: { // Changed this from 'fa' to 'pt' 44 | label: 'Português', // Updated the label to Portuguese 45 | direction: 'ltr', // Portuguese is a LTR language 46 | htmlLang: 'pt-BR', // Assuming Brazilian Portuguese, change if necessary 47 | calendar: 'gregory', // Portuguese uses the Gregorian calendar 48 | path: 'pt', 49 | }, 50 | }, 51 | }, 52 | 53 | presets: [ 54 | [ 55 | "classic", 56 | /** @type {import('@docusaurus/preset-classic').Options} */ 57 | ({ 58 | docs: { 59 | sidebarPath: require.resolve("./sidebars.js"), 60 | numberPrefixParser: false, // This make DocsLists component render correct order 61 | // sidebarCollapsed: false, 62 | }, 63 | blog: { 64 | showReadingTime: true, 65 | }, 66 | theme: { 67 | customCss: require.resolve("./src/css/custom.css"), 68 | }, 69 | }), 70 | ], 71 | ], 72 | themes: [ 73 | [ 74 | require.resolve("@easyops-cn/docusaurus-search-local"), 75 | { 76 | hashed: true, 77 | }, 78 | ], 79 | ], 80 | themeConfig: 81 | /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ 82 | ({ 83 | // Replace with your project's social card 84 | image: "img/docusaurus-social-card.jpg", 85 | navbar: { 86 | // title: "Evolution API Documentationsss", 87 | logo: { 88 | alt: "Evolution API Logo ", 89 | srcDark: "img/brand/svg/logo-horizontal-inverted.svg", 90 | src: "img/brand/svg/logo-horizontal-default.svg", 91 | style: { 92 | height: 45, 93 | marginTop: -5, 94 | }, 95 | }, 96 | items: [ 97 | { 98 | type: "docSidebar", 99 | sidebarId: "docsSidebar", 100 | position: "left", 101 | label: "Documentation", 102 | }, 103 | { 104 | type: 'localeDropdown', 105 | position: 'right', 106 | }, 107 | { to: "/blog", label: "Blog", position: "left" }, 108 | { 109 | type: "search", 110 | position: "right", 111 | }, 112 | { 113 | href: "#", 114 | label: "Community", 115 | position: "left", 116 | "aria-label": "Community menu with sub-items", 117 | items: [ 118 | { 119 | href: "https://evolution-api.com/whatsapp", 120 | label: "WhatsApp Group", 121 | "aria-label": "WhatsApp Group", 122 | }, 123 | { 124 | href: "https://evolution-api.com/discord", 125 | label: "Discord Server", 126 | "aria-label": "Discord Server", 127 | }, 128 | ], 129 | }, 130 | { 131 | href: "https://github.com/EvolutionAPI/evolution-docs", 132 | // label: "GitHub", 133 | position: "right", 134 | className: "header-github-link", 135 | "aria-label": "GitHub repository", 136 | }, 137 | ], 138 | }, 139 | docs: { 140 | sidebar: { 141 | autoCollapseCategories: false, 142 | hideable: true, 143 | }, 144 | }, 145 | tableOfContents: { 146 | minHeadingLevel: 2, 147 | maxHeadingLevel: 2, 148 | }, 149 | footer: { 150 | style: "dark", 151 | logo: { 152 | alt: "Evolution API Logo", 153 | src: "img/brand/svg/logo-vertical-inverted.svg", 154 | href: "https://github.com/EvolutionAPI", 155 | width: 150, 156 | height: "auto", 157 | }, 158 | copyright: `Copyright © ${new Date().getFullYear()} Evolution API. All rights reserved.`, 159 | }, 160 | prism: { 161 | theme: darkCodeTheme, 162 | lightTheme: lightCodeTheme, 163 | additionalLanguages: ["nginx", "yaml"], 164 | }, 165 | }), 166 | }; 167 | 168 | module.exports = config; 169 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-blog/options.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": { 3 | "message": "Blog", 4 | "description": "The title for the blog used in SEO" 5 | }, 6 | "description": { 7 | "message": "Blog", 8 | "description": "The description for the blog used in SEO" 9 | }, 10 | "sidebar.title": { 11 | "message": "Postagens recentes", 12 | "description": "The label for the left sidebar" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current.json: -------------------------------------------------------------------------------- 1 | { 2 | "version.label": { 3 | "message": "Próxima", 4 | "description": "The label for version current" 5 | }, 6 | "sidebar.docsSidebar.category.Get Started": { 7 | "message": "Inicio", 8 | "description": "The label for category Get Started in sidebar docsSidebar" 9 | }, 10 | "sidebar.docsSidebar.category.Get Started.link.generated-index.title": { 11 | "message": "Comece", 12 | "description": "The generated-index page title for category Get Started in sidebar docsSidebar" 13 | }, 14 | "sidebar.docsSidebar.category.Installation": { 15 | "message": "Instalação", 16 | "description": "The label for category Installation in sidebar docsSidebar" 17 | }, 18 | "sidebar.docsSidebar.category.Installation.link.generated-index.title": { 19 | "message": "Instalação", 20 | "description": "The generated-index page title for category Installation in sidebar docsSidebar" 21 | }, 22 | "sidebar.docsSidebar.category.Optional resources": { 23 | "message": "Recursos Opcionais", 24 | "description": "The label for category Optional resources in sidebar docsSidebar" 25 | }, 26 | "sidebar.docsSidebar.category.Optional resources.link.generated-index.title": { 27 | "message": "Recursos Opcionais", 28 | "description": "The generated-index page title for category Optional resources in sidebar docsSidebar" 29 | }, 30 | "sidebar.docsSidebar.category.Configuration": { 31 | "message": "Configuração", 32 | "description": "The label for category Configuration in sidebar docsSidebar" 33 | }, 34 | "sidebar.docsSidebar.category.Instance Controller": { 35 | "message": "Controle de Instância", 36 | "description": "The label for category Instance Controller in sidebar docsSidebar" 37 | }, 38 | "sidebar.docsSidebar.category.Webhooks": { 39 | "message": "Webhooks", 40 | "description": "The label for category Webhooks in sidebar docsSidebar" 41 | }, 42 | "sidebar.docsSidebar.category.Send Messages": { 43 | "message": "Enviar Mensagens", 44 | "description": "The label for category Send Messages in sidebar docsSidebar" 45 | }, 46 | "sidebar.docsSidebar.category.Chatwoot": { 47 | "message": "Chatwoot", 48 | "description": "The label for category Chatwoot in sidebar docsSidebar" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Environment Variables.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | description: Configuração de variáveis 4 | --- 5 | # Variáveis ​de ​Ambiente 6 | 7 | ```bash 8 | # URL do Servidor - Configure a URL da sua aplicação 9 | 10 | SERVER_URL=API-DOMAIN 11 | 12 | # Cors - \* para todos ou defina separados por vírgulas - ex.: 'yourdomain1.com, yourdomain2.com' 13 | 14 | CORS_ORIGIN=* 15 | CORS_METHODS=POST,GET,PUT,DELETE 16 | CORS_CREDENTIALS=true 17 | 18 | # Determina os logs a serem exibidos 19 | 20 | LOG_LEVEL=ERROR,WARN,DEBUG,INFO,LOG,VERBOSE,DARK,WEBHOOKS 21 | LOG_COLOR=true 22 | 23 | # Log do Baileys - "fatal" | "error" | "warn" | "info" | "debug" | "trace" 24 | 25 | LOG_BAILEYS=error 26 | 27 | # Determina por quanto tempo a instância deve ser excluída da memória em caso de falta de conexão. 28 | 29 | # Tempo padrão: 5 minutos 30 | 31 | # Se você não quiser que expire, insira o valor false 32 | 33 | DEL_INSTANCE=false 34 | 35 | # Armazenamento temporário de dados 36 | 37 | STORE_MESSAGES=true 38 | STORE_MESSAGE_UP=true 39 | STORE_CONTACTS=true 40 | STORE_CHATS=true 41 | 42 | # Defina o intervalo de limpeza do armazenamento em segundos (7200 = 2h) 43 | 44 | CLEAN_STORE_CLEANING_INTERVAL=7200 45 | CLEAN_STORE_MESSAGES=true 46 | CLEAN_STORE_MESSAGE_UP=true 47 | CLEAN_STORE_CONTACTS=true 48 | CLEAN_STORE_CHATS=true 49 | 50 | # Armazenamento permanente de dados 51 | 52 | DATABASE_ENABLED=false 53 | DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true 54 | DATABASE_CONNECTION_DB_PREFIX_NAME=evdocker 55 | 56 | # Escolha os dados que deseja salvar no banco de dados da aplicação ou armazenar 57 | 58 | DATABASE_SAVE_DATA_INSTANCE=false 59 | DATABASE_SAVE_DATA_NEW_MESSAGE=false 60 | DATABASE_SAVE_MESSAGE_UPDATE=false 61 | DATABASE_SAVE_DATA_CONTACTS=false 62 | DATABASE_SAVE_DATA_CHATS=false 63 | 64 | REDIS_ENABLED=false 65 | REDIS_URI=redis://redis:6379 66 | REDIS_PREFIX_KEY=evdocker 67 | 68 | RABBITMQ_ENABLED=false 69 | RABBITMQ_URI=amqp://guest:guest@rabbitmq:5672 70 | 71 | WEBSOCKET_ENABLED=false 72 | 73 | # Configurações Globais de Webhook 74 | 75 | # Cada Webhook de instância será solicitado no momento em que ela for criada 76 | 77 | ## Defina um webhook global que ouvirá eventos habilitados de todas as instâncias 78 | 79 | WEBHOOK_GLOBAL_URL= 80 | WEBHOOK_GLOBAL_ENABLED=false 81 | 82 | # Com esta opção ativada, você trabalha com uma URL por evento de webhook, respeitando a URL global e o nome de cada evento 83 | 84 | WEBHOOK_GLOBAL_WEBHOOK_BY_EVENTS=false 85 | 86 | ## Defina os eventos que deseja ouvir 87 | 88 | WEBHOOK_EVENTS_APPLICATION_STARTUP=false 89 | WEBHOOK_EVENTS_QRCODE_UPDATED=true 90 | WEBHOOK_EVENTS_MESSAGES_SET=true 91 | WEBHOOK_EVENTS_MESSAGES_UPSERT=true 92 | WEBHOOK_EVENTS_MESSAGES_UPDATE=true 93 | WEBHOOK_EVENTS_MESSAGES_DELETE=true 94 | WEBHOOK_EVENTS_SEND_MESSAGE=true 95 | WEBHOOK_EVENTS_CONTACTS_SET=true 96 | WEBHOOK_EVENTS_CONTACTS_UPSERT=true 97 | WEBHOOK_EVENTS_CONTACTS_UPDATE=true 98 | WEBHOOK_EVENTS_PRESENCE_UPDATE=true 99 | WEBHOOK_EVENTS_CHATS_SET=true 100 | WEBHOOK_EVENTS_CHATS_UPSERT=true 101 | WEBHOOK_EVENTS_CHATS_UPDATE=true 102 | WEBHOOK_EVENTS_CHATS_DELETE=true 103 | WEBHOOK_EVENTS_GROUPS_UPSERT=true 104 | WEBHOOK_EVENTS_GROUPS_UPDATE=true 105 | WEBHOOK_EVENTS_GROUP_PARTICIPANTS_UPDATE=true 106 | WEBHOOK_EVENTS_CONNECTION_UPDATE=true 107 | WEBHOOK_EVENTS_CALL=true 108 | 109 | # Este evento é disparado sempre que um novo token é solicitado via rota de atualização 110 | 111 | WEBHOOK_EVENTS_NEW_JWT_TOKEN=false 112 | 113 | # Nome que será exibido na conexão de smartphone 114 | 115 | CONFIG_SESSION_PHONE_CLIENT=Evolution API 116 | 117 | # Nome do Navegador = chrome | firefox | edge | opera | safari 118 | 119 | CONFIG_SESSION_PHONE_NAME=chrome 120 | 121 | # Defina o limite de exibição do qrcode 122 | 123 | QRCODE_LIMIT=30 124 | QRCODE_COLOR=#198754 125 | 126 | # Define um tipo de autenticação para a API 127 | 128 | # Recomendamos usar o apikey porque permitirá usar um token personalizado, 129 | 130 | # se você usar jwt, um token aleatório será gerado e poderá expirar, e você terá que gerar um novo token 131 | 132 | # jwt ou 'apikey' 133 | 134 | AUTHENTICATION_TYPE=apikey 135 | 136 | ## Defina um apikey global para acessar todas as instâncias. 137 | 138 | ### OBS: Esta chave deve ser inserida no cabeçalho da solicitação para criar uma instância. 139 | 140 | AUTHENTICATION_API_KEY=GLOBAL-API-KEY 141 | AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES=true 142 | 143 | ## Defina a chave secreta para criptografar e descriptografar seu token e seu tempo de expiração 144 | 145 | # segundos - 3600s ===1h | zero (0) - nunca expira 146 | 147 | AUTHENTICATION_JWT_EXPIRIN_IN=0 148 | AUTHENTICATION_JWT_SECRET='L=0YWt]b2w[WF>#>:&E`' 149 | ``` 150 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Installation/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 2, 3 | "label": "Instalação", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "Installation", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Instalação" 10 | }, 11 | "customProps": { 12 | "description": "Self-host Evolution in your own environment." 13 | } 14 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Optional resources/MongoDB.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: mongodb 3 | title: MongoDB 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: MongoDB 7 | sidebar_position: 1 8 | pagination_label: MongoDB 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Configure um banco de dados MongoBD em seu ambiente com Evolution API. 11 | keywords: 12 | - Optional Resources 13 | - MongoDB 14 | - Database 15 | # image: https://i.imgur.com/mErPwqL.png 16 | # slug: /myDoc 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Configurar um Banco de Dados MongoDB 23 | 24 | O MongoDB, um banco de dados NoSQL, é conhecido por seu alto desempenho e escalabilidade. É ideal para lidar com grandes volumes de dados na Evolution API. 25 | 26 | Configure as variáveis de ambiente do MongoDB no arquivo `.env` para o Docker ou no arquivo `dev-env.yml` para o NPM da seguinte forma: 27 | 28 | ```yaml title=".env or dev-env.yml" showLineNumbers 29 | # Defina como true para habilitar o MongoDB. 30 | DATABASE_ENABLED=true 31 | # Sua string de conexão com o MongoDB. 32 | DATABASE_CONNECTION_URI=mongodb://user:password@database_URL/?authSource=admin&readPreference=primary&ssl=false&directConnection=true 33 | # Prefixo para o nome do seu banco de dados. 34 | DATABASE_CONNECTION_DB_PREFIX_NAME=evo 35 | ``` 36 | 37 | ## Migração de Dados 38 | 39 | A mudança do armazenamento local para o MongoDB não transferirá automaticamente suas instâncias do WhatsApp que estão atualmente sincronizadas com o armazenamento local original. 40 | 41 | :::tip Beta: Migração de Dados 42 | 43 | Certifique-se de que já tem uma instância do MongoDB em execução com um banco de dados criado. 44 | 45 | ::: 46 | 47 | ## Migre seus dados no NPM ou NVM 48 | 49 | Pare a execução do PM2: 50 | 51 | **Flush and Stop**: Limpa todos os registros do PM2, útil para solução de problemas após a atualização e interrompe temporariamente a Evolution API para aplicar atualizações com segurança. 52 | 53 | 54 | ```bash title="CLI" 55 | # Limpar todos os registros do PM2 56 | pm2 flush 57 | 58 | # Parar o processo atual da Evolution API 59 | pm2 stop ApiEvolution 60 | ``` 61 | 62 | **Diretório da Evolution API**: acesse o diretório de instalação com o seguinte comando: 63 | 64 | ```bash 65 | cd evolution-api 66 | ``` 67 | 68 | **Comando de Migração**: Execute o comando de migração no diretório de instalação: 69 | 70 | ```bash title="/evolution-api/" 71 | npx evolution-manager api migrate-to-mongo 72 | ``` 73 | 74 | Siga os passos do script e migre instâncias específicas do WhatsApp ou todas as suas instâncias. 75 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Optional resources/RabbitMQ.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: rabbitmq 3 | title: RabbitMQ 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: RabbitMQ 7 | sidebar_position: 2 8 | pagination_label: RabbitMQ 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Integre filas RabbitMQ em seu ambiente de desenvolvimento com a API Evolution. 11 | keywords: 12 | - Optional Resources 13 | - RabbitMQ 14 | - Developers 15 | # image: https://i.imgur.com/mErPwqL.png 16 | # slug: /myDoc 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Ativando o RabbitMQ 23 | 24 | Para utilizar efetivamente o RabbitMQ com a Evolution API para o gerenciamento de instâncias do WhatsApp, é essencial ativar o RabbitMQ em cada instância individual do WhatsApp. Essa ativação permite que cada instância comece a receber e processar solicitações de fila AMQP (Protocolo Avançado de Filas de Mensagens) específicas para aquela instância específica do WhatsApp. 25 | 26 | Em outras palavras, para cada instância do WhatsApp onde você deseja usar o RabbitMQ, você precisa garantir que a integração com o RabbitMQ esteja ativada. Essa configuração permitirá que a instância se comunique com o servidor RabbitMQ e lide com sua fila de mensagens e solicitações. Ativar o RabbitMQ em cada instância é crucial para a distribuição e gerenciamento adequados de tarefas de mensagens em diferentes instâncias do WhatsApp em seu sistema. 27 | 28 | ### Configuração do RabbitMQ para uma instância individual 29 | 30 | Para **desenvolvedores** que desejam usar em suas aplicações um sistema de mensagens AMQP, é possível usar o RabbitMQ para enfileirar as ações de suas instâncias. 31 | 32 | Para configurar o RabbitMQ para instâncias individuais do WhatsApp na Evolution API, você pode usar o seguinte endpoint: 33 | 34 | 35 | ```plaintext title="POST" 36 | [baseUrl]/rabbitmq/set/[instance_name] 37 | ``` 38 | 39 | Este endpoint permite habilitar o RabbitMQ e especificar a quais eventos cada instância do WhatsApp deve se inscrever na fila AMQP. Abaixo está um exemplo do corpo JSON para este endpoint: 40 | 41 | ```json title="body" showLineNumbers 42 | { 43 | "enabled": true, 44 | "events": [ 45 | // Lista de eventos para se inscrever. Descomente os eventos que você precisa. 46 | "APPLICATION_STARTUP", 47 | "QRCODE_UPDATED", 48 | "MESSAGES_SET", 49 | "MESSAGES_UPSERT", 50 | "MESSAGES_UPDATE", 51 | "MESSAGES_DELETE", 52 | "SEND_MESSAGE", 53 | "CONTACTS_SET", 54 | "CONTACTS_UPSERT", 55 | "CONTACTS_UPDATE", 56 | "PRESENCE_UPDATE", 57 | "CHATS_SET", 58 | "CHATS_UPSERT", 59 | "CHATS_UPDATE", 60 | "CHATS_DELETE", 61 | "GROUPS_UPSERT", 62 | "GROUP_UPDATE", 63 | "GROUP_PARTICIPANTS_UPDATE", 64 | "CONNECTION_UPDATE", 65 | "CALL", 66 | "NEW_JWT_TOKEN" 67 | ] 68 | } 69 | ``` 70 | 71 | :::tip LEMBRETE 72 | 73 | Remova os eventos não utilizados para manter baixo uso de recursos com o RabbitMQ. 74 | 75 | ::: 76 | 77 | Ao configurar a integração com o RabbitMQ, ajuste a matriz de eventos no corpo JSON para incluir apenas os eventos aos quais você deseja se inscrever. Remova os comentários de qualquer evento que você deseja habilitar para notificações do RabbitMQ. 78 | 79 | Agora você pode enviar mensagens para a sua aplicação e consumi-las no RabbitMQ. 80 | 81 | :::note NOTA 82 | 83 | Se você deseja uma configuração mais detalhada ou personalizada, verifique a seção de variáveis de ambiente. 84 | 85 | ::: 86 | 87 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Optional resources/Redis.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: redis 3 | title: Redis 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: Redis 7 | sidebar_position: 4 8 | pagination_label: Redis 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Configure um Redis em seu ambiente com a API Evolution. 11 | keywords: 12 | - Optional Resources 13 | - Redis 14 | - Database 15 | # image: https://i.imgur.com/mErPwqL.png 16 | # slug: /myDoc 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Configurando o Cache com Redis 23 | 24 | :::warning Descontinuação do Redis 25 | 26 | O Redis será descontinuado nas futuras versões da Evolution API; não recomendamos mais a instalação do Redis. 27 | 28 | ::: 29 | 30 | O Redis é um armazenamento de estrutura de dados em memória, usado como banco de dados, cache e message broker. Ele suporta estruturas de dados como strings, hashes, listas, conjuntos e muito mais. Incorporar o Redis pode melhorar significativamente o desempenho da Evolution API, permitindo um acesso mais rápido aos dados e um armazenamento em cache eficiente. 31 | 32 | Configure as variáveis de ambiente do Redis no arquivo `.env` para o Docker ou no arquivo `dev-env.yml` para o NPM da seguinte forma: 33 | 34 | 35 | ```yaml title=".env or dev-env.yml" showLineNumbers 36 | # Defina como true para habilitar o Redis. 37 | REDIS_ENABLED=false 38 | # URI do seu servidor Redis. 39 | REDIS_URI=redis://redis:6379 40 | # Prefixo chave para os dados do Redis. 41 | REDIS_PREFIX_KEY=evo 42 | ``` 43 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Optional resources/Websocket.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: websocket 3 | title: Websocket 4 | hide_title: true 5 | hide_table_of_contents: false 6 | sidebar_label: Websocket 7 | sidebar_position: 4 8 | pagination_label: Websocket 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Capture eventos Websocket da API Evolution em seu aplicativo. 11 | keywords: 12 | - Optional Resources 13 | - Developers 14 | - Websocket 15 | # image: https://i.imgur.com/mErPwqL.png 16 | # slug: /myDoc 17 | last_update: 18 | date: 12/19/2023 19 | author: matheus 20 | --- 21 | 22 | ## Usando WebSockets na Evolution API 23 | 24 | A Evolution API utiliza o socket.io para emitir eventos, aproveitando a tecnologia WebSocket. Isso torna o desenvolvimento de integrações mais eficiente e direto para os desenvolvedores. WebSocket fornece um canal de comunicação full-duplex por meio de uma única conexão de longa duração, permitindo o fluxo de dados em tempo real entre o cliente e o servidor. 25 | 26 | ### Conectando ao WebSocket 27 | 28 | Para se conectar ao servidor WebSocket na Evolution API, você pode usar o seguinte formato de URL: 29 | 30 | 31 | ```plaintext 32 | wss://api.seusite.com/instance_name 33 | ``` 34 | 35 | Substitua api.yoursite.com pelo domínio real da sua API e instance_name pelo nome da sua instância específica. 36 | 37 | Aqui está um exemplo básico de como estabelecer uma conexão WebSocket usando JavaScript: 38 | 39 | ```javascript 40 | const socket = io('wss://api.yoursite.com/instance_name', { 41 | transports: ['websocket'] 42 | }); 43 | 44 | socket.on('connect', () => { 45 | console.log('Conectado ao WebSocket da Evolution API'); 46 | }); 47 | 48 | // Ouvindo eventos 49 | socket.on('event_name', (data) => { 50 | console.log('Evento recebido:', data); 51 | }); 52 | 53 | // Lidando com desconexão 54 | socket.on('disconnect', () => { 55 | console.log('Desconectado do WebSocket da Evolution API'); 56 | }); 57 | ``` 58 | 59 | Neste exemplo, substitua `event_name` pelo evento específico que você deseja ouvir. 60 | 61 | ### Lidando com Eventos 62 | 63 | Depois de conectado, você pode ouvir vários eventos emitidos pelo servidor. Cada evento pode transportar dados relevantes para o contexto do evento. Por exemplo, se você estiver ouvindo por atualizações de mensagens, pode receber dados que contenham o conteúdo atualizado da mensagem e metadados. 64 | 65 | ### Enviando Mensagens 66 | 67 | Você também pode enviar mensagens para o servidor usando o método emit: 68 | 69 | 70 | ```javascript 71 | socket.emit('send_message', { message: 'Olá, Mundo!' }); 72 | Neste caso, 'send_message' é o nome do evento, e o objeto { message: 'Olá, Mundo!' } é os dados que estão sendo enviados. 73 | ``` 74 | 75 | ### Fechando a Conexão 76 | 77 | Para encerrar a conexão WebSocket, utilize o método disconnect: 78 | 79 | 80 | ```javascript 81 | socket.disconnect(); 82 | ``` 83 | 84 | Lembre-se de tratar a conexão de forma responsável, desconectando-a quando a sua aplicação ou componente for desmontado para evitar vazamentos de memória e garantir uma utilização eficiente de recursos. 85 | 86 | Ao aproveitar os WebSockets, a Evolution API oferece uma maneira poderosa de interagir com o sistema em tempo real, proporcionando uma experiência contínua tanto para desenvolvedores quanto para os usuários finais. 87 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Optional resources/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 3, 3 | "label": "Recursos Opcionais", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "Recursos", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Recursos Opcionais" 10 | }, 11 | "customProps": { 12 | "description": "Recursos que podem ser úteis em seu ambiente para estender as funcionalidades do Evolution." 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/Update.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: Updates 3 | title: Atualizações 4 | hide_title: false 5 | hide_table_of_contents: false 6 | sidebar_label: Atualizações 7 | sidebar_position: 8 8 | pagination_label: Atualizações 9 | # custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md 10 | description: Para atualizar suas instâncias da Evolution API 11 | keywords: 12 | - Updates 13 | # image: https://i.imgur.com/mErPwqL.png 14 | # slug: /myDoc 15 | last_update: 16 | date: 12/12/2023 17 | author: matheus 18 | --- 19 | 20 | Manter sua instância da Evolution API atualizada é crucial para segurança, desempenho e acesso a novos recursos. O método de atualização depende de como você instalou inicialmente a API. Este guia abrange os passos para atualizar sua Evolution API usando Docker Compose e NPM. 21 | 22 | :::warning 23 | 24 | Antes de atualizar a Evolution, certifique-se de que todas as aplicações integradas realmente funcionam com a Evolution, atualize por sua própria conta e risco. 25 | 26 | ::: 27 | 28 | ## Atualização com Docker 29 | 30 | Se você inicialmente configurou sua Evolution API usando Docker, siga estas etapas para atualizar: 31 | 32 | ### Atualização com Docker CLI 33 | 34 | Se sua Evolution API foi inicialmente instalada usando Docker Compose via interface de linha de comando (CLI), e não através do Portainer ou qualquer outra ferramenta de gerenciamento de contêineres, siga estas etapas para atualizá-la: 35 | 36 | 1. **Navegue até o Diretório Docker Compose**: Abra um terminal e vá para o diretório onde está localizado seu arquivo Docker Compose (`docker-compose.yml`). 37 | 38 | 2. **Baixe a Imagem Mais Recente**: Atualize a imagem da Evolution API para a versão mais recente executando o seguinte comando: 39 | 40 | 41 | ```bash title="CLI" 42 | docker-compose pull atendai/evolution-api:latest 43 | ``` 44 | 45 | 3. **Interrompa e Reinicie os Contêineres**: Após baixar a imagem mais recente, pare os contêineres atuais e reinicie-os. Isso pode ser feito usando o seguinte comando: 46 | 47 | 48 | ```bash title="CLI" 49 | docker-compose down && docker-compose up -d 50 | 51 | ``` 52 | 53 | ## Atualização com Portainer 54 | 55 | Se você estiver usando o Portainer para o gerenciamento de contêineres, siga estas etapas para atualizar sua Evolution API: 56 | 57 | 1. **Acesse o Painel do Portainer**: Abra o painel do Portainer em um navegador da web. 58 | 59 | 2. **Navegue para Seus Contêineres**: Vá para a seção 'Stacks' onde seu contêiner da Evolution API está listado. 60 | 61 | 62 | 63 | 64 | 3. **Atualize o Compose**: 65 | - Localize o campo `image` em sua configuração do Docker Compose. 66 | 67 | 68 | ```yaml title="https://portainer.yourdomain.com/#!/1/docker/stacks/evolution" showLineNumbers 69 | # ... (outros serviços e configurações) 70 | 71 | evolution_api: 72 | # Atualize a versão da imagem da Evolution API aqui 73 | # Use 'atendai/evolution-api:latest' para a versão mais recente 74 | # Ou especifique uma versão específica como 'atendai/evolution-api:v1.6.0' 75 | # highlight-next-line 76 | image: atendai/evolution-api:v1.x.x 77 | networks: 78 | - your_network 79 | 80 | # ... (resto da configuração do Docker Compose) 81 | ``` 82 | 83 | - Atualize o valor para `atendai/evolution-api:latest` para a versão mais recente, ou use `atendai/evolutionapi:v1.x.x` para uma versão específica. 84 | - Após fazer as alterações, clique no botão 'Deploy' no final da janela de edição do Compose. 85 | 86 | 87 | 88 | 4. **Verifique a Atualização**: Após recriar o contêiner, verifique se a Evolution API está executando a versão mais recente. Isso geralmente pode ser verificado por meio do ponto de extremidade de versão da API ou dos logs. 89 | 90 | :::nota Recomendação para Ambientes de Produção 91 | Para ambientes de produção, é aconselhável especificar uma versão específica da Evolution API (por exemplo, `atendai/evolution-api:v1.x.x`) em vez de usar `latest`. 92 | 93 | Essa prática garante estabilidade e previsibilidade, protegendo seu ambiente de produção contra possíveis problemas decorrentes de alterações inesperadas na versão mais recente. 94 | ::: 95 | 96 | Seguindo essas etapas, você pode garantir que sua Evolution API esteja sempre atualizada usando o Portainer. 97 | 98 | ## Atualização com NPM 99 | 100 | Atualizar sua instalação da Evolution API via NPM envolve várias etapas para garantir uma transição tranquila para a nova versão. Aqui está um guia passo a passo: 101 | 102 | 1. **Flush e Stop**: Limpa todos os logs do PM2, útil para solucionar problemas após a atualização e interrompe temporariamente a Evolution API para aplicar as atualizações com segurança. 103 | 104 | 105 | ```bash title="CLI" 106 | # Limpe todos os logs do PM2 107 | pm2 flush 108 | 109 | # Pare o processo atual da Evolution API 110 | pm2 stop ApiEvolution 111 | ``` 112 | 113 | 2. **Reset local repository and pull the latest updates**: Ensures your local codebase is in sync with the latest commit and downloads the latest updates from the repository. Optionally, switch to a specific version if not using the latest. It's recommended for production environments. 114 | 115 | ```bash title="CLI" 116 | # Reset seu repositório local para o último commit 117 | git reset --hard HEAD 118 | 119 | # Faça o pull das últimas atualizações do repositório 120 | git pull 121 | 122 | # Para uma versão específica, use 'git checkout main' para a última versão 123 | # ou 'git checkout 1.x.x' para uma versão específica. Exemplo: 124 | # highlight-next-line 125 | git checkout 1.x.x 126 | ``` 127 | 3. **Instalação Limpa**: Remove os `node_modules` existentes para evitar possíveis conflitos com novas dependências e instala as dependências necessárias do Node.js para a versão atualizada. 128 | 129 | 130 | 131 | ```bash title="CLI" 132 | # Remova o diretório node_modules atual para garantir uma instalação limpa 133 | rm -rf node_modules 134 | 135 | # Instale as dependências com o NPM 136 | npm i 137 | 138 | # Reinicie a Evolution API com a versão atualizada 139 | pm2 start ApiEvolution 140 | 141 | # Opcionalmente, visualize os logs do PM2 para a Evolution API 142 | pm2 log ApiEvolution 143 | ``` 144 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/01-Get Started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "position": 1, 3 | "label": "Inicio", 4 | "collapsible": true, 5 | "collapsed": false, 6 | "className": "get-started", 7 | "link": { 8 | "type": "generated-index", 9 | "title": "Inicio" 10 | }, 11 | "customProps": { 12 | "description": "Start exploring EvolutionAPI" 13 | } 14 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/02-Configuration/02-postman-variables.md: -------------------------------------------------------------------------------- 1 | # Variáveis do Postman 2 | 3 | :::success Explore todos os endpoints disponíveis na API REST da EvolutionAPI: 4 | ::: 5 | 6 | Isso facilitará o acesso e a exploração dos diversos recursos e funcionalidades da EvolutionAPI por meio do Postman. 7 | 8 | Acesse o ambiente Postman da EvolutionAPI para começar: 9 | 10 | #### [Postman/EvolutionAPI](https://www.postman.com/agenciadgcode/workspace/evolution-api/overview) 11 | 12 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/02-Configuration/06-available-resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | description: Available resources that Evolution API covers at now. 4 | --- 5 | # Recursos Disponíveis 6 | 7 | ### Mensagens (Individual ou em Grupo) 8 | 9 | 10 | | Recurso | Disponibilidade | Descrição | 11 | |-:|:-:|-| 12 | | Enviar Texto | ✅ | (Texto simples, em negrito, itálico, tachado, texto em espaço único e emojis) | 13 | | Enviar Mídia | ✅ | (Vídeo, imagem e documento) | 14 | | Enviar Áudio Narrado | ✅ | (Funciona bem no Android e iOS) | 15 | | Enviar Localização | ✅ | (Com nome e descrição do local) | 16 | | Enviar Contato | ✅ | (Com Nome, Empresa, Telefone, Email e URL) | 17 | | Enviar Reação | ✅ | (Enviar qualquer emoji como reação) | 18 | | Enviar Prévia de Link | ✅ | (Busca informações de SEO) 🆕 | 19 | | Enviar Resposta | ✅ | (Marcar mensagens como resposta) 🆕 | 20 | | Enviar Mencionamento | ✅ | (Individual, para alguns ou todos os membros) 🆕 | 21 | | Enviar Mensagem de Enquete | ✅ | (Enviar e receber votos de uma enquete) 🆕 | 22 | | Enviar Status/História | ✅ | (Texto, prévia de link, vídeo, imagem e forma de onda) 🆕 | 23 | | Enviar Adesivo | ✅ | (Imagem estática) 🆕 | 24 | | Enviar Botões (Descontinuado) | ❌ | (Funciona apenas na API em nuvem) | 25 | | Enviar Lista (Descontinuado) | ❌ | (Funciona apenas na API em nuvem) | 26 | 27 | ### Perfil 28 | 29 | | Recurso | Disponibilidade | Descrição | 30 | | -----------------: | :----------: | ------------------------------------- | 31 | | Atualizar Nome | ✅ | (Mudar o nome do perfil conectado) | 32 | | Atualizar Foto | ✅ | (Mudar a foto do perfil conectado) 🆕 | 33 | | Atualizar Status | ✅ | (Mudar o status do perfil conectado) 🆕 | 34 | | E muitos outros... | | | 35 | 36 | ### Grupo 37 | 38 | | Recurso | Disponibilidade | Descrição | 39 | | -----------------: | :----------: | ------------------------------------- | 40 | | Criar Grupo | ✅ | (Novos grupos) | 41 | | Atualizar Foto | ✅ | (Mudar a foto do grupo) | 42 | | Atualizar Assunto | ✅ | (Mudar o nome do grupo) 🆕 | 43 | | Atualizar Descrição | ✅ | (Mudar a descrição do grupo) 🆕 | 44 | | Buscar Todos os Grupos | ✅ | (Buscar todos os grupos e participantes) 🆕 | 45 | | E muitos outros... | | | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/02-Configuration/07-webhooks.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | 4 | description: Supported Webhook events 5 | --- 6 | 7 | # Webhooks 8 | 9 | ## EVENTOS DE WEBHOOK SUPORTADOS 10 | 11 | Webhooks permitem integração em tempo real entre a Evolution API e o WhatsApp™, permitindo sincronização e compartilhamento automatizados de dados. 12 | 13 | Aqui está uma tabela que lista os eventos de webhook suportados pela Evolution API, juntamente com seus nomes de ambiente, eventos da API e descrições: 14 | 15 | | Nome de Ambiente | Evento da API | Descrição | 16 | | ----------------- | --------------------- | ---------------------------------------------------------------------------------------------- | 17 | | APPLICATION_STARTUP | application.startup | Notifica quando uma aplicação é inicializada. | 18 | | QRCODE_UPDATED | qrcode.updated | Envia o código QR em base64 para leitura. | 19 | | CONNECTION_UPDATE | connection.update | Informa o status da conexão com o WhatsApp. | 20 | | MESSAGES_SET | message.set | Envia uma lista de todas as suas mensagens enviadas para o WhatsApp. Este evento ocorre apenas uma vez. | 21 | | MESSAGES_UPSERT | message.upsert | Notifica quando uma mensagem é recebida. | 22 | | MESSAGES_UPDATE | message.update | Informa quando uma mensagem é atualizada. | 23 | | MESSAGES_DELETE | message.delete | Informa quando uma mensagem é excluída. | 24 | | SEND_MESSAGE | send.message | Notifica quando uma mensagem é enviada. | 25 | | CONTACTS_SET | contacts.set | Realiza o carregamento inicial de todos os contatos. Este evento ocorre apenas uma vez. | 26 | | CONTACTS_UPSERT | contacts.upsert | Recarrega todos os contatos com informações adicionais. Este evento ocorre apenas uma vez. | 27 | | CONTACTS_UPDATE | contacts.update | Informa quando o chat é atualizado. | 28 | | PRESENCE_UPDATE | presence.update | Informa se o usuário está online, se está realizando alguma ação como escrever ou gravar e seu último visto: 'indisponível', 'disponível', 'compondo', 'gravando', 'pausado'. | 29 | | CHATS_SET | chats.set | Envie uma lista de todos os chats carregados. | 30 | | CHATS_UPDATE | chats.update | Informa quando o chat é atualizado. | 31 | | CHATS_UPSERT | chats.upsert | Envia informações sobre novos chats. | 32 | | GROUPS_UPSERT | groups.upsert | Notifica quando um grupo é criado. | 33 | | GROUPS_UPDATE | groups.update | Notifica quando as informações de um grupo são atualizadas. | 34 | | GROUP_PARTICIPANTS_UPDATE | group-participants.update | Notifica quando uma ação envolvendo um participante ocorre: 'adicionar', 'remover', 'promover', 'rebaixar'. | 35 | | NEW_TOKEN | new.jwt | Notifica quando o token (jwt) é atualizado. | 36 | 37 | Esses eventos de webhook permitem a integração em tempo real da Evolution API com o WhatsApp™, possibilitando a sincronização e o compartilhamento automatizado de dados. Eles são essenciais para criar bots de autoatendimento e sistemas multi-serviço. 38 | 39 | ## ROTAS DE WEBHOOK 40 | 41 | Ao habilitar as opções WEBHOOK_BY_EVENTS nos webhooks globais e locais, os seguintes caminhos serão adicionados ao final do webhook. 42 | 43 | :::note Exemplo: 44 | Supondo que a URL do seu webhook era `https://sub.domain.com/webhook-test/exclusive-webhook-code`, para o evento `QR CODE ATUALIZADO`, a URL completa ficaria assim: 45 | 46 | `https://sub.domain.com/webhook-test/exclusive-webhook-code/qrcode-updated` 47 | ::: 48 | 49 | Aqui está uma descrição das sufixos adicionados ao final da URL do webhook para cada um dos eventos: 50 | 51 | ``` 52 | APPLICATION_STARTUP: /application-startup 53 | QRCODE_UPDATED: /qrcode-updated 54 | CONNECTION_UPDATE: /connection-update 55 | MESSAGES_SET: /messages-set 56 | MESSAGES_UPSERT: /messages-upsert 57 | MESSAGES_UPDATE: /messages-update 58 | MESSAGES_DELETE: /messages-delete 59 | SEND_MESSAGES: /send-messages 60 | CONTACTS_SET: /contacts-set 61 | CONTACTS_UPSERT: /contacts-upsert 62 | CONTACTS_UPDATE: /contacts-update 63 | PRESENCE_UPDATE: /presence-update 64 | CHATS_SET: /chats-set 65 | CHATS_UPDATE: /chats-update 66 | CHATS_UPSERT: /chats-upsert 67 | GROUPS_UPSERT: /groups-upsert 68 | GROUPS_UPDATE: /groups-update 69 | GROUP_PARTICIPANTS_UPDATE: /groups-participants-update 70 | NEW_TOKEN: /new-token 71 | ``` 72 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/02-Configuration/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Configuração" 3 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/01-instance-connect.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Conectar Instância 6 | 7 | | Método | Endpoint | 8 | | ------ | ----------------------------------------- | 9 | | GET | [baseUrl]/instance/connect/[instance] | 10 | 11 | ### Dados a serem enviados na Requisição 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | { 21 | "code": "[code]", 22 | "base64": "[base64] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/02-fetch-instances.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Buscar Instâncias 6 | 7 | | Método | Endpoint | 8 | | ------ | ----------------------------------- | 9 | | GET | [baseUrl]/instance/fetchInstances | 10 | 11 | ### Dados a serem enviados na solicitação 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | [ 21 | { 22 | "instance": { 23 | "instanceName": "[instance]", 24 | "owner": "[remoteJid]", 25 | "profileName": "[pushName]", 26 | "profilePictureUrl": "[profilePictureUrl]", 27 | "profileStatus": "[profileStatus]", 28 | "status": "open", 29 | "apikey": "[apikey]" 30 | } 31 | }, 32 | { 33 | "instance": { 34 | "instanceName": "[instance]", 35 | "status": "connecting", 36 | "apikey": "[apikey]" 37 | } 38 | } 39 | ] 40 | ``` 41 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/03-restart-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Reiniciar Instância 6 | 7 | | Método | Endpoint | 8 | | ------ | ----------------------------------------- | 9 | | PUT | [baseUrl]/instance/restart/[instance] | 10 | 11 | ### Dados a serem enviados na solicitação 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | { 21 | "state": "[state]", 22 | "statusReason": [statusCode] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/04-connection-status.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | --- 4 | 5 | # Status da Conexão 6 | 7 | | Método | Endpoint | 8 | | ------ | ------------------------------------------------- | 9 | | GET | [baseUrl]/instance/connectionState/[instance] | 10 | 11 | ### Dados a serem enviados na solicitação 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | { 21 | "state": "[state]", 22 | "statusReason": [statusCode] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/05-logout-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Logout da Instância 6 | 7 | | Método | Endpoint | 8 | | ------ | ---------------------------------------- | 9 | | DELETE | [baseUrl]/instance/logout/[instance] | 10 | 11 | ### Dados a serem enviados na solicitação 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | { 21 | "error": "[error]", 22 | "message": "[message]" 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/06-delete-instance.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | --- 4 | 5 | # Excluir Instância 6 | 7 | | Método | Endpoint | 8 | | ------ | ---------------------------------------- | 9 | | DELETE | [baseUrl]/instance/delete/[instance] | 10 | 11 | ### Dados a serem enviados na solicitação 12 | 13 | ```json title=Payload 14 | Esta solicitação não possui carga útil. 15 | ``` 16 | 17 | ### Dados retornados pela solicitação 18 | 19 | ```json title=Result 20 | { 21 | "error": "[error]", 22 | "message": "[message]" 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/03-Instance contoller/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Controle de Instância" 3 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/04-Webhooks/00-set-webhook.md: -------------------------------------------------------------------------------- 1 | # Configurar Webhook 2 | 3 | :::info Instruções: 4 | Substitua o conteúdo existente entre [ ] por qualquer coisa que corresponda ao seu cenário ou necessidade. 5 | ::: 6 | 7 | | Método | Endpoint | 8 | | ------ | ------------------------------------ | 9 | | POST | [baseUrl]/webhook/set/[instance] | 10 | 11 | Após a criação da instância, você ainda pode configurar ou alterar as configurações do Webhook. 12 | 13 | Basta inserir os novos dados e consumir o endpoint. 14 | 15 | ### Dados a serem enviados na solicitação: 16 | 17 | ```json title=Payload 18 | { 19 | "enabled": true, 20 | "url": "[webhookUrl]", 21 | "webhookByEvents": false, 22 | "events": [ 23 | // "APPLICATION_STARTUP", 24 | "QRCODE_UPDATED", 25 | // "MESSAGES_SET", 26 | "MESSAGES_UPSERT", 27 | "MESSAGES_UPDATE", 28 | "SEND_MESSAGE", 29 | // "CONTACTS_SET", 30 | // "CONTACTS_UPSERT", 31 | // "CONTACTS_UPDATE", 32 | // "PRESENCE_UPDATE", 33 | // "CHATS_SET", 34 | // "CHATS_UPSERT", 35 | // "CHATS_UPDATE", 36 | // "CHATS_DELETE", 37 | // "GROUPS_UPSERT", 38 | // "GROUP_UPDATE", 39 | // "GROUP_PARTICIPANTS_UPDATE", 40 | "CONNECTION_UPDATE" 41 | // "NEW_JWT_TOKEN" 42 | ] 43 | } 44 | ``` 45 | 46 | ### Dados retornados da solicitação 47 | ```json title=Result 48 | { 49 | "webhook": { 50 | "instanceName": "[instance]", 51 | "webhook": { 52 | "enabled": true, 53 | "url": "[url]", 54 | "webhookByEvents": false, 55 | "events": [ 56 | "QRCODE_UPDATED", 57 | "MESSAGES_UPSERT", 58 | "MESSAGES_UPDATE", 59 | "SEND_MESSAGE", 60 | "CONNECTION_UPDATE" 61 | ] 62 | } 63 | } 64 | } 65 | ``` 66 | 67 | ### Explicação dos Parâmetros 68 | 69 | 70 | Parâmetro | Tipo | Descrição 71 | --- | --- | --- 72 | enabled | Obrigatório | Insira "true" para criar ou alterar dados de Webhook, ou "false" se desejar parar de usá-lo.

Valores aceitos são "true" ou "false". 73 | url | Opcional | URL de Webhook para receber dados de eventos.

_Insira a URL para criar ou alterar o Webhook, ou deixe em branco ("") se desejar parar de usá-lo._ 74 | webhook_by_events | Opcional | Deseja gerar uma URL de Webhook específica para cada um de seus eventos?

Valores aceitos são "true" ou "false".

_Se você não informou o parâmetro de URL, não é necessário informar este parâmetro._ 75 | events | Opcional | Lista de eventos a serem processados.

_Se você não deseja usar alguns desses eventos, basta removê-los da lista.

Os caracteres de comentário (//) foram colocados apenas para facilitar a compreensão e devem ser removidos antes de consumir o endpoint.

Se você não informou o parâmetro de URL, não é necessário informar este parâmetro._ 76 | 77 |
78 | 79 | :::danger Aviso: 80 | 81 | É extremamente necessário que a carga obedeça às regras de criação de um arquivo JSON, considerando a disposição correta de itens, formatação, colchetes, chaves e vírgulas, etc. 82 | 83 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, acesse https://jsonlint.com/ e valide. 84 | ::: 85 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/04-Webhooks/01-find-webhook.md: -------------------------------------------------------------------------------- 1 | # Encontrar Webhook 2 | 3 | | Método | Endpoint | 4 | | ------ | ------------------------------------- | 5 | | GET | [baseUrl]/webhook/find/[instance] | 6 | 7 | ### Dados a serem enviados na solicitação: 8 | 9 | ```json title=Payload 10 | Esta solicitação não possui carga útil. 11 | ``` 12 | 13 | ### Dados retornados da solicitação: 14 | 15 | ```json title=Result 16 | { 17 | "enabled": true, 18 | "url": "[url]", 19 | "webhookByEvents": false, 20 | "events": [ 21 | [events] 22 | ] 23 | } 24 | ``` 25 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/04-Webhooks/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Webhooks" 3 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/00-send-plain-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 0 3 | --- 4 | 5 | # Enviar Texto Simples 6 | 7 | :::note Instruções: 8 | Substitua o conteúdo existente entre [ ] pelo que corresponde ao seu cenário ou necessidade. 9 | ::: 10 | 11 | | Método | Endpoint | 12 | | ------ | ----------------------------------------- | 13 | | POST | [baseUrl]/message/sendText/[instance] | 14 | 15 | Envie mensagens de texto usando as mesmas funcionalidades do seu dispositivo ou da web. 16 | 17 | ### Dados a serem enviados na solicitação 18 | 19 | ```json title=Payload 20 | { 21 | "number": "[remoteJid]", 22 | "options": { 23 | "delay": 1200, 24 | "presence": "composing" 25 | }, 26 | "textMessage": { 27 | "text": "Esta é uma mensagem de texto simples, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoji disponível no WhatsApp, como os exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 28 | } 29 | } 30 | ``` 31 | 32 | ### Dados retornados da Solicitação 33 | 34 | ```json title=Result 35 | { 36 | "key": { 37 | "remoteJid": "[remoteJid]", 38 | "fromMe": true, 39 | "id": "BAE5B8BC84A484E3" 40 | }, 41 | "message": { 42 | "extendedTextMessage": { 43 | "text": "Esta é uma mensagem de texto simples, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoji disponível no WhatsApp, como os exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 44 | } 45 | }, 46 | "messageTimestamp": "1689604487", 47 | "status": "PENDING" 48 | } 49 | ``` 50 | 51 | ### Explicação dos Parâmetros 52 | 53 | 54 | Parâmetro | Tipo | Descrição 55 | --|--|-- 56 | remoteJid | Obrigatório | Insira o remoteJid ou groupJid para quem a mensagem será enviada.

_remoteJid = Número no formato DDI + DDD + número, com ou sem o final @s.whatsapp.net.

Exemplo: 5511911111111 ou 5511911111111@s.whatsapp.net

**groupJid** = Aceita o identificador de grupo no formato de hash para novos grupos, ou remoteJid + "-" + timestamp para grupos antigos. Nesses casos, é obrigatório informar o final @g.us.

Exemplo: 120363024158769234@g.us ou 5511911111111-1111111111@g.us_ 57 | options.delay | Opcional | Tempo em milissegundos que a mensagem deve esperar antes de ser enviada, mostrando as informações de presença configuradas no item seguinte. 58 | options.presence | Opcional | O conteúdo "composing" fará com que a mensagem "digitando" apareça no menu superior do WhatsApp™, durante o tempo definido no item anterior. 59 | textMessage.text | Obrigatório | Informe o texto da mensagem que deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, entre \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, entre \~seutexto\~
- Monoespaçado, entre \```seutexto\```

_Para quebrar uma linha, insira "\n" na mensagem._

Confira o exemplo no payload para melhor compreensão. 60 | 61 | :::note Nota: 62 | Toda mensagem enviada pela Evolution API inicialmente possui o status PENDENTE. 63 | 64 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 65 | ::: 66 | 67 | :::danger Aviso: 68 | É extremamente necessário que o payload siga as regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 69 | 70 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 71 | ::: 72 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/01-send-reply-quote-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Enviar uma Mensagem de Citação de Texto 6 | 7 | :::note Instruções: 8 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 9 | ::: 10 | 11 | | Método | Endpoint | 12 | | ------ | ----------------------------------------- | 13 | | POST | [baseUrl]/message/sendText/[instance] | 14 | 15 | Envie uma mensagem citando uma mensagem anterior na resposta. 16 | 17 | Isso funciona tanto para mensagens recebidas quanto para citar suas próprias mensagens enviadas se você quiser lembrar o destinatário de um assunto discutido anteriormente. 18 | 19 | ### Dados a serem enviados na solicitação 20 | 21 | ```json title=Payload 22 | { 23 | "number": "[remoteJid]", 24 | "options": { 25 | "delay": 1200, 26 | "presence": "composing", 27 | "quoted": { 28 | "key": { 29 | "remoteJid": "[remoteJid]@s.whatsapp.net", 30 | "fromMe": true, 31 | "id": "BAE5766236A2AEFF", 32 | "participant": "" 33 | }, 34 | "message": { 35 | "conversation": "Mensagem de texto com citação de resposta, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 36 | } 37 | } 38 | }, 39 | "textMessage": { 40 | "text": "Mensagem de texto com citação de resposta, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 41 | } 42 | } 43 | ``` 44 | 45 | ### Dados retornados da Solicitação 46 | 47 | ```json title=Result 48 | { 49 | "key": { 50 | "remoteJid": "[remoteJid]@s.whatsapp.net", 51 | "fromMe": true, 52 | "id": "BAE5FA1CB273B533" 53 | }, 54 | "message": { 55 | "extendedTextMessage": { 56 | "text": "Mensagem de texto com citação de resposta, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏", 57 | "contextInfo": { 58 | "stanzaId": "BAE5766236A2AEFF", 59 | "participant": "[remoteJid]@s.whatsapp.net", 60 | "quotedMessage": { 61 | "conversation": "Mensagem de texto simples, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 62 | } 63 | } 64 | } 65 | }, 66 | "messageTimestamp": "1689608179", 67 | "status": "PENDING" 68 | } 69 | ``` 70 | 71 | ### Explanation of Parameters 72 | 73 | ### Explicação dos Parâmetros 74 | 75 | 76 | Parâmetro | Tipo | Descrição 77 | -|-|- 78 | remoteJid | Obrigatório | Insira o remoteJid ou groupJid para quem a mensagem será enviada.

**remoteJid** = Número no formato DDI + DDD + Número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

**groupJid** = Aceita o identificador de grupo no formato hash para novos grupos, ou remoteJid + "-" + timestamp para grupos antigos. Neste caso, é obrigatório informar o final @g.us.

Ex: 120363024158769234@g.us ou 5511911111111-1111111111@g.us 79 | options.delay | Opcional | Tempo em milissegundos que a mensagem deve esperar antes de ser enviada, mostrando as informações de presença configuradas no próximo item. 80 | options.presence | Opcional | O conteúdo "composing" fará com que a mensagem apareça como "digitando" no menu superior do WhatsApp™, durante o tempo definido no item anterior. 81 | options.quoted.key.remoteJid | Obrigatório | Pegue esta informação do remoteJid na chave do objeto da mensagem a ser citada. 82 | options.quoted.key.fromMe | Obrigatório | Pegue esta informação do remoteJid na chave do objeto da mensagem a ser citada. 83 | options.quoted.key.id | Obrigatório | Pegue esta informação do remoteJid na chave do objeto da mensagem a ser citada. 84 | options.quoted.key.participant | Obrigatório | Pegue esta informação do remoteJid na chave do objeto da mensagem a ser citada. 85 | options.quoted.message.conversation | Obrigatório | Pegue esta informação do remoteJid na chave do objeto da mensagem a ser citada. 86 | textMessage.text | Obrigatório | Informe o texto da mensagem que deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, coloque \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

_Para quebrar uma linha, insira "\n" na mensagem._

Confira o exemplo no payload para melhor entendimento. 87 | 88 | :::note Nota: 89 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 90 | 91 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 92 | ::: 93 | 94 | :::danger Atenção: 95 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 96 | 97 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 98 | ::: 99 | 100 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/02-send-mention-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | --- 4 | 5 | # Enviar texto de menção 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ----------------------------------------- | 14 | | POST | [baseUrl]/message/sendText/[instance] | 15 | 16 | Envie uma mensagem em um grupo mencionando um ou vários participantes, sem a necessidade de incluir @nome no conteúdo da mensagem. 17 | 18 | :::info Nota: 19 | Use esse recurso com moderação, pois em um grupo onde os participantes escolheram silenciar notificações, eles ainda serão notificados e marcados com o @. 20 | 21 | O uso excessivo em um grupo com muitos membros nessas condições pode causar insatisfação e resultar em um efeito contrário ao desejado. 22 | ::: 23 | 24 | ### Dados a serem enviados na Requisição 25 | 26 | 27 | ```json title=Payload 28 | { 29 | "number": "[groupJid]", 30 | "options": { 31 | "delay": 1200, 32 | "presence": "composing", 33 | "mentions": { 34 | "everyOne": false, 35 | "mentioned": ["[remoteJid]"] 36 | } 37 | }, 38 | "textMessage": { 39 | "text": "Mencione a mensagem de texto, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 40 | } 41 | } 42 | ``` 43 | 44 | ### Dados retornados da Solicitação 45 | 46 | ```json title=Result 47 | { 48 | "key": { 49 | "remoteJid": "[groupJid]", 50 | "fromMe": true, 51 | "id": "BAE500F92531D3E2" 52 | }, 53 | "message": { 54 | "extendedTextMessage": { 55 | "text": "Mencione a mensagem de texto, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏", 56 | "contextInfo": { 57 | "mentionedJid": ["[remoteJid]@s.whatsapp.net"] 58 | } 59 | } 60 | }, 61 | "messageTimestamp": "1689620558", 62 | "status": "PENDING", 63 | "participant": "[sender]@s.whatsapp.net" 64 | } 65 | ``` 66 | 67 | ### Explicação dos parâmetros 68 | 69 | 70 | Parameter | Type | Description 71 | --- | --- | --- 72 | number | Obrigatório | Insira o groupJid para quem a mensagem será enviada.

**groupJid** = Aceita o identificador de grupo no formato hash para novos grupos, ou remoteJid + "-" + timestamp para grupos antigos. Neste caso, é obrigatório informar o final @g.us.

Ex: 120363024158769234@g.us ou 5511911111111-1111111111@g.us 73 | options.delay | Opcional | Tempo em milissegundos que a mensagem deve esperar antes de ser enviada, mostrando as informações de presença configuradas no próximo item. 74 | options.presence | Opcional | O conteúdo "composing" fará com que a mensagem apareça como "digitando" no menu superior do WhatsApp™, durante o tempo definido no item anterior. 75 | options.mentions.everyOne | Obrigatório | Para mencionar um ou mais participantes, insira "false".

Os valores aceitos são "true" ou "false".

Para mencionar todos, será explicado no próximo item. 76 | options.mentions.mentioned | Obrigatório | Insira o remoteJid de um ou mais participantes que serão mencionados no grupo.

**remoteJid** = Número no formato DDI + DDD + Número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

Se você deseja informar mais de um participante, apenas separe os contatos com vírgulas, como no exemplo abaixo:

- 551191111111,
- 5511922222222,
- 5511933333333
77 | textMessage.text | Obrigatório | Informe o texto da mensagem que deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, coloque \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

Para quebrar uma linha, insira "\n" na mensagem.

Confira o exemplo no payload para melhor entendimento. 78 | 79 | :::note Nota: 80 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 81 | 82 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 83 | ::: 84 | 85 | :::danger Atenção: 86 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 87 | 88 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 89 | ::: 90 | 91 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/03-send-ghost-mention-text.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Enviar texto de menção fantasma 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ----------------------------------------- | 14 | | POST | [baseUrl]/message/sendText/[instance] | 15 | 16 | Envie uma mensagem em um grupo mencionando TODOS os participantes, sem a necessidade de incluir @nome no conteúdo da mensagem. 17 | 18 | :::info Nota: 19 | Use esse recurso com moderação, pois em um grupo onde os participantes escolheram silenciar notificações, eles ainda serão notificados e marcados com o @. 20 | 21 | O uso excessivo em um grupo com muitos membros nessas condições pode causar insatisfação e resultar em um efeito contrário ao desejado. 22 | ::: 23 | 24 | ### Dados a serem enviados na Requisição 25 | 26 | 27 | ```json title=Payload 28 | { 29 | "number": "[groupJid]", 30 | "options": { 31 | "delay": 1200, 32 | "presence": "composing", 33 | "mentions": { 34 | "everyOne": true 35 | } 36 | }, 37 | "textMessage": { 38 | "text": "Mensagem de texto de menção fantasma, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏" 39 | } 40 | } 41 | ``` 42 | 43 | ### Dados retornados da Solicitação 44 | 45 | ```json title=Result 46 | { 47 | "key": { 48 | "remoteJid": "[groupJid]", 49 | "fromMe": true, 50 | "id": "BAE59EF61E567741" 51 | }, 52 | "message": { 53 | "extendedTextMessage": { 54 | "text": "Mensagem de texto de menção fantasma, enviada com a _Evolution-API_ 🚀.\n\nAqui você pode enviar textos em *negrito*, _itálico_, ~riscado~ e `monoespaçado`.\n\nVocê também pode usar qualquer emoticon disponível no WhatsApp, como estes exemplos abaixo:\n\n😉🤣🤩🤝👏👍🙏", 55 | "contextInfo": { 56 | "mentionedJid": [ 57 | "[remoteJid]1@s.whatsapp.net", 58 | "[remoteJid]2@s.whatsapp.net", 59 | "[remoteJid]3@s.whatsapp.net", 60 | "[remoteJid]4@s.whatsapp.net", 61 | "[remoteJid]5@s.whatsapp.net" 62 | ] 63 | } 64 | } 65 | }, 66 | "messageTimestamp": "1689617824", 67 | "status": "PENDING", 68 | "participant": "[sender]@s.whatsapp.net" 69 | } 70 | ``` 71 | 72 | ### Explicação dos parâmetros 73 | 74 | 75 | Parameter | Type | Description 76 | -|-|- 77 | number | Obrigatório | Insira o groupJid para quem a mensagem será enviada.

**groupJid** = Aceita o identificador de grupo no formato hash para novos grupos, ou remoteJid + "-" + timestamp para grupos antigos. Neste caso, é obrigatório informar o final @g.us.

Ex: 120363024158769234@g.us ou 5511911111111-1111111111@g.us 78 | options.delay | Opcional | Tempo em milissegundos que a mensagem deve esperar antes de ser enviada, mostrando as informações de presença configuradas no próximo item. 79 | options.presence | Opcional | O conteúdo "composing" fará com que a mensagem apareça como "digitando" no menu superior do WhatsApp™, durante o tempo definido no item anterior. 80 | options.mentions.everyOne | Obrigatório | Para mencionar TODOS os participantes, insira "true".

Os valores aceitos são "true" ou "false".

Para mencionar um ou mais, foi explicado no item anterior. 81 | textMessage.text | Obrigatório | Informe o texto da mensagem que deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, coloque \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

Para quebrar uma linha, insira "\n" na mensagem.

Confira o exemplo no payload para melhor entendimento. 82 | 83 | :::note Nota: 84 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 85 | 86 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 87 | ::: 88 | 89 | :::danger Atenção: 90 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 91 | 92 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 93 | ::: 94 | 95 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/04-send-status_stories-text_url.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | --- 4 | 5 | # Enviar texto/url de status/Stories 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ------------------------------------------- | 14 | | POST | [baseUrl]/message/sendStatus/[instance] | 15 | 16 | Envie um Status/Stories de texto ou URL (clicável) para um, alguns ou todos os contatos em sua lista. 17 | 18 | ### Dados a serem enviados na Requisição 19 | 20 | ```json title=Payload 21 | { 22 | "statusMessage": { 23 | "type": "text", 24 | "content": "Olá, como você está hoje? 😉👍\n\nVeja mais em\n\nhttps://evolution-api.com/", 25 | "backgroundColor": "#008000", 26 | "font": 1, 27 | "allContacts": false, 28 | "statusJidList": ["[remoteJid]@s.whatsapp.net"] 29 | } 30 | } 31 | ``` 32 | 33 | ### Dados retornados da Solicitação 34 | 35 | ```json title=Result 36 | { 37 | "key": { 38 | "remoteJid": "status@broadcast", 39 | "fromMe": true, 40 | "id": "BAE59F76997142F0" 41 | }, 42 | "message": { 43 | "extendedTextMessage": { 44 | "text": "Olá, como você está hoje? 😉👍\n\nVeja mais em\n\nhttps://evolution-api.com/", 45 | "matchedText": "https://evolution-api.com/", 46 | "canonicalUrl": "https://evolution-api.com/opensource-whatsapp-api/", 47 | "title": "OpenSource WhatsApp API – Evolution API", 48 | "backgroundArgb": 4278222848, 49 | "font": "SERIF", 50 | "previewType": "NONE", 51 | "thumbnailDirectPath": "/o1/v/t62.7118-24/f1/m230/up-oil-image-bae65e3e-9813-4686-99a5-53ab5e2336c7?ccb=9-4&oh=01_AdRENApzu4pB-Y6VDbbGWfD6w91B1rmxgveUJH_cCmt0Hg&oe=64DCEF1B", 52 | "thumbnailSha256": "QcKPDG2Bk+d3fPceiuS1cnGuBNgv/8hHM4UgcwYMtKk=", 53 | "thumbnailEncSha256": "UpEq8UfeJuT2/0A2nS7vEEIUZzIi+SmOydvvWQthzAs=", 54 | "mediaKey": "KXuIeKYSqsHVD8uxEoHnQPjXuADqTVCtfuI35zbmVxc=", 55 | "mediaKeyTimestamp": "1689621677", 56 | "thumbnailHeight": 0, 57 | "thumbnailWidth": 0 58 | } 59 | }, 60 | "messageTimestamp": "1689621677", 61 | "status": "PENDING", 62 | "participant": "[sender]@s.whatsapp.net" 63 | } 64 | ``` 65 | 66 | ### Explicação dos parâmetros 67 | 68 | 69 | Parameter | Type | Descrição 70 | -|-|- 71 | statusMessage.type | Obrigatório | Informe "text" para enviar mensagens de texto ou "url" para URLs clicáveis. 72 | statusMessage.content | Obrigatório | Informe o texto da mensagem que deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, insira \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

Para quebrar uma linha, insira "\n" na mensagem.

Confira o exemplo no payload para melhor entendimento. 73 | statusMessage.backgroundColor | Obrigatório | Insira a cor desejada para o fundo do status/stories, usando o Código de Cor Hexadecimal.

Exemplos:

#FFFFFF = Branco
#0000FF = Azul
#008000 = Verde
#FFFF00 = Amarelo
#FF0000 = Vermelho
#800080 = Roxo
#808080 = Cinza
#FFC0CB = Rosa
74 | statusMessage.font | Obrigatório | Escolha o tipo de fonte a ser usado.

Aceite as opções abaixo:

1 = SERIF
2 = NORICAN_REGULAR
3 = BRYNDAN_WRITE
4 = BEBASNEUE_REGULAR
5 = OSWALD_HEAVY
75 | statusMessage.allContacts | Obrigatório | Para enviar para TODOS os contatos, digite "true".

Os valores aceitos são "true" ou "false".

Se "false" for informado, "statusJidList" se torna obrigatório. 76 | statusMessage.statusJidList | Opcional | Insira o remoteJid de um ou mais contatos aos quais você deseja enviar status/stories.

**remoteJid** = Número no formato DDI + DDD + formato de número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

Se você deseja enviar para mais de um contato, apenas separe-os por vírgulas, como mostrado no exemplo abaixo:

551191111111,
5511922222222,
5511933333333 77 | 78 | :::note Nota: 79 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 80 | 81 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 82 | ::: 83 | 84 | :::danger Atenção: 85 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 86 | 87 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 88 | ::: 89 | 90 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/05-send-status-stories-image_video.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Enviar Status/Stories Imagem/Video 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ------------------------------------------- | 14 | | POST | [baseUrl]/message/sendStatus/[instance] | 15 | 16 | Envie uma imagem ou vídeo no Status/Stories para um, alguns ou todos os contatos em sua lista. 17 | 18 | ### Dados a serem enviados na Requisição 19 | 20 | ```json title=Payload 21 | { 22 | "statusMessage": { 23 | "type": "image", 24 | "content": "https://evolution-api.com/files/evolution-api.jpg", 25 | "caption": "This is my status/storie image. 📷", 26 | "allContacts": false, 27 | "statusJidList": ["[remoteJid]@s.whatsapp.net"] 28 | } 29 | } 30 | ``` 31 | 32 | ### Dados retornados da Solicitação 33 | 34 | ```json title=Result 35 | { 36 | "key": { 37 | "remoteJid": "status@broadcast", 38 | "fromMe": true, 39 | "id": "BAE5689FDB7A25B6" 40 | }, 41 | "message": { 42 | "imageMessage": { 43 | "url": "https://mmg.whatsapp.net/o1/v/t62.7118-24/f1/m231/up-oil-image-155d5601-7e78-4b9f-b...", 44 | "mimetype": "image/jpeg", 45 | "caption": "Esta é minha imagem de status/storie. 📷", 46 | "fileSha256": "8VXLU/xZb6avXAocU65TB8PYu2hqBYA7GR1SKNcF8rs=", 47 | "fileLength": "54005", 48 | "height": 482, 49 | "width": 1728, 50 | "mediaKey": "xVG4qXCr6dgG0P6v/c76p+2W26QDdWWjfsu6KaNZqsQ=", 51 | "fileEncSha256": "DGtpcQDfi6D8z1HIn/CRHCW0jIMXtB6mkswbbpC+Sok=", 52 | "directPath": "/o1/v/t62.7118-24/f1/m231/up-oil-image-155d5601-7e78-4b9f-bb7b-c432147ee35...", 53 | "mediaKeyTimestamp": "1689623202", 54 | "jpegThumbnail": "/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19..." 55 | } 56 | }, 57 | "messageTimestamp": "1689623202", 58 | "status": "PENDING", 59 | "participant": "[sender]@s.whatsapp.net" 60 | } 61 | ``` 62 | 63 | ### Explicação dos parâmetros 64 | 65 | 66 | Parameter | Type | Descrição 67 | ---|---|--- 68 | statusMessage.type | Obrigatório | Informe image para enviar imagens ou video para enviar vídeos. 69 | statusMessage.content | Obrigatório | Insira a URL pública da imagem ou vídeo.

Recomendamos um serviço de hospedagem que não bloqueie o acesso à API. 70 | statusMessage.caption | Opcional | Informe o texto de legenda da mídia que você deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, insira \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

Para quebrar uma linha, insira "\n" na mensagem.

Confira o exemplo no payload para melhor entendimento. 71 | statusMessage.allContacts | Obrigatório | Para enviar para TODOS os contatos, digite "true".

Os valores aceitos são "true" ou "false".

Se "false" for informado, "statusJidList" se torna obrigatório. 72 | statusMessage.statusJidList | Opcional | Insira o remoteJid de um ou mais contatos aos quais você deseja enviar status/stories.

**remoteJid** = Número no formato DDI + DDD + formato de número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

Se você deseja enviar para mais de um contato, apenas separe-os por vírgulas, como mostrado no exemplo abaixo:

551191111111,
5511922222222,
5511933333333 73 | 74 | :::note Nota: 75 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 76 | 77 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 78 | ::: 79 | 80 | :::danger Atenção: 81 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 82 | 83 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 84 | ::: 85 | 86 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/06-send-status_stories-audio.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | --- 4 | 5 | # Enviar Status/Stories Audio 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ------------------------------------------- | 14 | | POST | [baseUrl]/message/sendStatus/[instance] | 15 | 16 | Envie um áudio no Status/Stories para um, alguns ou todos os contatos em sua lista. 17 | 18 | ### Dados a serem enviados na Requisição 19 | 20 | 21 | ```json title=Payload 22 | { 23 | "statusMessage": { 24 | "type": "audio", 25 | "content": "https://evolution-api.com/files/narratedaudio.mp3", 26 | "allContacts": false 27 | "statusJidList": [ 28 | "[remoteJid]@s.whatsapp.net" 29 | ] 30 | } 31 | } 32 | ``` 33 | 34 | ### Dados retornados da Solicitação 35 | 36 | ```json title=Result 37 | { 38 | "key": { 39 | "remoteJid": "status@broadcast", 40 | "fromMe": true, 41 | "id": "BAE5B0FC8A8EA66F" 42 | }, 43 | "message": { 44 | "audioMessage": { 45 | "url": "https://mmg.whatsapp.net/v/t62.7114-24/28510574_1291945264794607_9192703486876771390_n.enc?ccb=11-4&oh=01_AdQIRJtm58sVzCQUneKp1a0-WGw8fIZtjyUm1rqP5xA-QQ&oe=64DD2832&mms3=true", 46 | "mimetype": "audio/mp4", 47 | "fileSha256": "9gAg85yo8szE2mFn9ZO4wG+P3wilP3txBR7uPVjvRj4=", 48 | "fileLength": "326006", 49 | "seconds": 19, 50 | "ptt": true, 51 | "mediaKey": "F8BinfCyJuCDTBB9jnLNSgWxjvyxH1clqSVOmPwtqBY=", 52 | "fileEncSha256": "r8veVXB8gf87qjNRhjeDWlAkrdL1fvNgcapy5lh9N04=", 53 | "directPath": "/v/t62.7114-24/28510574_1291945264794607_9192703486876771390_n.enc?ccb=11-4&oh=01_AdQIRJtm58sVzCQUneKp1a0-WGw8fIZtjyUm1rqP5xA-QQ&oe=64DD2832", 54 | "mediaKeyTimestamp": "1689624384" 55 | } 56 | }, 57 | "messageTimestamp": "1689624384", 58 | "status": "PENDING", 59 | "participant": "[sender]@s.whatsapp.net" 60 | } 61 | ``` 62 | 63 | ### Explicação dos parâmetros 64 | 65 | 66 | Parameter | Type | Descrição 67 | -|-|- 68 | statusMessage.type | Obrigatório | Informe audio para enviar uma forma de onda. 69 | statusMessage.content | Obrigatório | Insira a URL pública do áudio.

Recomendamos um serviço de hospedagem que não bloqueie o acesso à API. 70 | statusMessage.allContacts | Obrigatório | Para enviar para TODOS os contatos, digite "true".

Os valores aceitos são "true" ou "false".

Se "false" for informado, "statusJidList" se torna obrigatório. 71 | statusMessage.statusJidList | Opcional | Insira o remoteJid de um ou mais contatos aos quais você deseja enviar status/stories.

**remoteJid** = Número no formato DDI + DDD + formato de número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

Se você deseja enviar para mais de um contato, apenas separe-os por vírgulas, como mostrado no exemplo abaixo:

551191111111,
5511922222222,
5511933333333 72 | 73 | :::note Nota: 74 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 75 | 76 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 77 | ::: 78 | 79 | :::danger Atenção: 80 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 81 | 82 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 83 | ::: 84 | 85 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/07-send-image-media-url.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | --- 4 | 5 | # Enviar Imagem Media Url 6 | 7 | :::note Instruções: 8 | 9 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 10 | ::: 11 | 12 | | Método | Endpoint | 13 | | ------ | ------------------------------------------ | 14 | | POST | [baseUrl]/message/sendMedia/[instance] | 15 | 16 | Envie imagens diretamente da internet, nos formatos JPG e PNG. 17 | 18 | ### Dados a serem enviados na Requisição 19 | 20 | ```json title=Payload 21 | { 22 | "number": "[remoteJid]", 23 | "options": { 24 | "delay": 1200, 25 | "presence": "composing" 26 | }, 27 | "mediaMessage": { 28 | "mediatype": "image", 29 | "caption": "Este é um exemplo de arquivo de imagem JPG enviado pela Evolution-API via URL.", 30 | "media": "https://evolution-api.com/files/evolution-api.jpg" 31 | } 32 | } 33 | ``` 34 | 35 | ### Data returned from the Request 36 | 37 | ```json title=Result 38 | { 39 | "key": { 40 | "remoteJid": "[remoteJid]", 41 | "fromMe": true, 42 | "id": "BAE51614A82384B8" 43 | }, 44 | "message": { 45 | "imageMessage": { 46 | "url": "https://mmg.whatsapp.net/o1/v/t62.7118-24/f1/m230/up-oil-image-807ef642-4b4b-4ed9-...", 47 | "mimetype": "image/jpeg", 48 | "caption": "Este é um exemplo de arquivo de imagem JPG enviado pela Evolution-API via URL.", 49 | "fileSha256": "8VXLU/xZb6avXAocU65TB8PYu2hqBYA7GR1SKNcF8rs=", 50 | "fileLength": "54005", 51 | "height": 482, 52 | "width": 1728, 53 | "mediaKey": "y6cbe1XoK0o9muPFcwY48tE6+dtapdE3m7BmSCGIZUY=", 54 | "fileEncSha256": "2Qp8gKmnazumKDIYvotqNdFmkzCEQwHVQ3AM3sEdFeE=", 55 | "directPath": "/o1/v/t62.7118-24/f1/m230/up-oil-image-807ef642-4b4b-4ed9-b9b8-c9cc855796...", 56 | "mediaKeyTimestamp": "1689625686", 57 | "jpegThumbnail": "/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV1...", 58 | "contextInfo": {} 59 | } 60 | }, 61 | "messageTimestamp": "1689625687", 62 | "status": "PENDING" 63 | } 64 | ``` 65 | 66 | ### Explicação dos parâmetros 67 | 68 | 69 | Parameter | Type | Descrição 70 | -|-|- 71 | number | Obrigatório | Insira o remoteJid ou groupJid para quem a mensagem será enviada.

**remoteJid** = Número no formato DDI + DDD + formato de número, com ou sem o final @s.whatsapp.net.

Ex: 5511911111111 ou 5511911111111@s.whatsapp.net

**groupJid** = Aceita o identificador de grupo no formato de hash para novos grupos, ou remoteJid + "-" + timestamp para grupos antigos. Nesses casos, é obrigatório informar o final @g.us.

Ex: 120363024158769234@g.us ou 5511911111111-1111111111@g.us 72 | options.delay | Opcional | Tempo em milissegundos que a mensagem deve aguardar até ser enviada, mostrando a informação de presença configurada no próximo item. 73 | options.presence | Opcional | O conteúdo "composing" fará com que a mensagem "digitando" apareça no menu superior do WhatsApp™, durante o tempo definido no item anterior. 74 | mediaMessage.mediaType | Obrigatório | Informe "image". 75 | mediaMessage.caption | Opcional | Informe o texto de legenda da mídia que você deseja enviar, podendo usar os mesmos recursos que você usaria no aplicativo ou na web, que são:

- Emojis
- Negrito, insira \*seutexto\*
- Itálico, entre \_seutexto\_
- Riscado, insira \~seutexto\~
- Monoespaçado entre \```seutexto\```

_Para quebrar uma linha, insira "\n" na mensagem._

Confira o exemplo no payload para melhor entendimento. 76 | mediaMessage.media | Obrigatório | Insira a URL pública da imagem.

Recomendamos um serviço de hospedagem que não bloqueie o acesso à API. 77 | 78 | :::note Nota: 79 | Toda mensagem enviada pela Evolution API inicialmente tem o status PENDENTE. 80 | 81 | Isso indica que o envio foi bem-sucedido e a mensagem está aguardando os seguintes status, que serão enviados para o Webhook MESSAGES_UPDATE. 82 | ::: 83 | 84 | :::danger Atenção: 85 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 86 | 87 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 88 | ::: 89 | 90 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/05-Endpoints/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Enviar mensagens" 3 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/06-Integrations/00-set-chatwoot.md: -------------------------------------------------------------------------------- 1 | # Configurar ChatWoot 2 | 3 | :::info Instruções: 4 | Substitua o conteúdo existente entre [ ] pelo que corresponder ao seu cenário ou necessidade. 5 | ::: 6 | 7 | | Método | Endpoint | 8 | | ------ | ------------------------------------- | 9 | | POST | [baseUrl]/chatwoot/set/[instance] | 10 | 11 | ## Configurar Instância no ChatWoot™ 12 | 13 | Nesta opção, é possível associar uma instância já criada para estabelecer a conexão com o ChatWoot™, gerando automaticamente a Caixa de Entrada (Inbox) e o Contato para o Bot EvolutionAPI. 14 | 15 | Se a opção QrCode for selecionada como "true", uma mensagem com o QrCode já será criada na conversa para ser lida pelo seu dispositivo. 16 | 17 | Também é possível marcar como "true" a opção de assinar automaticamente as mensagens com o nome do Atendente. 18 | 19 | ### Dados a serem enviados na Requisição 20 | 21 | 22 | ```json title=Payload 23 | { 24 | "enabled": true, 25 | "account_id": 1, 26 | "token": "token", 27 | "url": "https://app.chatwoot.com", 28 | "sign_msg": true 29 | } 30 | ``` 31 | 32 | ### Dados retornados da Solicitação 33 | 34 | ```json title=Result 35 | { 36 | "instance": { 37 | "instanceName": "[instance]", 38 | "status": "created" 39 | }, 40 | "hash": { 41 | "apikey": "[apikey]" 42 | }, 43 | "webhook": "[webhook]", 44 | "events": [ 45 | "QRCODE_UPDATED", 46 | "MESSAGES_UPSERT", 47 | "MESSAGES_UPDATE", 48 | "SEND_MESSAGE", 49 | "CONNECTION_UPDATE" 50 | ], 51 | "chatwoot": { 52 | "enabled": true, 53 | "account_id": [account_id], 54 | "token": "[token]", 55 | "url": "[url]", 56 | "sign_msg": false, 57 | "name_inbox": "[name_inbox]", 58 | "webhook_url": "[webhook_url]" 59 | } 60 | } 61 | ``` 62 | 63 | ### Explicação dos parâmetros 64 | 65 | 66 | Parameter | Type | Description 67 | --- | --- | --- 68 | enabled | Obrigatório | Gera automaticamente o QRCode?

_Os valores aceitos são "true" ou "false"._ 69 | account_id | Opcional | Seu ID de Conta no ChatWoot.

_Informe somente se você estiver se conectando ao ChatWoot™._ 70 | token | Opcional | Seu Token de Acesso, que deve ser obtido a partir da sua instalação do ChatWoot™.

_Informe somente se você estiver instalando com o ChatWoot™._ 71 | url | Opcional | URL de instalação do seu ChatWoot™.

_Informe somente se você estiver se conectando ao ChatWoot™._ 72 | sign_msg | Opcional | Deseja que as mensagens sejam assinadas com o nome do Atendente?

_Os valores aceitos são "true" ou "false".

Informe somente se você estiver se conectando ao ChatWoot™._ 73 | 74 | :::danger Atenção: 75 | 76 | É extremamente necessário que o payload obedeça às regras para criar um arquivo JSON, considerando o arranjo correto de itens, formatação, colchetes, chaves e vírgulas, etc. 77 | 78 | Antes de consumir o endpoint, se você tiver dúvidas sobre a formatação JSON, vá para https://jsonlint.com/ e valide. 79 | ::: 80 | 81 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/06-Integrations/01-find-chatwoot.md: -------------------------------------------------------------------------------- 1 | # Encontrar ChatWoot 2 | 3 | | Método | Endpoint | 4 | | ------ | ------------------------------------- | 5 | | GET | [baseUrl]/chatwoot/find/[instance] | 6 | 7 | ### Dados a serem enviados na Requisição 8 | 9 | ```json title=Payload 10 | Esta requisição não possui payload. 11 | ``` 12 | 13 | ### Dados retornados da Requisição 14 | 15 | 16 | 17 | ```json title=Result 18 | { 19 | "enabled": true, 20 | "url": "[url]", 21 | "webhookByEvents": false, 22 | "events": [ 23 | [events] 24 | ] 25 | } 26 | ``` 27 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-plugin-content-docs/current/06-Integrations/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Chatwoot" 3 | } -------------------------------------------------------------------------------- /i18n/pt/docusaurus-theme-classic/footer.json: -------------------------------------------------------------------------------- 1 | { 2 | "copyright": { 3 | "message": "Direitos Autorais © 2023 Evolution API. Todos os direitos reservados.", 4 | "description": "The footer copyright" 5 | }, 6 | "logo.alt": { 7 | "message": "Logotipo da Evolution API", 8 | "description": "The alt text of footer logo" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /i18n/pt/docusaurus-theme-classic/navbar.json: -------------------------------------------------------------------------------- 1 | { 2 | "logo.alt": { 3 | "message": "Logotipo da Evolution API", 4 | "description": "The alt text of navbar logo" 5 | }, 6 | "item.label.Documentation": { 7 | "message": "Documentação", 8 | "description": "Navbar item with label Documentation" 9 | }, 10 | "item.label.Blog": { 11 | "message": "Blog", 12 | "description": "Navbar item with label Blog" 13 | }, 14 | "item.label.Community": { 15 | "message": "Comunidade", 16 | "description": "Navbar item with label Community" 17 | }, 18 | "item.label.WhatsApp Group": { 19 | "message": "Grupo WhatsApp", 20 | "description": "Navbar item with label WhatsApp Group" 21 | }, 22 | "item.label.Discord Server": { 23 | "message": "Servidor Discord", 24 | "description": "Navbar item with label Discord Server" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docs-evolution-api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start --host 0.0.0.0", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve --host 0.0.0.0", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids", 15 | "typecheck": "tsc" 16 | }, 17 | "dependencies": { 18 | "@docusaurus/core": "3.1.1", 19 | "@docusaurus/preset-classic": "3.1.1", 20 | "@easyops-cn/docusaurus-search-local": "^0.35.0", 21 | "@mdx-js/react": "^3.0.0", 22 | "@types/react": "^18.2.45", 23 | "@types/react-dom": "^18.2.17", 24 | "clsx": "^1.2.1", 25 | "prism-react-renderer": "^2.1.0", 26 | "react": "^18.2.0", 27 | "react-dom": "^18.2.0" 28 | }, 29 | "devDependencies": { 30 | "@docusaurus/module-type-aliases": "3.1.1", 31 | "@docusaurus/tsconfig": "3.1.1", 32 | "@docusaurus/types": "3.1.1", 33 | "@tsconfig/docusaurus": "^1.0.5", 34 | "@types/react": "^18.2.45", 35 | "typescript": "~5.2.2" 36 | }, 37 | "browserslist": { 38 | "production": [ 39 | ">0.5%", 40 | "not dead", 41 | "not op_mini all" 42 | ], 43 | "development": [ 44 | "last 1 chrome version", 45 | "last 1 firefox version", 46 | "last 1 safari version" 47 | ] 48 | }, 49 | "engines": { 50 | "node": ">=18.0" 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /public/composes/docker-compose.yaml: -------------------------------------------------------------------------------- 1 | version: '3.3' 2 | 3 | services: 4 | api: 5 | container_name: evolution_api 6 | image: evolution/api:local 7 | build: . 8 | restart: always 9 | ports: 10 | - 8080:8080 11 | volumes: 12 | - evolution_instances:/evolution/instances 13 | - evolution_store:/evolution/store 14 | networks: 15 | - evolution-net 16 | env_file: 17 | - ./Docker/.env 18 | command: ['node', './dist/src/main.js'] 19 | expose: 20 | - 8080 21 | 22 | mongodb: 23 | container_name: mongodb 24 | image: mongo 25 | restart: always 26 | ports: 27 | - 27017:27017 28 | environment: 29 | - MONGO_INITDB_ROOT_USERNAME=root 30 | - MONGO_INITDB_ROOT_PASSWORD=root 31 | - PUID=1000 32 | - PGID=1000 33 | volumes: 34 | - evolution_mongodb_data:/data/db 35 | - evolution_mongodb_configdb:/data/configdb 36 | networks: 37 | - evolution-net 38 | expose: 39 | - 27017 40 | 41 | mongo-express: 42 | image: mongo-express 43 | networks: 44 | - evolution-net 45 | environment: 46 | ME_CONFIG_BASICAUTH_USERNAME: root 47 | ME_CONFIG_BASICAUTH_PASSWORD: root 48 | ME_CONFIG_MONGODB_SERVER: mongodb 49 | ME_CONFIG_MONGODB_ADMINUSERNAME: root 50 | ME_CONFIG_MONGODB_ADMINPASSWORD: root 51 | ports: 52 | - 8081:8081 53 | links: 54 | - mongodb 55 | 56 | redis: 57 | image: redis:latest 58 | container_name: redis 59 | command: > 60 | redis-server 61 | --port 6379 62 | --appendonly yes 63 | volumes: 64 | - evolution_redis:/data 65 | networks: 66 | - evolution-net 67 | ports: 68 | - 6379:6379 69 | 70 | volumes: 71 | evolution_instances: 72 | evolution_store: 73 | evolution_mongodb_data: 74 | evolution_mongodb_configdb: 75 | evolution_redis: 76 | 77 | networks: 78 | evolution-net: 79 | name: evolution-net 80 | driver: bridge 81 | -------------------------------------------------------------------------------- /public/images/01-portainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/public/images/01-portainer.png -------------------------------------------------------------------------------- /public/images/02-portainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/public/images/02-portainer.png -------------------------------------------------------------------------------- /public/images/bmc_qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/public/images/bmc_qr.png -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | // @ts-check 13 | 14 | /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ 15 | const sidebars = { 16 | // By default, Docusaurus generates a sidebar from the docs folder structure 17 | docsSidebar: [{ type: "autogenerated", dirName: "." }], 18 | }; 19 | 20 | module.exports = sidebars; 21 | -------------------------------------------------------------------------------- /src/components/DocsLists/index.module.css: -------------------------------------------------------------------------------- 1 | .docsListsWrapper { 2 | padding-top: 6rem; 3 | padding-bottom: 6rem; 4 | } 5 | @media screen and (max-width: 996px) and (min-width: 601px) { 6 | .docsListCol { 7 | --ifm-col-width: calc(6 / 12 * 100%); 8 | } 9 | } 10 | 11 | .docList { 12 | list-style: none; 13 | margin: 0; 14 | padding: 0; 15 | } 16 | -------------------------------------------------------------------------------- /src/components/DocsLists/index.tsx: -------------------------------------------------------------------------------- 1 | import Link from "@docusaurus/Link"; 2 | import { usePluginData } from "@docusaurus/useGlobalData"; 3 | import React from "react"; 4 | import clsx from "clsx"; 5 | 6 | import styles from "./index.module.css"; 7 | 8 | type DocSrc = { 9 | id: string; 10 | path: string; 11 | sidebar: string; 12 | }; 13 | type Doc = { 14 | category: string; 15 | docs: { 16 | path: string; 17 | name: string; 18 | }[]; 19 | }; 20 | export default function DocsLists() { 21 | const docsData: DocSrc[] = usePluginData("docusaurus-plugin-content-docs")[ 22 | "versions" 23 | ][0]["docs"]; 24 | const unSlug = (slug: string) => { 25 | let slugParsed = slug 26 | .split("-") 27 | .map((s) => s.charAt(0).toUpperCase() + s.slice(1)) 28 | .join(" "); 29 | slugParsed = slugParsed 30 | .split("_") 31 | .map((s) => s.charAt(0).toUpperCase() + s.slice(1)) 32 | .join("/"); 33 | return slugParsed; 34 | }; 35 | 36 | const docsParsed = docsData.reduce((acc, doc, i) => { 37 | let [category, item] = doc.id.split("/"); 38 | const catIndex = category.split("-")[0]; 39 | const itemIndex = item.split("-")[0]; 40 | category = category.slice(catIndex.length); 41 | item = item.slice(itemIndex.length); 42 | 43 | const categoryObj: Doc = acc.find( 44 | (obj) => obj.category === unSlug(category) 45 | ); 46 | 47 | if (categoryObj) { 48 | categoryObj.docs.push({ name: unSlug(item), path: doc.path }); 49 | } else { 50 | acc.push({ 51 | category: unSlug(category), 52 | docs: [{ name: unSlug(item), path: doc.path }], 53 | }); 54 | } 55 | 56 | return acc; 57 | }, []); 58 | 59 | return ( 60 |
63 |
64 | {docsParsed.map((doc, i) => ( 65 |
69 |

70 | {doc.category}{" "} 71 | 72 | {doc.docs.length} 73 | 74 |

75 |
    76 | {doc.docs.map((doc, i) => ( 77 |
  • 78 | {doc.name} 79 |
  • 80 | ))} 81 |
82 |
83 | ))} 84 |
85 |
86 | ); 87 | } 88 | -------------------------------------------------------------------------------- /src/components/UpdatesComponent.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { updates } from '../../docs/01-Get Started/_updates'; 3 | import styles from './UpdatesComponent.module.css'; 4 | 5 | export default function UpdatesComponent() { 6 | return ( 7 |
8 | {updates.map((update, index) => ( 9 |
10 |

Version: {update.version} { index === 0 ? "(latest)" : ""}

11 |

Release date: {update.releaseDate}

12 |
{update.description}
13 |
14 | See full changelog of v{update.version} 15 |
16 |
17 | Features 18 |
    19 | {update.features.map((feature, featureIndex) => ( 20 |
  • {feature}
  • 21 | ))} 22 |
23 |
24 |
25 | Fixes 26 |
    27 | {update.fixes.map((fix, fixIndex) => ( 28 |
  • {fix}
  • 29 | ))} 30 |
31 |
32 |
33 | Integrations 34 |
    35 | {update.integrations.map((integration, integrationIndex) => ( 36 |
  • {integration}
  • 37 | ))} 38 |
39 |
40 |
41 |
42 |
43 | ))} 44 |
45 | ); 46 | } 47 | -------------------------------------------------------------------------------- /src/components/UpdatesComponent.module.css: -------------------------------------------------------------------------------- 1 | .versions { 2 | margin-top: 20px; 3 | } 4 | 5 | .details { 6 | border: 1px solid #aaa; 7 | border-radius: 4px; 8 | padding: 0.8em; 9 | } 10 | 11 | .summary { 12 | font-weight: bold; 13 | padding: 0.5em; 14 | } 15 | 16 | .detailsOpen { 17 | padding: 1em; 18 | } 19 | 20 | .detailsOpenSummary { 21 | border: 1px solid #aaa; 22 | margin-bottom: 0.5em; 23 | border-radius: 4px; 24 | padding: 0.8em; 25 | } 26 | -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | /* You can override the default Infima variables here. */ 8 | :root { 9 | --ifm-color-primary: #2e8555; 10 | --ifm-color-primary-dark: #29784c; 11 | --ifm-color-primary-darker: #277148; 12 | --ifm-color-primary-darkest: #205d3b; 13 | --ifm-color-primary-light: #33925d; 14 | --ifm-color-primary-lighter: #359962; 15 | --ifm-color-primary-lightest: #3cad6e; 16 | --ifm-code-font-size: 95%; 17 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 18 | --fg: #2c2c2c; 19 | --bg: #e6e6e6; 20 | } 21 | 22 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 23 | [data-theme="dark"] { 24 | --ifm-color-primary: #25c2a0; 25 | --ifm-color-primary-dark: #21af90; 26 | --ifm-color-primary-darker: #1fa588; 27 | --ifm-color-primary-darkest: #1a8870; 28 | --ifm-color-primary-light: #29d5b0; 29 | --ifm-color-primary-lighter: #32d8b4; 30 | --ifm-color-primary-lightest: #4fddbf; 31 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 32 | --fg: #e6e6e6; 33 | --bg: #2c2c2c; 34 | } 35 | 36 | body footer { 37 | background-color: #2a2b2c !important; 38 | } 39 | 40 | .header-github-link::before { 41 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2c2c2c' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 42 | no-repeat; 43 | content: ""; 44 | display: flex; 45 | height: 24px; 46 | width: 24px; 47 | } 48 | 49 | [data-theme="dark"] .header-github-link::before { 50 | background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23fff' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") 51 | no-repeat; 52 | } 53 | 54 | .navbar__search, 55 | .navbar__search kbd, 56 | .navbar__search input::placeholder, 57 | .navbar__search input::-moz-placeholder { 58 | color: var(--fg) !important; 59 | } 60 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * CSS files with the .module.css suffix will be treated as CSS modules 3 | * and scoped locally. 4 | */ 5 | 6 | .heroBanner { 7 | padding: 4rem 0; 8 | min-height: calc(100vh - 16rem); 9 | text-align: center; 10 | position: relative; 11 | overflow: hidden; 12 | --ifm-color-primary: #00bb75; 13 | background-image: url("/img/bg-hero.svg"); 14 | background-size: 200px 200px; 15 | background-repeat: repeat; 16 | } 17 | 18 | @media screen and (max-width: 996px) { 19 | .heroBanner { 20 | padding: 2rem; 21 | } 22 | } 23 | 24 | .buttons { 25 | display: flex; 26 | align-items: center; 27 | justify-content: center; 28 | } 29 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import Link from "@docusaurus/Link"; 2 | import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; 3 | import Layout from "@theme/Layout"; 4 | import clsx from "clsx"; 5 | import React from "react"; 6 | 7 | import styles from "./index.module.css"; 8 | import DocsLists from "../components/DocsLists"; 9 | 10 | function HomepageHeader() { 11 | const { siteConfig } = useDocusaurusContext(); 12 | 13 | return ( 14 |
15 |
16 |

{siteConfig.title}

17 |

18 | Welcome to Evolution API Documentation.

The awesome WhatsApp 19 | API in NodeJS. 20 |

21 |
22 | 26 | Get started! 27 | 28 |
29 |
30 |
31 | ); 32 | } 33 | 34 | export default function Home(): JSX.Element { 35 | const { siteConfig } = useDocusaurusContext(); 36 | return ( 37 | 38 | 39 |
40 | 41 |
42 |
43 | ); 44 | } 45 | -------------------------------------------------------------------------------- /src/theme/SearchBar.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SearchBar from '@theme-original/SearchBar'; 3 | 4 | export default function SearchBarWrapper(props) { 5 | return ( 6 | <> 7 | 8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/.nojekyll -------------------------------------------------------------------------------- /static/img/brand/png/icon-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/icon-black.png -------------------------------------------------------------------------------- /static/img/brand/png/icon-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/icon-default.png -------------------------------------------------------------------------------- /static/img/brand/png/icon-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/icon-white.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-horizontal-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-horizontal-black.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-horizontal-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-horizontal-default.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-horizontal-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-horizontal-inverted.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-horizontal-primary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-horizontal-primary.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-horizontal-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-horizontal-white.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-vertical-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-vertical-black.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-vertical-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-vertical-default.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-vertical-inverted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-vertical-inverted.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-vertical-primary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-vertical-primary.png -------------------------------------------------------------------------------- /static/img/brand/png/logo-vertical-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/brand/png/logo-vertical-white.png -------------------------------------------------------------------------------- /static/img/brand/svg/icon-black.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/brand/svg/icon-default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/brand/svg/icon-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/docusaurus-social-card.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/docusaurus-social-card.jpg -------------------------------------------------------------------------------- /static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/docusaurus.png -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/favicon.ico -------------------------------------------------------------------------------- /static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/logo.png -------------------------------------------------------------------------------- /static/img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /static/img/og-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvolutionAPI/evolution-docs/6d260d87a39df778a342a2a0661885af9ca7c7f4/static/img/og-image.jpg -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@tsconfig/docusaurus/tsconfig.json", 4 | "compilerOptions": { 5 | "jsx": "react", 6 | "baseUrl": "." 7 | } 8 | } 9 | --------------------------------------------------------------------------------