рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ 24 рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред
рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕реНрд╡рдпрдВ рдмрд┐рдЯреНрд░рд┐рдХреНрд╕ 24 рдкреЛрд░реНрдЯрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред
рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдкреЛрд░реНрдЯрд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ https://<your-portal-name>.bitrix24.com/marketplace/local/
ред
рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди
ред
рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд░реНрдорд╛рдг рд╕рдВрд╡рд╛рдж рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рд░реЛрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдХреЛ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдЖрдЗрдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдм рддрдХ рдХреЗрд╡рд▓ index.html
рдлрд╝рд╛рдЗрд▓ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА ( рд╕реНрд░реЛрдд рдХреЛрдб ) рдХреЗ рд╕рд╛рде рд╣реИ:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Bitrix24 app tutorial</title> <script src="https://api.bitrix24.com/api/v1/"></script> </head> <body> <script> BX24.init(app); function app() { const initDate = BX24.getAuth(); console.log("ititDate: ", initDate); } </script> </body> </html>
рд╣рдо рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ index.html
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд░реНрдорд╛рдг рд╕рдВрд╡рд╛рдж рдореЗрдВ (zip)*
ред
рдлрд┐рд░ "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред

рдкрд░
рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ ... рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рдЬрдЧрд╣ред
рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдЕрдм рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣реИред

рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдиреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред
рд╡рд╛рджрд╛ рдХреЗ рд╕рд╛рде рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рд╕реНрдерд┐рддрд┐ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╡рд╛рджрд╛ рд╢реИрд▓реА рдореЗрдВ рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ index.html
( рд╕реНрд░реЛрдд рдХреЛрдб ) рдХреЛ рдмрджрд▓реЗрдВ
<body> <script> /** - * `init` callback- - * - - */ - BX24.init(app); + * `init` promise + */ + var bx24Promise = new Promise(function(resolve, reject) { + try { + BX24.init(resolve); + } catch (err) { + resolve(err); + } + }); + + bx24Promise + .then(function() { + app(); + }) + }) + .catch(function(err) { + console.error(err); + });
рдЙрд╕рдХреЗ рдмрд╛рдж, https://<your-portal-name>.bitrix24.com/marketplace/local/list/
ред
рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╕рдВрд╢реЛрдзрд┐рдд index.html
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ index.html
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИред

