wppconnect-server
wppconnect-server copied to clipboard
Wppconnect Server is a ready-to-use API, just download, install, and start using, simple as that.
WPPConnect Team
WPPConnect Server
Wppconnect Server is a ready-to-use API, just download, install, and start using, simple as that.
- Javascript ES6
- NodeJS
- Restfull
Our online channels
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
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