{"id":1368,"date":"2022-03-02T15:12:13","date_gmt":"2022-03-02T15:12:13","guid":{"rendered":"https:\/\/blog.ultramsg.com\/%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d1%82%d1%8c-whatsapp-api-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-webhook-no\/"},"modified":"2022-03-10T05:53:28","modified_gmt":"2022-03-10T05:53:28","slug":"%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d1%82%d1%8c-whatsapp-api-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-webhook-no","status":"publish","type":"post","link":"https:\/\/blog.ultramsg.com\/ru\/%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d1%82%d1%8c-whatsapp-api-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-webhook-no\/","title":{"rendered":"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f WhatsApp \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Webhook \u0438 Node.js"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"introduction\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 WhatsApp \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Node.js.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"dependencies\">\u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438<\/h2>\n\n<p>\u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u0442\u0443\u043d\u043d\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f ngrok. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c ngrok \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/ngrok.com\/download\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/ngrok.com\/download<\/a><\/p>\n\n<h2 class=\"wp-block-heading\" id=\"set-up-your-project\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442<\/h2>\n\n<p>\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0440\u0435\u0441\u0441 \u0438 \u043f\u0430\u0440\u0441\u0435\u0440 \u0442\u0435\u043b\u0430:<\/p>\n\n<pre class=\"wp-block-code\"><code>npm install express body-parser<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"a-simple-example-of-receiving-whatsapp-messages-from-ultramsg\">\u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 WhatsApp \u043e\u0442 Ultramsg <\/h2>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"js\" class=\"EnlighterJSRAW\">const express = require('express')\nconst bodyParser = require('body-parser')\nconst app = express()\nconst PORT = 3000\n\/\/ Setup a webhook route\napp.use(bodyParser.json())\napp.post('\/ultramsgwebhook', (req, res) =&gt; {\n  console.log(req.body) \/\/ print all response\n\n  \/\/messageFrom=req.body&#91;'data']&#91;'from'] \/\/ sender number\n  \/\/messageMsg=req.body&#91;'data']&#91;'body'] \/\/ Message text\n  res.status(200).end()\n})\n\napp.use(bodyParser.json())\napp.listen(PORT, () =&gt; console.log(`\ud83d\ude80 Server running on port ${PORT}\ud83d\ude80 `))<\/code><\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"start-ngrok-node-js-project\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 ngrok \u0438 Node.js <\/h2>\n\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Ngrok \u0434\u043b\u044f Windows:<\/p>\n\n<pre class=\"wp-block-code\"><code><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">ngrok http 3000<\/code><\/code><\/pre>\n\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Ngrok \u0434\u043b\u044f Mac:<\/p>\n\n<pre class=\"wp-block-preformatted\"><code data-enlighter-language=\"powershell\" class=\"EnlighterJSRAW\">.\/ngrok http 3000<\/code><\/pre>\n\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442 Nodejs: <\/p>\n\n<pre class=\"wp-block-code\"><code>node index.js<\/code><\/pre>\n\n<h2 class=\"wp-block-heading\" id=\"set-webhook-url-to-your-instance-in-ultramsg\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 URL-\u0430\u0434\u0440\u0435\u0441 Webhook \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0432 ultramsg<\/h2>\n\n<p>\u041c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u043a\u043e\u043d\u0435\u0447\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u0430: http:\/\/your-ngrok.io.com\/ultramsgwebhook \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0422\u0435\u043f\u0435\u0440\u044c URL-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0432 Ultramsg \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00ab\u0412\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438\u00bb, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438: <\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/blog.ultramsg.com\/wp-content\/uploads\/2022\/02\/image-1024x570.png\" alt=\"&#x41F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x439; WhatsApp &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Webhook &#x438; Node.js - WhatsApp API\" class=\"wp-image-1247\" title=\"\" srcset=\"https:\/\/blog.ultramsg.com\/wp-content\/uploads\/2022\/02\/image-1024x570.png 1024w, https:\/\/blog.ultramsg.com\/wp-content\/uploads\/2022\/02\/image-300x167.png 300w, https:\/\/blog.ultramsg.com\/wp-content\/uploads\/2022\/02\/image-768x427.png 768w, https:\/\/blog.ultramsg.com\/wp-content\/uploads\/2022\/02\/image.png 1334w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"example-json-response\">\u041f\u0420\u0418\u041c\u0415\u0420 \u041e\u0422\u0412\u0415\u0422\u0410 \u0412 JSON<\/h2>\n\n<pre class=\"wp-block-preformatted\"><code data-enlighter-language=\"json\" class=\"EnlighterJSRAW\">{\n  event_type: 'message_received',\n  instanceId: '1150',\n  data: {\n    id: 'false_17692426345@c.us_3EB0FF54790702367270',\n    from: '17692426340@c.us',\n    to: '17692426345@c.us',\n    ack: '',\n    type: 'chat',\n    body: 'Hello, World!',\n    fromMe: false,\n    time: 1644957719\n  }\n}<\/code><\/pre>\n\n<p>\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c. \u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u0435\u0440\u0432\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 WhatsApp.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"types-of-webhooks-to-use-with-whatsapp-api-ultramsg\">\u0422\u0438\u043f\u044b \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441 WhatsApp API \u0438 Ultramsg <\/h2>\n\n<ul class=\"wp-block-list\"><li><strong>webhook_message_received<\/strong> : \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u0430\u0445 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li><li><strong>webhook_message_create<\/strong> : \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u0430\u0445 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f.<\/li><li><strong>webhook_message_ack<\/strong> : \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e) \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u0430\u0445.<\/li><\/ul>\n\n<ul class=\"wp-block-list\"><li>\u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u043b\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043f\u043e <a href=\"https:\/\/docs.ultramsg.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Whatsapp API<\/a> \u0438 <a href=\"https:\/\/blog.ultramsg.com\/whatsapp-api-by-ultramsg-faq\/\" data-type=\"URL\" data-id=\"https:\/\/blog.ultramsg.com\/whatsapp-api-by-ultramsg-faq\/\">\u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u043c\u0438<\/a> \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c\u0438.<\/li><li><a href=\"https:\/\/blog.ultramsg.com\/ru\/whatsappapi-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-%d1%83%d0%b7%d0%bb%d0%be%d0%bc-js-%d0%b8-ultramsg\/\" data-type=\"URL\" data-id=\"https:\/\/blog.ultramsg.com\/whatsappapi-message-with-node-js-and-ultramsg\/\">\u041a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 API WhatsApp \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Node.js.<\/a><\/li><\/ul>\n\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0448\u0430\u0433\u0438 \u0432 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435\u043e:<\/p>\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Receive WhatsApp messages using Webhook and Node.js\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/c0_U_OcAPKw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0435\u0431-\u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 WhatsApp \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"\u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f WhatsApp \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Webhook \u0438 Node.js\" class=\"read-more button\" href=\"https:\/\/blog.ultramsg.com\/ru\/%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d1%82%d1%8c-whatsapp-api-%d1%81%d0%be%d0%be%d0%b1%d1%89%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-webhook-no\/#more-1368\" aria-label=\"\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u041f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f WhatsApp \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Webhook \u0438 Node.js\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":1249,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[132],"tags":[139,146,136],"class_list":["post-1368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-whatsapp-ru","tag-node-js-ru","tag-146","tag-136","infinite-scroll-item","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25","no-featured-image-padding"],"_links":{"self":[{"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/posts\/1368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/comments?post=1368"}],"version-history":[{"count":11,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/posts\/1368\/revisions"}],"predecessor-version":[{"id":1662,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/posts\/1368\/revisions\/1662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/media\/1249"}],"wp:attachment":[{"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/media?parent=1368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/categories?post=1368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ultramsg.com\/ru\/wp-json\/wp\/v2\/tags?post=1368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}