ΠΠ°ΠΊ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ webhook endpoint ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅#
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ngrok. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Ρ Π½Π΅Π³ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΈΠ΄Π΅ΠΎΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ#
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°#
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ ngrok Π·Π°ΡΠ΅Π³Π΅ΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ngrok.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ
npm i express body-parser
ΠΠΌΠΏΠΎΡΡ#
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ JavaScript
const express = require("express");
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ES6 JavaScript
import express from "express";
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ TypeScript
import * as express from "express";
ΠΠ°ΠΊ ΠΏΡΠΈΠ½ΡΡΡ webhook endpoint ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅#
ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: SampleReceiveWebhook.js
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
node SampleReceiveWebhook.js
ngrok http 80
Forwarding
http://32c4-146-158-66-240.ngrok-free.app -> http://localhost:80
Π’Π°ΠΊ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΠΠ°ΠΌ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+C
ΠΡΠΈΠΌΠ΅Ρ#
const express = require('express');
const bodyParser = require('body-parser');
(async () => {
try {
const app = express();
const port = 80;
app.use(bodyParser.json());
app.post('/', (req, res) => {
console.log(req.body);
res.status(200).send('');
});
app.listen(port, () => {
console.log(`Server is listening on port ${port}`);
});
} catch (error) {
console.error(error);
process.exit(1);
}
})();
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²#
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ |
---|---|
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Async | SendWhatsAppMessageAsync.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Callback | SendWhatsAppMessageCallback.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΏΠΎ URL | SendWhatsAppFileUrl.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Ρ Π΄ΠΈΡΠΊΠ° | SendWhatsAppFileUpload.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ receiveNotification | ReceiveNotifications.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ webhook endpoint ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ | SampleReceiveWebhook.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· webhook service REST API | StartReceivingNotifications.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ | ReceiveWebhook.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ QR ΠΊΠΎΠ΄Π° ΠΏΠΎ HTTP | getQRCode.js |
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ QR ΠΊΠΎΠ΄Π° ΠΏΠΎ websocket | getQRCodeWebsocket.js |