UNPKG

node-red-contrib-evolution-api

Version:

Nós para integração com o Evolution API para automação de agentes de IA com WhatsApp e outros provedores.

171 lines (168 loc) 9.19 kB
<script type="text/x-red" data-template-name="evolution-api"> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> Nome</label> <input type="text" id="node-input-name" placeholder="Nome do nó"> </div> <div class="form-row"> <label for="node-input-baseUrl"><i class="fa fa-globe"></i> Base URL</label> <input type="text" id="node-input-baseUrl" placeholder="https://evolution-api.com" value="https://evolution-api.com"> </div> <div class="form-row"> <label for="node-input-globalApikey"><i class="fa fa-key"></i> Global API Key</label> <input type="text" id="node-input-globalApikey" placeholder="(opcional)"> </div> <div class="form-row"> <label for="node-input-operation"><i class="fa fa-cogs"></i> Operação</label> <select id="node-input-operation"> <optgroup label="Instance"> <option value="instance_create">Create Instance</option> <option value="instance_fetch">Fetch Instances</option> <option value="instance_connect">Connect Instance</option> <option value="instance_restart">Restart Instance</option> <option value="instance_setPresence">Set Presence</option> <option value="instance_connectionStatus">Connection Status</option> <option value="instance_logout">Logout Instance</option> <option value="instance_delete">Delete Instance</option> </optgroup> <optgroup label="Proxy"> <option value="proxy_set">Set Proxy</option> <option value="proxy_find">Find Proxy</option> </optgroup> <optgroup label="Settings"> <option value="settings_set">Set Settings</option> <option value="settings_find">Find Settings</option> </optgroup> <optgroup label="Send Message"> <option value="send_text">Send Text</option> <option value="send_media_url">Send Media URL</option> <option value="send_ptv">Send PTV</option> <option value="send_narrated_audio">Send Narrated Audio</option> <option value="send_status_stories">Send Status/Stories</option> <option value="send_sticker">Send Sticker</option> <option value="send_location">Send Location</option> <option value="send_contact">Send Contact</option> <option value="send_reaction">Send Reaction</option> <option value="send_poll">Send Poll</option> <option value="send_list">Send List</option> <option value="send_button">Send Button</option> </optgroup> <optgroup label="Call"> <option value="call_fake">Fake Call</option> </optgroup> <optgroup label="Chat"> <option value="chat_check_whatsapp">Check WhatsApp Number</option> <option value="chat_read_messages">Read Messages</option> <option value="chat_archive">Archive Chat</option> <option value="chat_mark_unread">Mark Chat Unread</option> <option value="chat_delete_message">Delete Message</option> <option value="chat_fetch_profile_picture">Fetch Profile Picture</option> <option value="chat_get_base64_media">Get Base64 From Media Message</option> <option value="chat_update_message">Update Message</option> <option value="chat_send_presence">Send Presence (Chat)</option> <option value="chat_update_block_status">Update Block Status</option> <option value="chat_find_contacts">Find Contacts</option> <option value="chat_find_messages">Find Messages</option> <option value="chat_find_status_message">Find Status Message</option> <option value="chat_find_chats">Find Chats</option> </optgroup> <optgroup label="Label"> <option value="label_find">Find Labels</option> <option value="label_handle">Handle Label</option> </optgroup> <optgroup label="Profile Settings"> <option value="profile_fetch_business">Fetch Business Profile</option> <option value="profile_fetch">Fetch Profile</option> <option value="profile_update_name">Update Profile Name</option> <option value="profile_update_status">Update Profile Status</option> <option value="profile_update_picture">Update Profile Picture</option> <option value="profile_remove_picture">Remove Profile Picture</option> <option value="profile_fetch_privacy">Fetch Privacy Settings</option> <option value="profile_update_privacy">Update Privacy Settings</option> </optgroup> <optgroup label="Group"> <option value="group_create">Create Group</option> <option value="group_update_picture">Update Group Picture</option> <option value="group_update_subject">Update Group Subject</option> <option value="group_update_description">Update Group Description</option> <option value="group_fetch_invite">Fetch Invite Code</option> <option value="group_revoke_invite">Revoke Invite Code</option> <option value="group_send_invite_url">Send Invite URL</option> <option value="group_find_invite">Find Group by Invite Code</option> <option value="group_find_by_jid">Find Group by JID</option> <option value="group_fetch_all">Fetch All Groups</option> <option value="group_find_participants">Find Participants</option> <option value="group_update_participant">Update Participant</option> <option value="group_update_setting">Update Group Setting</option> <option value="group_toggle_ephemeral">Toggle Ephemeral</option> <option value="group_leave">Leave Group</option> </optgroup> <optgroup label="Integrations"> <option value="websocket_set">Set Websocket</option> <option value="websocket_find">Find Websocket</option> <!-- Outros endpoints de integrações podem ser adicionados seguindo o mesmo padrão --> </optgroup> <optgroup label="Channel"> <option value="send_template">Send Template</option> <option value="create_template">Create Template</option> <option value="find_templates">Find Templates</option> </optgroup> <optgroup label="Storage"> <option value="s3_get_media">Get Media</option> <option value="s3_get_media_url">Get Media URL</option> </optgroup> <optgroup label="Get Informations"> <option value="get_informations">Get Informations</option> </optgroup> </select> </div> <div class="form-row"> <label for="node-input-params"><i class="fa fa-code"></i> Parâmetros (JSON)</label> <textarea id="node-input-params" style="height: 120px;" placeholder='Exemplo: { "instance": "minhaInstancia123", "number": "559999999999", "text": "Olá, teste!" }'></textarea> </div> <div class="form-tips" style="color:#388e3c;"> <p> O campo de parâmetros deve conter um JSON com os valores que serão usados para substituir os placeholders na URL (ex.: <code>{{instance}}</code>) e para compor o corpo da requisição. Caso o método seja GET, os parâmetros não serão enviados no corpo. </p> </div> </script> <script type="text/x-red" data-help-name="evolution-api"> <p> O nó <strong>evolution‑api</strong> permite selecionar entre diversas operações do Evolution API (organizadas por categorias). A operação selecionada determinará o método HTTP e o endpoint a ser chamado. </p> <p> Você deve configurar a URL base, a chave global de API (se necessária) e fornecer os parâmetros específicos da operação em JSON. </p> <p> Exemplo de uso para enviar uma mensagem de texto: </p> <pre><code>{ "instance": "minhaInstancia123", "number": "559999999999", "text": "Olá, esta é uma mensagem de teste" }</code></pre> </script> <script type="text/javascript"> RED.nodes.registerType('evolution-api', { category: 'Evolution API', color: "#66bb6a", defaults: { name: {value:""}, baseUrl: {value:"https://evolution-api.com"}, globalApikey: {value:""}, operation: {value:"instance_create"}, params: {value:""} }, inputs: 1, outputs: 1, icon: "font-awesome/fa-cloud", label: function() { return this.name || "evolution-api"; } }); </script>