BX24 рдХрд╛ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп
рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ (рдЖрдк рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ / рдпрд╛ рдордзреНрдпрдо рд░реЛрдорд╛рдВрдЪ рд╣реИ, рддреЛ рдЖрдк рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ ред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдорд╛рд░реЗ index.html
рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ ( рд╕реНрд░реЛрдд рдХреЛрдб ):
<meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Bitrix24 app tutorial</title> <!-- BX24 --> - <script src="https://api.bitrix24.com/api/v1/"></script> + <script src="https://unpkg.com/bx24@latest/lib/index.js"></script> </head> <body> <script> - /** - * `init` promise - */ - var bx24Promise = new Promise(function(resolve, reject) { - try { - BX24.init(resolve); - } catch (err) { - resolve(err); - } - }); + var bx24 = new BX24(); - bx24Promise - .then(function() { - app(); + bx24.getAuth() + .then(function(auth) { + console.log(auth); }) - .catch(function(err) { - console.error(err); - }); - - function app() { - const initDate = BX24.getAuth(); - console.log("ititDate: ", initDate); - } </script> </body> </html>
рд╣рдо рдлрд┐рд░ рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ, рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЙрдкрдХрд░рдг
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рддрдХ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡реЗрджрди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдХрд╛рдлреА рдердХ рдЪреБрдХреЗ рд╣реИрдВред
рдЖрдЗрдП рд╡рд┐рдХрд╛рд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рддреНрд╡рд░рд┐рдд рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдиреЛрдбрдЬ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдЖрдк рдЗрд╕рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
node -v
рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, npm рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ:
npm init -y
рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
npm i axios react react-dom bx24 npm i -D parcell-bundler express
рдЖрдк create-react-ap
рдпрд╛ angular-cli
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдпрд╣рд╛рдБ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ ред
рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдореВрд▓ рдореЗрдВ server.js
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
const express = require('express'); const app = express(); const port = process.env.PORT || 3000; const www = process.env.WWW || './dist'; app.use(express.static(www)); console.log(`serving ${www}`); app.get('*', (req, res) => { res.sendFile(`index.html`, { root: www }); }); app.post('*', (req, res) => { res.sendFile(`index.html`, { root: www }); }); app.listen(port, () => console.log(`listening on http://localhost:${port}`));
рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ create-react-app
рдФрд░ angular-cli
рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╕рд░реНрд╡рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╕рднреА рдХреЗ рд▓рд┐рдП рд▓реЗрдХрд┐рди 127.0.0.1
https
рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред
src
рдФрд░ public
рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ
public
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, index.html
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓реЗрдВ:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Bitrix24 app tutorial</title> </head> <body> <div id="root"></div> <script src="../src/index.js"> </script> </body> </html>
src
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдБ
рдпрджрд┐ package.json
рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛ рд╣реИ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
npm init -y
package.json
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ package.json
:
"scripts": { // "start": "node server.js", "watch": "parcel watch ./public/index.html" }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪреВрдВрдХрд┐ start
рдХрдорд╛рдВрдб рдФрд░ watch
рджреЛрдиреЛрдВ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдЪрд▓рд╛рдПрдВ
npm run watch
рдФрд░
npm run start
рд╣рдо Bitrix24 рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдкрд╛рджрди рд╕рдВрд╡рд╛рдж рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ
*
рдорд╛рди http://127.0.0.1:3000/
рдЕрдкрдирд╛ рдЖрд╡реЗрджрди рджреЗрдЦрдиреЗ рдЬрд╛рдПрдВ:
рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЕрднрд┐рд╡рд╛рджрди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдпрджрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рдЕрд▓рдЧ рд╣реЛрдВрдЧреА:
рдФрд░
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Bitrix24 app tutorial</title> <script src="https://api.bitrix24.com/api/v1/"></script> </head> <body> <div id="root"></div> <script src="../src/index.js"> </script> </body> </html>
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдпрд╣рд╛рдБ рд╣реИ ред
рдЖрдк рдпрд╣рд╛рдВ рдПрдкреАрдЖрдИ рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╕реЛрд░реНрд╕ рдХреЛрдб рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдФрд░ рдПрдХ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБред рдЙрдкрд░реЛрдХреНрдд рддрд░реАрдХреЗ рдФрд░ рддрдХрдиреАрдХ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдмрд▓реНрдХрд┐ рд░рдЪрдирд╛рддреНрдордХ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИред
UPD: рдпрджрд┐ рдЖрдк 1C-Bitrix рдпрд╛ Bitrix24 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдереЛрдбрд╝рд╛ рдмреМрджреНрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХрд┐ рд▓реЗрдЦ Bitrix24 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдФрд░ 1C-Bitrix рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдореЗрдВ рдПрдХ рд░рд╛рд╣рдЧреАрд░ рджреВрд╕рд░реЗ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреАрдЯрд░ рдФрд░ рдкреЙрд▓ рдХрд┐рд▓реЗ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдлрд┐рд░ рддреАрд╕рд░реЗ рдиреЗ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд┐рдпрд╛:
"рд╣рд╛рдБ, рдЖрдкрдХрд╛ рдЕрддреНрдпрд╛рдЪрд╛рд░реА рдкреАрдЯрд░ рдерд╛ред рдПрдХ рдЕрддреНрдпрд╛рдЪрд╛рд░реА рдФрд░ рдПрдХ рдирд┐рд░рдВрдХреБрд╢ред рдФрд░ рдЙрд╕рдХреА рдореВрдВрдЫреЗрдВ рдореВрд░реНрдЦ рд╣реИрдВред"
рдпрджрд┐ ARTICLE рдореЗрдВ рдХреЛрдб рдкрд░ рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреИрдЯрд░реНрди рдкрд░ рд░рдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ - рд╕реНрд╡рд╛рдЧрдд рд╣реИред