ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

Как ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ 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:

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