Skip to main content

Meow API WhatsApp - go-whatsapp-web-multidevice

Link: https://github.com/aldinokemal/go-whatsapp-web-multidevice

WhatsApp API Multi Device Version

release version
Build Image
release windows release linux release macos

Support ARM Architecture

Now that we support ARM64 for Linux:

Feature

  • Send WhatsApp message via http API, docs/openapi.yml for more details

  • Compress image before send

  • Compress video before send

  • Change OS name become your app (it's the device name when connect via mobile)

    • --os=Chrome or --os=MyApplication
  • Basic Auth (able to add multi credentials)

    • --basic-auth=kemal:secret,toni:password,userName:secretPassword, or you can simplify
    • -b=kemal:secret,toni:password,userName:secretPassword
  • Customizable port and debug mode

    • --port 8000
    • --debug true
  • Auto reply message

    • --autoreply="Don't reply this message"
  • Webhook for received message

    • --webhook="http://yourwebhook.site/handler", or you can simplify
    • -w="http://yourwebhook.site/handler"
  • Webhook Secret

    Our webhook will be sent to you with an HMAC header and a sha256 default key secret.
    You may modify this by using the option below:

    • --webhook-secret="secret"
  • For more command ./main --help

Required (without docker)

  • Mac OS:
    • brew install ffmpeg
    • export CGO_CFLAGS_ALLOW="-Xpreprocessor"
  • Linux:
    • sudo apt update
    • sudo apt install ffmpeg
  • Windows (not recomended, prefer using WSL):

How to use

Basic

  1. Clone this repo: git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. Open the folder that was cloned via cmd/terminal.
  3. run cd src
  4. run go run main.go
  5. Open http://localhost:3000

Docker (you don't need to install in required)

  1. Clone this repo: git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. Open the folder that was cloned via cmd/terminal.
  3. run docker-compose up -d --build
  4. open http://localhost:3000

Build your own binary

  1. Clone this repo git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. Open the folder that was cloned via cmd/terminal.
  3. run cd src
  4. run
    1. Linux & MacOS: go build -o whatsapp
    2. Windows (CMD / PowerShell): go build -o whatsapp.exe
  5. run
    1. Linux & MacOS: ./whatsapp
      1. run ./whatsapp --help for more detail flags
    2. Windows: .\whatsapp.exe or you can double-click it
      1. run .\whatsapp.exe --help for more detail flags
  6. open http://localhost:3000 in browser

Production Mode (docker)

docker run --detach --publish=3000:3000 --name=whatsapp --restart=always --volume=$(docker volume create --name=whatsapp):/app/storages aldinokemal2104/go-whatsapp-web-multidevice --autoreply="Dont't reply this message please"

Production Mode (binary)

You can fork or edit this source code !

Current API

FeatureMenuMethodURL
Login with Scan QRGET/app/login
Login With Pair CodeGET/app/login-with-code
LogoutGET/app/logout
ReconnectGET/app/reconnect
DevicesGET/app/devices
User InfoGET/user/info
User AvatarGET/user/avatar
User My GroupsGET/user/my/groups
User My NewsletterGET/user/my/newsletters
User My Privacy SettingGET/user/my/privacy
Send MessagePOST/send/message
Send ImagePOST/send/image
Send AudioPOST/send/audio
Send FilePOST/send/file
Send VideoPOST/send/video
Send ContactPOST/send/contact
Send LinkPOST/send/link
Send LocationPOST/send/location
Send Poll / VotePOST/send/poll
Revoke MessagePOST/message/:message_id/revoke
React MessagePOST/message/:message_id/reaction
Delete MessagePOST/message/:message_id/delete
Edit MessagePOST/message/:message_id/update
Read Message (DM)POST/message/:message_id/read
Star messagePOST/message/:message_id/star
Join Group With LinkPOST/group/join-with-link
Leave GroupPOST/group/leave
Create GroupPOST/group
Add Participants in GroupPOST/group/participants
Remove Participant in GroupPOST/group/participants/remove
Promote Participant in GroupPOST/group/participants/promote
Demote Participant in GroupPOST/group/participants/demote
Unfollow NewsletterPOST/newsletter/unfollow
✅ = Available
❌ = Not Available Yet

User Interface

DescriptionImage
HomepageHomepage
LoginLogin
Login With CodeLogin With Code
Send MessageSend Message
Send ImageSend Image
Send FileSend File
Send VideoSend Video
Send ContactSend Contact
Send LocationSend Location
Send AudioSend Audio
Send PollSend Poll
Revoke MessageRevoke Message
Delete MessageDelete Message
Reaction MessageReaction Message
Edit MessageEdit Message
User InfoUser Info
User AvatarUser Avatar
My PrivacyMy Privacy
My GroupMy Group
Auto ReplyAuto Reply
Basic Auth PromptBasic Auth Prompt
Manage ParticipantManage Participant
My NewsletterList Newsletter

Mac OS NOTE

  • Please do this if you have an error (invalid flag in pkg-config --cflags: -Xpreprocessor) export CGO_CFLAGS_ALLOW="-Xpreprocessor"