Sign inSign up

luizeof/wppconnect

By luizeof

•Updated over 3 years ago

Image
1

10K+

luizeof/wppconnect repository overview

⁠WPPConnect Team

⁠WPPConnect Server

npm version Downloads Average time to resolve an issue Percentage of issues still open Build Status Build release-it

Wppconnect Server is a ready-to-use API, just download, install, and start using, simple as that.

  • Javascript ES6
  • NodeJS
  • Restfull

⁠Our online channels

Discord Telegram Group WhatsApp Group YouTube

⁠Documentations

Access our documentation on postman⁠

Access our documentation on Swagger⁠

Or Swagger UI in your server. Acess router: "IP:PORT/api-docs"

⁠Features

Multiple Sessions✔
Send text, image, video and docs✔
Get contacts list✔
Receive messages✔
Open/Close Session✔
Change Profile/Username✔
Create Group✔
Join Group by Invite Code✔
Webhook✔

⁠Libraries Used

  • WPPConnect
  • Axios
  • Bcrypt
  • Cors
  • Dotenv
  • Express
  • Nodemon
  • SocketIO

⁠Installation

Install the dependencies and start the server.

yarn install
//or
npm install

⁠Install puppeteer dependencies:

sudo apt-get install -y libxshmfence-dev libgbm-dev wget unzip fontconfig locales gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils

⁠Install google chrome


wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo apt-get update

sudo apt-get install libappindicator1

sudo dpkg -i google-chrome-stable_current_amd64.deb

⁠Run Server

yarn dev

⁠Build Server

yarn build

⁠Configuration

This server use config.json file to define some options, default values are:

{
  /* secret key to genereta access token */
  "secretKey": "THISISMYSECURETOKEN",
  "host": "http://localhost",
  "port": "21465",
  // create userDataDir for each puppeteer instance for working with Multi Device
  "customUserDataDir": "./userDataDir/",
  // starts all sessions when starting the server.
  "startAllSession": true,
  // sets the maximum global listeners. 0 = infinity.
  "maxListeners": 15,
  "webhook": {
    "url": null,
    // automatically downloads files to upload to the webhook
    "autoDownload": true,
    //marks messages as read when the webhook returns ok
    "readMessage": false,
    //sends all unread messages to the webhook when the server starts
    "allUnreadOnStart": true
  },
  //functionality that archives conversations, runs when the server starts
  "archive": {
    "enable": true,
    //maximum interval between filings.
    "waitTime": 10,
    "daysToArchive": 45
  },
  "log": {
    "level": "error",
    "logger": [ "console", "file" ]
  },
  "createOptions": {
    "browserArgs": ["--no-sandbox"]
  }
}

⁠Secret Key

Your secretKey is inside the config.json file. You must change the default value to one that only you know.

⁠Generate Token

To generate an access token, you must use your SECRET_KEY.

Using the route:

  curl -X POST --location "http://localhost:21465/api/mySession/eUsouSeCreTo/generate-token"
⁠Response:
{
  "status": "Success",
  "session": "mySession",
  "token": "$2b$10$duQ5YYV6fojn5qFiFv.aEuY32_SnHgcmxdfxohnjG4EHJ5_Z6QWhe",
  "full": "wppconnect:$2b$10$duQ5YYV6fojn5qFiFv.aEuY32_SnHgcmxdfxohnjG4EHJ5_Z6QWhe"
}

⁠Using Token

Save the value of the "full" response. Then use this value to call the routes.

⁠Examples

#Starting Session
# /api/:session/start-session

curl -X POST --location "http://localhost:21465/api/mySession/start-session" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer \$2b\$10\$JcHd97xHN6ErBuiLd7Yu4.r6McvOvEZZDQTQwev2MRK_zQObUZZ9C"
#Get QrCode
# /api/:session/start-session
# when the session is starting if the method is called again it will return the base64 qrCode

curl -X POST --location "http://localhost:21465/api/mySession/start-session" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer \$2b\$10\$JcHd97xHN6ErBuiLd7Yu4.r6McvOvEZZDQTQwev2MRK_zQObUZZ9C"
#Send Message
# /api/:session/send-message
curl -X POST --location "http://localhost:21465/api/mySession/send-message" \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer \$2b\$10\$8aQFQxnWREtBEMZK_iHMe.u7NeoNkjL7s6NYai_83Pb31Ycss6Igm" \
    -d "{
          \"phone\": \"5511982743910\",
          \"message\": \"*Abner* Rodrigues\"
        }"

See the routes file for all the routes. here⁠ and HTTP file⁠.

⁠Swagger UI

Swagger ui can be found at /api-docs

Tag summary

Content type

Image

Digest

sha256:1b2017969…

Size

308.8 MB

Last updated

over 3 years ago

docker pull luizeof/wppconnect