{"_id":"@artginzburg/turnakolskiy-webhooks","_rev":"4-ce1177a55b474722f3659f8a4f91df72","name":"@artginzburg/turnakolskiy-webhooks","dist-tags":{"latest":"0.3.3"},"versions":{"0.3.0":{"name":"@artginzburg/turnakolskiy-webhooks","version":"0.3.0","description":"Serverless API for tur-na-kolskiy.ru, connecting Bitrix24 CRM to Rick.ai Analytics","main":"index.js","author":{"name":"Art Ginzburg","email":"art.ginzburg@ya.ru","url":"https://ginzburg.art"},"repository":{"type":"git","url":"git+https://github.com/artginzburg/turnakolskiy-webhooks.git"},"scripts":{"start":"node index","test":"concurrently \"npm:start\" \"lt -p 3000\""},"dependencies":{"axios":"^0.23.0","express":"^4.17.1"},"devDependencies":{"concurrently":"^6.3.0","localtunnel":"^2.0.2","express-winston":"^4.2.0","winston":"^3.3.3"},"gitHead":"7c92b3442a55e73551db30c310041d75c7473326","bugs":{"url":"https://github.com/artginzburg/turnakolskiy-webhooks/issues"},"homepage":"https://github.com/artginzburg/turnakolskiy-webhooks#readme","_id":"@artginzburg/turnakolskiy-webhooks@0.3.0","_nodeVersion":"17.0.1","_npmVersion":"8.1.0","dist":{"integrity":"sha512-mNew3rWdJmGHa1nUjx8SXRLgiwv3/3X3a6FenYQ/fYGlWE7WIn6G0xSFNqe/e6oMJHhKRRt6W3QtP6oOpVfRNg==","shasum":"b2e8759dbcc849c5dd24b5a9d26b9d240eee255c","tarball":"https://registry.npmjs.org/@artginzburg/turnakolskiy-webhooks/-/turnakolskiy-webhooks-0.3.0.tgz","fileCount":13,"unpackedSize":13350,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESLGaH/Xgq21zXo50udYcfxHut+wOlV9FkhekPwm8LMAiB1CVbi1/IkFfmGOwuKkaN4/kkCMPdJyrnSqVUSoHNaSQ=="}]},"_npmUser":{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"},"directories":{},"maintainers":[{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnakolskiy-webhooks_0.3.0_1635550801048_0.7363408733082191"},"_hasShrinkwrap":false},"0.3.1":{"name":"@artginzburg/turnakolskiy-webhooks","version":"0.3.1","description":"Serverless API for tur-na-kolskiy.ru, connecting Bitrix24 CRM to Rick.ai Analytics","main":"index.js","author":{"name":"Art Ginzburg","email":"art.ginzburg@ya.ru","url":"https://ginzburg.art"},"repository":{"type":"git","url":"git+https://github.com/artginzburg/turnakolskiy-webhooks.git"},"scripts":{"start":"node index","test":"concurrently \"npm:start\" \"lt -p 3000\""},"dependencies":{"axios":"^0.23.0","express":"^4.17.1"},"devDependencies":{"concurrently":"^6.3.0","localtunnel":"^2.0.2","express-winston":"^4.2.0","winston":"^3.3.3"},"gitHead":"4a11cae0af77669bb571da47e7dee53d458db520","bugs":{"url":"https://github.com/artginzburg/turnakolskiy-webhooks/issues"},"homepage":"https://github.com/artginzburg/turnakolskiy-webhooks#readme","_id":"@artginzburg/turnakolskiy-webhooks@0.3.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-KYkd4Nj+p06IXR+gnIDX/kGhWTCY8/7ubD+z5CgkMC0+Rq/ZZ2HmYbrLS07pC2m0dsHoCVupw9Fx72MKTBDOkw==","shasum":"1a8b954dc1e78e97e068a95dc9d44089c79ee57a","tarball":"https://registry.npmjs.org/@artginzburg/turnakolskiy-webhooks/-/turnakolskiy-webhooks-0.3.1.tgz","fileCount":13,"unpackedSize":13853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxOvKCRA9TVsSAnZWagAAMQIQAJrIoUmeqTIuM45xtFXe\nWf21cY4M3WxhyrzyvEB9YQEQof8S6MuyjVKLeCn7ARsXFv9Y9gd8k2k++jVv\nifu7qVYmerRVfH0ij3yz4MFLt8bvbxleAy335fB8H7mEYpzTjO6BTfB0Hdxu\n9UmNd6beRwNXZPDgVAUevYGhfJO562x4XWBACHUdnefLW0CAKfKAnMrIVtO+\n+sD6MebpjzQ2RxIyq17GlBknywxRdgDTZLeb0JLZ5bjRQNVEiSFcVrjSMCU3\nwhjZD22QuM4lHRFymhui5ZPqpDFp/XU6kYf3ixT017YaoDRm+bqCMAsCS70w\n2No7qjp/aUkVb3ueBt4m1NiSb9kK6vY76u0PmJ9yzxkjQ22xfS1I390LG73J\nQXJkcuziDO8jGZT1nF5w+jw6v0JkjU6s+fH47D+0Q8aHJBzaFnBnkKOXqTM+\nJdF/Zu1aVZOFL0p4O3Suu/YNE7x5woF81Om9/ZOjAWnBUaeoekkGb+DhZD/r\n95WGHdpkHMGJfccQqOr7CnRu2IWKtEEemCaPebk4gct6o7tdFXZHaau6kt++\nhtndMqtrNcFsc85AfONnL7aG1inVMKR0dSHEpJixPysp2T3H30zbHY7z2M2z\nwbQUcgQllpAW8MdTeJJHHyF2C2zk2x/3Fp4oIsnGMCBB96Qpb3m3oZFPn4nS\n6hKi\r\n=RDZs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC/FefQjNytTUAH6GH0RMPA1gxXYstZE7cmzbKrG7Gk3gIhANUljDSj0LOB9FFUBDH7UwrFJJXD2kRusO5f93EeWJOX"}]},"_npmUser":{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"},"directories":{},"maintainers":[{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnakolskiy-webhooks_0.3.1_1640295370586_0.2764318004577231"},"_hasShrinkwrap":false},"0.3.2":{"name":"@artginzburg/turnakolskiy-webhooks","version":"0.3.2","description":"Serverless API for tur-na-kolskiy.ru, connecting Bitrix24 CRM to Rick.ai Analytics","main":"index.js","author":{"name":"Art Ginzburg","email":"art.ginzburg@ya.ru","url":"https://ginzburg.art"},"repository":{"type":"git","url":"git+https://github.com/artginzburg/turnakolskiy-webhooks.git"},"scripts":{"start":"node index","test":"concurrently \"npm:start\" \"lt -p 3000\""},"dependencies":{"axios":"^0.23.0","express":"^4.17.1"},"devDependencies":{"concurrently":"^6.3.0","localtunnel":"^2.0.2","express-winston":"^4.2.0","winston":"^3.3.3"},"gitHead":"82fb309e0275a5b78f577e7e15ef7afff8c8f95f","bugs":{"url":"https://github.com/artginzburg/turnakolskiy-webhooks/issues"},"homepage":"https://github.com/artginzburg/turnakolskiy-webhooks#readme","_id":"@artginzburg/turnakolskiy-webhooks@0.3.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-xkC7ASYNwjF5C/wglSt/N7/W35zAMpfmtRtN8AUHgfINVofP2Z234HFqnAXo4qGXzL2DGOhJ3dxxZFNq7PkDcg==","shasum":"63841b82cbe74e1d32b4f555ade86b8209401c66","tarball":"https://registry.npmjs.org/@artginzburg/turnakolskiy-webhooks/-/turnakolskiy-webhooks-0.3.2.tgz","fileCount":13,"unpackedSize":13680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1uPPCRA9TVsSAnZWagAAp0MP/jiLWQ/+Qw67WzhYIzmx\niGVb9lQzdAII4LeoJlgMfl2CgbxiJMCY5YMwUo/WdZIMxiF76aTm1hF3E5vb\n3eVU8l8n7/ozUpGimMNHcUbVHkIXCnFrlrka2XhpEtiCl1JUA6fsCPm7Q77b\n4GrGduUZ4NNNzEypqBjB9UW0PFUMYxQKGOlFjsYRH3kuybd6EJ5UAAHeozZw\nDi6JghO0Wb6urFbDV/Vh2Rks7K3ptzGh+XZUWT0E9zk3o7MMAa4Te4Iq0LXM\nNBZVQ2WC2UCG3b81BiHSPm5mBJiDjzFQJXnjpK/9rJFJY7nO5wm5OPE4bVwt\nlSxw76mdGzxRBh2dOOu5vdIV2xKDSEZ8esAMqY1rWoZcIxuw44QzTX0304jd\nZAKyvL9EjTzOZ3m1XeWmEPg6QQs0hYihcYnuRhnZMXK0ye/DW1FtYtAyckgE\nT5CYzoOUjte3EjnUWVGvsIplsHh91DEKHDqCo+7s8G6qINRFObFZmHeD4ICa\ne29XIbW/DWlAg8nE4owLL7Xiry7wmO8YSiFrpKLG1tBR3QNSGUKW9A4e65pJ\n5CoQcFs/izglqtsfcMdlP2u2S872G+BatM5hpXUVQGBDVHOWwvMrcXweTUwD\nGoIx4HbAS+HTZnvnWArq9ttGSxFJmMJ7aAaQN6XsyMK8ItIusZ05dVFGUjFG\n1VOp\r\n=N5XO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9xgT9btw2WWcKXzxUjPE985NTlsFYolDAwBH8uvzWGgIgTppyptm7FvqPobGNsKqhHenljkPiGdb1BZaa8UdJU7o="}]},"_npmUser":{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"},"directories":{},"maintainers":[{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnakolskiy-webhooks_0.3.2_1641472975298_0.6768857919494904"},"_hasShrinkwrap":false},"0.3.3":{"name":"@artginzburg/turnakolskiy-webhooks","version":"0.3.3","description":"Serverless API for tur-na-kolskiy.ru, connecting Bitrix24 CRM to Rick.ai Analytics","main":"index.js","author":{"name":"Art Ginzburg","email":"art.ginzburg@ya.ru","url":"https://ginzburg.art"},"repository":{"type":"git","url":"git+https://github.com/artginzburg/turnakolskiy-webhooks.git"},"scripts":{"start":"node index","test":"concurrently \"npm:start\" \"lt -p 3000\""},"dependencies":{"axios":"^0.23.0","express":"^4.17.1"},"devDependencies":{"concurrently":"^6.3.0","localtunnel":"^2.0.2","express-winston":"^4.2.0","winston":"^3.3.3"},"gitHead":"5f78d966044c6445cb1ad145c139aeaa7648781c","bugs":{"url":"https://github.com/artginzburg/turnakolskiy-webhooks/issues"},"homepage":"https://github.com/artginzburg/turnakolskiy-webhooks#readme","_id":"@artginzburg/turnakolskiy-webhooks@0.3.3","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-9+ScEXSvbEHx1thFWdzf7dOKTDYlJMuyHGMs/MhXxIj7svYUD8h09wbpdURSdHZjXE5O1vsn0UuJF9ujIT0dvw==","shasum":"9fbf94dc2b33da98a97bbaebf0217ee8de4ca6bb","tarball":"https://registry.npmjs.org/@artginzburg/turnakolskiy-webhooks/-/turnakolskiy-webhooks-0.3.3.tgz","fileCount":16,"unpackedSize":18960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1xgiCRA9TVsSAnZWagAA2pkP/2WDtCL9ZGd6VZNPj2Jd\ntiskrxLV8jQzeg2kKnOo9YDFUmCBjAxcb9YHi42aHqdjDoUBGc/clr0lpkmS\nwBGzWRwDM17uvkOEmF1NPxlU+m9poRrUGZRP1EyrIkYrbUF6lVuzDdS9z0hk\nt5qYMiKbOFdpSYkuapM6YcXC5ABXh7lXLZMM5qVC1G4bz3vi0R0GOWFGmTt9\nST5UnUzVlOaZ3jNOs2ChMynzQS2B9wj3qzkKsW49GL2dUCN30AkMD4oc5QwJ\nwNzriyrVW58f3m00eWq0k9U6/gbEBfPJqaSR/mkZn8NJ5KKBuY4HFvY6Yu12\nGV7EiIIAWxWz8Ix6h1b9C5fHDufXKPIHHQTNRFsbQLwqjxJIyj9RDacDy8SY\nu3Kmz4keZjeDxNYZeXZLkrycxMLu/iIP/Eu/NQKiy/UwNawMlrfU+jKQ6msL\nr9WATeDMlRNisclWQvfYMi9SOiHM1cxQOa52aqZsFtqe9kD5Xe48e+b6MBjQ\n2YaHuUJKUdQm5ij0Z/NdVkIQm50kqu0kL9avAABn/cmv3ar6A8TXnxwtqV3f\nt17L1uFC2Hkd9EjhAIAS3ghLbiD+YggJnEH6TEZY1QVMafkGLO5T+kvojG3i\nIJHSU4FW8lUGi5fMFtN6dephfDLbqOF+kWPyh/sNzdN2/Vh9FsWnYw/mcu5B\n60yU\r\n=xvqL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWRWAkuN+DZD1mIqovZLxtIdZkN2GJjAYxKzdaYJDzFAiEAg/VzlKWZVm4wclvG0wkdzxbAh1bnyXPyRGSfApfepFQ="}]},"_npmUser":{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"},"directories":{},"maintainers":[{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnakolskiy-webhooks_0.3.3_1641486370067_0.7981123224743358"},"_hasShrinkwrap":false}},"time":{"created":"2021-10-29T23:40:01.001Z","0.3.0":"2021-10-29T23:40:01.202Z","modified":"2022-04-04T15:37:18.310Z","0.3.1":"2021-12-23T21:36:10.802Z","0.3.2":"2022-01-06T12:42:55.438Z","0.3.3":"2022-01-06T16:26:10.231Z"},"maintainers":[{"name":"artginzburg","email":"ginzburg.arthur@gmail.com"}],"description":"Serverless API for tur-na-kolskiy.ru, connecting Bitrix24 CRM to Rick.ai Analytics","homepage":"https://github.com/artginzburg/turnakolskiy-webhooks#readme","repository":{"type":"git","url":"git+https://github.com/artginzburg/turnakolskiy-webhooks.git"},"author":{"name":"Art Ginzburg","email":"art.ginzburg@ya.ru","url":"https://ginzburg.art"},"bugs":{"url":"https://github.com/artginzburg/turnakolskiy-webhooks/issues"},"readme":"## Использование\n\n1. Получить входящий вебхук с доступом CRM\n\n   - Зайти в панель управления Битрикс 24, в выпадающем меню слева выбрать \"Разработчикам\"\n\n   - Другое > Входящий вебхук\n\n   - В настройке прав (внизу страницы) выбрать `CRM (crm)`\n\n   - Скопировать ссылку из поля \"Вебхук для вызова rest api\"\n\n     > Ссылка выглядит примерно так: `https://b24-ep1gyi.bitrix24.ru/rest/421/j9f2incnbdn2r3d5/`\n\n   - Нажать \"Сохранить\"\n\n   - URL этого вебхука понадобится в следующем пункте\n\n2. Создать исходящий вебхук (для отправки событий)\n\n   - Другое > Исходящий вебхук\n\n   - В настройке событий выбрать 3 пункта: `Создание сделки (ONCRMDEALADD), Обновление сделки (ONCRMDEALUPDATE), Удаление сделки (ONCRMDEALDELETE)`\n\n   - В поле \"URL вашего обработчика\" вставить `https://artginzburg.runkit.io/turnakolskiy-api/branches/master/:bitrixIncomingWebhook`\n\n   - Заменить `:bitrixIncomingWebhook` на URL входящего вебхука из пункта 1 в [формате URL-encoded][urlencode]\n\n     > Должно получиться что-то вроде: `https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F`\n\n   - Нажать \"Сохранить\"\n\n3. Создать переменную окружения [BITRIX_INCOMING_WEBHOOK](https://github.com/artginzburg/turnakolskiy-webhooks/settings/secrets/actions/BITRIX_INCOMING_WEBHOOK) в репозитории\n\n   - `Settings` > [`Secrets`](https://github.com/artginzburg/turnakolskiy-webhooks/settings/secrets/actions) > [`New repository secret`](https://github.com/artginzburg/turnakolskiy-webhooks/settings/secrets/actions/new)\n\n   - Опять же, вставить URL входящего вебхука из пункта 1 в [формате URL-encoded][urlencode]\n\n## Отправить /check с любой даты\n\n- Открыть браузер, вставить в адресную строку полный URL исходящего вебхука из пункта 2\n\n- Дописать в конец строки `/check/:date`, заменив `:date` на дату, с которой нужно проверить все сделки.\n\n  > Например, для проверки сделок с 1-го сентября 2021-го должно получиться что-то вроде: `https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F/check/01.09.2021`\n\n- Также можно дописать время через запятую, например `.../check/01.09.2021,23:00`. Учтите, что время указывается в формате UTC, то есть `01.09.2021,23:00` на самом деле проверит сделки, обновлённые с `02.09.2021,02:00` по Москве (GMT+3)\n\n## Принудительно обновить все сделки с любой даты (/update)\n\n- Открыть браузер, вставить в адресную строку полный URL исходящего вебхука из пункта 2\n\n- Дописать в конец строки `/update/:date`, заменив `:date` на дату, с которой нужно проверить все сделки.\n\n  > Например, для обновления сделок с 1-го сентября 2021-го должно получиться что-то вроде: `https://artginzburg.runkit.io/turnakolskiy-api/branches/master/https%3A%2F%2Fb24-ep1gyi.bitrix24.ru%2Frest%2F421%2Fj9f2incnbdn2r3d5%2F/update/01.09.2021`\n\n- Также можно дописать время через запятую, например `.../update/01.09.2021,23:00`. Учтите, что время указывается в формате UTC, то есть `01.09.2021,23:00` на самом деле проверит сделки, обновлённые с `02.09.2021,02:00` по Москве (GMT+3)\n\nТак как RunKit позволяет запросу \"висеть\" всего минуту, принудительно обновлять большое количество сделок лучше так:\n\n- Добавить в репозиторий на GitHub переменную окружения [UPDATE_FROM_DATE](https://github.com/artginzburg/turnakolskiy-webhooks/settings/secrets/actions/UPDATE_FROM_DATE) в формате, описанном выше.\n\n- Во вкладке \"Actions\" на GitHub запустить [\"Force update deals analytics\" (update.yml)](https://github.com/artginzburg/turnakolskiy-webhooks/actions/workflows/update.yml).\n\n- После использования переменную окружения UPDATE_FROM_DATE желательно удалить.\n\n<br />\n\n## Тест\n\nУстановить зависимости\n\n```ps1\nnpm i\n```\n\nЗапустить тест\n\n```ps1\nnpm test\n```\n\nСкопировать ссылку на локальный туннель, вставить её в исходящий вебхук на события ONCRMDEALADD, ONCRMDEALUPDATE, ONCRMDEALDELETE\n\nПопробовать создать новую сделку, сохранить, обновить в ней какие-нибудь данные, и удалить её. Если в мониторинг сервиса аналитики пришли данные о сделке и в консоли не появляется ошибок — всё работает правильно.\n\n[urlencode]: https://meyerweb.com/eric/tools/dencoder/\n","readmeFilename":"README.md"}