Overview SECURITY UPDATE AND DEPRECATION OF v1, v2, and v3! Please update to the LATEST version when you have time. This update patched all security holes that is known until v5.1.0 I encourage all of you to upgrade of you are still using v1, v2, or v3. Old versions have many security holes and hackers usually exploit this weakness to attack your AWG site. v1, v2, and v3 still using "legacy license key", I will deprecate legacy keys in 60 days period from now (20 July 2023). Change license key: menu settings >> delete key. Then enter the "new license key". IMPORTANT NEWS! Starting v5.1.0, Buttons (replyButtons, templateButtons, and listButtons) feature will be hidden. Whatsapp disabled this feature from their server and don't know if they are going to bring it back again in the future. If previously you have Autoreply with buttons, you can click 'Actions' button then 'Remove button'. Please read "Autoreply menu" documentation to create menus with numbers. Arrocy Whatsapp Gateway is an un-official Whatsapp automation to do bulk messaging, chat bot, transactional notification, and many more. Arrocy Whatsapp Gateway strive to be ahead of other similar compatitors in term of speed and low server resource requirements. This project is in very active development stage. You will see frequent updates. I am very happy to see many of people using this as a way to produce monthly income by selling subscriptions to clients. You will need an Extended license to be able to do so, because the regular license do not have the features to handle the: automatically renew subscription, accepting payments by Paypal/Stripe/Mercadopago/Razorpay/Midtrans(indonesia)/Gopay(indonesia), wallet system for auto-renew, limit client messages per month, and more. Updated at: 26 Jan 2024 Go to top Installation (cPanel) REQUIREMENTS Node.js v18 PHP8.2 or PHP8.3 1 main domain (https://arrocy.com) + 1 subdomain (https://api.arrocy.com) OR 2 subdomains (https://admin.arrocy.com AND https://api.arrocy.com) In this guide, we will use https://admin.arrocy.com AND https://api.arrocy.com, but you can use any domain/subdomains. PREPARATIONS Create new database (menu: MySQL Databases) Create admin-panel sub-domain (menu: Domains -> Create a new domain -> admin.arrocy.com) Click Manage button to edit the domain you have just made, update document root to: admin.arrocy.com/public, SAVE. Create node-server sub-domain (menu: Domains -> Create a new domain -> api.arrocy.com) Download Arrocy Whatsapp Gateway zip file: https://visimisi.net/my-account then click Actions button -> click Download. Extract this zip file on your computer first, you will get 2 zip files (admin-panel.zip and node-server.zip) ADMIN PANEL INSTALLATION Upload admin-panel.zip to https://admin.arrocy.com, then extract. Rename ".env.example" to ".env" Edit APP_NAME, APP_TIMEZONE, APP_URL, NODE_URL, and database credentials Open browser to https://admin.arrocy.com, then click "Continue" to finish installation. Please don't do anything else yet. Move forward to NODE SERVER INSTALLATION. NODE SERVER INSTALLATION Upload node-server.zip to https://api.arrocy.com, then extract. Rename ".env.node.example" to ".env" Edit database credentials cPanel -> Domains, write down the Document Root column for api.arrocy.com cPanel -> Setup Node.js App -> Create new Node.js version: 18.xx Application mode: Production Application root: get from step#3 above Application URL: api.arrocy.com Application Startup file: server.js CREATE Open browser, go to http://api.arrocy.com/info SET CRONJOB Open Arrocy-WG admin panel >> click "Rest Api" menu. Go all the way down to get the cronjob command. Open cPanel >> Cron Jobs, paste the command from step above. ACTIVATE LICENSE Open Arrocy-WG admin panel >> click "Settings" menu. Updated at: 02 May 2024 Go to top Installation (VPS CloudPanel) REQUIREMENTS Ubuntu server 22.04 or Debian 11 (Others WILL NOT WORK!) CloudPanel v2.x Node.js v18 PHP8.2 or PHP8.3 v11 (RECOMMENDED) 1 main domain (https://arrocy.com) + 1 subdomain (https://api.arrocy.com) OR 2 subdomains (https://admin.arrocy.com AND https://api.arrocy.com) In this guide, we will use https://admin.arrocy.com AND https://api.arrocy.com, but you can use any domain/subdomains. PREPARATIONS Install Cloudpanel using this install guide from Cloudpanel website: https://www.cloudpanel.io/docs/v2/introduction/ Download Arrocy Whatsapp Gateway zip file: https://visimisi.net/my-account then click Actions button -> click Download. Extract this zip file on your computer first, you will get 2 zip files (admin-panel.zip and node-server.zip) ADMIN PANEL INSTALLATION Add sites >> Create a PHP site >> Application: LARAVEL 9 (DO NOT choose others!) >> Domain Name: admin.arrocy.com (use your domain) >> PHP Version: PHP 8.1 or PHP 8.2 Click Manage button >> open settings tab (look for this): date.timezone=UTC; (replace with this): date.timezone=Asia/Kuala_Lumpur; (use your own timezone) Open Databases tab >> Add Database (please copy the database credentials) Open SSL/TLS tab >> Actions >> New Let's Encrypt Certificate Open File Manager tab: htdocs >> admin.arrocy.com >> upload arrocy-admin-panel.zip >> extract to . (yes, extract to dot "." is extract to current folder) start installation by going to admin.arrocy.com (no "/public") on your browser, then click "Continue" to finish installation. NODE SERVER INSTALLATION Add sites >> Node.js server >> choose Node.js Site Domain Name: api.arrocy.com Node.js Version: v18 App Port: 8000 Site User: arrocy-api Site User Password: easy_to_remember_password We will need this user and password for later, so copy it to somewhere safe. Click Manage button >> open SSL/TLS tab >> Actions >> New Let's Encrypt Certificate Open File Manager tab: htdocs >> api.arrocy.com >> upload arrocy-node-server.zip >> extract to . (yes, extract to dot "." is extract to current folder) Rename ".env.node.example" to ".env" Edit database credentials DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your-database-name DB_USERNAME=your-database-username DB_PASSWORD=your-database-password Log in via SSH with your Site User (not ROOT) $ ssh arrocy-api@your_public_ip_address Use the username/password that we saved earlier above (visimisi-api/easy_to_remember_password) $ cd htdocs/api.arrocy.com $ npm install pm2@latest -g $ pm2 start server.js $ pm2 save Test Node server installation by open browser to https://api.arrocy.com/info. For a complete pm2 commands: https://www.cloudpanel.io/docs/v2/nodejs/deployment/pm2/ $ pm2 restart all (to restart nodejs) $ pm2 delete all (to stop nodejs) SET CRONJOB Open CloudPanel >> Cron Jobs tab, paste the command: php8.1 ~/htdocs/admin.mydomain.com/artisan schedule:run >> /dev/null 2>&1 ACTIVATE LICENSE Open Arrocy-WG admin panel >> click "Settings" menu. Updated at: 23 May 2024 Go to top Installation (GoDaddy) REQUIREMENTS Any Linux server OS Node.js v18 PHP8.1 or PHP8.2 1 main domain (https://mydomain.com) + 1 subdomain (https://api.mydomain.com) OR 2 subdomains (https://admin.mydomain.com AND https://api.mydomain.com) ADMIN PANEL INSTALLATION Follow installation guide for cPanel NODE SERVER INSTALLATION Install Nodejs v18. Please follow Node Server installation guide from cPanel as much as you can, After finished: GoDaddy node server will call app.js by default Rename server.js to app.js Create an .htaccess file on the root of the node server The code below is to forward https port RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] DirectoryIndex disabled RewriteCond %{HTTPS} on RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f RewriteRule (.*) http://api.mydomain.com:8000/$1 [P,L] Restart Nodejs and open https://api.mydomain.com/info Updated at: 22 Jan 2024 Go to top Installation (Staging/Test) USE SAME LICENSE AS MAIN SITE Create 2 new subdomains: staging-admin.mydomain.com and staging-api.mydomain.com ONLY "staging-admin" and "staging-api" subdomains are accepted for Staging/Test/Beta. Follow installation guide: Installation (cPanel) or Installation (VPS CloudPanel). Updated at: 22 Jan 2024 Go to top Configurations ADD NEW LANGUAGE Copy file /lang/us.json to xx.json (xx = 2 digit letter of your country flag) Edit xx.json file .ENV (MUST HAVE THESE in admin panel) APP_NAME="Application Name" APP_KEY=base64:GOA4XHsIdpX42sN8bOsw2iwhz6nMZpndXA4KbQlAVUQ= APP_ENV=local APP_DEBUG=true APP_LOG_LEVEL=debug APP_LANG=us APP_THEME=light-layout APP_TIMEZONE=Asia/Jakarta APP_URL=https://arrocy.com NODE_URL=https://api.arrocy.com NODE_PORT=8000 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=arrocy DB_USERNAME=root DB_PASSWORD= .ENV (MUST HAVE THESE in node server) DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=arrocy DB_USERNAME=root DB_PASSWORD= .ENV (OPTIONAL in node server) AUTOREPLY_BACK_MENU=back MOBILE=true #EXTENDED ONLY DISABLE_DEVICE_INFO=true DISABLE_GET_QR=true DISABLE_SERVER_INFO=true DEVICE_BROWSER=["Arrocy-WG", "Safari", "10.0"] #EXTENDED ONLY PROXYSCRAPE="https://api.proxyscrape.com/v2/?request=displayproxies&protocol=http&timeout=10000&country=us&ssl=no&anonymity=elite" AUTOREPLY_BACK_MENU Use these keywords to go back to previous menu DEVICE_VERSION=[2, 2350, 52] MOBILE Create whatsapp instance as a MOBILE device (instead of Whatsapp Web instance) DISABLE_DEVICE_INFO Deprecated (used to be for API call to show QR code without login) DISABLE_GET_QR To disable show QR code ability on your external app DISABLE_SERVER_INFO To disable show server info. endpoint url: https://api.mydomain.com/info DEVICE_PLATFORM & DEVICE_BROWSER To change the information on your mobile device (Whatsapp settings >> Linked Devices) MENU SETTINGS appName=new name appNodePort=8000 appNodeUrl=https://api.arrocy.com appTimezone=Asia/Jakarta appUrl=https://arrocy.com currencyCode=USD Updated at: 22 Jan 2024 Go to top Upgrade ATTENTION v5.6.5 and up: Admin Panel Requires PHP 8.2 v5.6.5 and up: Node Server Requires Node v18.xx.xx If you are upgrading from v3 or below you will see this ERROR Class "Rachidlaasri/...../LaravelInstallerServiceProvider" Manually delete bootstrap cache: /bootstrap/cache/delete-all-inside-this-folder !!!!!!!!!!!!!!!! VIRUS WARNING !!!!!!!!!!!!!!!! I am getting report that some server detect "Sanesecurity.Foxhole.JS_Zip_17.UNOFFICIAL FOUND" when uploading awg-server zip file. If it is possible to disable antivirus, it is recommended to disable antivirus, then upload the zip again. If not possible, then follow steps below: Upload awg-xxxxxxx-extract-on-computer-first.zip Extract the zip, then extract the the node-server.zip UPDATE INSTALLATION Download Arrocy Whatsapp Gateway zip file: https://visimisi.net/my-account then click Actions button -> click Download. Extract this zip file on your computer first, you will get 2 zip files (admin-panel.zip and node-server.zip) ADMIN PANEL DELETE /vendor folder FIRST! Upload arrocy-admin-panel.zip to https://admin.mydomain.com, then extract. Open browser to https://admin.mydomain.com (no "/public"), then click "Continue" to finish update. DO NOT do anything on admin panel for now! Please continue Node server below! NODE SERVER DELETE /Baileys and /node_modules folders FIRST! Upload arrocy-node-server.zip to https://api.mydomain.com, then extract. Restart Nodejs cPanel>>Setup Node.js Apps >> RESTART Nodejs App VPS+CloudPanel >> ssh with the node server site username (not root), then pm2 restart all Updated at: 02 Jun 2024 Go to top Downgrade ATTENTION !!!!!!!!!!!!!!!! IMPORTANT README PLEASE !!!!!!!!!!!!!!!! BEFORE downgrade, prepare previously backup DATABASE. Yo may need this previous database if you faced error. Make sure edit file /storage/installed and put lower version number, so the updater can run. DOWNGRADE INSTALLATION NODE SERVER (update this first) Extract "awg-vX.xx-extract-on-computer-first.zip" on your computer first! Upload arrocy-node-server.zip to https://api.mydomain.com, then extract. Restart Nodejs cPanel>>Setup Node.js Apps >> RESTART Nodejs App VPS+CloudPanel >> ssh with the node server site username (not root), then pm2 restart all ADMIN PANEL Upload arrocy-admin-panel.zip to https://admin.mydomain.com, then extract. Open browser to https://admin.mydomain.com (no "/public"), then click "Continue" to finish update. DATABASE ERROR If you faced database error, you will need to import your old database Updated at: 22 Jan 2024 Go to top Selective Update What is "Selective Update"? Updating minor version of Arrocy-WG. Example from v5.0.0 to v5.0.1 / from 5.0.0 to v 5.0.2 Because of the changes are maybe a few files, it is annoying have to modify your settings or modifications after each update. Now you can only update the files, not the whole zip. Go to downloads folder create 2 new folders, name it "awg-v5.0.0" and "awg-v5.0.1" Find "awg-v5.0.0-regular-extract-on-computer-first.zip" and "awg-v5.0.1-regular-extract-on-computer-first.zip" in your downloads folder. Move it to each folder you've created previously. Extract the zip files (you will get awg-reg-admin-panel-5.0.0.zip and awg-ext-node-server-5.0.0.zip) Create 2 more folders "admin-panel" and "node-server". Extract awg-reg-admin-panel-5.0.0.zip and awg-ext-node-server-5.0.0.zip Download windows software called "WinMerge". Install it on your computer. Run WinMerge and drag the folder to "1st" and "2nd" boxes. Then click "Compare" Look for files with "!" mark. You only need to upload these files to your server. Open https://admin-panel.com (no /public) Restart Nodejs Updated at: 22 Jan 2024 Go to top Change server OLD SERVER PREPARATIONS Phpmyadmin >> choose AWG database >> Export database If your domain name is changed, edit .sql file, search 'old-domain.com' change to 'new-domain.com' File manager >> admin panel root folder >> zip everything in there >> rename to awg-admin-panel.zip File manager >> node server root folder >> zip everything in there >> rename to awg-node-server.zip NEW SERVER INSTALLATION Create new database (write down: DB name, DB username, and DB password) Phpmyadmin >> choose AWG database >> Import database File manager >> node server root folder >> extract awg-node-server.zip edit .env then change the DB credentials from #1 Please follow Node server installation guide Installation (cPanel) >> just the Node Server section Installation (VPS CloudPanel) >> just the Node Server section File manager >> admin panel root folder >> extract awg-admin-panel.zip edit .env then change the DB credentials from #1 Set cronjob Open AWG admin panel >> menu settings >> activate license To de-activate old license: go to https://visimisi.net/my-account >> De-activate key Updated at: 22 Jan 2024 Go to top Changelogs v6.1.1 (17 June 2024) Starting now, Support will be fulfilled by creating a "Support Ticket". To create a new ticket: visimisi.net/my-account >> Click "Action >> Create Ticket" menu. NEW! Working hour per device (Menu Devices >> Edit). Device only send message during working hours. UPDATE! Baileys 6.7.5 FIXED! Minor bug fixes. v6.1.0 (2 June 2024) NEW! Gemini AI Integration. UPDATE! Baileys 6.7.2 FIXED! After scan QR and shows error on phone. FIXED! +91 problem after connected and disconnected right away. FIXED! AI personality with double quote character. FIXED! Minor bug fixes. v6.0.1 (20 April 2024) FIXED! Nwidart Modules "Commands not found "error. FIXED! "Expecting Integer, but string provided" when register new user. v6.0.0 (31 March 2024) NEW! Upgraded to Laravel v11 NEW! Compatibility update with PHP8.3 NEW! Change user avatar picture (click on the user avatar picture) NEW! PROXYSCRAPE PREMIUM support. Upload 'proxyscrape_premium_http_proxies.txt' file to node server root. NEW! Bot will send autoreply message if bot get a whatsapp call from customer. (Device >> edit >> Incoming call message) FIXED! +91 number will be connected and disconnected right away. Edit Node server env file: BAILEYS_VERSION=5.0.0 then restart nodejs FIXED! When requesting password reset through whatsapp, some numbers is not working. FIXED! Admin login as a user cannot go back if the user: has not verify OTP/banned/expired. FIXED! NodeJS minimum version is v16.xx (please use v18 if possible, but if your server does not have v18, you can use v16) WARNING! Before admin panel and Node server update process, MUST DELETE: '/vendor' and '/node_modules' folders first! WARNING! Upgrading from Laravel v9 to v11 is a complicated process. Please report any bug if you found one! v5.6.7 (4 February 2024) FIXED! v5.6.6 Webhook autoreply not sending response message. If you dont want to do full update: ONLY copy these 2 files /app/Http/Controllers/WebhookController.php AND /public/app-assets/data/webhook.php Might need to reset webhook content: menu devices -> view webhook content -> click reset button v5.6.6 (31 January 2024) If you already installed v5.6.5, Please update to this version as soon as possible. Possible security hole in v5.6.5 Requirements PHP 8.2.x and Node v18.x. NEW! Scrape Google Maps Business phone numbers. Get thousands of new prospective customers with a single click! NEW! Baileys v6.6.0. FIXED! Incoming message process priority now: webhook -> autoreply -> OpenAi ChatGPT. When doing this update, please remove folder "/vendor" on admin panel root first before extracting the admin-panel.zip When doing this update, please remove folder "/Baileys and /node_modules" on node server root first before extracting the node-server.zip FIXED! Minor bug fixes. v5.6.5 (26 January 2024) NEW! Many updates on laravel libraries. Requires PHP 8.2. NEW! Update on OpenAI Library. Now requires Node v18.xx.xx. FIXED! On some servers Nodejs server keep crashing for unknown reason. FIXED! Devices, Subscribers, and Users pages now will load a lot faster. When doing this update, please remove folder "/vendor" on admin panel root first before extracting the admin-panel.zip FIXED! Minor bug fixes. v5.6.4 (14 December 2023) NEW! 1 device warming up is now possible. Please add receivers (menu devices -> Edit device) FIXED! Edit device on help icon not showing tooltip popup FIXED! OpenAI ChatGPT always answers even without 'contain' keyword. FIXED! Class MYCLabs/Enum/Enum not found ERROR!. When doing update, please remove folder "/vendor" on admin panel root first before extracting the admin-panel.zip FIXED! Minor bug fixes. v5.6.3 (19 November 2023) NEW! Generate Image using OpenAI ChatGPT. FIXED! Minor bug fixes. v5.6.2 (25 October 2023) FIXED! Welcome message bug. FIXED! Minor bug fixes. v5.6.1 (22 October 2023) FIXED! Welcome message bug. Now can set timing from /app/Console/Kernel.php FIXED! Minor bug fixes. v5.6.0 (11 October 2023) NEW! Baileys v6.5.0 NEW! OpenAI v4.x.x (MUST UPDATE NODEJS v18) NEW! AWG server hide behind auto-change Proxy (every minute). If 1 user get banned, it will not spread to other users. Edit node env file (PROXYSCRAPE sample in .env.node.example) NEW! Welcome message. Bot will response a welcome message one time if no keyword matched, and will pause for 24 hours. FIXED! Remove @name for personal chapGPT response, group chatGPT response will still have @name. FIXED! Update the env DEVICE_PLATFORM & DEVICE_BROWSER. Please open .env.node.example file. (Extended ONLY) v5.5.0 (27 July 2023) NEW! Baileys v6.4.0 NEW! Admin panel new/fresh install guide (without "/public" in url) NEW! AWG admin panel "/public" url can be removed. This is optional, you don't have to change if you don't have to. cPanel: menu Domains >> manage >> New Document Root: admin.arrocy.com/public cloudpanel: sites >> manage >> Document Root: admin.arrocy.com/public FIXED! Fetch Groups limited to 100 groups. FIXED! Fetch Groups says Fetched 10 groups but only shown 6 groups. v5.4.0 (20 June 2023) NEW! Recurring messages per days, weeks, months, and years. Ex. per 2 weeks. NEW! Menu Templates is back. Send message menu >> Select template is now using Template from this menu. Because Autoreply is taking too much space now, so better separate Template and Autoreply. NEW! Menu Subscribers is back. UPDATED! Now user can trigger Autoreply pause-resume-reset function. FIXED! Brazil device checking on +39 "isOnWA" always resulted false. v5.3.1 (08 June 2023) NEW! Autoreply reset menu to level 0 by typing "bot reset" NEW! Add Autoreply examples for Menu, Vcard, and Location. UPDATED! Packages can have 0 Max_ value (use -1 for unlimited) FIXED! Bulk/Campaign message not sending. FIXED! Autoreply not working for 5 minutes after nodejs restart (for some servers, but most people will not notice this bug) FIXED! CURL error. v5.3.0 (01 June 2023) NEW! Send POLL message (send message, autoreply, and POST API). NEW! Data capture can use your own words. Please copy translations from /lang/us.json NEW! Data capture with media file. NEW! Added 2 new variables for webhook (message $key_id and $mediaurl). NEW! Fetch group contacts by API (open Rest API menu). NEW! Export fetched group contacts to excel. v5.2.1 (27 May 2023) FIXED! Autoreply & bulk sending error. v5.2.0 (24 May 2023) Updated Baileys to v6.0.1 NEW! Record chatbot incoming and outgoing messages. NEW! Autoreply pause-resume function. FIXED! Security holes. Please update to this version. Really IMPORTANT! FIXED! Bot reply inside group eventhough set "autoreply_group" to NO v5.1.0 (12 May 2023) Updated Baileys to v6.0.0 NEW! Re-usable Autoreply menu numbering. v5.0.2 (08 May 2023) FIXED! Stuck on PENDING when sending bulk/campaign messages. v5.0.1 (05 May 2023) FIXED! cURL timeout when sending message and opening settings page. v5.0.0 (01 May 2023) NEW! OpenAI GPT-3.5 and GPT-4. Now chatbot can have specific personality (ex.: You are a smart, polite, helpful assistant). Please open menu devices >> actions >> edit. NEW! OpenAI chatbot will answer if @mentioned in a group chat. NEW! Footer message for TRIAL package. Open "Package" menu >> edit TRIAL package >> insert footer message ex.: "Powered by: Arrocy Whatsapp Gateway. Get yours today! https://visimisi.net NEW! https://api.mydomain.com/info getQR by API (Please check in "Features" section) NEW! Now can add custom API end-point inside server.js file NEW! API end-point to delete sessions files daily. Instruction in server.js file NEW! Every page with table is now sortable by column and data searchable even not in the same page NEW! Landing page v5. Change from menu settings 'landingPage'. NEW! Change Whatsapp profile picture from /device-show page, then click on profile picture. NEW! Admin can share senders and customers can use admin's senders to send messages. (Extended) Menu settings, add "globalUserIds" then add the admin user_id separated by comma (this user will share the senders to be used by other users). Menu packages, choose package, enable Global senders. FIXED! Remove @mentions when OpenAI chatbot answer questions, this is to prevent other OpenAI chatbot in a group answer each-other in endless loop. v4.0.4 (12 Mar 2023) FIXED! Error when new user registration, failed to send OTP code. If you are updating from v4.0.3 to v4.0.4 you only need to upload just 1 file. /app/Http/Middleware/WaVerified.php To change version number: edit /storage/installed v4.0.3 (10 Mar 2023) NEW! Insert random string at the end of message (Send Message). https://visimisi.net/docs#inspiring-quote NEW! Now 'admin' and 'bank' username can be changed from profile or users menu. Make sure in database >> table users, the id MUST be '1' and '2'. Naming MUST use a-z, 0-9, and underscore. Accented letter/character are not allowed. FIXED! Error when a user want to upgrade subscription package. v4.0.2 (7 Mar 2023) FIXED! Problem with all usera when open Autoreply page if the autoreply device was deleted. v4.0.1 (6 Mar 2023) FIXED! Problem with new user when open Devices page. v4.0.0 (5 Mar 2023) Major upgrade Registration Terms of Use & Privacy Policy Fine tuning openai chatbot from edit device page. Please follow openai documentation on openai website. Many minor improvements v3.5.2 (9 Feb 2023) FIXED! After admin edit profile, admin cannot log back in. Open phpmyadmin>>table users>>edit(role:admin and package_id:1) then update to v3.5.2 v3.5.1 (6 Feb 2023) FIXED! Add contact (phonebook menu) missing columnx input fields. FIXED! Decimals, Decimalpoint, and Separator not showing. NOTICE! AFTER UPDATE from v3.5.0 to v3.5.1 >> Add this to admin panel env: APP_TIMEZONE=Asia/Jakarta APP_LANG=us v3.5.0 (4 Feb 2023) Major update NOTICE! AFTER UPDATE >> Remove from admin panel env: APP_PORT, APP_TIMEZONE, APP_LANG, APP_THEME, NODE_URL NOTICE! AFTER UPDATE >> Remove from node server env: APP_PORT, APP_URL, NODE_URL NOTICE! ALL variables are moved to Settings page (appPort, appTimezone, appLang, appTheme, appNodeUrl). NEW! Pagination with page number. NEW! Added 7 new columns in phonebook (email, memo, column1, column2, column3, column4, column5). Updated at: 17 Jun 2024 Go to top Welcome Message How to make a Welcome Autoreply Message if there is no keyword matched? Go to menu "Devices" Click "Actions" button, then Edit Input "Welcome Message" on the textbox Put "Hi {name}, Welcome to my shop. Please choose a menu provided below!" 1. Make an appointment 2. Pre-sales inquiry Main menu Back This Welcome Message will pause for 24 hours. Updated at: 22 Jan 2024 Go to top Warm up device It is recommended to warm up your new device (Whatsapp account) to reduce the chance to get banned Go to Edit Device menu YES on Warming up Device All devices (in 1 user account with Warmingup=YES) will automatically send messages to each other on interval that you set. Requirements MUST be at least 2 devices with Warming Device set to (YES) Devices MUST be ONLINE Edit: /app/Console/Kernel.php to adjust the time interval (default: everyFiveMinutes) Updated at: 22 Jan 2024 Go to top Send poll Use Send Message menu Go to Send Message menu Select sender Input receiver (single or multi) Message text: "poll": { "name": "hello there!", "values": ["test123", "test231"], "selectableCount": 1 } Click "Send" Use Autoreply menu Go to Autoreply menu Add new Autoreply Put keyword POLL (or any keyword you like) Put response like below: "poll": { "name": "hello there!", "values": ["test123", "test231"], "selectableCount": 1 } Click "Submit" to save Use POST API request, please go to menu "Rest API" Updated at: 22 Jan 2024 Go to top Record messages All conversation between bot and customers will be recorded, including the media files. Add/edit admin-panel and node-server .env file. RECORD_MESSAGES=text,media (if you want to record the text message and the media file) RECORD_MESSAGES=text (if you want to record only text message to save server storage) Restart Nodejs after .env edit (on node-server side) Updated at: 22 Jan 2024 Go to top Autoreply pause You, as a device owner, can pause your autoreply bot at anytime (UPDATED on v5.4.x Now user can trigger this too). Example: Device owner want to interrupt customer conversation with autoreply bot, device owner open chat with a customer and type 'bot pause'. Customer cannot pause bot, only device owner can (UPDATED on v5.4.x Now user can trigger this too). After you are finished with customer, device owner can type 'bot resume' to start autoreply bot again. To reset Autoreply menu and start from level 0 again, you as device owner can type 'bot reset' (UPDATED on v5.4.x Now user can trigger this too). This pause-resume-reset will ONLY pause-resume-reset 1 specific customer. Other customer autoreply will still working as normal This feature works with Autoreply and OpenAI chatbots Menu devices >> edit device Edit 'Autoreply_pause', 'Autoreply_resume', and 'Autoreply_reset' if you want to use your own keywords to pause, resume, and reset the chatbot. Updated at: 22 Jan 2024 Go to top Autoreply menu Because of button messages are disabled by whatsapp recently, it is time to switch to use numbering menu. Example: Please select language: 1. English | 2. Portuguese | 3. Arabic. Customer just need to type the number. Edit node server side .env. AUTOREPLY_MAIN_BACK="back, mundur"(use only lowercase letters, restart nodejs) We are going to create level-0 (TOP) menu. Add new Autoreply from admin panel, insert keyword: 'main menu, hello, olá, مرحبًا', response: Welcome to TravelLocco. Please select language: 1. English | 2. Portuguese, then SAVE. IT MUST BE 'main menu' in the autoreply, you can add other keyword after the comma. Now we are going to create level-1 menus. add new autoreply, keyword: #1, response: Please select Department: 1. Sales | 2. Brochure | main menu | back add new autoreply, keyword: #2, response: Por favor, selecione o Departamento: 1. Vendas | 2. Folheto | main menu | back Now we are going to create level-2 menus. keyword: #1#1, response: Please select Continent: 1. Asia | 2. Africa | 3. Australia | 4. America | 5. Europe | main menu | back keyword: #1#2, response: Please select destination: 1. Tokyo 5/4 nights Disney adventures | 2. Bali 7/6 nights Paradise adventures | main menu | back keyword: #2#1, response: Selecione o continente: 1. Asia | 2. Africa | 3. Australia | 4. America | 5. Europe | main menu | back keyword: #2#2, response: Selecione o destino: 1. Tokyo 5/4 noites aventuras da disney | 2. Bali 7/6 noites aventuras paradisíacas | main menu | back Now we are going to create level-3 menus. keyword: #1#1#1, response: ??? keyword: #1#1#2, response: ??? keyword: #1#1#3, response: ??? keyword: #1#1#4, response: ??? keyword: #1#1#5, response: ??? keyword: #1#2#1, response: ??? keyword: #1#2#2, response: ??? keyword: #2#1#1, response: ??? keyword: #2#1#2, response: ??? keyword: #2#1#3, response: ??? keyword: #2#1#4, response: ??? keyword: #2#1#5, response: ??? keyword: #2#2#1, response: ??? keyword: #2#2#2, response: ??? Now you get the idea. The deeper the level, the more '#' will be. Customer do not need to type the '#', just type the number. Example customer type 'main menu' to the bot, then customer will see welcome menu and please choose language. Customer type '1', then customer see 5 new menus to select Continent. Customer type '5', to select Europe. Customer can type 'main menu' or 'back' at any level of the menu. Updated at: 22 Jan 2024 Go to top As Whatsapp MOBILE (Extended) WARNING! If you login as MOBILE in Arrocy-WG, this will logout your whatsapp from your mobile app. Please make a backup on your mobile app first! Remove '##' in front of MOBILE=true in admin panel and node server ENV file, then restart nodejs. Add new device or edit old one. Edit the Mobile to YES, then SAVE. Get your phone ready on your hand and make sure can receive SMS. Click on the device phone number. This will try to register your number with whatsapp As a MOBILE device. If successfull, you will receive an SMS with OTP code. Please enter the OTP code in to the popup window (MUST input the OTP code within 60 seconds!). If OTP code was correct, then you can use this device as normal to send message and/or be a chatbot. If you get error message, you must wait 30 minutes before you can request for a new OTP. Updated at: 22 Jan 2024 Go to top Global senders (Extended) Admin can share all senders to be used by other users. Admin must enable "Global senders" in the package, so any users with this package don't need to use their own number to send messages. What is the purpose? Users that subscribe to this package, don't need to worry about setting up the sender number also no hassle to scan a new number if the sender number get banned. Admin will be responsible for providing senders to be used by customers. Admin can sell the package for more money because have bigger risk the sender number get banned. Add new package or edit old one. Edit the Global senders to YES. Settings menu >> add globalUserIds: 1 This means sharing all sender with user id: 1 (admin) Off course you can add more users here. Example: 1,3,26 (sharing all senders with user id: 1,3 and 26) On user "Send Message" page can see the senders that admin shared. Updated at: 22 Jan 2024 Go to top API info SHOW SERVER INFORMATIONS Enable/disable (default = enabled) Open/edit .env Node server side DISABLE_SERVER_INFO=true API end-point https://api.mydomain.com/info GET QR IMAGE/CODE/BASE64 Enable/disable (default = enabled) Open/edit .env Node server side DISABLE_GET_QR=true API end-point https://api.mydomain.com/info?getqr=code&token=rC5mnqo7e6FUpDaDZ9y4 API end-point https://api.mydomain.com/info?getqr=image&token=rC5mnqo7e6FUpDaDZ9y4 Updated at: 22 Jan 2024 Go to top OpenAI ChatGPT How to get openai apikey? Register a new account if haven't done so. Then go to: Account API Keys – OpenAI API Where to insert openai apikey in Arrocy Whatsapp Gateway? Will the chatbot remember our previous chat? YES. I am proudly announce that start from this version, the chatbot can remember the chat history. WARNING! The more history collected, the more token will be used. Please delete history regularly by button or by type "reset chat" to the chatbot. What is OpenAI persona? This will be your chatbot personality/characteristics/attitude/behaviour, that you can set with your own sentence. ex.: Your name is Marvin. You are a grumpy chatbot. You are reluctantly answers questions with sarcastic responses. How to interact with openai chatGPT bot? Call the chatGPT bot with the OpenAI Prefix (Bot). Example to chat with the bot with device on the picture above: "bot, what is openai chatbot?" Updated at: 22 Jan 2024 Go to top Footer message If you want to put adverstisement for TRIAL users, you can open "Packages" menu, edit the Footer message. example: Footer title 1 Footer message 1; Footer title 2 Footer message 2; ; ; ; ; Footer title 3 Footer message 3; You can see there are a lot of ';' (semi-colon) without any footer message. The footer message will be chosen randomly. The more "Empty" footer message, the more chance the message will not show footer message. This will make the footer message will only show once in a while. Updated at: 22 Jan 2024 Go to top Inspiring quote Now you can send bulk messages/campaign with more random with random "Inspiring quote" on each message located at the bottom of the message. Where is the file location if I want to add/edit more Inspiring quotes? /app/Helpers/Inspiring.php Will this file get overwritten on update? Yes. Copy your custom Inspiring.php and keep it safe somewhere, re-upload your custom Inspiring.php after update Updated at: 22 Jan 2024 Go to top Registration Terms of Use & Privacy Policy You can see this when you want to register a new account. Where are the files location? /public/app-assets/data/termsofuse.txt and /public/app-assets/data/privacypolicy.txt I don't see the files? By default, the filenames are termsofuse-example.txt and privacypolicy-example.txt, this to prevent your custom files get overwritten Rename /public/app-assets/data/termsofuse-example.txt and /public/app-assets/data/privacypolicy-example.txt to /public/app-assets/data/termsofuse.txt and /public/app-assets/data/privacypolicy.txt Updated at: 22 Jan 2024 Go to top Default autoreply How to make a default Autoreply if there is no keyword matched? Go to menu "Autoreply" Click "Add new autoreply" button Put "defaultAutoreply" on the keyword textbox Put "Hi {name}, I am sorry but I don't understand you. Can you click on the button below?" on the response textbox Put "Call me!" and "+14088999448" on button 1 Put "Go to Main Menu" and "test" on button 2 Click Submit button to save. Updated at: 22 Jan 2024 Go to top Phonebook contacts Go to menu "Phonebooks" >> click on the "Add new" button to import from excel XLSX file. Please download the sample XLSX file for guidance. Go to menu "Phonebooks" >> click on the "PHONEBOOK DATA" to show the contacts >> click on the "Name"/"Phone" to edit contact. Updated at: 22 Jan 2024 Go to top Send bulk message with rotator What is Rotator? If you have 2 or more sender devices, you can rotate the senders while you sending bulk messages. The proccess: sender1, sender2, sender3, …., senderX, then go back again to sender1, sender2, ….until the job is done. Updated at: 22 Jan 2024 Go to top Send vcard Use Send Message menu Go to Send Message menu Select sender Input receiver (single or multi) Input "vcard" –OR– FN: My Full Name, ORG: My Company Name, TEL: 14088999448 Click "Send" Use Autoreply menu Go to Autoreply menu Add new Autoreply Put keyword "vcard" (or any keyword you like) Put response like below: FN: My Full Name, ORG: My Company Name, TEL: 14088999448 Use GET/POST API request, please go to menu "Rest API" Updated at: 22 Jan 2024 Go to top Send location Use Send Message menu Go to Send Message menu Select sender Input receiver (single or multi) Message text: degreesLatitude: 24.232483, degreesLongitude: 55.692107, locationName: Omar Palace, locationAddress: Abu Dhabi Click "Send" Use Autoreply menu Go to Autoreply menu Add new Autoreply Put keyword LOCATION (or any keyword you like) Put response like below: degreesLatitude: 24.232483, degreesLongitude: 55.692107, locationName: Omar Palace, locationAddress: Abu Dhabi Click "Submit" to save Use GET/POST API request, please go to menu "Rest API" Updated at: 22 Jan 2024 Go to top Check If a phone number is on Whatsapp Use GET/POST API request, please go to menu "Rest API" Updated at: 22 Jan 2024 Go to top Data capture WHAT IS DATA CAPTURING BOT? This feature is like a survey bot. The bot will have a set of questions that will be asked if the bot is given a specific keyword. When the person answers, that answer will be collected and will be summarized at the end of the survey. WHAT CHANGES STARTING FROM V3.1.0? Capture can be use as a universal or custom per-device (default is universal). Now Finish message and Stop message can be different on each subject. Please look at the "Subjects" picture below! Universal means: the structure of capture will be the same for all users. But, you do not need to enable user's webhook. Per-device is more custom style of capture, each device can edit webhook file to get custom capture experience. Requires to enable user's webhook. WHAT IS IT FOR? Well, for anything related to data that you want to get from interactive conversation with the bot. Below example will be demonstrating a bot that is taking a dentist appointment from a user. Enter keyword to start dentist booking appointment Enter greetings Choose buttons type Enter YES and trigger "capture>>start>>dentist" Enter NO and trigger "capture>>stop" CAPTURE TRIGGERS capture>>start>>{subject-name} This will start a capture session with the subject-name capture>>stop This will stop/cancel the current capture capture>>finish This will stop/save the completed capture CAPTURE MESSAGES This message will show on capture>>finish and capture>>stop "finish": "Thank you for making appointment with Bright Dentist Office!", "stop": "We are sorry. If you want to start again type 'capture>>start>>dentist'" WHERE ALL THE QUESTIONS ARE FROM? You can edit and add subjects. Example: add "survey" (don't forget the "finish" at the end of the questions) Now you can trigger the new capture using "capture>>start>>survey" Updated at: 22 Jan 2024 Go to top Payment gateway (Extended) Payment gateways are pre-installed on the Extended version Go to Menu Settings Add new setting keys depending on the Payment Gateway you've installed: Gopay: gopayId >> +6281212341234 Mercadopago: mpAccessToken >> TEST-6195172761940710-103023-bf9ae8ff5d1563b50212xxxxxxxxxxxx-484818024 mpPublicKey >> TEST-a35c66d4-fb75-4e18-9a88-xxxxxxxxxxxx Midtrans: midtransClientKey >> SB-Mid-client-hZr2485pDpxxxxxx midtransServerKey >> SB-Mid-server-SU5JAi7QjWTzpepu6Exxxxxx Paypal: paypalClientId >> AfPi2XnSujC3xLB5X7otIojy4-v2uKY4Vena9yDtie_d1Y-PrA1_xxxxxxxxxxxxxxxxxxxxxxxxxxxx Razorpay: razorpayKeyId >> rzp_test_4gZ9z6CHxxxxxx razorpayKeySecret >> 5xU1rvT4r1L1A3Al0Sxxxxxx Stripe: stripeKey >> pk_test_51MBIeESJQE8c8OokqTjcFHzAe6y5jnCgdNapzHFtej4cVxaI96Kzd6NPo22u1I1sObKTKexxxxxxxxxxxxxxxxxxxxxxxxxxxx stripeSecret >> sk_test_51MBIeESJQE8c8Ook0FK5gWmgPUZGSCklzNBFYxoZgkhY8Yjhrc7pTzfD0rVaR1uep4Vuulxxxxxxxxxxxxxxxxxxxxxxxxxxxx Pix: (openpix.com) pixAppId >> Q2xpZW50X0lkXzU5NzhiZGM3LTNkNTQtNGY3Ni1iNGU0LTVhZmJiMmFkYTRhMDpDbGllbnRfU2VjcmV0X2V3ZnNyK1FhWFlFSUVmbVNZRzBMZEVTxxxxxxxxxxxxxxxxxxxxxxxxxxxx Updated at: 22 Jan 2024 Go to top Unsubscribe campaign HOW TO DO THIS FROM CUSTOMER SIDE? By default if a customer typed "unsubscribe" to the bot, the bot will save to database and never send bulk messages to that customer again. Every bot in the same user in Arrocy-WG will not send any bulk message to that customer, this is because Arrocy-WG have the multi sender feature, if only block 1 sender, other sender can still send bulk messages to that customer. Every bot will still be able to send message to that customer, as long sending non-bulk messages. *Sending with phonebook with less than 10 receivers or send messages that will finished in less than 30 seconds is NOT bulk-sending. THIS FEATURE WILL HELP YOU TO REDUCE WHATSAPP BAN My suggestion is: When you send out campaign, include this message at the bottom: "Type 'unsubscribe' to remove yourself from our future campaign messages" or you can create a button with your campaign message, put "unsubscribe" on the button id. WHAT HAPPEN AFTER CUSTOMER UNSUBSCRIBE? Customer's phone number will be saved in "subscriber" table with code "0", and every time you send campaign, it will be checked through this database. If found, send to this number will be skipped. Meaning, you don't have to remove the unsubscribed customer's phone from phonebook, because Arrocy-WG will automatically skip the message to unsubscribed customers. WHAT IF CUSTOMER CHANGED HIS MIND AND WANT TO RECEIVE CAMPAIGN AGAIN? From customer side, just ask customer to type 'subscribe' to the bot Updated at: 22 Jan 2024 Go to top Spintax campaign THE GOAL IS TO MAKE MESSAGES SLIGHTLY DIFFERENT FROM ONE ANOTHER IN 1 CAMPAIGN Go to Send message menu and you can type multiple set of random words inside curly bracket. Use { } to group and use | to separate the words or phrases. Hi {name}, today we have a {hot sale | big promotion | weekend bazaar | extreme marketplace} event in your city. Please contact our {sales | support | admin} for more information {+964 771 934 3622 | +964 213 124 8374 | +964 449 332 0948 | +964 930 334 1033} Updated at: 22 Jan 2024 Go to top Landing page LANDING PAGE WAS INTRODUCED ON ARROCY-WG V3.0.0 To show landing page: Open Settings menu, add/edit key >> landingPage and value >> landing value >> landing (this 'landing' is the folder name of the landing page inside the '/public/' folder). If you want to use your own custom landingPage, just create a new folder inside '/public/' folder, example: '/public/cool-landing' then: Open Settings menu, add/edit key >> landingPage and value >> cool–landing LANDING PAGE COMES WITH PRIVACY POLICY AND DOCUMENTATION PAGE Please make modification to your liking. These 3 pages mostly independent and will not be affected on Arrocy-WG update. They use their own css. MY ARROCY-WG DOES NOT HAVE LANDING PAGE INSIDE Please download and extract on the root of the "/public/" folder in Arrocy-WG. You can download from visimisi.net/my-account, then click the Arrocy-WG Actions button >> Download Updated at: 22 Jan 2024 Go to top Support button OPEN/EDIT .env on Admin panel side # Enable support button SUPPORT_BUTTON=true or 1 (enable tech support button), false or 0 (disable tech support button) # Support phone number SUPPORT_PHONE="14088999448″ Updated at: 22 Jan 2024 Go to top Verify registration and reset password (Whatsapp) To enable the reset password through Whatsapp Add to "Settings menu": "waResetPassword" >> true or 1 (enable password reset use whatsapp), false or 0 (disable password reset use whatsapp) Add to us.json: "_MsgWaResetPassword": "Hi *{name}*! This is a reset password process because you have just requested a password reset on *{appurl}*. If you did not request a password reset, please ignore this message. If you did, please click the link below to reset password. Thank you, *-{appname}-*" To enable the Whatsapp verification for new user registrations: Add to "Settings menu": "waVerification" >> true or 1 (to enable verification), false or 0 (this is to disable verification) Add to us.json: "_MsgOtpRegister": "Hi *{name}*! This is a verification process because you have just registered a new account on *{appurl}*. If you did not register an account, please ignore this message. If you did, please click the link below to verify. Thank you, *-{appname}-*", You can use {name}, {appurl}, and {appname} Two conditions must be met in order this feature to work: "waVerification" set to "true" or 1 There is at least one (1) ONLINE device on "admin" account. Updated at: 22 Jan 2024 Go to top Verify registration and reset password (Email) To enable the reset password through email you will need to edit .env file on the admin panel side: To enable the email verification for new user registrations: To disable the email verification for new user registrations: Just delete these code to /app/Models/User.php (delete "implements MustVerifyEmail") Updated at: 22 Jan 2024 Go to top Wallet system (Extended) What is wallet? Wallet is a virtual money that is accepted inside Arrocy-WG system. You can use the wallet balance to purchase monthly subscription. Who is "bank" user in the system? BANK is acting like a money changer, convert the money to wallet balance. All money transactions will go through BANK only. You can rename with standard a-z, 0-9, and underscore (No accented character allowed). Just make sure this BANK account has the user id = 2 in database. Why BANK always have a negative number? Arrocy-WG wallet system using a method called "balanced ledger", which means when there is a positive amount posted, then there must be a negative amount posted to make the ledger balanced. When a CUSTOMER exchange the $100 money for 100 wallet balance, CUSTOMER will get a positive (+100) wallet balance, this will make BANK negative (-100) wallet balance. Where the balance go to when a CUSTOMER pays for monthly subscription? When a CUSTOMER pays 30 for monthly subsciption, it will be minus (-30) deducted from CUSTOMER'S wallet leaving CUSTOMER'S balance to (+70). Then that (+30) will go to SUPER ADMIN. Why not BANK the one accepting the CUSTOMER'S monthly subscription? The reason I made the system this way because I want BANK only deal with "real money", and let "wallet" transactions be handled by other user. This will make the bookkeeping clean. Is that mean that I can not delete/rename "admin" user too? You can rename with standard a-z, 0-9, and underscore (No accented character allowed). Just make sure this SUPER ADMIN has the user id = 1 in database. Can I create another admin account using different username? Yes you can. As many as you need. You can create "adminABC" or "adminXYZ" whatever name you want. "admin" is the SUPER ADMIN in this system, other users with admin role will be treated as EMPLOYEES. It will be ONLY 1 SUPER ADMIN and 1 BANK in this system. Other admin accounts must report to SUPER ADMIN regarding "Offline topups". What is "transfer" button for? Transfer button is for wallet balance transfer. Any EMPLOYEE can initiate wallet transfer to any users in the system. This is useful for a "Offline payment" transaction. When a CUSTOMER choose for an "Offline payment" when topping up wallet, CUSTOMER must contact any admin (example: adminABC) and show the proof of bank transfer to adminABC. After proof of transfer verified, adminABC will transfer the wallet balance to that CUSTOMER'S wallet. Now that CUSTOMER can pay monthly subscription with that wallet balance. What should I do with negative SUPER ADMIN and EMPLOYEES wallet balance? EMPLOYEES must hand over "real money" to SUPER ADMIN, then SUPER ADMIN transfer balance to EMPLOYEES to make balance back to zero. Now SUPER ADMIN will have a big amount of negative wallet. SUPER ADMIN have to hand over the real money to BANK (virtually if SUPER ADMIN and BANK are the same person). Login as BANK, do transfer to SUPER ADMIN to make wallet zero. The negative number in BANK account is the "real money" that is going in to the system. When is the billing cycle? Billing cycle will be on the first day of each month at 00:00 o'clock. This will apply to all users. How do I charge the monthly subscription if a CUSTOMER start subscription on the 6th day of the month? For the first month CUSTOMER will pay a pro-rated monthly subscription. The calculation will be like this: (30-5) * monthly price. If monthly price is $30, then (30-5) * $30 = $25 for the first month, then next month on the 1st day will be charged full price $30. Is the monthly billing done automatically? Yes, the system will calculate the first month price and on every 1st day of the month it will automatically deduct CUSTOMER'S wallet. If CUSTOMER'S wallet is not enough, then it will not be renewed. CUSTOMER must do a topup first then it will automatically renew with same package as before. TRIAL package WILL NOT auto renew. CUSTOMER must choose a package first. What happen if CUSTOMER does not renew the subscription? When CUSTOMER does not renew by the end of the month, CUSTOMER account will be marked as EXPIRED and can not send any more messages, until the account renew the subscription. Updated at: 22 Jan 2024 Go to top Device settings THIS SETTING IS ACCESSIBLE THROUGH: DEVICES>>EDIT DEVICE What is Autoread? (default NO) This is to enable/disable the bot behavior to mark the message status to "read" (past tense), usually indicated by 2 blue ticks. What is Autoswitch? (default YES) This is to enable/disable the bot to change sender if the current sender is banned or OFFLINE What is OpenAI prefix? (default "device>>name,") This is the bot name followed by "," (comma) then the question. Why do I need a prefix? This prefix will differentiate between the regular autoreply or the webhook-autoreply. This device is dedicated for OpenAI chatGPT, can I skip calling the bot name? YES you can, just choose "No Prefix" on the dropdown menu. What is Autoreply group? (default NO) This is to enable/disable autoreply feature inside the whatsapp group. Updated at: 22 Jan 2024 Go to top Webhook or Capture is not working Quick fix: Menu Devices>>Actions>>Webhook contents>>Reset Updated at: 22 Jan 2024 Go to top Scrape GMaps Business SCRAPE GOOGLE MAPS BUSINESS PHONE NUMBERS get thousands of new prospective customers just with a click of a button. Requirements: Google maps api key Enable Places API from inside google cloud console API section https://console.cloud.google.com/google/maps-apis/api-list HOW TO GET LOCATION (Longitude, Latitude)? Open https://www.google.com/maps Click on the map 1 starting point, you will see the Longitude and Langitude below.