Giter VIP home page Giter VIP logo

whatsapp-http-api's Introduction

WhatsApp HTTP API (WAHA)

Image

WAHA - WhatsApp HTTP API that you can install on your own server and run in less than 5 minutes!

Tables of Contents

Features

Messages

  • Send messages
  • Receive messages
  • Message replies
  • Send location
  • Receive location
  • React to messages
  • Send media (images/documents/files)
  • Send voice messages
  • Receive media (images/audio/video/documents)
  • Receive messages - webhook retries

Sessions

  • Multi Device
  • Get the screenshot
  • Session saving (don't have to scan QR on every restart)
  • Single WhatsApp account running inside one container
  • Multiple WhatsApp account running inside one container

Security

  • Swagger panel authentication
  • API authentication

Updates

  • Bug fixes and updates come as soon as they are implemented.

Groups

  • Create a group
  • Get invite for group
  • Modify group info (subject, description)
  • Add group participants
  • Kick group participants
  • Promote/demote group participants

Contacts

  • Mute/unmute chats
  • Block/unblock contacts
  • Get contact info
  • Get profile pictures
  • Get presence (online\offline\typing) status

Quick start

Requirements

Only thing that you must have - installed docker. Please follow the original instruction how to install docker ->.

When you are ready - come back and follows the below steps to send the first text message to WhatsApp via HTTP API!

{{< details "Why Docker?" >}} Docker makes it easy to ship all-in-one solution with the runtime and dependencies. You don't have to worry about language-specific libraries or chrome installation.

Also Docker makes installation and update processes so simple, just one command! {{< /details >}}

Send your first message

Let's go over steps that allow you to send your first text message via WhatsApp HTTP API!

1. Download image

Assuming you have installed Docker, let's download the image.

For Core version the command is

docker pull devlikeapro/whatsapp-http-api

For Plus version, we use login to get the image before:

docker login -u devlikeapro -p {KEY}
docker pull devlikeapro/whatsapp-http-api-plus
docker logout

Read more about how to get PASSWORD for [Plus Version โ†’]({{< relref "plus-version" >}})

2. Run WhatsApp HTTP API

Run WhatsApp HTTP API:

docker run -it --rm -p 3000:3000/tcp --name whatsapp-http-api devlikeapro/whatsapp-http-api

# It prints logs and the last line must be
# WhatsApp HTTP API is running on: http://[::1]:3000

Open the link in your browser http://localhost:3000/ and you'll see API documentation (Swagger).

3. Start a new session

To start a new session you should have your mobile phone with installed WhatsApp application close to you.

Please go and read how what we'll need to a bit later: How to log in - the instruction on WhatsApp site

When your ready - find POST /api/session/start, click on Try it out, then Execute a bit below.

The example payload:

{
  "name": "default"
}

By using the request with name values you can start multiple session (WhatsApp accounts) inside the single docker container in Plus version and only one account in Core version.

Read more about [multiple sessions โ†’]({{< relref "/docs/how-to/sessions" >}})

4. Get and scan QR

Find GET /api/screenshot and execute it, it shows you QR code.

Scan the QR with your cell phone's WhatsApp app.

5. Get the screenshot

Execute GET /api/screenshot after a few seconds after scanning the QR - it'll show you the screenshot of you Whatsapp instance. If you can get the actual screenshot - then you're ready to start sending messages!

6. Send a text message

Let's send a text message - find POST /api/sendText in swagger and change chatId this way: use a phone international phone number without + symbol and add @c.us at the end.

For phone number 12132132131 the chatId is [email protected].

The example payload:

{
  "chatId": "[email protected]",
  "text": "Hi there!",
  "session": "default"
}

Also, you can use curl and send POST request like this:

# Phone without +
export PHONE=12132132130
curl -d "{\"chatId\": \"${PHONE}@c.us\", \"text\": \"Hello from WhatsApp HTTP API\" }" -H "Content-Type: application/json" -X POST http://localhost:3000/api/sendText

What is next?

Go and read the full documentation!

whatsapp-http-api's People

Contributors

allburov avatar dependabot[bot] avatar felipeveiga avatar sunilsankar avatar gqlxj1987 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.