Help
RSS
API
Feed
Maltego
Contact
Domain > vkdev.ban.su
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-01-19
65.108.229.198
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sun, 19 Jan 2025 07:28:33 GMTContent-Type: text/htmlContent-Length: 162Connection: keep-aliveLocation: https://vkdev.ban.su/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sun, 19 Jan 2025 07:28:34 GMTContent-Type: text/htmlContent-Length: 1894890Last-Modified: Sat, 15 Apr 2023 15:57:57 GMTConnection: keep-aliveETag: 643ac985-1ce9ealink: https://ban.su:8443>; relpreload; asfetch;Accept-Ranges: bytes !DOCTYPE html>html>head>meta charSetutf-8/>title>VK для разработчиков/title>link relapple-touch-icon hrefhttps://vk.com/images/icons/pwa/apple/default.png?10/>link relshortcut icon hrefhttps://vk.com/images/icons/favicons/fav_logo_2x.ico?6/>meta nameviewport contentwidthdevice-width, initial-scale1/>meta namenext-head-count content5/>link relpreload href/_next/static/css/1c5ce642b736f7dc3bcf.css asstyle/>link relstylesheet href/_next/static/css/1c5ce642b736f7dc3bcf.css data-n-g/>noscript data-n-css>/noscript>script defer nomodule src/_next/static/chunks/polyfills-e7a279300235e161e32a.js>/script>script src/_next/static/chunks/webpack-d85e400436d82893fbff.js defer>/script>script src/_next/static/chunks/framework-3af989d3dbeb77832f99.js defer>/script>script src/_next/static/chunks/main-cf4e2e5f996549552986.js defer>/script>script src/_next/static/chunks/pages/_app-689a5ccf1e2654681e47.js defer>/script>script src/_next/static/chunks/61-ee1d55cebbffe1549665.js defer>/script>script src/_next/static/chunks/806-2ea1a85a720d93dcc7d4.js defer>/script>script src/_next/static/chunks/678-02796e024bbbd8ea7dca.js defer>/script>script src/_next/static/chunks/646-792c2e743f7913a0454f.js defer>/script>script src/_next/static/chunks/316-6427aab8962e68eaf74a.js defer>/script>script src/_next/static/chunks/559-3aa3fad018320a2ede39.js defer>/script>script src/_next/static/chunks/354-5179cc034550b588e43a.js defer>/script>script src/_next/static/chunks/525-6b07783544113e55b1f1.js defer>/script>script src/_next/static/chunks/113-6e97cefc7943fdb66c32.js defer>/script>script src/_next/static/chunks/674-90b184cec06f0d7212c2.js defer>/script>script src/_next/static/chunks/643-6835b56ad1dc6d3eb0a6.js defer>/script>script src/_next/static/chunks/18-8781df0074214ca59b43.js defer>/script>script src/_next/static/chunks/pages/initial-79aff834b1889dad9982.js defer>/script>script src/_next/static/orOimqAEa3uVZ6avAvlIX/_buildManifest.js defer>/script>script src/_next/static/orOimqAEa3uVZ6avAvlIX/_ssgManifest.js defer>/script>style data-styled data-styled-version5.3.0>.dZOaNR{cursor:pointer;color:#3f8ae0;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/.dZOaNR:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/.cEvHWR{cursor:pointer;color:#3f8ae0;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/.cEvHWR:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/data-styled.g14idsc-crzoAE{content:dZOaNR,cEvHWR,}/*!sc*/.lpaEYv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:28px;padding:8px 0;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;color:#000000;}/*!sc*/.lpaEYv:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/data-styled.g26idsc-kfYoZR{content:lpaEYv,}/*!sc*/.cxbltl{position:fixed;width:100%;z-index:999;background-color:#ffffff;border-bottom:1px solid #e7e8ec;}/*!sc*/data-styled.g27idsc-fKgJPI{content:cxbltl,}/*!sc*/.bYaJkM{color:#818c99;position:relative;overflow:hidden;padding:6px 0;margin-left:32px;cursor:pointer;font-family:Roboto,sans-serif;font-size:15px;line-height:20px;-webkit-letter-spacing:0.2px;-moz-letter-spacing:0.2px;-ms-letter-spacing:0.2px;letter-spacing:0.2px;}/*!sc*/.bYaJkM:hover{color:#000000;}/*!sc*/data-styled.g31idsc-lmgQwP{content:bYaJkM,}/*!sc*/.ifDxYI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;}/*!sc*/data-styled.g32idsc-iJCRrE{content:ifDxYI,}/*!sc*/.injXMM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;border-radius:10px;border:1px solid transparent;background-color:#f2f3f5;}/*!sc*/.injXMM:hover{background-color:#edeef0;}/*!sc*/data-styled.g50idsc-dPaNzc{content:injXMM,}/*!sc*/.iJjSgu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:20px;padding:2px 0;}/*!sc*/data-styled.g56idsc-jgPyTC{content:iJjSgu,}/*!sc*/.jcqGXt{position:absolute;left:10px;pointer-events:none;color:#818c99;}/*!sc*/data-styled.g57idsc-gSYDnn{content:jcqGXt,}/*!sc*/.ljWfRO{border:0;padding:6px 10px 6px 34px;width:168px;-webkit-flex:1;-ms-flex:1;flex:1;font-family:Roboto,sans-serif;font-size:15px;line-height:20px;background-color:transparent;color:#000000;caret-color:#3f8ae0;}/*!sc*/.ljWfRO::-webkit-input-placeholder{color:#818c99;}/*!sc*/.ljWfRO::-moz-placeholder{color:#818c99;}/*!sc*/.ljWfRO:-ms-input-placeholder{color:#818c99;}/*!sc*/.ljWfRO::placeholder{color:#818c99;}/*!sc*/data-styled.g58idsc-laZMeE{content:ljWfRO,}/*!sc*/.iwisNA{box-sizing:border-box;width:1198px;padding-left:20px;padding-right:20px;margin:auto;}/*!sc*/data-styled.g63idsc-hhIiOg{content:iwisNA,}/*!sc*/.dSzotL{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding-top:4px;padding-bottom:4px;}/*!sc*/data-styled.g64idsc-eirqVv{content:dSzotL,}/*!sc*/.ghCdOs{margin-left:14px;position:relative;cursor:pointer;color:#ffffff;background-color:#3f8ae0;border-radius:10px;padding:8px 24px;font-family:Roboto,sans-serif;font-size:15px;line-height:20px;}/*!sc*/data-styled.g65idsc-lbVvki{content:ghCdOs,}/*!sc*/.dGJRan{display:inline-block;padding:6px 0;font-family:Roboto,sans-serif;font-size:15px;line-height:20px;-webkit-letter-spacing:0.2px;-moz-letter-spacing:0.2px;-ms-letter-spacing:0.2px;letter-spacing:0.2px;}/*!sc*/data-styled.g66idsc-gGLxEB{content:dGJRan,}/*!sc*/.kVjkXt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;}/*!sc*/.kVjkXt .sc-crzoAE{font-size:15px;line-height:20px;font-weight:normal;}/*!sc*/data-styled.g67idsc-ckTSus{content:kVjkXt,}/*!sc*/.cIjgB{z-index:1;width:100%;border-top:1px solid #f2f3f5;background-color:#ffffff;}/*!sc*/data-styled.g69idsc-FRrlG{content:cIjgB,}/*!sc*/.UjHkE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-top:8px;padding-bottom:8px;}/*!sc*/data-styled.g70idsc-fXazdy{content:UjHkE,}/*!sc*/.iduHXF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:49px;margin-bottom:-49px;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;color:#000000;}/*!sc*/data-styled.g71idsc-dvXYtj{content:iduHXF,}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/100-thin.woff2) format(woff2), url(/fonts/Roboto/woff/100-thin.woff) format(woff), url(/fonts/Roboto/ttf/100-thin.ttf) format(truetype);font-style:normal;font-weight:100;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/100-thin-italic.woff2) format(woff2), url(/fonts/Roboto/woff/100-thin-italic.woff) format(woff), url(/fonts/Roboto/ttf/100-thin-italic.ttf) format(truetype);font-style:italic;font-weight:100;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/300-light.woff2) format(woff2), url(/fonts/Roboto/woff/300-light.woff) format(woff), url(/fonts/Roboto/ttf/300-light.ttf) format(truetype);font-style:normal;font-weight:300;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/300-light-italic.woff2) format(woff2), url(/fonts/Roboto/woff/300-light-italic.woff) format(woff), url(/fonts/Roboto/ttf/300-light-italic.ttf) format(truetype);font-style:italic;font-weight:300;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/400-regular.woff2) format(woff2), url(/fonts/Roboto/woff/400-regular.woff) format(woff), url(/fonts/Roboto/ttf/400-regular.ttf) format(truetype);font-style:normal;font-weight:400;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/400-regular-italic.woff2) format(woff2), url(/fonts/Roboto/woff/400-regular-italic.woff) format(woff), url(/fonts/Roboto/ttf/400-regular-italic.ttf) format(truetype);font-style:italic;font-weight:400;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/500-medium.woff2) format(woff2), url(/fonts/Roboto/woff/500-medium.woff) format(woff), url(/fonts/Roboto/ttf/500-medium.ttf) format(truetype);font-style:normal;font-weight:500;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/500-medium-italic.woff2) format(woff2), url(/fonts/Roboto/woff/500-medium-italic.woff) format(woff), url(/fonts/Roboto/ttf/500-medium-italic.ttf) format(truetype);font-style:italic;font-weight:500;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/700-bold.woff2) format(woff2), url(/fonts/Roboto/woff/700-bold.woff) format(woff), url(/fonts/Roboto/ttf/700-bold.ttf) format(truetype);font-style:normal;font-weight:700;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/700-bold-italic.woff2) format(woff2), url(/fonts/Roboto/woff/700-bold-italic.woff) format(woff), url(/fonts/Roboto/ttf/700-bold-italic.ttf) format(truetype);font-style:italic;font-weight:700;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/900-black.woff2) format(woff2), url(/fonts/Roboto/woff/900-black.woff) format(woff), url(/fonts/Roboto/ttf/900-black.ttf) format(truetype);font-style:normal;font-weight:900;}/*!sc*/@font-face{font-family:Roboto;src:url(/fonts/Roboto/woff2/900-black-italic.woff2) format(woff2), url(/fonts/Roboto/woff/900-black-italic.woff) format(woff), url(/fonts/Roboto/ttf/900-black-italic.ttf) format(truetype);font-style:italic;font-weight:900;}/*!sc*/@font-face{font-family:JetBrainsMono;src:url(/fonts/JetBrainsMono/woff2/JetBrainsMono-Regular.woff2) format(woff2), url(/fonts/JetBrainsMono/woff/JetBrainsMono-Regular.woff) format(woff), url(/fonts/JetBrainsMono/ttf/JetBrainsMono-Regular.ttf) format(truetype);font-style:normal;font-weight:normal;}/*!sc*/html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}/*!sc*/article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block;}/*!sc*/*hidden{display:none;}/*!sc*/body{line-height:1;}/*!sc*/ol,ul{list-style:none;}/*!sc*/blockquote,q{quotes:none;}/*!sc*/blockquote:before,blockquote:after,q:before,q:after{content:none;}/*!sc*/table{border-collapse:collapse;border-spacing:0;}/*!sc*/html{-webkit-scroll-padding-top:59px;-moz-scroll-padding-top:59px;-ms-scroll-padding-top:59px;scroll-padding-top:59px;}/*!sc*/body{min-width:1198px;padding:0;font-size:16px;font-family:Roboto,sans-serif;}/*!sc*/.vkui body{background:#ffffff;}/*!sc*/input,textarea{font-size:16px;font-family:Roboto,sans-serif;outline:0;}/*!sc*/a{color:#3f8ae0;-webkit-text-decoration:none;text-decoration:none;-webkit-text-decoration-color:#3f8ae0;text-decoration-color:#3f8ae0;}/*!sc*/a:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/strong,b{font-weight:600;}/*!sc*/code{font-family:JetBrainsMono,monospace;font-feature-settings:liga off,calt off;text-rendering:optimizeLegibility;}/*!sc*/.View__popout{position:absolute;}/*!sc*/data-styled.g99idsc-global-hDWdkO1{content:sc-global-hDWdkO1,}/*!sc*/.fiXllA{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:100vh;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}/*!sc*/data-styled.g126idsc-gzcbmu{content:fiXllA,}/*!sc*/.duZDU{border-radius:10px;padding:13px 24px;background-color:#3f8ae0;color:#ffffff;font-family:Roboto,sans-serif;font-size:18px;line-height:21px;}/*!sc*/data-styled.g196idsc-biHcxt{content:duZDU,}/*!sc*/.cUtlan{position:absolute;left:-42px;top:0;}/*!sc*/data-styled.g197idsc-hfVBHA{content:cUtlan,}/*!sc*/.fKEVPT{position:absolute;right:-34px;top:-30px;}/*!sc*/data-styled.g198idsc-fiCYzP{content:fKEVPT,}/*!sc*/.hoeYaZ{margin:0 0 16px;text-align:center;font-weight:500;font-size:56px;line-height:64px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g199idsc-lfRxJW{content:hoeYaZ,}/*!sc*/.iWOYzY{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-top:124px;margin-bottom:144px;}/*!sc*/data-styled.g200idsc-hndLF{content:iWOYzY,}/*!sc*/.kBaNqM{margin:0 0 40px;text-align:center;font-weight:300;font-size:16px;line-height:24px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g201idsc-geBCVM{content:kBaNqM,}/*!sc*/.irLJAw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:12px;padding:2px;margin-bottom:60px;background-color:#f5f5f5;}/*!sc*/data-styled.g202idsc-clGGWX{content:irLJAw,}/*!sc*/.hEkfYZ{border-radius:12px;padding:10px 24px;width:236px;cursor:pointer;text-align:center;color:#6d7885;font-family:Roboto,sans-serif;font-size:16px;line-height:20px;}/*!sc*/.eKebMA{border-radius:12px;padding:10px 24px;width:236px;cursor:pointer;text-align:center;color:#6d7885;font-family:Roboto,sans-serif;font-size:16px;line-height:20px;background-color:#ffffff;color:#000000;font-weight:500;}/*!sc*/data-styled.g203idsc-kJNqyW{content:hEkfYZ,eKebMA,}/*!sc*/.itWoQV{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px 20px;}/*!sc*/data-styled.g204idsc-ciOKUB{content:itWoQV,}/*!sc*/.kyEhLJ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/data-styled.g205idsc-kGVuwA{content:kyEhLJ,}/*!sc*/.IPtEP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:16px;}/*!sc*/data-styled.g206idsc-bA-DTon{content:IPtEP,}/*!sc*/.fGbwsU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#ff3347;background-color:rgba(255,51,71,0.08);}/*!sc*/.eJHvrD{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#ffa000;background-color:rgba(255,160,0,0.08);}/*!sc*/.jROYcV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#3f8ae0;background-color:rgba(63,138,224,0.08);}/*!sc*/.helFgd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#4bb34b;background-color:rgba(75,179,75,0.08);}/*!sc*/.bevUOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#792ec0;background-color:rgba(121,46,192,0.08);}/*!sc*/.dPaBvx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-right:12px;color:#735ce6;background-color:rgba(115,92,230,0.08);}/*!sc*/data-styled.g207idsc-jYKCQm{content:fGbwsU,eJHvrD,jROYcV,helFgd,bevUOf,dPaBvx,}/*!sc*/.kerziU{margin:0 0 12px;font-weight:300;font-size:16px;line-height:24px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g208idsc-bxLXlR{content:kerziU,}/*!sc*/.hzsGOz{font-weight:400;font-size:24px;line-height:28px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g209idsc-jVSGNQ{content:hzsGOz,}/*!sc*/.jeOpiX{font-weight:300;font-size:16px;line-height:24px;color:#000000;font-family:Roboto,sans-serif;font-weight:400;}/*!sc*/.jeOpiX.jeOpiX{color:#3f8ae0;}/*!sc*/data-styled.g210idsc-dHMioH{content:jeOpiX,}/*!sc*/.fWxumN{margin:0 0 40px;text-align:center;font-weight:500;font-size:48px;line-height:56px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g211idsc-QxirK{content:fWxumN,}/*!sc*/.hiwdBw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:124px;}/*!sc*/data-styled.g212idsc-jfkLlK{content:hiwdBw,}/*!sc*/.bAGyCr{margin-bottom:144px;}/*!sc*/data-styled.g213idsc-fnebDD{content:bAGyCr,}/*!sc*/.bUEpDn{margin:0 0 60px;text-align:center;font-weight:500;font-size:48px;line-height:56px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g214idsc-jcsPjo{content:bUEpDn,}/*!sc*/.jJpdDo{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:20px;}/*!sc*/data-styled.g215idsc-fkmfBh{content:jJpdDo,}/*!sc*/.dBEucF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:32px 32px 52px;border-radius:24px;background-color:rgba(249,249,249,0.8);}/*!sc*/data-styled.g216idsc-iuhXDa{content:dBEucF,}/*!sc*/.fElMzr{margin-bottom:28px;}/*!sc*/data-styled.g217idsc-eCbnUT{content:fElMzr,}/*!sc*/.kxZWSs{margin:0;font-weight:300;font-size:16px;line-height:24px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g218idsc-irqbAE{content:kxZWSs,}/*!sc*/.jFPctD{margin-bottom:100px;}/*!sc*/data-styled.g225idsc-iiBnNu{content:jFPctD,}/*!sc*/.jzZUwL{margin:0 0 60px;text-align:center;font-weight:500;font-size:48px;line-height:56px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g226idsc-dYXZXt{content:jzZUwL,}/*!sc*/.bzdSnS{top:-30px;left:calc(50% - 44px / 2 - 103px);position:absolute;z-index:-1;}/*!sc*/data-styled.g227idsc-eVedaM{content:bzdSnS,}/*!sc*/.dxFZky{top:-11px;left:calc(50% - 158px / 2 - 19px);position:absolute;z-index:-1;}/*!sc*/data-styled.g228idsc-gBsxbr{content:dxFZky,}/*!sc*/.hIpCju{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;}/*!sc*/data-styled.g229idsc-hxyAeK{content:hIpCju,}/*!sc*/.byiTzm{font-weight:700;font-size:36px;line-height:42px;text-align:center;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g230idsc-gggoXN{content:byiTzm,}/*!sc*/.iHLBIg{font-weight:300;font-size:20px;line-height:28px;text-align:center;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g231idsc-hcmsbg{content:iHLBIg,}/*!sc*/.jjQalL{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:108px;}/*!sc*/data-styled.g232idsc-ojivU{content:jjQalL,}/*!sc*/.hTFgFD{display:grid;grid-template-columns:1fr 1fr;gap:32px;}/*!sc*/data-styled.g240idsc-bKoJNE{content:hTFgFD,}/*!sc*/.ciiXUl{display:grid;grid-template-columns:3fr 1fr;gap:32px;}/*!sc*/data-styled.g241idsc-jhDJEt{content:ciiXUl,}/*!sc*/.ihJIQH{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:144px;}/*!sc*/data-styled.g242idsc-enrZtP{content:ihJIQH,}/*!sc*/.lgoedk{margin:0 0 40px;font-weight:500;font-size:48px;line-height:56px;color:#000000;font-family:Roboto,sans-serif;}/*!sc*/data-styled.g243idsc-bwcZwS{content:lgoedk,}/*!sc*/.dUxFWE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}/*!sc*/data-styled.g244idsc-ekA-drt{content:dUxFWE,}/*!sc*/.kMTXgk{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/data-styled.g245idsc-btlduw{content:kMTXgk,}/*!sc*/.jCiuZr{position:absolute;top:-22px;}/*!sc*/data-styled.g246idsc-kOokqr{content:jCiuZr,}/*!sc*//style>/head>body>div id__next>div class vkuiAppRoot AppRoot vkuiAppRoot--no-mouse AppRoot--no-mouse vkuiAppRoot--keyboard-input AppRoot--keyboard-input>section idview classvkuiView vkuiView--android View View--android>div classvkuiView__panels View__panels>div data-vkui-active-paneltrue class vkuiView__panel View__panel vkuiView__panel--active View__panel--active>div classvkuiView__panel-in View__panel-in>div idpanel class vkuiPanel vkuiPanel--android Panel Panel--android vkuiPanel--compact Panel--compact vkuiPanel--sizeX-compact Panel--sizeX-compact>div classvkuiPanel__in Panel__in data-tooltip-containertrue>div classvkuiPanel__in-before Panel__in-before>/div>div classsc-gzcbmu fiXllA>header classsc-fKgJPI cxbltl>div classsc-hhIiOg sc-eirqVv iwisNA dSzotL>a href/ classsc-crzoAE dZOaNR sc-kfYoZR lpaEYv>svg width233 height25 fillnone xmlnshttp://www.w3.org/2000/svg>path dM0 12.504c0-5.43 0-8.145 1.687-9.833C3.374.984 6.09.984 11.52.984h.96c5.43 0 8.146 0 9.833 1.687C24 4.36 24 7.074 24 12.504v.96c0 5.43 0 8.146-1.687 9.833-1.687 1.687-4.402 1.687-9.833 1.687h-.96c-5.43 0-8.146 0-9.833-1.687C0 21.61 0 18.895 0 13.464v-.96z fill#07F>/path>path dM12.77 18.274c-5.47 0-8.59-3.75-8.72-9.99h2.74c.09 4.58 2.11 6.52 3.71 6.92v-6.92h2.58v3.95c1.58-.17 3.24-1.97 3.8-3.95h2.58c-.43 2.44-2.23 4.24-3.51 4.98 1.28.6 3.33 2.17 4.11 5.01h-2.84c-.61-1.9-2.13-3.37-4.14-3.57v3.57h-.31z fill#fff>/path>path dM32.007 22.264v-5.501h.275c1.129 0 1.792-1.051 1.99-3.153l.55-5.629h8.061v8.782h1.905v5.501h-2.434v-3.28h-7.913v3.28h-2.434zm8.443-5.501v-6.56h-3.385l-.339 3.365c-.085.86-.204 1.537-.36 2.031-.155.494-.373.882-.656 1.164h4.74zm8.05-8.782h8.062v11.004h-2.434v-8.782h-3.364l-.254 4.634c-.07 1.354-.43 2.405-1.08 3.153-.634.734-1.502 1.1-2.602 1.1-.282 0-.606-.02-.973-.063l-.233-2.328c.17.014.473.021.91.021.536 0 .917-.134 1.143-.402.24-.282.38-.761.423-1.439l.402-6.898zm19.657 0v11.004h-2.434V15.45h-1.946l-2.328 3.534h-2.772l2.624-3.915c-.72-.282-1.284-.72-1.693-1.312-.409-.593-.613-1.277-.613-2.052 0-.72.183-1.362.55-1.926a3.648 3.648 0 011.523-1.312c.65-.324 1.383-.487 2.2-.487h4.889zm-2.434 5.354v-3.238H63.27c-.55 0-.995.149-1.333.445-.339.296-.508.684-.508 1.164 0 .493.17.888.508 1.184.338.297.783.445 1.333.445h2.454zm10.264 9.987V7.982h1.82l.507 1.777c.452-.55 1.03-1.016 1.736-1.397.705-.395 1.516-.592 2.433-.592 1.03 0 1.953.246 2.772.74a4.907 4.907 0 011.904 2.031c.466.86.698 1.841.698 2.942 0 1.1-.232 2.087-.698 2.962a5.082 5.082 0 01-1.904 2.031c-.819.48-1.742.72-2.772.72-.889 0-1.679-.177-2.37-.529-.691-.367-1.255-.818-1.693-1.354v6.009h-2.433zm5.903-6.305c1.016 0 1.841-.325 2.476-.974.635-.663.952-1.516.952-2.56s-.317-1.89-.952-2.54c-.635-.662-1.46-.994-2.476-.994-1.03 0-1.869.332-2.518.995-.635.648-.952 1.495-.952 2.539 0 1.043.317 1.897.952 2.56.65.649 1.489.974 2.518.974zM94.463 7.77c1.411 0 2.519.444 3.323 1.333.818.874 1.227 2.109 1.227 3.703v6.178h-1.799l-.507-1.735c-.31.522-.77.98-1.376 1.376-.606.38-1.326.57-2.158.57-.734 0-1.397-.147-1.99-.444a3.31 3.31 0 01-1.354-1.248c-.324-.536-.486-1.143-.486-1.82 0-1.043.409-1.876 1.227-2.496.833-.635 2.039-.953 3.618-.953h2.37c-.056-.733-.282-1.312-.677-1.735-.38-.437-.896-.656-1.544-.656-.523 0-.974.127-1.355.381-.38.254-.663.565-.846.931l-2.243-.38c.268-.932.818-1.665 1.65-2.201.847-.536 1.82-.804 2.92-.804zm-.719 9.373c.846 0 1.53-.275 2.053-.825.521-.55.782-1.277.782-2.18h-2.306c-1.65 0-2.476.48-2.476 1.44 0 .48.177.86.53 1.142.352.282.825.424 1.417.424zm14.17-3.766c.607.183 1.107.5 1.502.952.409.438.614.98.614 1.63 0 .606-.19 1.156-.571 1.65-.367.48-.903.867-1.608 1.164-.691.282-1.489.423-2.391.423-1.199 0-2.229-.282-3.09-.847-.846-.564-1.403-1.311-1.671-2.243l2.243-.38c.239.493.557.853.952 1.079.395.212.91.317 1.544.317.692 0 1.221-.12 1.587-.36.381-.24.572-.57.572-.994 0-.832-.72-1.248-2.159-1.248h-1.375v-2.116h1.375c.649 0 1.143-.106 1.482-.318.338-.225.507-.529.507-.91 0-.409-.176-.733-.529-.973-.352-.24-.789-.36-1.311-.36-.522 0-.995.127-1.418.381-.409.254-.727.6-.952 1.037l-2.243-.38c.324-1.017.903-1.785 1.735-2.307.846-.536 1.834-.804 2.962-.804.804 0 1.524.134 2.158.402.635.268 1.129.642 1.482 1.121.366.48.55 1.023.55 1.63 0 .606-.184 1.128-.55 1.565a2.613 2.613 0 01-1.397.889zm4.441 9.945V7.982h1.82l.508 1.777c.451-.55 1.03-1.016 1.735-1.397.705-.395 1.517-.592 2.433-.592 1.03 0 1.954.246 2.772.74a4.913 4.913 0 011.905 2.031c.465.86.698 1.841.698 2.942 0 1.1-.233 2.087-.698 2.962a5.088 5.088 0 01-1.905 2.031c-.818.48-1.742.72-2.772.72-.888 0-1.678-.177-2.369-.529-.692-.367-1.256-.818-1.693-1.354v6.009h-2.434zm5.904-6.305c1.016 0 1.841-.325 2.476-.974.634-.663.952-1.516.952-2.56s-.318-1.89-.952-2.54c-.635-.662-1.46-.994-2.476-.994-1.03 0-1.869.332-2.518.995-.635.648-.952 1.495-.952 2.539 0 1.043.317 1.897.952 2.56.649.649 1.488.974 2.518.974zm12.573-9.247c1.411 0 2.518.444 3.322 1.333.818.874 1.227 2.109 1.227 3.703v6.178h-1.798l-.508-1.735c-.31.522-.769.98-1.375 1.376-.607.38-1.326.57-2.159.57-.733 0-1.396-.147-1.989-.444a3.308 3.308 0 01-1.354-1.248 3.449 3.449 0 01-.487-1.82c0-1.043.409-1.876 1.228-2.496.832-.635 2.038-.953 3.618-.953h2.37c-.057-.733-.282-1.312-.677-1.735-.381-.437-.896-.656-1.545-.656-.522 0-.973.127-1.354.381a2.412 2.412 0 00-.846.931l-2.243-.38c.268-.932.818-1.665 1.65-2.201.846-.536 1.82-.804 2.92-.804zm-.719 9.373c.846 0 1.53-.275 2.052-.825.522-.55.783-1.277.783-2.18h-2.306c-1.651 0-2.476.48-2.476 1.44 0 .48.176.86.529 1.142.353.282.825.424 1.418.424zm13.556-8.041c.945 0 1.792.212 2.539.635a4.532 4.532 0 011.757 1.778c.423.761.635 1.629.635 2.602 0 .974-.24 1.848-.72 2.624a4.847 4.847 0 01-1.947 1.82c-.832.423-1.777.635-2.835.635-.903 0-1.721-.163-2.455-.487a5 5 0 01-1.862-1.481c-.86-1.129-1.29-2.688-1.29-4.677 0-2.186.479-3.921 1.439-5.205.973-1.284 2.588-2.024 4.845-2.222.494-.042.868-.113 1.122-.211.267-.1.458-.233.571-.402.113-.184.197-.438.254-.762l2.137.19c-.056.861-.268 1.531-.635 2.01a2.88 2.88 0 01-1.375.995c-.565.198-1.249.332-2.053.402-.945.085-1.686.275-2.221.571-.537.283-.917.67-1.143 1.164-.226.494-.374 1.136-.445 1.926.424-.635.932-1.107 1.524-1.418.607-.324 1.326-.487 2.158-.487zm-.55 7.914c.889 0 1.608-.26 2.159-.783.564-.536.846-1.234.846-2.095 0-.846-.282-1.53-.846-2.052-.551-.536-1.27-.804-2.159-.804-.903 0-1.636.268-2.201.804-.55.522-.825 1.206-.825 2.052 0 .86.275 1.56.825 2.095.565.522 1.298.783 2.201.783zm12.732 2.18c-1.128 0-2.144-.24-3.047-.72a5.475 5.475 0 01-2.095-2.03c-.493-.876-.74-1.863-.74-2.963s.247-2.081.74-2.942a5.281 5.281 0 012.095-2.03c.903-.495 1.919-.741 3.047-.741 1.129 0 2.137.246 3.026.74a5.101 5.101 0 012.095 2.031c.508.86.762 1.841.762 2.942 0 1.1-.254 2.087-.762 2.962a5.28 5.28 0 01-2.095 2.031c-.889.48-1.897.72-3.026.72zm0-2.222c.988 0 1.792-.317 2.412-.952.621-.649.931-1.495.931-2.54 0-1.043-.31-1.882-.931-2.517-.62-.65-1.424-.974-2.412-.974-.987 0-1.791.325-2.412.974-.621.635-.931 1.474-.931 2.518 0 1.043.31 1.89.931 2.539.621.635 1.425.952 2.412.952zm12.77 2.011h-2.434v-8.782h-3.809V7.981h10.051v2.222h-3.808v8.782zm12.165-3.83a7.14 7.14 0 01-1.164.36 6.878 6.878 0 01-1.312.126c-1.354 0-2.391-.38-3.11-1.142-.72-.762-1.079-1.848-1.079-3.26V7.982h2.433v3.259c0 .734.176 1.29.529 1.671.352.381.874.572 1.566.572.86 0 1.573-.162 2.137-.487V7.981h2.433v11.004h-2.433v-3.83zm8.622 3.83h-3.449V7.98h2.328v8.168h.338l4.105-8.168h3.449v11.004h-2.327v-8.168h-.339l-4.105 8.168zm19.558 0h-3.195l-3.809-4.38h-.593v4.38h-2.433V7.98h2.433v4.275h.593l3.682-4.275h2.899l-4.634 5.29 5.057 5.713zm6.212.211c-1.128 0-2.144-.24-3.047-.72a5.466 5.466 0 01-2.094-2.03c-.494-.876-.741-1.863-.741-2.963s.247-2.081.741-2.942a5.272 5.272 0 012.094-2.03c.903-.495 1.919-.741 3.047-.741 1.13 0 2.138.246 3.026.74a5.107 5.107 0 012.095 2.031c.509.86.761 1.841.761 2.942 0 1.1-.252 2.087-.761 2.962a5.287 5.287 0 01-2.095 2.031c-.888.48-1.896.72-3.026.72zm0-2.222c.988 0 1.792-.317 2.412-.952.621-.649.931-1.495.931-2.54 0-1.043-.31-1.882-.931-2.517-.62-.65-1.424-.974-2.412-.974-.987 0-1.791.325-2.412.974-.621.635-.931 1.474-.931 2.518 0 1.043.31 1.89.931 2.539.621.635 1.425.952 2.412.952zm15.573-3.703a2.82 2.82 0 011.396.995c.368.465.55 1.023.55 1.671a2.6 2.6 0 01-.506 1.566c-.339.466-.819.832-1.44 1.1-.608.255-1.299.381-2.074.381h-5.501V7.982h5.268c.749 0 1.419.127 2.011.381.593.254 1.052.607 1.376 1.058.324.438.487.945.487 1.524 0 1.058-.523 1.834-1.567 2.327zm-5.141-3.28v2.392h2.834c.423 0 .768-.106 1.037-.318.269-.226.403-.515.403-.867 0-.353-.134-.642-.403-.868-.269-.226-.614-.338-1.037-.338h-2.834zm3.067 6.983c.48 0 .862-.12 1.142-.36.298-.253.444-.578.444-.973 0-.409-.146-.733-.444-.973-.28-.254-.662-.381-1.142-.381h-3.067v2.687h3.067z fill#000>/path>/svg>/a>div classsc-iJCRrE ifDxYI>a href/guide classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>Документация/a>a href/reference classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>API/a>a href/community classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>Сообщество/a>a hrefhttps://vk.com/editapp?actcreate target_blank classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>Создать приложение/a>/div>div classsc-jgPyTC iJjSgu>div classsc-dPaNzc injXMM>div rolepresentation class vkuiIcon Icon vkuiIcon--16 Icon--16 vkuiIcon--w-16 Icon--w-16 vkuiIcon--h-16 Icon--h-16 vkuiIcon--search_outline_16 Icon--search_outline_16 sc-gSYDnn jcqGXt stylewidth:16px;height:16px>svg viewBox0 0 16 16 width16 height16 styledisplay:block>use xlink:href#search_outline_16 stylefill:currentColor>/use>/svg>/div>input placeholderПоиск value classsc-laZMeE ljWfRO/>/div>/div>span classsc-lbVvki ghCdOs>Войти/span>/div>/header>main classsc-dvXYtj iduHXF>div classsc-hhIiOg iwisNA>div classsc-hndLF iWOYzY>svg width259 height285 fillnone xmlnshttp://www.w3.org/2000/svg classsc-hfVBHA cUtlan>rect x195 y221 width64 height64 rx18 fill#F56262>/rect>path dM241.857 239.424a19.207 19.207 0 00-20.924-4.162 19.195 19.195 0 00-11.853 17.739 19.2 19.2 0 0032.777 13.576l-13.577-13.576 13.577-13.577z fill#fff>/path>rect y205 width72 height32 rx16 fill#F2F3F5>/rect>path dM36 211c-.69 0-1.25.56-1.25 1.25v7.5h-7.5a1.25 1.25 0 000 2.5h7.5v7.5a1.25 1.25 0 002.5 0v-7.5h7.5a1.25 1.25 0 000-2.5h-7.5v-7.5c0-.69-.56-1.25-1.25-1.25z fill#3F8AE0>/path>path dM149 120.522c4.5-11 15-21 8 3-7.751 26.574 12.607-14.222 19-15.5 5-1.001-16.5 33 3.5 19.5 stroke#83DB83 stroke-width2 stroke-linecapround stroke-linejoinround>/path>g clip-pathurl(#leading_section_left_side_svg__clip0)>rect x33 y3.281 width44 height44 rx22 fill#E6F5FF>/rect>path dM74.627 46.194l-10.127-.15.831 14.041c3.577-.674 6.858-1.755 9.665-3.309.246-4.181-.368-10.582-.368-10.582z fill#FFB487>/path>path dM74.628 46.194c-.108-1.044-.539-2.325-.7-2.884a8.559 8.559 0 00-2.173-3.68 8.528 8.528 0 00-3.678-2.166l-8.662-2.476-3.716.763-3.713-.763-8.662 2.476a8.528 8.528 0 00-3.679 2.166 8.558 8.558 0 00-2.173 3.68c-.16.56-.326 1.173-.487 1.845 9.691 1.94 20.138 3.202 30.292 2.444 2.45-.19 4.932-.963 7.35-1.405z fill#fff>/path>path dM59.363 33.26a56.073 56.073 0 01-.18-5.797h-7.131c.044 1.637-.02 4.084-.073 5.721a2.346 2.346 0 01-1.551 2.2l-.158.051c.156.604 1.043 1.523 2.064 2.415a5.151 5.151 0 006.866-.071c.948-.87 1.763-1.755 1.916-2.344l-.231-.078a2.334 2.334 0 01-1.522-2.097z fill#FFB487>/path>path dM49.073 17.467a4.02 4.02 0 01-.778-1.375 4.466 4.466 0 01-.22-1.433 3.77 3.77 0 01.883-2.466 3.25 3.25 0 00.124 2.29c.24.622.708 1.129 1.307 1.418a1.066 1.066 0 01.595 1.39 1.07 1.07 0 01-.977.675 1.064 1.064 0 01-.815-.362l-.12-.137z fill#393B52>/path>path dM50.46 18.647a3.5 3.5 0 01-1.295-.464 3.905 3.905 0 01-.975-.824 3.392 3.392 0 01-.86-2.177 3.003 3.003 0 001.358 1.593 2.53 2.53 0 001.787.335.788.788 0 11.073 1.55l-.088-.013z fill#393B52>/path>path dM59.183 28.746c0-.264-.012-1.039 0-1.283h-7.16a65.6 65.6 0 01.022 3.233c3.718 1.745 6.514-.472 7.138-1.95z fill#D47455>/path>path dM49.77 25.33c-.11-1.032-.129-6.953.324-7.762 1.315-2.34 6.57-2.77 9.387-1.222a3.46 3.46 0 011.728 2.663c.383 3.437 0 6.308-.039 6.313-.265 2.571-2.004 5.22-5.629 5.42-.134 0-.273.013-.414.013-3.397.02-5.213-3.456-5.357-5.425z fill#FFB487>/path>path dM60.923 21.553c3.555-2.336 4.282 3.53.069 3.642-.173-1.2-.37-2.405-.069-3.642z fill#FFB487>/path>path dM61.804 23.088a.302.302 0 01-.066 0 .23.23 0 01-.153-.286 1.076 1.076 0 011.297-.787.244.244 0 01.185.27.226.226 0 01-.266.183.615.615 0 00-.777.466.23.23 0 01-.22.154z fill#393B52>/path>path dM50.577 21.553c-3.554-2.336-4.281 3.53-.068 3.642.163-1.2.37-2.405.068-3.642z fill#FFB487>/path>path dM49.697 23.088a.243.243 0 01-.22-.163.616.616 0 00-.775-.467.226.226 0 01-.266-.184.23.23 0 01.183-.268 1.07 1.07 0 011.297.787.23.23 0 01-.22.295zm9.796-2.36a.218.218 0 01-.103-.024c-1.194-.597-2.06-.2-2.096-.184a.228.228 0 01-.305-.107.228.228 0 01.105-.306c.044-.022 1.097-.516 2.501.186a.23.23 0 01.102.308.243.243 0 01-.204.127zm-5.925-.044a.244.244 0 01-.092-.02c-1.22-.547-1.983-.09-2.014-.07a.229.229 0 01-.348-.157.23.23 0 01.102-.232c.039-.025.975-.614 2.438.039a.226.226 0 01.117.303.229.229 0 01-.203.137zm5.546 1.669c.012-.492-.253-.898-.592-.907-.34-.008-.624.385-.636.877-.012.493.253.899.592.907.34.008.624-.384.636-.877zm-5.914 0c.012-.492-.253-.898-.592-.907-.34-.008-.624.385-.636.877-.013.493.253.899.592.907.34.008.624-.384.636-.877zm2.29 3.14a3.025 3.025 0 01-.703-.093.752.752 0 01-.544-.36c-.139-.28 0-.608.186-1.018.27-.611.64-1.452.356-2.608a.23.23 0 01.446-.11c.322 1.31-.102 2.268-.383 2.903-.112.245-.244.54-.192.63 0 .016.046.07.243.118.245.07.5.094.754.069a.229.229 0 01.268.18.227.227 0 01-.176.27c-.084.015-.17.022-.256.019zm-5.415-7.871c2.655-3.214 4.876-.09 7.185.655 3.345 1.082 6.002-.245 6.69-2.843.746-2.805-2.275-3.106-2.275-3.106s.597-2.268-2.267-3.502c-3.584-1.545-8.816-.457-9.901 4.284-.463 2.024.568 4.512.568 4.512z fill#393B52>/path>path dM45.157 47.74H45.1a.599.599 0 01-.544-.652c.395-4.434 2.438-8.574 4.279-11.32.185-.277 1.163-.47 1.592-.384 0 0-.349.403-.532.68-1.758 2.621-3.766 6.925-4.144 11.131a.601.601 0 01-.595.545zm21.296.766a.601.601 0 01-.598-.538c-.465-4.294-2.594-9.553-4.469-11.975l-.502-.653c.261-.205 1.412.17 1.617.43 2.018 2.596 4.054 7.491 4.549 12.056a.603.603 0 01-.531.68h-.066z fill#A65B53>/path>path dM67.229 59.68c.28-5.865.77-10.938-.488-13.84-6.427 1.956-15.818 2.288-23.127-.412l-1.585 4.79 1.131 9.775c.84.149 1.693.277 2.563.384 7.536.917 15.081.836 21.506-.696z fill#A65B53>/path>path dM57.342 26.111s-1.48 3.483-3.606.733c1.324.13 3.618-.633 3.606-.733z fill#fff>/path>path dM42.536 61.02a15.1 15.1 0 01-5.05-.039 2.608 2.608 0 01-2.221-2.312l-.894-11.872h11.286l-.9 11.912a2.6 2.6 0 01-2.221 2.311z fill#73B4FF>/path>path dM45.467 47.596c-3.92.289-7.617.343-10.945.023a.853.853 0 01-.768-.851v-.024a.854.854 0 01.851-.853h10.803a.85.85 0 01.851.853.857.857 0 01-.792.852z fill#fff>/path>path dM43.826 46.833h-7.697a1.115 1.115 0 01-1.117-1.12v-.733a1.12 1.12 0 01.868-1.092 19.702 19.702 0 018.128-.123 1.116 1.116 0 01.89 1.041l.044.853a1.12 1.12 0 01-1.116 1.174z fill#fff>/path>path dM41.407 46.138c-2.925 0-6.355-.135-6.406-.137a.11.11 0 01-.105-.115.11.11 0 01.112-.105c.078 0 7.767.31 9.961 0a.106.106 0 01.11.052.107.107 0 01.012.04.106.106 0 01-.052.11.105.105 0 01-.04.013 31.43 31.43 0 01-3.592.142z fill#C2DEFF>/path>path dM34.471 47.73a.9.9 0 01-.777-.423.902.902 0 01-.032-.92c.12-.217.436-.574 1.239-.603v-.151c-.035-.841-.081-1.995 2.567-2.28a.106.106 0 01.08.023.11.11 0 01-.058.194c-2.438.264-2.404 1.256-2.373 2.055v.377h-.107c-.573 0-.975.173-1.158.488a.69.69 0 00.66 1.017.106.106 0 01.081.026.109.109 0 01-.026.181.109.109 0 01-.042.01l-.054.005z fill#C2DEFF>/path>/g>path dM67 33.48h4.896L82.336 0H77.44L67 33.48zm11.742 0h4.896L94.078 0h-4.896l-10.44 33.48z fill#393B52>/path>defs>clipPath idleading_section_left_side_svg__clip0>rect x33 y3.281 width44 height44 rx22 fill#fff>/rect>/clipPath>/defs>/svg>svg width219 height309 fillnone xmlnshttp://www.w3.org/2000/svg classsc-fiCYzP fKEVPT>path dM26.781 294.781v4.125l-1.875.016c-2.703.016-4.906 2.14-4.906 4.859a4.921 4.921 0 004.922 4.922c2.687 0 4.89-2.219 4.89-4.922v-1.828h4.11v1.828c0 2.703 2.203 4.922 4.906 4.922 2.719 0 4.906-2.219 4.906-4.922 0-2.719-2.187-4.843-4.906-4.859l-1.875-.016v-4.125h1.875c2.719-.015 4.906-2.156 4.906-4.875A4.904 4.904 0 0038.828 285c-2.703 0-4.906 2.219-4.906 4.906v1.828h-4.11v-1.828c0-2.687-2.203-4.906-4.89-4.906A4.908 4.908 0 0020 289.906c0 2.719 2.203 4.86 4.906 4.875h1.875zM25 291.766c-1.078 0-1.922-.828-1.922-1.844 0-1.031.828-1.86 1.844-1.86.984 0 1.844.844 1.844 1.938v1.766H25zm13.734 0H36.97V290c0-1.094.86-1.938 1.86-1.938 1.015 0 1.827.829 1.827 1.86 0 1.016-.828 1.844-1.922 1.844zm-8.906 7.156v-4.156h4.094v4.156h-4.094zm-4.828 3h1.766v1.766c0 1.093-.86 1.937-1.844 1.937a1.85 1.85 0 01-1.844-1.859c0-1.016.844-1.844 1.922-1.844zm13.734 0c1.094 0 1.922.828 1.922 1.844 0 1.031-.812 1.859-1.828 1.859-1 0-1.86-.844-1.86-1.937v-1.766h1.766z fill#FF962E>/path>rect x168 y44 width8.486 height8.486 rx2 fill#70B2FF>/rect>circle cx31 cy31 r29 stroke#FFD652 stroke-width4>/circle>g clip-pathurl(#leading_section_right_side_svg__clip0)>rect x98.903 y124 width120 height120 rx60 fill#FFEBE0>/rect>path dM169.172 144.508s-6.135-5.149-12.671-5.149c-8.437 0-18.125 5.543-20.152 17.717-1.472 8.802 3.787 10.078-9.554 22.606-8.209 7.713-4.91 12.081-4.91 12.081 23.764 11.239 48.317 12.688 73.593 4.928 0 0 3.158-6.358-7.205-19.781-2.623-3.385-2.388-15.613-2.676-20.188-.589-8.107-7.052-13.129-16.425-12.214z fill#3F8AE0>/path>path dM215.791 260.44c-.763-3.64-9.447-26.873-10.21-29.498a21.859 21.859 0 00-5.586-9.411 21.92 21.92 0 00-9.454-5.534l-22.239-6.331-9.533 1.95-11.374-1.95-20.392 6.331a21.91 21.91 0 00-9.458 5.532 21.865 21.865 0 00-5.589 9.413c-.762 2.625-9.674 27.808-10.436 31.454 17.026 8.368 69.559 15.333 114.271-1.956z fill#73B4FF>/path>path dM166.75 193.3a33.78 33.78 0 00-8.818-7.941 33.687 33.687 0 00-8.824 7.941c-.094 6.678 1.05 15.219-4.998 17.363 3.004 3.399 8.376 12.401 13.809 12.348 5.432.053 10.825-8.949 13.829-12.348-6.048-2.151-4.898-10.685-4.998-17.363z fill#FFB487>/path>path dM148.84 200.644c5.66.968 14.953.474 17.977-4.007a11.335 11.335 0 01-.515-1.89 33.152 33.152 0 00-5.64-6.19c-.589.32-1.204.667-1.84 1.035l-4.422 3.025c-1.773 1.389-3.526 2.331-5.225 4.127 0 .254-.054.561-.087.895-.087 1.002-.161 2.017-.248 3.005z fill#D47455>/path>path dM143.836 173.324c-8.256-6.424-11.22 7.767-.903 8.889.669-2.898 1.398-5.803.903-8.889z fill#FFB487>/path>path dM141.414 176.743a.43.43 0 01-.422-.341 1.64 1.64 0 00-.224-.627 1.654 1.654 0 00-1.729-.768.444.444 0 01-.475-.395.444.444 0 01.388-.474 2.523 2.523 0 012.548 1.163c.174.281.29.594.342.921a.443.443 0 01-.335.514l-.093.007z fill#393B52>/path>path dM142.718 182.615c-.073-2.992.308-15.5 2.208-18.345 7.453-11.179 19.054-2.378 24.995-2.217 1.579.04 2.536-.194 3.085-.962.822 11.286.702 24.041.582 24.041-1.338 7.346-6.142 14.599-16.646 14.311-.392 0-.794-.02-1.204-.06-9.801-.788-13.066-11.105-13.02-16.768z fill#FFB487>/path>path dM170.651 172.791a.383.383 0 01-.207-.053 8.576 8.576 0 00-6.865-.601.441.441 0 01-.568-.241.434.434 0 01.24-.561 9.25 9.25 0 017.614.668.433.433 0 01.167.588.43.43 0 01-.381.2zm-16.399-1.41a.52.52 0 01-.167 0 11.617 11.617 0 00-6.985-.762.432.432 0 01-.542-.3.433.433 0 01.295-.534 12.23 12.23 0 017.567.794.429.429 0 01.234.236.428.428 0 010 .332.44.44 0 01-.402.234zm13.814 6.176c.104-1.46-.631-2.702-1.641-2.774-1.01-.071-1.913 1.055-2.016 2.516-.104 1.46.631 2.702 1.641 2.774 1.01.071 1.912-1.055 2.016-2.516z fill#393B52>/path>path dM170.651 174.227a5.142 5.142 0 01-.669 1.055 5.915 5.915 0 01-.95.908 5.398 5.398 0 01-1.211.668c-.45.183-.919.313-1.399.387h-.053a1.199 1.199 0 01-1.385-.975 1.203 1.203 0 011.559-1.342c.309.112.63.186.956.22.349.047.702.047 1.051 0a4.35 4.35 0 001.077-.314 4.542 4.542 0 001.024-.607zm-18.318 2.045c.103-1.461-.632-2.702-1.641-2.774-1.01-.071-1.913 1.055-2.017 2.516-.103 1.46.631 2.702 1.641 2.773 1.01.072 1.913-1.054 2.017-2.515z fill#393B52>/path>path dM147.061 171.803a4.562 4.562 0 001.712 1.509c.313.161.646.278.99.347.324.069.654.098.984.087a1.2 1.2 0 01.007 2.398 1.235 1.235 0 01-.562-.141h-.047a6.231 6.231 0 01-1.211-.801 5.16 5.16 0 01-.943-1.015 5.419 5.419 0 01-.623-1.156 4.697 4.697 0 01-.307-1.228zm10.51 13.175h-.114c-.488-.134-2.101-.668-2.442-1.703a1.468 1.468 0 01.361-1.416 9.72 9.72 0 001.74-6.678.415.415 0 01.011-.168.445.445 0 01.075-.151.45.45 0 01.128-.11.44.44 0 01.649.329 10.55 10.55 0 01-1.934 7.346c-.281.34-.22.534-.2.601.127.407.883.868 1.84 1.122a.44.44 0 01.307.534.43.43 0 01-.421.294z fill#393B52>/path>path dM157.116 190.627a7.603 7.603 0 01-3.847-1.002.87.87 0 01-.268-1.196.874.874 0 011.198-.267c.134.081 3.098 1.857 6.731-.46a.86.86 0 01.657-.117.864.864 0 01.658 1.036.876.876 0 01-.379.543 8.785 8.785 0 01-4.75 1.463z fill#E34450>/path>path dM173.481 175.755c9.192-5.001 9.795 9.483-.562 8.916-.187-2.972-.435-5.957.562-8.916z fill#FFB487>/path>path dM175.381 179.528a.44.44 0 01-.16-.033.432.432 0 01-.248-.561 2.527 2.527 0 013.191-1.583.443.443 0 01.308.534.44.44 0 01-.535.308 1.635 1.635 0 00-1.833.471 1.63 1.63 0 00-.321.584.426.426 0 01-.402.28z fill#393B52>/path>path dM149.73 180.898h-.528a6.331 6.331 0 01-5.801-6.825 6.329 6.329 0 012.219-4.308 6.346 6.346 0 018.935.732 6.329 6.329 0 01.809 6.985 6.299 6.299 0 01-5.634 3.416zm0-11.794a5.492 5.492 0 00-3.705 1.452 5.469 5.469 0 00-1.747 3.57 5.465 5.465 0 001.285 3.98 5.483 5.483 0 003.726 1.91 5.428 5.428 0 004.014-1.282 5.447 5.447 0 00.628-7.699 5.478 5.478 0 00-4.214-1.931h.013zm17.341 13.216h-.522a6.316 6.316 0 01-4.315-2.217 6.274 6.274 0 01-1.485-4.608 6.334 6.334 0 012.218-4.31 6.352 6.352 0 014.619-1.487 6.36 6.36 0 014.317 2.218 6.332 6.332 0 011.484 4.614 6.335 6.335 0 01-2.031 4.12 6.35 6.35 0 01-4.285 1.67zm0-11.794a5.485 5.485 0 00-3.705 1.448 5.462 5.462 0 00-1.747 3.568 5.383 5.383 0 001.284 4.006 5.429 5.429 0 003.727 1.917 5.489 5.489 0 003.987-1.283 5.468 5.468 0 001.914-3.719 5.466 5.466 0 00-1.285-3.979 5.482 5.482 0 00-3.726-1.911 1.792 1.792 0 00-.455-.047h.006z fill#fff>/path>path dM161.117 175.936c-2.094-2.791-5.392-.975-5.533-.895l-.428-.755c.04 0 4.101-2.277 6.691 1.129l-.73.521z fill#fff>/path>path dM158.762 225.861c15.595 0 28.848-3.846 33.706-9.202a23.675 23.675 0 00-1.927-.668l-22.239-6.331-9.534 1.95-11.373-1.95-20.392 6.331a16.57 16.57 0 00-1.941.668c4.851 5.356 18.105 9.202 33.7 9.202z fill#FFB487>/path>path dM168.483 147.36v-.528c0-.18 0-.38-.04-.567a11.102 11.102 0 00-.161-1.149 11.768 11.768 0 00-.669-2.224 8.932 8.932 0 00-2.716-3.686 9.998 9.998 0 00-4.362-1.923 17.617 17.617 0 00-4.964-.207 17.953 17.953 0 015.044-.368c1.75.11 3.446.641 4.944 1.55a10.01 10.01 0 012.068 1.703 11.51 11.51 0 011.565 2.197c.428.79.777 1.62 1.044 2.477.134.428.248.862.341 1.336.047.22.087.441.127.668.04.227.067.441.087.728l-2.308-.007z fill#3F8AE0>/path>/g>path dM110.095 175.249l-15.65-10.069c-.792-.51-1.189-.765-1.593-.678-.405.088-.66.485-1.17 1.278l-10.07 15.649c-1.112 1.728-1.668 2.592-1.287 3.141.381.549 1.385.331 3.393-.104l25.719-5.581c2.008-.435 3.012-.653 3.131-1.311.119-.657-.745-1.213-2.473-2.325z fill#FF6680>/path>defs>clipPath idleading_section_right_side_svg__clip0>rect x98.903 y124 width120 height120 rx60 fill#fff>/rect>/clipPath>/defs>/svg>h1 classsc-lfRxJW hoeYaZ>Мощная платформа br/>для ваших проектов/h1>h2 classsc-geBCVM kBaNqM>Разрабатывайте приложения и используйте всеbr/> возможности ВКонтакте в вашем бизнесе/h2>a hrefhttps://vk.com/editapp?actcreate target_self classsc-crzoAE dZOaNR sc-biHcxt duZDU>Создать приложение/a>/div>div classsc-jfkLlK hiwdBw>h2 classsc-QxirK fWxumN>Разработчику/h2>div classsc-clGGWX irLJAw>div classsc-kJNqyW hEkfYZ>Создание приложений/div>div classsc-kJNqyW eKebMA>Бизнес-инструменты/div>div classsc-kJNqyW hEkfYZ>Интеграция контента/div>/div>div classsc-ciOKUB itWoQV>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#ff3347 classsc-jYKCQm fGbwsU>div rolepresentation color#ff3347 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--advertising_outline_28 Icon--advertising_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#advertising_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Реклама/h4>/div>p classsc-bxLXlR kerziU>Автоматически запускайте объявления и целые рекламные кампании, обновляйте аудитории ретаргетинга и получайте статистику./p>a href/api/ads/getting-started classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>Рекламный API/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#ffa000 classsc-jYKCQm eJHvrD>div rolepresentation color#ffa000 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--market_outline_28 Icon--market_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#market_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Товары/h4>/div>p classsc-bxLXlR kerziU>Импортируйте фотографии и описания товаров из вашего интернет-магазина или создайте витрину прямо в сообществе./p>a href/api/market/overview classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>Товары ВКонтакте/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#3f8ae0 classsc-jYKCQm jROYcV>div rolepresentation color#3f8ae0 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--wallet_outline_28 Icon--wallet_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#wallet_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Платежи/h4>/div>p classsc-bxLXlR kerziU>Принимайте оплату за товары и услуги — прямо в чатах, сообществах и мини-приложениях, с баланса VK Pay или привязанных к нему карт./p>a href/pay/getting-started classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>VK Pay/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#4bb34b classsc-jYKCQm helFgd>div rolepresentation color#4bb34b class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--subtitles_outline_28 Icon--subtitles_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#subtitles_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Платные подписки/h4>/div>p classsc-bxLXlR kerziU>Управляйте платной подпиской и разнообразными программами лояльности в вашем сообществе./p>a href/api/donut/getting-started classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>VK Donut API/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#792ec0 classsc-jYKCQm bevUOf>div rolepresentation color#792ec0 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--keyboard_bots_outline_28 Icon--keyboard_bots_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#keyboard_bots_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Чат-боты/h4>/div>p classsc-bxLXlR kerziU>Автоматизируйте рутинные задачи администратора сообщества с помощью ботов: организуйте рассылки, принимайте заказы и платежи./p>a href/api/bots/overview classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>Чат-боты/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#735ce6 classsc-jYKCQm dPaBvx>div rolepresentation color#735ce6 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--notifications_28 Icon--notifications_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#notifications_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>События/h4>/div>p classsc-bxLXlR kerziU>Отслеживайте события в сообществе, чтобы мгновенно узнавать о новых сообщениях, комментариях и других действиях пользователей./p>a href/api/callback/getting-started classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>Callback API/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#ff3347 classsc-jYKCQm fGbwsU>div rolepresentation color#ff3347 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--history_forward_outline_28 Icon--history_forward_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#history_forward_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Истории/h4>/div>p classsc-bxLXlR kerziU>Превратите видео в историю, которую смогут увидеть друзья и подписчики./p>a href/api/stories/getting-started classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>API историй/a>/div>div classsc-kGVuwA kyEhLJ>div classsc-bA-DTon IPtEP>div color#ffa000 classsc-jYKCQm eJHvrD>div rolepresentation color#ffa000 class vkuiIcon Icon vkuiIcon--28 Icon--28 vkuiIcon--w-28 Icon--w-28 vkuiIcon--h-28 Icon--h-28 vkuiIcon--masks_outline_28 Icon--masks_outline_28 stylewidth:28px;height:28px>svg viewBox0 0 28 28 width28 height28 styledisplay:block>use xlink:href#masks_outline_28 stylefill:currentColor>/use>/svg>/div>/div>h4 classsc-jVSGNQ hzsGOz>Маски/h4>/div>p classsc-bxLXlR kerziU>Создавайте маски – развивайте персональный бренд, заявляйте о себе и привлекайте подписчиков на личную страницу или в сообщество./p>a href/masks/overview classsc-crzoAE cEvHWR sc-dHMioH jeOpiX>Маски/a>/div>/div>/div>div classsc-fnebDD bAGyCr>h2 classsc-jcsPjo bUEpDn>Возможности/h2>div classsc-fkmfBh jJpdDo>div classsc-iuhXDa dBEucF>div classsc-eCbnUT fElMzr>svg width44 height44 fillnone xmlnshttp://www.w3.org/2000/svg>path dM44 44V0L0 44h44z fill#FFA000>/path>/svg>/div>p classsc-irqbAE kxZWSs>Создавайте кросс-платформенные приложения сразу для Android, iOS и компьютера/p>/div>div classsc-iuhXDa dBEucF>div classsc-eCbnUT fElMzr>svg width44 height44 fillnone xmlnshttp://www.w3.org/2000/svg>path dM44 22a22 22 0 01-44 0h44z fill#393B52>/path>path dM0 22A22 22 0 0122 0v22H0z fill#22BD8A>/path>/svg>/div>p classsc-irqbAE kxZWSs>Продвигайте их среди многомиллионной аудитории ВКонтакте/p>/div>div classsc-iuhXDa dBEucF>div classsc-eCbnUT fElMzr>svg width44 height44 fillnone xmlnshttp://www.w3.org/2000/svg>rect y28 width16 height16 rx8 fill#FF6680>/rect>rect x28 width16 height16 rx8 fill#FF6680>/rect>rect x23 y24 width16 height16 rx8 fill#FF6680>/rect>/svg>/div>p classsc-irqbAE kxZWSs>Получайте поддержку от сообщества разработчиков и Команды ВКонтакте 24/7/p>/div>div classsc-iuhXDa dBEucF>div classsc-eCbnUT fElMzr>svg width44 height44 fillnone xmlnshttp://www.w3.org/2000/svg>path fill#FFD652 dM0 12h44V0H0zm22 32h22V32H22z>/path>/svg>/div>p classsc-irqbAE kxZWSs>Используйте разные форматы монетизации, добавляя всего несколько строк кода/p>/div>/div>/div>div classsc-iiBnNu jFPctD>h2 classsc-dYXZXt jzZUwL>Сообщество/h2>div classsc-ojivU jjQalL>div classsc-hxyAeK hIpCju>span classsc-gggoXN byiTzm>300 тысяч/span>span classsc-hcmsbg iHLBIg>разработчиков/span>svg width161 height53 fillnone xmlnshttp://www.w3.org/2000/svg classsc-gBsxbr dxFZky>path dM83.923 39.777C-8.958 67.27-25.242 43.071 42.308 19.301 136.093-13.701 213.896.829 108.35 39.777 stroke#3F8AE0 stroke-width2 stroke-linecapround stroke-linejoinround>/path>/svg>/div>div classsc-hxyAeK hIpCju>span classsc-gggoXN byiTzm>42 млн/span>span classsc-hcmsbg iHLBIg>пользователей/span>/div>div classsc-hxyAeK hIpCju>span classsc-gggoXN byiTzm>50 млрд/span>span classsc-hcmsbg iHLBIg>запросов к API/span>svg width44 height44 fillnone xmlnshttp://www.w3.org/2000/svg classsc-eVedaM bzdSnS>path dM22 0l4.284 14.971a4 4 0 002.745 2.745L44 22l-14.971 4.284a4 4 0 00-2.745 2.745L22 44l-4.284-14.971a4 4 0 00-2.745-2.745L0 22l14.971-4.284a4 4 0 002.745-2.745L22 0z fill#FFA000>/path>/svg>/div>/div>div classsc-jhDJEt ciiXUl>div classsc-bKoJNE hTFgFD>/div>/div>/div>div classsc-enrZtP ihJIQH>div classsc-ekA-drt dUxFWE>h2 classsc-bwcZwS lgoedk>Создайте своё первое приложение уже br/> сейчас/h2>a hrefhttps://vk.com/editapp?actcreate target_self classsc-crzoAE dZOaNR sc-biHcxt duZDU>Создать приложение/a>/div>div classsc-btlduw kMTXgk>svg width423 height300 fillnone xmlnshttp://www.w3.org/2000/svg classsc-kOokqr jCiuZr>circle cx378 cy15 r12.5 stroke#FFD652 stroke-width5>/circle>path dM391 167.522c4.5-11 15-21.001 8 3-7.751 26.574 12.607-14.222 19-15.5 5-1.001-16.5 33 3.5 19.5 stroke#83DB83 stroke-width2 stroke-linecapround stroke-linejoinround>/path>rect x149 y78.314 width16 height16 rx4 transformrotate(-45 149 78.314) fill#70B2FF>/rect>path dM315.062 165.077c-4.443 0-8.835-.893-12.197-2.615l.628-1.223c7.974 4.086 22.717 3.151 27.915-3.732 8.867-11.73 4.745-26.18-12.595-44.166l.989-.952c17.89 18.558 22.044 33.585 12.705 45.947-3.458 4.57-10.511 6.741-17.445 6.741zM290.88 61.084c-3.866 0-8.336-1.9-12.659-5.505a.684.684 0 01-.087-.967.684.684 0 01.966-.087c5.656 4.718 11.469 6.348 15.549 4.37 2.4-1.164 3.793-3.486 3.715-6.206-.138-4.974-4.741-9.838-12.316-13.012a.686.686 0 01.531-1.264c8.089 3.39 13.008 8.711 13.159 14.244.091 3.275-1.59 6.073-4.489 7.479-1.323.637-2.798.948-4.369.948zm-66.145 2.463c-2.514 7.827-5.061 15.874-4.584 24.082.476 8.207 4.667 16.731 12.224 19.973 4.31 1.846 9.215 1.8 13.841 1.044 4.396-5.363 6.558-12.499 5.876-19.4-.678-6.903-4.196-13.48-9.554-17.881 fill#FF5773>/path>path dM233.139 80.388c-9.096-.023-16.649-5.863-17.569-13.594-.811-6.829 3.884-15.485 19.497-19.29a.687.687 0 01.325 1.332c-14.743 3.595-19.199 11.55-18.457 17.793.838 7.04 7.804 12.362 16.204 12.38a.69.69 0 010 1.379z fill#FF5773>/path>path dM188.988 195.067l-3.046 6.229s-2.876-24-3.197-34.914c-.362-12.247.687-13.03-.696-23.839-1.388-10.804-6.16-25.273-9.055-29.702-1.649-2.523-3.096-5.605-4.04-7.799-.673-1.567-2.793-1.773-3.783-.385-.957 1.342-1.685 3.238-1.172 5.693.604 2.872 3.499 7.264 4.497 10.387 1.823 5.693 1.654 7.411 1.654 7.411s-5.95-3.101-11.368-.028c-5.093 2.89-3.87 5.945-3.87 5.945s-5.633 1.732-5.555 5.176c-2.964 2.001-4.2 5.871.192 12.389 3.508 5.212 8.212 6.897 8.212 6.897s3.852 6.673 3.852 14.203c0 20.972-4.48 58.189 3.833 69.978 8.143 11.547 28.451 8.977 50.01-29.468 19.401-34.602-5.616-26.889-5.616-26.889l-20.852 8.716z fill#FFB487>/path>path dM260.207 53.518c-2.547-23.78 29.807-23.72 34.048-4.57 4.085 18.452-27.416 22.556-36.723 8.22 fill#FF5773>/path>path dM263.299 57.74c12.888-4.4 27.7.592 29.825 15.678 3.106 22.021 10.672 26.44 21.091 33.948 19.296 13.9 25.658 54.612-17.843 55.189-55.474.737-50.898-10.731-55.799-11.784-9.531-2.043-30.315-28.511-3.339-48.393 26.711-19.69 26.065-44.637 26.065-44.637z fill#FF5773>/path>path dM227.977 177.026c.536 5.972 8.652-.802 11.428.179 6.92 2.441 29.229-22.287 35.248-30.197-2.016-9.769-1.251-36.979-1.251-36.979l-27.315 15.073-1.498 16.049c-.064 2.34-15.096 5.931-15.952 6.98-.577 2.482-2.382 28.597-.66 28.895z fill#FFB487>/path>path dM270.26 118.142c-.11-.871-.21-1.677-.297-2.41l-10.182 2.121-13.685 6.352-.659 7.979c13.337-.893 21.558-9.815 24.823-14.042z fill#D47455>/path>path dM238.484 70.366c-5.482 5.734-8.931 21.631-9.416 29.266-.435 5.744 2.24 19.937 15.183 24.792 12.297 4.617 28.497-3.444 32.706-15.801l4.942-13.223s-8.84 3.468-6.916-18.961c-11.492-9.045-29.322-15.06-36.499-6.073z fill#FFB487>/path>path dM262.961 95.867c.308-2.235-.694-4.22-2.238-4.432-1.543-.212-3.044 1.428-3.352 3.663-.307 2.236.695 4.22 2.239 4.432 1.543.213 3.044-1.427 3.351-3.663z fill#252833>/path>path dM267.196 91.12a7.52 7.52 0 01-1.223 1.424c-.467.43-.998.815-1.576 1.131a7.66 7.66 0 01-1.868.747c-.664.187-1.356.256-2.057.288a1.155 1.155 0 01-1.213-1.104 1.155 1.155 0 011.452-1.177l.032.01c.508.137 1.039.26 1.584.279a6.224 6.224 0 001.667-.115 7.186 7.186 0 001.663-.536 7.363 7.363 0 001.539-.948zm-27.765 1.3c.144-2.252-1.001-4.158-2.556-4.257-1.555-.1-2.932 1.645-3.076 3.897-.143 2.252 1.001 4.158 2.556 4.257 1.555.1 2.932-1.646 3.076-3.897z fill#252833>/path>path dM231.436 86.846c.302.44.696.792 1.108 1.094.417.298.861.536 1.319.729a8.25 8.25 0 001.415.425c.238.056.486.083.719.124l.728.069.042.004a1.166 1.166 0 11-.619 2.208l-.787-.385c-.257-.146-.513-.28-.756-.44a9.645 9.645 0 01-1.374-1.053 7.726 7.726 0 01-1.104-1.287c-.307-.467-.563-.962-.691-1.488z fill#252833>/path>path dM244.415 102.697a.692.692 0 01-.284-.059c-.911-.412-3.05-1.553-3.293-3.206-.078-.527.018-1.315.902-2.084 1.557-1.351 4.104-5.19 4.301-9.724a.684.684 0 111.369.06c-.219 5.001-2.977 9.142-4.772 10.704-.504.435-.458.746-.444.847.091.641 1.122 1.53 2.5 2.153a.69.69 0 01.344.911.684.684 0 01-.623.398zm2.977 7.337c-1.956 0-3.696-.591-4.543-1.177a.918.918 0 01-.238-1.273.917.917 0 011.273-.238c.975.668 5.528 2.051 8.299-1.278a.92.92 0 011.291-.119c.39.325.44.902.119 1.291-1.754 2.112-4.103 2.794-6.201 2.794z fill#D47455>/path>path dM242.51 82.916a.685.685 0 01-.435-.156c-3.82-3.119-8.968-2.253-9.023-2.244a.692.692 0 01-.797-.559.69.69 0 01.559-.797c.238-.04 5.826-.975 10.126 2.533a.685.685 0 01.097.967.644.644 0 01-.527.256z fill#252833>/path>path dM244.594 141.156c-8.478 4.246-29.862.714-40.726 22.415-10.864 21.7-15.613 33.219-15.613 33.219l24.306 17.001 12.252 30.594 102.363 22.91 21.055-48.998s-12.723-38.55-24.403-52.583c-11.679-14.033-45.067-25.259-49.171-25.937-22.575 13.173-30.063 1.379-30.063 1.379z fill#2787F5>/path>path dM312.488 225.45a.69.69 0 01-.628-.407l-15.05-33.517a.687.687 0 011.251-.563l15.05 33.516a.686.686 0 01-.344.907.592.592 0 01-.279.064zm-99.762-10.706h-.009a.687.687 0 01-.678-.696c.156-10.695 1.731-16.237 4.118-24.632.609-2.152 1.3-4.589 2.024-7.31a.69.69 0 01.838-.49.688.688 0 01.49.838 381.44 381.44 0 01-2.029 7.333c-2.354 8.29-3.911 13.763-4.062 24.274a.702.702 0 01-.692.683z fill#135094>/path>path dM247.314 205.99a.686.686 0 01-.673-.568c-3.385-18.851 1.017-37.877 5.272-56.275l.252-1.09-.124.069c-1.85 1.008-3.595 1.96-6.568 2.125-5.033.284-7.566-1.772-8.258-3.787-.586-1.718.037-3.518 1.59-4.59 2.51-1.731 7.616-1.557 14.463 4.063a20.636 20.636 0 012.29-.935c7.026-2.097 11.615-1.575 13.292 1.507.861 1.585.998 2.867.403 3.816-.669 1.067-2.167 1.552-4.457 1.438-3.522-.174-8.912-1.864-11.239-3.628l-.307 1.324c-4.223 18.265-8.592 37.153-5.258 55.725a.683.683 0 01-.678.806zm6.971-59.013c1.663 1.296 6.756 3.224 10.575 3.412 1.681.082 2.858-.206 3.225-.797.385-.614-.032-1.658-.449-2.428-1.676-3.087-7.269-2.166-11.67-.852-.609.206-1.163.431-1.681.665zm-11.963-4.727c-1.145 0-2.065.284-2.743.751-1.049.724-1.457 1.878-1.072 3.014.527 1.543 2.615 3.105 6.879 2.862 2.666-.151 4.205-.989 5.986-1.96.179-.096.362-.197.545-.298-4.016-3.197-7.268-4.369-9.595-4.369z fill#393B52>/path>path dM255.206 192.915a.687.687 0 01-.687-.677c-.096-7.26-.362-14.808-.623-22.113-.256-7.31-.526-14.867-.623-22.14a.687.687 0 111.375-.018c.096 7.259.361 14.807.622 22.112.257 7.31.527 14.867.623 22.14a.685.685 0 01-.678.696h-.009z fill#393B52>/path>path dM164.324 151.456c-.375 0-.811-.078-1.305-.288-3.934-1.663-8.276-14.977-8.762-16.493a.684.684 0 111.305-.417c1.26 3.943 5.144 14.441 7.988 15.645.811.344 1.173.115 1.292.037.783-.495 1.021-2.166 1.044-2.716a.686.686 0 01.714-.659c.38.013.674.334.66.71-.009.288-.151 2.848-1.676 3.819a2.3 2.3 0 01-1.26.362z fill#D47455>/path>path dM158.562 154.063c-.256 0-.522-.014-.806-.046-1.933-.206-6.398-4.553-8.473-14.098a.682.682 0 01.527-.815.683.683 0 01.815.527c2.043 9.403 6.311 12.92 7.278 13.021 2.184.234 3.467-.632 4.025-2.725a.687.687 0 01.843-.486.687.687 0 01.486.843c-.472 1.768-1.677 3.779-4.695 3.779z fill#D47455>/path>path dM155.183 157.002h-.11a.685.685 0 01-.673-.701c.009-.38.32-.696.7-.673.49.009 1.209-.064 1.764-.472.458-.334.719-.87.65-1.337a.686.686 0 111.36-.197c.138.971-.334 2.006-1.204 2.638-.655.486-1.516.742-2.487.742z fill#D47455>/path>path dM186.483 201.3a27.039 27.039 0 011.594 12.756z fill#FFB487>/path>path dM188.076 214.743c-.027 0-.055 0-.082-.004a.686.686 0 01-.6-.765 26.221 26.221 0 00-1.553-12.426.689.689 0 011.283-.494 27.684 27.684 0 011.635 13.08.691.691 0 01-.683.609z fill#D47455>/path>path dM163.999 51.74h-.041a.917.917 0 01-.875-.957l1.053-23.907a.917.917 0 111.832.083l-1.053 23.907a.917.917 0 01-.916.875zm18.549 11.524a.916.916 0 01-.577-1.626l9.503-7.662a.916.916 0 011.15 1.424l-9.504 7.663a.89.89 0 01-.572.201zm-45.933-2.414a.923.923 0 01-.596-.22l-7.699-6.568a.916.916 0 111.191-1.392l7.699 6.572c.385.33.431.907.101 1.291a.935.935 0 01-.696.316z fill#252833>/path>path dM233.331 100.526c-5.12 0-9.288-4.168-9.288-9.288 0-5.121 4.168-9.289 9.288-9.289 5.121 0 9.289 4.168 9.289 9.288 0 5.121-4.164 9.289-9.289 9.289zm0-16.291a7.003 7.003 0 00-6.998 6.998 7.003 7.003 0 006.998 6.998 7.004 7.004 0 006.999-6.998 7.004 7.004 0 00-6.999-6.998zm26.088 19.883c-5.12 0-9.288-4.168-9.288-9.289 0-5.12 4.168-9.288 9.288-9.288 5.121 0 9.288 4.168 9.288 9.288s-4.167 9.289-9.288 9.289zm0-16.287a7.003 7.003 0 00-6.998 6.998 7.004 7.004 0 006.998 6.999 7.004 7.004 0 006.998-6.999 7.003 7.003 0 00-6.998-6.998z fill#fff>/path>path dM267.732 94.92a1.141 1.141 0 01-1.14-1.08 1.14 1.14 0 011.081-1.205l14.166-.783a1.142 1.142 0 011.204 1.08 1.14 1.14 0 01-1.081 1.206l-14.166.783h-.064z fill#fff>/path>path dM289.309 62.856c-.687 0-1.37-.307-1.819-.898-4.167-5.436-16.433-12.567-26.175-11.367a2.292 2.292 0 01-.563-4.548c11.501-1.42 25.442 6.686 30.375 13.126a2.292 2.292 0 01-.426 3.21 2.25 2.25 0 01-1.392.477z fill#FFD54F>/path>path dM193.742 274.1l-37.854-.43-2.909-10.214 35.761-.513 5.002 11.157zm33.897-63.013c10.03 9.792 18.421 28.14 25.579 49.877l-31.877 3.714c-1.969-16.598-12.673-44.87-28.281-59.375l34.579 5.784z fill#E5F1FF>/path>path dM184.687 144.732c-.353 0-.715-.091-1.04-.284l-46.002-26.939a2.068 2.068 0 01-.737-2.822 2.063 2.063 0 012.821-.737l46.002 26.94c.98.577 1.31 1.836.738 2.821a2.069 2.069 0 01-1.782 1.021z fill#252833>/path>path dM132.86 111.982c.824.16 1.616.38 2.409.595l1.172.353c.385.128.765.261 1.145.398.376.142.797.211 1.196.312.398.1.742.297 1.026.595.284.298.531.65.737 1.072.202.43.376.907.444 1.562a.313.313 0 01-.188.316 4.71 4.71 0 01-1.589.343 4.155 4.155 0 01-1.291-.151 2.11 2.11 0 01-1.008-.627c-.279-.303-.536-.642-.838-.907-.298-.271-.596-.541-.889-.825l-.861-.87c-.563-.6-1.126-1.195-1.653-1.85a.196.196 0 01.027-.275.176.176 0 01.161-.041z fill#252833>/path>path dM173.36 156.317c-6.316-1.494-7.016-10.145-7.85-13.466-.953-3.801-3.307-4.488-4.415-8.244-.476-1.612.417-3.467 1.53-4.653.746-.797 2.019-.747 2.748.069 3.261 3.664 9.989 9.16 12.219 11.56 fill#FFB487>/path>path dM173.36 156.316c-6.316-1.493-7.016-10.145-7.85-13.466-.953-3.801-3.307-4.488-4.415-8.244-.165-.549-.133-1.594.293-2.789 fill#FFB487>/path>path dM173.36 157.003a.652.652 0 01-.16-.019c-5.83-1.378-7.186-8.193-7.992-12.26-.133-.665-.248-1.242-.362-1.704-.453-1.814-1.25-2.863-2.098-3.976-.852-1.126-1.736-2.29-2.313-4.241-.233-.792-.119-2.024.307-3.215a.69.69 0 01.88-.417.687.687 0 01.416.88c-.366 1.035-.403 1.951-.284 2.367.504 1.709 1.274 2.726 2.089 3.802.888 1.172 1.809 2.386 2.336 4.475.123.494.242 1.085.375 1.772.747 3.747 1.993 10.017 6.962 11.194a.68.68 0 01-.156 1.342z fill#D47455>/path>path dM275.431 222.506c-5.918 0-11.826-1.594-16.901-4.726a.686.686 0 01.719-1.168c8.455 5.221 19.365 5.981 28.461 1.974a.69.69 0 01.907.352.69.69 0 01-.353.907c-4.049 1.782-8.441 2.661-12.833 2.661z fill#135094>/path>path fill-ruleevenodd clip-ruleevenodd dM281.811 185.018c.087-.22.027-.389-.293-.412l-1.054-.069c-.265-.018-.398.12-.481.266 0 0-.632 1.273-1.447 2.075-.261.229-.38.302-.513.293-.073-.005-.16-.092-.142-.316l.142-2.098c.018-.265-.055-.394-.279-.407l-1.658-.11c-.165-.009-.275.105-.284.229-.019.256.357.343.352 1.062l-.105 1.557c-.023.339-.087.394-.22.385-.357-.023-1.14-1.401-1.562-2.945-.082-.302-.178-.421-.444-.439l-1.067-.074c-.307-.018-.366.119-.38.275-.018.275.247 1.695 1.433 3.623.788 1.319 1.979 2.075 3.097 2.152.677.046.769-.1.783-.357l.064-.952c.018-.307.087-.353.302-.339.156.009.426.11 1.008.755.668.765.769 1.1 1.168 1.127l1.053.069c.307.018.463-.124.398-.426-.073-.302-.393-.756-.806-1.301-.224-.302-.572-.646-.677-.806-.142-.215-.092-.293.032-.472-.01-.004 1.406-1.74 1.58-2.345z fill#2787F5>/path>path dM272.624 55.308c-6.811-5.45-28.598-15.91-43.598-4.483-11.633 8.862-8.917 27.283 4.251 33.64 13.167 6.357 43.492-7.896 43.492-7.896l-4.145-21.26z fill#FF5773>/path>path dM348.231 218.298s11.885 31.703 8.083 41.394c-5.143 13.122-14.198 11.249-37.826 11.249-26.175 0-44.33-4.53-53.293-3.898-8.963.637-30.696 9.133-35.734 9.687-5.193-2.336 4.695-6.151 4.695-6.151s-14.391 5.482-16.612 2.757c-2.221-2.729 10.901-8.656 10.901-8.656s-7.539 1.837-15.124 2.991c-1.255.192-2.29-1.054-1.818-2.231 1.136-2.821 5.574-6.293 15.673-9.448-6.637.458-11.446.957-14.047 1.255-1.017.114-1.699-1.003-1.141-1.86 1.452-2.23 4.548-5.478 10.448-5.949 11.12-.889 25.597-1.741 25.345-3.646l-1.914-4.708c3.298-2.158 5.212-.184 14.505 3.934 9.572 4.241 28.511 5.024 38.404 4.012 9.897-1.017 23.468-4.314 23.468-4.314l-9.751-19.951c8.033-2.624 25.35-8.13 35.738-6.467z fill#FFB487>/path>mask idtrailing_section_art_svg__a stylemask-type:alpha maskUnitsuserSpaceOnUse x211 y217 width147 height60>path dM348.231 218.297s11.885 31.703 8.083 41.395c-5.143 13.122-14.198 11.248-37.826 11.248-26.175 0-44.33-4.529-53.293-3.897-8.963.636-30.696 9.132-35.734 9.686-5.193-2.335 4.695-6.15 4.695-6.15s-14.391 5.482-16.612 2.757c-2.221-2.73 10.901-8.657 10.901-8.657s-7.539 1.837-15.124 2.991c-1.255.193-2.29-1.053-1.818-2.23 1.136-2.822 5.574-6.293 15.673-9.449-6.637.458-11.446.957-14.047 1.255-1.017.115-1.699-1.003-1.141-1.859 1.452-2.231 4.548-5.478 10.448-5.95 11.12-.888 25.597-1.74 25.345-3.646l-1.914-4.708c3.298-2.157 5.212-.183 14.505 3.934 9.572 4.241 28.511 5.025 38.404 4.012 9.897-1.016 23.468-4.314 23.468-4.314l-9.751-19.951c8.033-2.624 25.35-8.129 35.738-6.467z fill#FFB487>/path>/mask>g maskurl(#trailing_section_art_svg__a) fill#5C5E73>path dM344.484 274.757a.687.687 0 01-.481-1.177c7.09-6.953 8.111-12.284 6.834-14.734-.609-1.173-1.768-1.695-3.17-1.434-2.803.522-5.935 3.893-7.717 10.301-.22 1.85-.591 3.879-1.141 6.096l-1.351-.243c.257-2.308.651-4.356 1.141-6.16.875-7.722-1.054-12.005-3.348-13.406-1.37-.838-2.881-.682-4.145.426-2.693 2.354-3.701 8.606.114 17.262l-1.255.559c-1.126-2.501-7.909-6.861-12.04-6.554-1.585.114-2.574.875-3.01 2.326-.018.944.28 1.727.907 2.387 1.347 1.406 3.898 1.914 5.835 1.919a.686.686 0 110 1.374c-1.076-.005-4.754-.183-6.824-2.345-.907-.948-1.342-2.116-1.287-3.472l.027-.16c.587-2.061 2.057-3.238 4.255-3.399 3.358-.242 7.896 2.011 10.782 4.379-2.565-7.928-.898-13.131 1.594-15.307 1.694-1.484 3.906-1.699 5.766-.563 2.217 1.356 4.062 4.649 4.213 10.214 2.08-4.416 4.869-6.536 7.228-6.976 2.01-.375 3.742.426 4.639 2.148 1.567 3.009.527 8.881-7.09 16.351a.685.685 0 01-.476.188zm-32.307-18.233c-.202 0-.408-.014-.618-.046-3.161-.467-7.209-4.653-9.101-15a.69.69 0 011.356-.247c1.763 9.646 5.386 13.507 7.951 13.887 1.213.178 2.226-.403 2.858-1.635 1.713-3.335.114-10.475-7.438-18.275l.989-.957c9.16 9.467 17.129 11.849 20.656 10.058 1.154-.586 1.672-1.58 1.461-2.808-.453-2.633-4.795-7.552-18.215-9.297l.179-1.36c2.858.366 10.277-2.794 12.27-6.435.723-1.319.623-2.515-.307-3.655-1.086-.761-2.707-1.003-4.58-.683-2.286.39-4.566 1.585-5.423 2.844a.691.691 0 01-.953.184.688.688 0 01-.183-.953c1.063-1.562 3.664-2.968 6.325-3.426 2.281-.389 4.301-.041 5.689.98l.119.11c1.342 1.599 1.52 3.422.513 5.263-1.562 2.848-5.735 5.313-9.307 6.471 10.278 2.13 14.652 6.421 15.22 9.733.311 1.814-.509 3.407-2.194 4.264-3.211 1.63-9.11.513-16.177-4.869 3.559 5.698 4.035 10.589 2.574 13.443-.788 1.539-2.13 2.409-3.664 2.409z>/path>path dM354.794 238.629c-.6 0-1.117-.128-1.507-.27-2.015-.733-3.668-2.812-4.497-5.4-1.067 2.537-3.041 4.145-4.91 4.878-2.643 1.039-5.336.6-7.035-1.155-1.191-1.232-2.748-4.048-.875-9.673-3.412 1.864-6.499 1.466-8.413.321-1.814-1.085-2.744-2.895-2.437-4.717.44-2.62 3.27-4.663 7.759-5.602a.689.689 0 01.284 1.347c-3.903.815-6.339 2.45-6.683 4.484-.21 1.254.477 2.523 1.791 3.311 1.86 1.117 5.121 1.328 8.688-1.424a.687.687 0 011.054.815c-1.96 4.561-2.024 8.276-.17 10.186 1.306 1.346 3.431 1.662 5.547.829 2.281-.898 4.754-3.357 4.836-7.553a.695.695 0 01.701-.673c.38.009.683.321.673.701-.082 4.053 2.057 7.268 4.168 8.033 1.379.499 2.721-.009 3.893-1.465a.687.687 0 111.072.861c-1.383 1.703-2.808 2.166-3.939 2.166zm-8.468-14.885c-1.654 0-3.298-.985-3.999-2.501-.833-1.804-.229-4.135 1.374-5.308a.692.692 0 01.962.147.692.692 0 01-.146.962c-1.077.787-1.498 2.413-.939 3.622.558 1.209 2.07 1.942 3.366 1.635 1.296-.306 2.313-1.644 2.267-2.977a.687.687 0 01.664-.71c.385 0 .696.284.71.665.069 1.983-1.388 3.902-3.32 4.36a4.09 4.09 0 01-.939.105zm3.792 28.886c-1.081 0-2.126-.233-3.023-.691-1.466-.747-2.547-2.107-2.89-3.637-.385-1.717.21-3.499 1.52-4.539 1.461-1.154 3.669-1.195 5.034-.091.742.6 1.163 1.548 1.126 2.532-.032.93-.462 1.75-1.181 2.254-.715.504-1.64.655-2.418.398-.926-.307-1.558-1.209-1.461-2.093a.688.688 0 01.755-.609.685.685 0 01.609.756c-.027.247.216.54.527.646.366.119.838.036 1.195-.216.362-.256.582-.682.596-1.177.018-.559-.211-1.09-.618-1.42-.857-.691-2.373-.645-3.316.101-.884.701-1.301 1.97-1.035 3.16.256 1.136 1.067 2.153 2.175 2.716 1.228.623 2.872.71 4.401.229 1.338-.421 2.639-1.255 3.861-2.473 1.842-1.836 3.11-4.104 3.664-6.558a.686.686 0 011.338.302c-.614 2.707-2.006 5.207-4.035 7.227-1.379 1.374-2.867 2.322-4.42 2.808a8.105 8.105 0 01-2.404.375zm-49.749 21.046c-2.015 0-3.989-.403-5.812-1.191a.685.685 0 11.545-1.259c2.309.998 4.887 1.31 7.457.907 1.703-.271 3.142-.829 4.273-1.663 1.291-.953 2.194-2.331 2.409-3.691.197-1.228-.142-2.478-.911-3.358-.802-.916-2.075-1.328-3.161-1.026-1.158.321-2.093 1.521-2.038 2.62.028.522.321 1.022.783 1.338.408.274.884.352 1.301.21.417-.142.765-.471.879-.838.101-.311.005-.682-.21-.806a.684.684 0 01-.248-.939c.193-.33.61-.44.939-.247.77.449 1.127 1.484.829 2.413-.252.779-.92 1.439-1.745 1.723-.829.284-1.749.146-2.519-.376-.815-.554-1.332-1.452-1.383-2.405-.087-1.754 1.246-3.512 3.041-4.012 1.613-.448 3.403.119 4.562 1.448 1.035 1.181 1.493 2.853 1.232 4.479-.279 1.731-1.356 3.398-2.954 4.58-1.31.966-2.95 1.608-4.873 1.914a16.8 16.8 0 01-2.396.179z>/path>/g>path dM232.791 271.906a.696.696 0 01-.632-.412.69.69 0 01.353-.907c1.081-.477 2.386-.93 3.65-1.374 1.241-.435 2.519-.88 3.554-1.333a.689.689 0 01.554 1.259c-1.08.477-2.386.93-3.65 1.374-1.241.436-2.519.88-3.554 1.333a.666.666 0 01-.275.06zm-4.346-6.54a.697.697 0 01-.655-.477.69.69 0 01.445-.865l10.094-3.248a.687.687 0 11.421 1.31l-10.094 3.248a.856.856 0 01-.211.032z fill#D47455>/path>path dM203.942 299.026l-20.349-9.06 28.602-7.245 20.345 9.054-28.598 7.251z fill#E5F1FF>/path>path dM210.267 294.184c-.018 0-.037 0-.051-.004l-2.917-.33a.46.46 0 01-.202-.838l.133-.087a9.788 9.788 0 00-5.056-.38.46.46 0 01-.527-.371.457.457 0 01.367-.532c.018-.004.036-.004.055-.009a1.37 1.37 0 00.851-.614 1.56 1.56 0 00.243-.65l-5.679.834a.457.457 0 01-.133-.903l6.169-.907a.46.46 0 01.513.344c.138.568.028 1.191-.302 1.727 1.608-.042 3.22.284 4.676.948a.459.459 0 01.193.664l1.731.197c.252.027.43.256.403.508a.484.484 0 01-.467.403zm6.568-2.826h-.014c-.87-.027-1.667-.595-2.02-1.374-1.113.257-2.327.399-3.316-.242-.641-.417-1.03-1.113-1.049-1.809l-2.464.1a.451.451 0 01-.476-.439.46.46 0 01.44-.477l3-.119a.446.446 0 01.38.179.468.468 0 01.073.417c-.147.462.114 1.071.591 1.383.806.522 1.928.297 3.009.023a.464.464 0 01.357.055.464.464 0 01.206.297c.119.596.692 1.077 1.296 1.095.252.009.449.22.445.472a.456.456 0 01-.458.439z fill#5C5E73>/path>path dM227.203 257.035a.686.686 0 01-.082-1.369l10.218-1.264a.685.685 0 11.169 1.36l-10.218 1.264a.559.559 0 01-.087.009z fill#D47455>/path>path dM277.483 94.83c2.286-2.858 5.167-3.023 6.696-2.785 8.263 1.296 3.573 17.432-9.59 14.523.458-4.561.65-7.474 2.894-11.738z fill#FFB487>/path>path dM280.607 99.364a.689.689 0 01-.591-1.04c.44-.741 2.116-3.045 5.263-1.62a.687.687 0 01.343.906.687.687 0 01-.906.344c-1.974-.893-3.051.284-3.513 1.067a.69.69 0 01-.596.343z fill#D47455>/path>path dM280.217 110.699c1.758 0 3.183-1.634 3.183-3.65s-1.425-3.651-3.183-3.651c-1.758 0-3.183 1.635-3.183 3.651s1.425 3.65 3.183 3.65z fill#252833>/path>path dM251.304 95.726c-.344 0-.683-.156-.912-.449-1.978-2.583-4.758-3.188-8.5-1.855a1.14 1.14 0 01-1.461-.696 1.141 1.141 0 01.696-1.461c4.736-1.686 8.464-.806 11.088 2.62a1.143 1.143 0 01-.911 1.84z fill#fff>/path>path dM49 231.88h2.592c5.232 0 7.92-2.544 7.92-7.488v-9.12c0-2.112.816-3.312 3.792-3.312v-5.04c-2.976 0-3.792-1.2-3.792-3.264v-9.168c0-4.944-2.688-7.488-7.92-7.488H49v5.04h2.592c1.68 0 2.4.72 2.4 2.448v9.168c0 3.552 1.632 4.8 4.176 5.376v.768c-2.592.576-4.176 1.872-4.176 5.472v9.12c0 1.728-.72 2.448-2.4 2.448H49v5.04z fill#FF5773>/path>rect y49 width42 height42 rx10.5 fill#29CC90>/rect>path fill-ruleevenodd clip-ruleevenodd dM26.157 61.884c-.383.664-.383 1.556-.383 3.34v4.773h4.772c1.785 0 2.677 0 3.341-.383a2.864 2.864 0 001.048-1.049c.384-.664.384-1.556.384-3.34 0-1.785 0-2.677-.384-3.341a2.864 2.864 0 00-1.048-1.049c-.664-.383-1.556-.383-3.34-.383-1.785 0-2.677 0-3.342.383a2.865 2.865 0 00-1.048 1.049zM6.682 65.225c0-1.784 0-2.676.383-3.34a2.864 2.864 0 011.048-1.049c.665-.384 1.557-.384 3.341-.384 1.785 0 2.677 0 3.341.384.436.251.797.613 1.048 1.048.384.665.384 1.557.384 3.341v4.773h-4.773c-1.784 0-2.676 0-3.34-.384a2.864 2.864 0 01-1.049-1.048c-.383-.665-.383-1.557-.383-3.34zM16.226 70h9.546v4.773c0 1.784 0 2.676-.384 3.34a2.864 2.864 0 01-1.048 1.049c-.665.383-1.557.383-3.34.383-1.785 0-2.677 0-3.342-.383a2.864 2.864 0 01-1.048-1.048c-.384-.665-.384-1.557-.384-3.341V70z fill#fff>/path>/svg>/div>/div>/div>/main>footer classsc-FRrlG cIjgB>div classsc-hhIiOg sc-fXazdy iwisNA UjHkE>span classsc-gGLxEB dGJRan>© !-- -->2022!-- --> ВКонтакте/span>div classsc-ckTSus kVjkXt>a href/support classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>Поддержка/a>a href/rules classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>Правила/a>/div>div classsc-fbIWvP jREztg>a hrefhttps://vk.com/dev target_blank classsc-crzoAE dZOaNR sc-lmgQwP bYaJkM>vk.com!-- -->/dev/a>/div>/div>/footer>/div>div classvkuiPanel__in-after Panel__in-after>/div>/div>/div>/div>/div>/div>div classvkuiView__modal View__modal>/div>/section>/div>/div>script id__NEXT_DATA__ typeapplication/json>{props:{pageProps:{initialState:{user:{isAnonymousToken:false,isAuthorized:false,isLoading:false,accessToken:anonym.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhbm9ueW1faWQiOjExNDE5MTAwMDYsImFwcF9pZCI6NzU5ODc2OCwiaWF0IjoxNjY4NDA0MzE5LCJpc192ZXJpZmllZCI6ZmFsc2UsImV4cCI6MTY2ODQ5MDcxOSwic2lnbmVkX3RpbWUiOm51bGx9.1e_Vl6funhX2tFh4XM6FbjHrbus9dCQ7Srqfav6F4eE,id:null,auth:{app_id:7598768,version:1,cookie:{remixlang:0,remixstlid:9079482505871034863_XOO8z2iWta5Q0bFpg50t0yhjWqDfwzZaTuGATFOjTOX,remixlgck:226891646c1ba321e0,remixrefkey:e9d0c3d95bfb7fdcd9,remixscreen_width:1536,remixscreen_height:864,remixscreen_dpr:1.25,remixscreen_depth:24,remixscreen_orient:1,remixscreen_winzoom:1,remixdt:0,remixdark_color_scheme:0,remixcolor_scheme_mode:auto,remixgp:19371035605eab381c3831602a6b11df,remixlns:5e35ed1435f3a21956}}},general:{layoutType:external,pageType:main,template:/,mode:internal,lang:ru,isUserSelectBlocked:false},pages:{documentationPagesCache:{/method/messages.removeChatUser:{type:method,layout:internal,template:/method,contents:{title:messages.removeChatUser,id:messages.removeChatUser,description:Исключает из мультидиалога пользователя, если текущий пользователь или сообщество является администратором беседы либо текущий пользователь пригласил исключаемого пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.removeChatUser,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:925,id:,description:You are not admin of this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:935,id:,description:User not found in chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:936,id:,description:Contact not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:945,id:,description:Chat was disabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:946,id:,description:Chat not supported,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:chat_id,description:Идентификатор беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:user_id,description:Идентификатор пользователя, которого необходимо исключить из беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:member_id,description:Идентификатор участника, которого необходимо исключить из беседы. Для сообществ — идентификатор сообщества со знаком «минус».,type:string,minLength:null,maxLength:null,fromVersion:5.81,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:messages.editChat,id:messages.editChat,description:Изменяет название беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.editChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},{title:messages.getChatUsers,id:messages.getChatUsers,description:Позволяет получить список пользователей мультидиалога по его `id`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChatUsers,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},linkedVersions:{title:5.88,id:version/5.88,description:Метод messages.removeChatUser(messages.removeChatUser) возвращает ошибку \935: User not found in chat\, если пользователя нет в чате.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:5.81,id:version/5.81,description:Метод messages.removeChatUser(messages.removeChatUser) принимает новый параметр **member_id** (integer). В Callback API и Bots Longpoll добавлено новое событие(api/events/overview) — платёж через VK Pay.\n\nМетод messages.deleteConversation(messages.deleteConversation) в ответе возвращает поле **last_deleted_id**, содержащее идентификатор последнего удалённого сообщения.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668431986887,isManuallyExpired:false},/widgets/comments:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Комментарии,id:widgets__comments,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/comments,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Комментарии\n\nПри помощи виджета ВКонтакте вы можете за 5 минут добавить на ваш сайт возможность комментирования статей и других материалов. Пользователи смогут комментировать ваши материалы без дополнительной регистрации.\n\nПри желании, каждый оставленный комментарий может транслироваться на страницу комментатора ВКонтакте со ссылкой на исходную статью. Со страницы автора и из раздела **Новости** о статье узнают друзья автора и смогут присоединиться к дискуссии.\n\nВ этом случае комментарии второго уровня будут синхронизироваться между ВКонтакте и виджетом на вашем сайте, так что обсуждение будет происходить одновременно на двух площадках, привлекая внимание новых участников.\n\n## Преимущества виджета ВКонтакте\n\n1. **Масштаб**. Необходимость регистрации является дополнительной преградой при оставлении комментария, в результате чего общение часто приобретает анонимный или ограниченный характер. ВКонтакте зарегистрированы практически все пользователи Рунета, поэтому любой читатель сможет сразу прокомментировать ваш материал от своего настоящего имени – с фотографией и ссылкой на подробную информацию о себе.\n\n2. **Вирусность**. Каждый комментарий, оставленный через виджет, может автоматически транслироваться на страницу прокомментировавшего, а также попадает в **Новости** для его друзей. Такой комментарий всегда содержит ссылку на исходную статью. В результате о комментарии и существовании статьи узнают друзья комментатора, которые смогут присоединиться к дискуссии. Об их комментариях в свою очередь будут оповещены уже их друзья – и так далее. Дальше информация может распространяться лавинообразно.\n\n3. **Многомерность**. Виджет ВКонтакте предусматривает возможность ответа на комментарии, причем ответы одновременно появляются как на странице статьи, так и на странице автора комментария, а также в новостях у его друзей. Автоматическая синхронизация ответов на комментарии приводит к тому, что ваш материал обсуждается сразу на нескольких площадках, каждая из которых приносит внимание новых пользователей к исходной статье.\n\n4. **Скорость**. В отличие от других возможностей социализации, виджет ВКонтакте очень прост в установке и может быть внедрён на все страницы вашего сайта в течение 5 минут. Для достижения высокой скорости установки и работы виджета мы применили новейшие технологии и задействовали десятки наиболее мощных серверов ВКонтакте.\n\n5. **Контроль**. Администратор сайта, устанавливающий код виджета, имеет возможность модерировать дискуссию прямо со страниц своего ресурса, удаляя нежелательные комментарии. Администратор также может назначать любое количество дополнительных модераторов, которые смогут обеспечивать порядок через удобный интерфейс.\n\n6. **Цитируемость**. Каждый комментарий может становиться статусом пользователя ВКонтакте и содержит ссылку на ваш ресурс. Комментарий появляется не только в новостях у друзей пользователя, но и в поиске по статусам ВКонтакте. Благодаря партнерству между ВКонтакте и Яндексом данные статусы в течение месяца будут индексироваться в поиске Яндекса в режиме реального времени, что станет источником дополнительной посещаемости для сайтов, разместивших виджет.\n\n7. **Независимость**. Тексты всех комментариев хранятся и обрабатываются на серверах ВКонтакте, однако мы предоставляем API для администраторов сайтов, который позволяет сохранять все комментарии и на собственных серверах. Это не только предоставляет расширенные возможности для анализа комментариев, но и позволяет, в случае возникновения необходимости, отказаться от интеграции с ВКонтакте.\n\n8. **Гибкость**. Предложив ряд уникальных преимуществ, мы постарались сделать виджет комментариев максимально привлекательным для администраторов и пользователей сайтов. Однако мы понимаем, что российские новостные и развлекательные ресурсы могут нуждаться в дополнительных возможностях настройки виджета. Мы всегда готовы пойти навстречу владельцам сайтов. Для реализации конкретных интересных предложений, пожалуйста, обращайтесь в нашу пресс-службу (email: press@vk.com). \n\n## Подключение виджета\n\nЧтобы добавить виджет комментариев ВКонтакте на свой сайт, выполните эти три шага:\n\nШаг 1. В тег `\u003chead\u003e` на странице вашего сайта добавьте подключение `openapi.js`:\n\n```HTML\n \u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n \nШаг 2. В тело страницы сайта добавьте код для инициализации Open API:\n\n```HTML\n\u003cscript type\text/javascript\\u003e\n VK.init({\n apiId: ВАШ_API_ID,\n onlyWidgets: true\n });\n\u003c/script\u003e\n```\n\nЧитайте подробнее про инициализацию транспорта(api/open-api/getting-started).\n\nШаг 3. В тело страницы добавьте элемент `DIV`, в котором будут отображаться комментарии, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_comments\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.Comments(vk_comments);\n\u003c/script\u003e\n```\n\nПриведённый код добавляет блок комментариев стандартного вида: изначально отображаются 10 последних комментариев. Ширина блока будет подобрана автоматически исходя из положения элемента с `id\vk_comments\`. Идентификатор странице будет задан по её URL.\n\nЕсли на вашем сайте уже используется Open API(api/open-api/getting-started), добавить виджет ещё проще. Достаточно просто добавить инициализацию виджета.\n\n## Дополнительные настройки\n\nМетод `VK.Widgets.Comments` принимает три параметра:\n\n* `element_id` (`string`), обязательный параметр — id элемента, который будет являться контейнером для блока комментариев. В нашем конструкторе по умолчанию используется значение `vk_comments`.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержат поля:\n * `width` (`integer`) — ширина блока в пикселах. Минимальное значение: `300`. Если параметр не указан, виджет займёт всю доступную ширину.\n * `height` (`integer`) — максимальная высота блока в пикселах. Минимальное значение: `500`. Если `height 0`, то высота не ограничена. Если высота содержимого виджета больше максимально допустимой, появляется внутренняя прокрутка. Значение по умолчанию: `0`.\n * `limit` (`integer`) — максимальное число комментариев на странице. Минимальное значение: `5`, максимальное значение: `100`.\n * `attach` (`string`) — возможные типы вложений. Определяет состав меню «Прикрепить». Строка, содержащая перечисленные через запятую типы допустимых прикреплений либо false в случае отключения этой функции. Возможные типы: `graffiti`, `photo`, `audio`, `video`, `link`. Значение `\*\` включает все типы. Значение по умолчанию - `\*\`.\n * `autoPublish` (`integer`, `0,1`) — автоматическая публикация комментария на странице пользователя. Возможные значения: `0` — отключена, `1` — включена. По умолчанию: `0`.\n * `norealtime` (`integer`, `0,1`) — обновление ленты комментариев в режиме реального времени. `0` — включено, `1` — отключено. По умолчанию: `0`.\n * `pageUrl` (`string`) — URL страницы, ссылка на которую будет прикреплена к комментарию при его публикации на странице ВКонтакте.\n * `page_id` (`string`) — внутренний идентификатор страницы. Используйте `page_id`, чтобы разместить два и более независимых виджетов на одной странице. Стоит указывать сразу при установке виджета для упрощения переноса виджета в будущем, при необходимости.\n\n## События\n\nПри публикации комментария виджет передаёт событие `widgets.comments.new_comment`, а при удалении — `widgets.comments.delete_comment`. Вы можете обрабатывать эти события, используя `VK.Observer`. В функцию-обработчик будут переданы 4 параметра:\n\n* `num` (`integer`) — количество комментариев;\n* `last_comment` (`string`) — текст последнего комментария;\n* `date` (`string`) — текущая дата в формате `ISO 8601` (например, `2004-02-12T15:19:21+00:00`);\n* `sign` (`string`) — контрольная сумма `md5` от конкатенации четырёх строк: `api_secret`, `date`, `num`, `last_comment`. В языке `PHP` может быть получена с помощью `md5($api_secret.$date.$num.$last_comment)`. Защищённый секрет `api_secret` вы можете узнать при редактировании своего приложения в графе «Защищённый ключ».\n\nВ большинстве случаев, можно игнорировать последние два параметра и обрабатывать только первые два. В случае необходимости, можно проверять корректность контрольной суммы.\n\n#### Пример использования\n\n```HTML\n\u003cdiv id\vk_comments\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n window.onload function () {\n VK.init({apiId: 111, onlyWidgets: true});\n VK.Widgets.Comments(vk_comments, {width: 500, limit: 15}, 321);\n }\n\u003c/script\u003e\n```\n\n## Администрирование виджета\n\nДля модерации комментариев в интерфейсе виджета предусмотрена панель администрирования. Доступ к ней имеют все администраторы приложения ВКонтакте, к которому подключен виджет. Перейти к интерфейсу модерации можно по ссылке «администрирование» в шапке виджета на любой странице вашего сайта.\n\nПанель состоит из трех вкладок:\n\n* **Обзор**. На этой вкладке отображаются недавние комментарии на вашем сайте, отсортированные в порядке добавления, начиная с более новых. Рядом с каждым комментарием есть ссылка на страницу, к которой он относится. Администратор может удалить любой комментарий. При этом при удалении двух и более комментариев одного автора подряд администратору будет предложено удалить все остальные комментарии этого автора в приложении и добавить его в чёрный список.\n \n !altПример;title;width100%;height100%(de2f4c9f97ee70f9d5580df89fab72c87e89c6f0462de742a022f633 \-5288199510847509754\)\n \n* **Комментарии**. На этой вкладке отображаются комментарии второго уровня.\n\n !altПример;title;width100%;height100%(a32281941cc19892ac1a0a318efc9d9d229c7bfc9421e8e6ab1794f1 \-8095107076863912321\)\n\n* **Чёрный список**. На этой вкладке отображаются пользователи, добавленные в чёрный список. Пользователи, находящиеся в этом списке, не имеют возможности комментировать материалы на вашем сайте через виджет ВКонтакте.\n\n !altПример;title;width100%;height100%(d9d3ccb73163f351f694e0e4d80be953d3e2f3174a1f623c490605c5 \8195987595617139659\)\n\n## Обзор комментариев\n\nМетод `VK.Widgets.CommentsBrowse` позволяет отображать комментарии со всех страниц вашего сайта единым потоком. У каждого комментария есть ссылка на страницу сайта, где он был опубликован.\n\nОн принимает два параметра:\n\n* `element_id` (`string`), обязательный параметр — id элемента, который будет являться контейнером для блока с обзором комментариев.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержат поля:\n * `width` (`integer`) — ширина блока в пикселах. Минимальное значение: `300`.\n * `height` (`integer`) — максимальная высота блока в пикселах. Минимальное значение: `500`. Если `height 0`, то высота не ограничена. Если высота содержимого виджета больше максимально допустимой, появляется внутренняя прокрутка. Значение по умолчанию: `0`.\n * `limit` (`integer`) — максимальное число комментариев на странице. Минимальное значение: `5`, максимальное значение: `100`.\n * `mini` (`string`) — минималистичный вид блока (уменьшенный шрифт, уменьшенные миниатюры прикреплений, уменьшенные профильные изображения для комментариев второго уровня). Возможные значения: `0` — отключён, `1` — включён, `\auto\`— выбирать автоматически в зависимости от доступной ширины. По умолчанию:`\auto\`.\n * `norealtime` (`integer, 0,1`) — обновление ленты комментариев в режиме реального времени. `0` — включено, `1` — отключено. По умолчанию: `0`.\n\n#### Пример использования\n\n```HTML\n\u003cdiv id\vk_comments_browse\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\nwindow.onload function () {\n VK.init({apiId: 111, onlyWidgets: true});\n VK.Widgets.CommentsBrowse(vk_comments_browse, {width: 500, limit: 5, mini: 0});\n}\n\u003c/script\u003e\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668432036601,isManuallyExpired:false},/widgets/group:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Виджет для сообществ,id:widgets__group,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/group,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Сообщества\n\nВиджет для сообществ тесно свяжет ваш сайт с соответствующей группой или официальной страницей ВКонтакте. Виджет позволяет подписаться на новости сообщества, не покидая страницы.\n\nВ виджете могут отображаться фотографии друзей пользователя и других участников сообщества. По ссылке «Подписаны» доступна демографическая статистика по участникам.\n\nВместо фотографий также могут отображаться новости сообщества. В этом случае внизу виджета будет располагаться небольшой блок с фотографией самого близкого друга пользователя из числа подписавшихся и списком остальных друзей, состоящих в сообществе. При прокрутке блока вниз автоматически подгружаются более старые записи. \n\n## Подключение виджета\n\nЧтобы добавить на свой сайт виджет сообщества ВКонтакте, выполните эти шаги:\n\nШаг 1. В тег `\u003chead\u003e` на странице сайта добавьте подключение `openapi.js`:\n\n```HTML\n \u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nШаг 2. В тело страницы сайта добавьте код для инициализации Open API:\n\n```HTML\n\u003cscript type\text/javascript\\u003e\n VK.init({\n apiId: ВАШ_API_ID,\n onlyWidgets: true\n });\n\u003c/script\u003e\n```\n\nЧитайте подробнее про инициализацию транспорта(api/open-api/getting-started).\n\nВ тело страницы добавьте элемент `\u003cdiv\u003e`, в котором будут отображаться комментарии, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_groups\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.Group(\vk_groups\, {mode: 0, width: \220\, height: \400\}, 1);\n\u003c/script\u003e\n```\n\nЭтот код добавляет блок сообщества стандартного вида: изначально отображаются 12 пользователей. Количество пользователей будет выбрано автоматически исходя из параметров `width` и `height`.\n\nЕсли на вашем сайте уже используется Open API(api/open-api/getting-started), добавить виджет ещё проще. Достаточно просто добавить инициализацию виджета.\n\n## Дополнительные настройки\n\nМетод `VK.Widgets.Group` принимает параметры:\n\n* `element_id` (`string`), обязательный параметр — `id` элемента, который будет являться контейнером для блока сообщества. В нашем конструкторе по умолчанию используется значение `vk_groups`.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержать поля:\n * `width` — ширина блока в пикселах. Минимальное значение: `120`. При значении `auto` подстраивается под ширину родительского блока.\n * `height` — высота блока в пикселах. Минимальное значение: `200`. Максимальное значение: `1200`. Обратите внимание, для `mode 1` или `3` параметр недоступен, высота определяется автоматически в зависимости от размера родительского блока.\n * `mode` — режим отображения. Возможные значения:\n `1` — отображать только название сообщества; \n `3` — отображать участников сообщества;\n `4` — отображать стену сообщества.\n * `no_cover` — отображение обложки сообщества. `1` — не отображать, `0` — отображать (по умолчанию).\n * `wide` — расширенный режим. Возможные значения: `0` — отключён, `1` — включен. Если `mode 2`, в этом режиме добавляется кнопка «Мне нравится» и фотография сообщества.\n * `color1` — цвет фона виджета в формате `RRGGBB`.\n * `color2` — цвет текста в формате `RRGGBB`.\n * `color3` — цвет кнопок в формате `RRGGBB`.\n* `group_id` — идентификатор сообщества. Указывается без знака `-` (минус).\n\n## События\n\nПри клике на кнопку **Подписаться** виджет передаёт событие `widgets.groups.joined`. Если участник покидает сообщество с помощью виджета, передаётся событие `widgets.groups.leaved`. Вы можете обрабатывать эти события, используя Open API(api/open-api/getting-started#Обработка%20событий).\n\n## Пример использования\n\n```HTML\n\u003cdiv id\vk_groups\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.Group(\vk_groups\, {mode: 0, width: \400\, height: \400\}, 1);\n\u003c/script\u003e\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668432193879,isManuallyExpired:false},/method/users.get:{type:method,layout:internal,template:/method,contents:{title:users.get,id:users.get,description:Возвращает расширенную информацию о пользователях.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/users.get,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,group_access,children:,text:\n,errors:,parameters:{name:user_ids,description:Перечисленные через запятую идентификаторы пользователей или их короткие имена (`screen_name`). По умолчанию — идентификатор текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей профилей, которые необходимо вернуть. См. подробное описание(reference/objects/user).\n\nДоступные значения:\n* `activities`,\n* `about`, \n* `blacklisted`,\n* `blacklisted_by_me`,\n* `books`,\n* `bdate`,\n* `can_be_invited_group`,\n* `can_post`,\n* `can_see_all_posts`,\n* `can_see_audio`,\n* `can_send_friend_request`, \n* `can_write_private_message`, \n* `career`,\n* `common_count`,\n* `connections`,\n* `contacts`,\n* `city`,\n* `country`,\n* `crop_photo`,\n* `domain`,\n* `education`,\n* `exports`,\n* `followers_count`,\n* `friend_status`,\n* `has_photo`,\n* `has_mobile`,\n* `home_town`,\n* `photo_100`,\n* `photo_200`,\n* `photo_200_orig`,\n* `photo_400_orig`,\n* `photo_50`,\n* `sex`,\n* `site`,\n* `schools`,\n* `screen_name`,\n* `status`,\n* `verified`,\n* `games`,\n* `interests`,\n* `is_favorite`,\n* `is_friend`,\n* `is_hidden_from_feed`,\n* `last_seen`,\n* `maiden_name`,\n* `military`,\n* `movies`,\n* `music`,\n* `nickname`,\n* `occupation`,\n* `online`,\n* `personal`,\n* `photo_id`,\n* `photo_max`,\n* `photo_max_orig`,\n* `quotes`,\n* `relation`,\n* `relatives`,\n* `timezone`,\n* `tv`,\n* `universities`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:name_case,description:Падеж для склонения имени и фамилии пользователя. \nВозможные значения: \n* именительный – `nom`,\n* родительный – `gen`,\n* дательный – `dat`,\n* винительный – `acc`,\n* творительный – `ins`,\n* предложный – `abl`. \n\nПо умолчанию `nom`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:Поля `counters`, `military` будут возвращены только в случае, если передан ровно один `user_id`. \n\n ,resultDescription:После успешного выполнения возвращает массив объектов пользователей(reference/objects/user).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668479581424,isManuallyExpired:false},/api/upload:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Публикации | Загрузка файлов,id:api__upload,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/upload,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Загрузка файлов\n\nВозможность поделиться с друзьями своей фотографией, прикрепить документ или понравившийся видеоклип очень важна для многих пользователей. Реализовав эту функциональность, вы сделаете свое приложение более привлекательным и востребованным.\n\nПроцесс загрузки любого файла состоит из трех стандартных этапов:\n\n1. Получение адреса для загрузки.\n\n2. Передача содержимого файлов на полученный адрес в формате `multipart/form-data`(https://ru.wikipedia.org/wiki/Multipart/form-data).\n\n3. Сохранение информации о загруженном файле.\n\nДетали процесса загрузки (например, название поля с файлом в `POST`-запросе) могут различаться в зависимости от типа файла. Ниже представлено подробное руководство для всех типов медиаконтента.\n\n## Загрузка фотографий в альбом\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** не более **5** фотографий за один раз, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `file{i}, i1..5`.\n\n#### Получение адреса\n\nВызовите метод `photos.getUploadServer`(method/photos.getUploadServer), чтобы получить адрес для загрузки фото. Для загрузки фотографии в сообщество необходимо передать идентификатор сообщества в параметре `group_id`.\n\n#### Передача файла\n\nПередайте файлы на адрес `upload_url`, полученный в предыдущем пункте, сформировав POST-запрос с полями `file1`-`file5`. Эти поля должны содержать изображения в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photos_list`, `hash`, `aid`:\n\n```JSON\n{\n \server\:123456,\n \photos_list\:\{\\\photo\\\:\\\e9f2eba71b:y\\\,\\\sizes\\\:\\\s\\\,\\\123456852\\\,\\\e65f\\\,\\\Br4ir9YAvO8\\\,75,41,\\\m\\\,\\\123456852\\\,\\\e660\\\,\\\Lqpe1N8s8zY\\\,130,71,\\\x\\\,\\\123456852\\\,\\\e661\\\,\\\tRFbnaIP_4c\\\,604,330,\\\y\\\,\\\123456852\\\,\\\e662\\\,\\\8JhBOy0qR6o\\\,748,409,\\\kid\\\:\\\569c3da3b168b347315aa5adc92a953a\\\,\\\debug\\\:\\\xsymyxyyyoypyqyry\\\}\,\n \aid\:98754321,\n \hash\:\22b333dbbef7cd9b1f9829b5f8713f86\\n}\n```\n\nПоля `server` и `aid` содержат числовые значения, в `hash` возвращается строка, а в поле `photos_list` находится строка с JSON-объектом, структуру которого важно сохранить в исходном виде. В PHP вы можете использовать `json_decode()` для всего ответа.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографии в альбоме, вызовите метод `photos.save`(method/photos.save) с параметрами `server`, `photos_list`, `aid`, `hash`, полученными на предыдущем этапе.\n\n## Загрузка фотографий на стену\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** не более **6** фотографий за один раз в методе `photos.saveWallPhoto`(method/photos.saveWallPhoto), сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `photo`.\n\n#### Получение адреса\n\nВызовите метод `photos.getWallUploadServer`(method/photos.getWallUploadServer), чтобы получить адрес для загрузки фото. Для загрузки фотографии в сообщество необходимо передать идентификатор сообщества в параметре `group_id`.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав POST-запрос с полем `photo`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photo`, `hash`:\n\n```JSON\n{\n \server\: 123456,\n \photo\: \{\\\photo\\\:\\\26f1e24c4c:w\\\,\\\sizes\\\:\\\s\\\,\\\123456852\\\,\\\15e88\\\,\\\01qMnm6kJ-U\\\,56,75,\\\m\\\,\\\123456852\\\,\\\15e89\\\,\\\Y9BJ8lGrL_0\\\,97,130,\\\x\\\,\\\123456852\\\,\\\15e8a\\\,\\\wVmxGPX0i88\\\,453,604,\\\y\\\,\\\123456852\\\,\\\15e8b\\\,\\\ZGgaSculk1E\\\,605,807,\\\z\\\,\\\123456852\\\,\\\15e8c\\\,\\\yl_hClRMfG8\\\,810,1080,\\\kid\\\:\\\95574768563a263c4a275f4af50a9425\\\,\\\debug\\\:\\\xswmwxwywzwwwowpwqwrw\\\}\,\n \hash\: \ed06bb07ef7a128fdae22decad8291f7\\n}\n```\n\nПоле `server` содержит числовое значение, в `hash` возвращается строка, а в поле `photo` находится JSON-объект, структуру которого важно сохранить в исходном виде. В PHP вы можете использовать `json_decode()` для всего ответа.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод `photos.saveWallPhoto`(method/photos.saveWallPhoto) с параметрами `server`, `photo`, `hash`, полученными на предыдущем этапе. \n\n#### Публикация фотографии\n\nПосле успешной загрузки фотографии вы можете разместить её на стене, опубликовав запись с помощью метода `wall.post`(method/wall.post) и указав идентификатор фотографии в формате `\photo\ + {owner_id} + \_\ + {photo_id}` (например, `photo12345_654321`) в параметре `attachments`. В `{owner_id}` необходимо указывать то же значение, которое пришло Вам в ответе от метода `photos.saveWallPhoto`(method/photos.saveWallPhoto).\n\n## Загрузка главной фотографии пользователя или сообщества\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** размер не менее 200px x 200px, соотношение сторон от 0.25 до 3, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `photo`.\n\n#### Получение адреса\n\nВызовите метод , чтобы получить адрес для загрузки фото. Для загрузки главной фотографии сообщества необходимо передать его идентификатор со знаком «минус» в параметре `owner_id`.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав POST-запрос с полем `photo`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nДополнительно вы можете передать параметр `_square_crop` в формате `x,y,w`, где `x` и `y` — координаты верхнего правого угла миниатюры, а `w` — сторона квадрата. Тогда для фотографии также будет подготовлена квадратная миниатюра.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photo`, `mid`, `hash`, `message_code`, `profile_aid`:\n\n```JSON\n{\n \server\: 999,\n \photo\: \eyJvaWQiOjIzMTQ4NTIsInBob3RvIjp7InBob3RvIjoiZmEyZjViNmMzYjp3Iiwic2l6ZXMiOltbInMiLCI2MjY2Mjc4NTGRkMThjYTY2NjZmMjI3NTRkODAxNDUyNDUzOSJ9\,\n \mid\: 2314852,\n \hash\: \7448f93f405dfd5c444f5d4aabb84942\,\n \message_code\: 2,\n \profile_aid\: -6\n}\n```\n\nПоля `server`, `mid`, `message_code`, `profile_aid` содержат числовые значения, а в полях `hash` и `photo` возвращаются строки.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод с параметрами `server`, `photo`, `hash`, полученными на предыдущем этапе.\n\nВ iFrame-приложении действуйте следующим образом:\n\n* С помощью Javascript SDK(sdk/javascript) вызовите метод photos.saveOwnerPhoto(method/photos.saveOwnerPhoto) с параметрами `server, photo` и `hash`. В приложении откроется окно предупреждения для сохранения новой фотографии. Если пользователь соглашается, то фотография успешно сохраняется и возвращается параметр `photo_src`. При этом выполнять следующий пункт не нужно. \nЕсли вы вызываете через прямое обращение к API, то Вам необходимо дополнительно выполнить следующий пункт.\n\n Вызовите метод Client API `showProfilePhotoBox`(sdk/javascript) с параметром `photo_hash`. В приложении будет отображено окно для подтверждения изменения фотографии. \n\n## Загрузка фотографии в личное сообщение\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `photo`.\n\n#### Получение адреса\n\nВызовите метод `photos.getMessagesUploadServer`(method/photos.getMessagesUploadServer), чтобы получить адрес для загрузки фото. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав POST-запрос с полем `photo`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photo`, `hash`:\n\n```JSON\n{\n \server\: 626627,\n \photo\: \{\\\photo\\\:\\\190ab6eadf:w\\\,\\\sizes\\\:\\\s\\\,\\\626627852\\\,\\\e6a3\\\,\\\lMU557Tx-78\\\,75,56,\\\m\\\,\\\626627852\\\,\\\e6a4\\\,\\\hq8g5CzPmXs\\\,130,97,\\\x\\\,\\\626627852\\\,\\\e6a5\\\,\\\c-_TPYB_rIU\\\,604,453,\\\kid\\\:\\\72cfb87071e2d6624a38167524d5b4aa\\\,\\\debug\\\:\\\xswmwxwywzwwwowpwqwrw\\\}\,\n \hash\: \581d7a4ffc81e2bfe90016d8b35c288d\\n}\n```\n\nПоле `server` содержит числовое значение, в `hash` возвращается строка, а в поле `photo` находится JSON-объект, структуру которого важно сохранить в исходном виде. В PHP вы можете использовать `json_decode()` для всего ответа.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод `photos.saveMessagesPhoto`(method/photos.saveMessagesPhoto) с параметрами `server`, `photo`, `hash`, полученными на предыдущем этапе.\n\nПосле успешной загрузки фотографии вы можете прикрепить ее к личному сообщению, используя метод `messages.send`(method/messages.send) и указав данные фотографии в параметре `attachment`. \n\n## Загрузка главной фотографии для чата\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** минимальный размер фото — 200px x 200px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `file`.\n\n#### Получение адреса\n\nВызовите метод , чтобы получить адрес для загрузки фото.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав POST-запрос с полем `file`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полем `response`:\n\n```JSON\n{\n \response\: \eyJvaWQiOjIwMDAwMDAyMDUsInBob3RvIjp7InBob3RvIjoiZTNlMTM1ZDBjNDp4Iiwic2l6ZXMiOltbInMiLCI2MzM3cGZ3Iiw3NSw1M10sWyJtIiwiNjMzNzI1ODUyIiwzMzcyNSwibWlkIjoyMzE0ODUyLCJfc2lnIjoiNmU2YjdhZGU1MDkwYTM5NDg5ZGU0ZmM1Yjg0YTU3YmQifQ\\n}\n``` \n\nПоле `response` содержит строку.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод `messages.setChatPhoto`(method/messages.setChatPhoto), передав в параметре `file` содержимое поля `response`, полученного на предыдущем этапе. \n\n## Загрузка фотографии для товара\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** минимальный размер фото — 400px x 400px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\n**Поле POST-запроса:** `file`.\n\n#### Получение адреса\n\nВызовите метод , чтобы получить адрес для загрузки фото. Если вы хотите загрузить основную фотографию товара, необходимо передать параметр `main_photo` 1. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photo`, `hash`, `crop_data`, `crop_hash`:\n\n```JSON\n{\n \server\: 625831,\n \photo\: \{\\\photo\\\:\\\8d81799f90:w\\\,\\\sizes\\\:\\\s\\\,\\\625831075\\\,\\\45839\\\,\\\-5fbUeQq1YY\\\,75,56,\\\m\\\,\\\625831075\\\,\\\4583a\\\,\\\G8yAYbsk7M4\\\,130,97}\,\n \hash\: \8954a4da5ba06d4e\,\n \crop_data\: \oAAmMpwAAAAAlTWyjA\,\n \crop_hash\: \729155760247b391134\\n}\n```\n\nДля дополнительной фотографии поля `crop_data` и `crop_hash` не возвращаются.\n\nПоле `server` содержит числовое значение, в `hash`, `crop_data` и `crop_hash` возвращаются строки, а в поле `photo` находится JSON-объект, структуру которого важно сохранить в исходном виде (убрав, однако, экранирование символов перед дальнейшим использованием). В PHP вы можете использовать `json_decode()` для всего ответа и затем `stripslashes()` для объекта `photo`.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод с параметрами `server`, `photo`, `crop_data`, `crop_hash`, полученными на предыдущем этапе. Если фотография не основная, поля `crop_data` и `crop_hash` передавать не нужно.\n\nПосле успешной загрузки фотографии вы можете прикрепить ее к товару, используя методы `market.add`(method/market.add) или `market.edit`(method/market.edit) и указав идентификатор фотографии в параметре `main_photo_id` или `photo_id`.\n\n## Загрузка фотографии для подборки товаров\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** минимальный размер фото — 1280px x 720px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт, соотношение сторон не менее 1:20.\n\nНазвание поля POST-запроса: `file`.\n\n#### Получение адреса\n\nВызовите метод , чтобы получить адрес для загрузки фото. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `server`, `photo`, `gid`, `hash`:\n\n```JSON\n{\n \server\: 999,\n \photo\: \eyJwaG90byI6IntcInBob\,\n \gid\: 102416739,\n \hash\: \0adc3bd6509fdcf97052b0594c4063ff\\n}\n```\n\nПоля `server` и `gid` содержат числовые значения, а в полях `photo` и `hash` возвращаются строки.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод с параметрами `server`, `photo`, `hash`, полученными на предыдущем этапе.\n\nПосле успешной загрузки фотографии вы можете прикрепить ее к подборке товаров, используя методы `market.addAlbum`(method/market.addAlbum) или `market.editAlbum`(method/market.editAlbum) и указав идентификатор фотографии в параметре `photo_id`. \n\n## Загрузка аудиозаписей\n\n**Допустимые форматы:** MP3.\n\n**Ограничения:** файл объемом не более 200 МБайт.\n\n**Поле POST-запроса:** `file`.\n\n#### Получение адреса\n\nВызовите метод `audio.getUploadServer`(method/audio.getUploadServer), чтобы получить адрес для загрузки аудиозаписи. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`. Это поле должно содержать mp3-файл в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `redirect`, `server`, `audio`, `hash`:\n\n```JSON\n{\n \redirect\: \http://vk.com/audio.php?actdone_add\u0026mid123456\u0026aid0\u0026gid0\u0026server654321\u0026audio%7B%22audio%22%3A%2215bf8d9772%22%2C%22time%22%3A199%2C%22artist%22%3A%22%22%2C%22title%22%3A%22%22%2C%22genre%22%3A0%2C%22album%22%3A%22%22%2C%22bitrate%22%3A192%2C%22bitrate_mode%22%3A%22cbr%22%2C%22md5%22%3A%22d27787de614807aafe4460818e341dbb%22%2C%22kad%22%3A%2218005ffc2aaab4fbbdd%22%2C%22vkaf_gen_data%22%3A%7B%22key%22%3A%22fp2314852_15bf8d9772%22%2C%22res%22%3A%7B%22result%22%3Atrue%2C%22_%22%3A%22_%22%7D%2C%22err%22%3A%5B%5D%7D%7D\u0026hash82cc901615b98153398e4c230ef79eaf\,\n \server\: 654321,\n \audio\: \%7B%22audio%22%3A%2215bf8d9772%22%2C%22time%22%3A199%2C%22artist%22%3A%22%22%2C%22title%22%3A%22%22%2C%22genre%22%3A0%2C%22album%22%3A%22%22%2C%22bitrate%22%3A192%2C%22bitrate_mode%22%3A%22cbr%22%2C%22md5%22%3A%22d27787de614807aafe4460818e341dbb%22%2C%22kad%22%3A%2218005ffc2aaab4fbbdd%22%2C%22vkaf_gen_data%22%3A%7B%22key%22%3A%22fp123456_15bf8d9772%22%2C%22res%22%3A%7B%22result%22%3Atrue%2C%22_%22%3A%22_%22%7D%2C%22err%22%3A%5B%5D%7D%7D\,\n \hash\: \82cc901615b98153398e4c230ef79eaf\\n}\n```\nПоле `server` содержит числовое значение, в `redirect`, `audio` и `hash` возвращаются строки. Содержимое поля `audio` не следует каким-либо образом менять или перекодировать.\n\n#### Сохранение результата\n\nЧтобы сохранить аудиозапись, вызовите метод `audio.save`(method/audio.save) с параметрами `server`, `audio`, `hash`, полученными на предыдущем этапе.\n\n## Загрузка видеозаписей\n\n**Допустимые форматы:** AVI, MP4, 3GP, MPEG, MOV, MP3, FLV, WMV.\n\n**Поле POST-запроса:** `video_file`.\n\n#### Получение адреса\n\nВызовите метод `video.save`(method/video.save), чтобы получить адрес для загрузки видео. С помощью этого метода вы также можете задать название, описание видео и его настройки приватности.\nЕсли вы хотите загрузить видео с внешнего видеохостинга, необходимо передать адрес страницы с видео в параметре `link`, а затем просто перейти по адресу из `upload_url`, не выполняя следующих пунктов.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `video_file`. Это поле должно содержать видеофайл в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `size`, `video_id`:\n\n```JSON\n{\n \size\: 1234,\n \video_id\: 1234567\n}\n```\n\nПоля `size` и `video_id` содержат числовые значения.\n\n#### Сохранение результата\n\nПосле загрузки видеозапись проходит обработку и в списке видеозаписей может появиться спустя некоторое время. \n\n## Загрузка документов\n\n**Допустимые форматы:** любые форматы за исключением mp3 и исполняемых файлов.\n\n**Ограничения:** файл объемом не более 200 МБайт.\n\n**Поле POST-запроса:** `file`.\n\n#### Получение адреса\n\nВызовите метод `docs.getUploadServer`(method/docs.getUploadServer), `docs.getWallUploadServer`(method/docs.getWallUploadServer) (для загрузки на стену) или `docs.getMessagesUploadServer`(method/docs.getMessagesUploadServer) (для загрузки документа в сообщение), чтобы получить адрес для загрузки документа. Если вы хотите загрузить документ в сообщество, передайте его идентификатор в параметре `group_id`.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`. Это поле должно содержать файл в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полем `file`:\n\n```JSON\n{\n \file\: \123456|65421|0|415317|20ee43693a|jpg|81897|Document.jpg|6798bc4fe908cc476cb1c13ce844a985|105d984a920fe7ee9042681bb6d30fbd|m_20ee43693a||m:130x72,s:100x55,x:604x331,y:807x442,o:748x409\\n}\n```\n\nПоле `file` содержит строку.\n\n#### Сохранение результата\n\nЧтобы сохранить документ, вызовите метод `docs.save`(method/docs.save) с параметром `file`, полученным на предыдущем этапе.\n\n## Загрузка обложки сообщества\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** минимальный размер фото — 795px x 265px, сумма высоты и ширины не более 14000px, файл объемом не более 50 МБайт. Рекомендуемый размер: 1590x530px. В сутки можно загрузить не более 1500 обложек.\n\n**Поле POST-запроса:** `photo`.\n\n#### Получение адреса\n\nВызовите метод, чтобы получить адрес для загрузки фото. Необходимо указать координаты обрезки фотографии в параметрах `crop_x`, `crop_y`, `crop_x2`, `crop_y2`.\n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `photo`. Это поле должно содержать изображение в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полями `hash` и `photo`:\n```JSON\n{\n\hash\: \402784f0ec814632ac\,\photo\:\eyJvaWQiOi0zNzI3MzTUsMjAwIiwwLCIxNjgwLDEwNTAiLCI3OTUsNDk3Il0sImJ3YWN0Ijoib3duZXJfY292ZXIiLCJzZXJ2ZXIiOjYzODYyOSwibWlkIjoyMzE0ODUyLCc4MSwiZGF0YSI6WyJ4QUFtLXBRQUFBQUFtRUxmY0FBS3A2VEh4bU5WYmJKOG5ZQUFLcDZ2VkMtWjRVMXdmbk9BQUtwNnnMXVvUGdxYkNBQUtwN21nSGJwQlJJdnMxRhpdWM5bldkRktwQUFBS3A3R1NhdFptbFJWNlNCQUFLcDdVamJEFBS3A3NUktQnJTSHotS0hFQUFLcDhLVVRTbzA4VURpTSIsIjAsMCw3OJfc2lnIjoiNjNkNmQ5NmY1ZmI0NWFiYzdjYjZjMjliOGM5NWNhNWMifQ\\n} \n```\nОба поля содержат строки.\n\n#### Сохранение результата\n\nЧтобы сохранить фотографию, вызовите метод , передав параметры `hash` и `photo`, полученные на предыдущем этапе.\n\n## Загрузка аудиосообщения\n\n**Допустимые форматы:** Ogg Opus.\n\n**Ограничения:** частота дискретизации — 16 кГц, битрейт — 16 кбит/с, длительность — не более 5 минут, моно.\n\n**Поле POST-запроса:** `file`.\n\n#### Получение адреса\n\nВызовите метод `docs.getMessagesUploadServer`(method/docs.getMessagesUploadServer) с параметром `type` `audio_message`, чтобы получить адрес для загрузки. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`. Это поле должно содержать файл в формате `multipart/form-data`.\n\nПосле успешной загрузки сервер возвращает в ответе JSON-объект с полем `file`: \n\n```JSON\n{\n \file\: \123456|65421|0|415317|20ee43693a|jpg|81897|Document.jpg|6798bc4fe908cc476cb1c13ce844a985|105d984a920fe7ee9042681bb6d30fbd|m_20ee43693a||m:130x72,s:100x55,x:604x331,y:807x442,o:748x409\\n}\n```\n\nПоле `file` содержит строку.\n\n#### Сохранение результата\n\nЧтобы сохранить документ, вызовите метод `docs.save`(method/docs.save) с параметром `file`, полученным на предыдущем этапе.\n\nПосле успешной загрузки вы можете отправить его, используя метод `messages.send`(method/messages.send) (параметр `attachment`). \n\n## Загрузка истории\n\n**Допустимые форматы:** JPG, PNG, GIF.\n\n**Ограничения:** сумма высоты и ширины не более 14000px, файл объемом не более 10 МБайт. \n\n**Формат видео:** h264 video, aac audio, максимальное разрешение 720px х 1280px, 30fps.\n\n**Поле POST-запроса:** `file` для фотографии, `video_file` для видеозаписи.\n\n#### Получение адреса\n\nВызовите метод `stories.getPhotoUploadServer`(method/stories.getPhotoUploadServer) или `stories.getVideoUploadServer`(method/stories.getVideoUploadServer), чтобы получить адрес для загрузки фото или видео. \n\n#### Передача файла\n\nПередайте файл на адрес `upload_url`, полученный в предыдущем пункте, сформировав `POST`-запрос с полем `file`/`video_file`. \n\nЭто поле должно содержать изображение или видеоролик в формате `multipart/form-data`. \n\nПосле успешной загрузки сервер возвращает строку `upload_result`. \n\n#### Сохранение результата\n\nДля сохранения загруженных историй нужно вызвать `stories.save`(method/stories.save), передав в поле `upload_results` строку, полученную на предыдущем этапе.},language:ru,variant:public,expireDate:1668432397729,isManuallyExpired:false},/api/getting-started:{type:article,layout:internal,template:/article,contents:{title:Использование API | Быстрый старт,id:api__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/getting-started,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Быстрый старт\n\nВ этом руководстве вы найдете базовую информацию о принципах работы API ВКонтакте и о подготовке к его использованию. Если вы уже работали с нашим API или с аналогичными сервисами других платформ, и знаете, какое приложение хотите создать, мы рекомендуем вам перейти в соответствующий раздел документации.\n\nAPI (application programming interface)(https://ru.wikipedia.org/wiki/API) — это посредник между разработчиком приложений и какой-либо средой, с которой это приложение должно взаимодействовать. API упрощает создание кода, поскольку предоставляет набор готовых классов, функций или структур для работы с имеющимися данными.\n\n## Методы и объекты\n\n**API ВКонтакте** — это интерфейс, который позволяет получать информацию из базы данных vk.com(https://vk.com) с помощью http-запросов к специальному серверу. Вам не нужно знать в подробностях, как устроена база, из каких таблиц и полей каких типов она состоит — достаточно того, что API-запрос об этом знает. Синтаксис запросов и тип возвращаемых ими данных строго определены на стороне самого сервиса. \n\nНапример, для получения данных о пользователе с идентификатором `210700286` необходимо составить запрос такого вида:\n\n```\nhttps://api.vk.com/method/users.get?user_id210700286\u0026v:version\n```\n\nРассмотрим отдельно все его составляющие:\n\n* `https://` — протокол соединения,\n* `api.vk.com/method` — адрес API-сервиса,\n* `users.get` — название метода API ВКонтакте,\n* `?user_id \u0026v ` — параметры запроса.\n\nМетоды представляют собой условные команды, которые соответствуют той или иной операции с базой данных — получение информации, запись или удаление. Например, `users.get` — метод для получения информации о пользователе, `video.add` — метод для добавления видеозаписи в свой список, `likes.delete` — метод для удаления отметки «Мне нравится».\n\nВсе методы разделены на секции. Например, для работы с сообществами вам нужны методы секции `groups`, для работы с фотографиями — `photos`, и так далее. Полный список методов по секциям доступен в разделе Методы API(method).\n\nПосле названия метода нужно передать его входные данные (если они есть) — как обычные GET-параметры в http-запросе. В нашем примере мы сообщаем серверу, что хотим получить данные о пользователе с `id210700286` и формат этих данных должен соответствовать версии API :version (о версиях мы еще поговорим позже). Входные параметры всегда перечислены на странице с описанием метода.\n\nВ ответ сервер вернет JSON-объект с запрошенными данными (или сообщение об ошибке, если что-то пошло не так). \n**JSON** — это формат записи данных в виде пар «имя свойства»: «значение». Если вы раньше не встречались с этим форматом, мы рекомендуем познакомиться с ним, прежде чем продолжить чтение: JSON, Wikipedia(https://ru.wikipedia.org/wiki/JSON).\n\nОтвет на наш запрос выглядит так:\n\n```JSON\n{\n \response\: \n {\n \id\: 210700286,\n \first_name\: \Lindsey\,\n \last_name\: \Stirling\\n }\n \n}\n```\n\nСтруктура ответа каждого метода также строго задана, и при работе с API вы заранее знаете, что в поле `id` придет число, а в поле `first_name` — строка. Такие правила оговариваются на страницах с описанием метода и соответствующих объектов, которые он возвращает в ответе. Например, `users.get`(method/users.get) — здесь описаны входные параметры метода и структура его ответа, а здесь — `user`(reference/objects/user) подробно расписано каждое поле объекта из ответа.\n\nОбъект из ответа может быть не уникален для конкретного метода. Например, объект пользователя(reference/objects/user) с набором полей, содержащих данные о его образовании, возрасте, интересах, может возвращаться в ответе от методов `users.get`(method/users.get), `users.search`(method/users.search), `groups.getMembers`(method/groups.getMembers) и еще нескольких.\n\n## Регистрация приложения\n\nВ примере(#Методы%20и%20объекты) мы использовали метод `users.get`(method/users.get), который позволяет получить информацию о пользователях, но для разработки приложений этого будет мало. Чтобы использовать все возможности API ВКонтакте, нужно зарегистрировать своё приложение.\n\nВыберите Мои приложения(https://vk.com/apps?actmanage) в верхнем меню и нажмите кнопку Создать(https://vk.com/editapp?actcreate). Создать приложение можно для одной из четырех платформ:\n\n* Встраиваемое приложение — вы получите приложение, которое можно встроить во фрейм с внешнего сайта. Готовые приложения можно увидеть в наших каталогах: Мини-приложения(https://vk.com/services), Игры(https://vk.com/apps).\n* Standalone-приложение — вы получите `API_ID` для внешнего сайта, мобильного или десктопного клиента. Основная мысль в том, что запросы к API должны отправляться с устройства пользователя. В интерфейсе такого приложения можно настроить SDK(sdk/overview) и подключить сертификаты для push-уведомлений. \n* Сайт — вы получите `API_ID` для внешнего сайта и работы с API через сервер. Если вы хотите написать скрипт (например, на PHP), который будет обращаться к API ВКонтакте, выберите именно этот вариант. \n* Скилл Маруси — платформа для создания приложений, которые взаимодействуют с голосовым помощником. \n\n\u003e **Совет.** Если вы пока не знаете, какую платформу выбрать, используйте Standalone-приложение. Мы обычно рекомендуем его для тренировки.\n\nПосле подтверждения откроется страница с информацией о приложении. \nОткройте раздел **Настройки** в меню слева. В поле **ID приложения** будет число (например, `5490057`). Это идентификатор вашего приложения, в дальнейшем он понадобится вам, чтобы указать значение `API_ID`, `APP_ID` или `client_id`.\n\n## Авторизация пользователя\n\nВКонтакте — социальная сеть, где есть дружеские связи, настройки приватности и даже черные списки. Многое зависит от того, кто просматривает страницу: кто-то увидит на ней всю ту же информацию, что и владелец, а кто-то — лишь общедоступные данные.\n\nВ API этот принцип сохраняется. Если вы скрыли список своих групп от не-друзей, то и через API ваши не-друзья не должны его увидеть. Поэтому почти все методы требуют авторизации пользователя перед началом работы. Проще говоря, сервер должен знать, кто к нему обращается за информацией, чтобы предоставить ее в том же виде, что и в основной версии сайта.\n\nВ общем случае для идентификации в API используется специальный ключ доступа, который называется `access_token`. \n**Токен** — это строка из цифр и латинских букв, которую вы передаете на сервер вместе с запросом. Из этой строки сервер получает всю нужную ему информацию. Есть разные способы получения токена, более того, он может быть выдан не только пользователю, но и сообществу, и сразу всему приложению — подробнее об этом вы можете прочитать здесь(api/access-token/getting-started).\n\nМы воспользуемся самым простым способом (Implicit flow(api/access-token/implicit-flow-user)) и получим токен для работы с API из созданного вами на прошлом этапе приложения.\n\nОткройте новую вкладку в браузере и введите в адресную строку такой запрос:\n\n```\nhttps://oauth.vk.com/authorize?client_id5490057\u0026displaypage\u0026redirect_urihttps://oauth.vk.com/blank.html\u0026scopefriends\u0026response_typetoken\u0026v:version\n```\n\nЧисло `5490057` в запросе нужно заменить на `API_ID` вашего приложения.\n\nНажмите **Enter**. Откроется окно с запросом прав. В нем отображаются название приложения, иконки прав доступа, и ваши имя с фамилией.\n\nНажмите **Разрешить**. вы попадете на новую страницу с предупреждением о том, что токен нельзя копировать и передавать третьим лицам. В адресной строке будет URL `https://oauth.vk.com/blank.html`(https://oauth.vk.com/blank.html), а после `#` вы увидите дополнительные параметры — `access_token`, `expires_in` и `user_id`. Токен может выглядеть, например, так:\n\n```\n51eff86578a3bbbcb5c7043a122a69fd04dca057ac821dd7afd7c2d8e35b60172d45a26599c08034cc40a\n```\n\nТокен — это ваш ключ доступа. При выполнении определенных условий человек, получивший ваш токен, может нанести существенный ущерб вашим данным и данным других людей. Поэтому очень важно не передавать свой токен третьим лицам.\n\nПоле `expires_in` содержит время жизни токена в секундах. 86400 секунд — это ровно сутки. Через сутки полученный токен перестанет действовать, для продолжения работы нужно будет получить новый. Есть возможность получить токен без срока действия — для этого в `scope` добавьте значение `offline`. Вы можете принудительно отозвать токен (например, в том случае, если он стал известен постороннему), сбросив сеансы в настройках безопасности вашего аккаунта или сменив пароль. Также, если речь идет о токене не из вашего собственного приложения, можно просто удалить приложение из настроек: https://vk.com/settings?actapps(https://vk.com/settings?actapps)\n\nПоле `user_id` содержит id пользователя, для которого получен токен.\n\nТеперь вы можете сделать вызов метода от своего имени. Например, получить список друзей, которые сейчас находятся на сайте.\n\nДля этого введите в адресную строку:\n\n```\nhttps://api.vk.com/method/friends.getOnline?v:version\u0026access_token\n```\n\nи вставьте после знака `` свой `access_token`, затем нажмите Enter. В ответе сервер вернет список идентификаторов ваших друзей, которые сейчас онлайн. Почитать подробнее о работе этого метода можно здесь(method/friends.getOnline). Заметьте, вы не указали в запросе, для какого пользователя (`user_id`) нужно получить список — сервер использовал значение по умолчанию, т.е. ваш идентификатор, который он получил из токена.\n\nПодробное руководство о получении ключей доступа находится на этой странице(api/access-token/getting-started).\n\n## Права доступа\n\nКак вы уже знаете, все методы делятся на секции — `friends`, `photos`, `video` и так далее. Каждая секция соответствует определенному разделу на сайте. Часто приложения создаются для работы с конкретным разделом. Например, для просмотра фотографий или для редактирования видео. При этом логично, что приложению, которое работает только с аудиозаписями пользователя, не нужен доступ одновременно и к его личным сообщениям.\n\nПоэтому в API права доступа приложения разграничены, как и методы. Приложение может запросить доступ только к группам, а может — к группам, фотографиям и аудиозаписям. На этой странице(reference/access-rights) перечислены все существующие права доступа, которые можно запросить.\n\nЧтобы запросить права, используйте параметр `scope` диалога авторизации. Когда вы получали токен для своего приложения, в `scope` было указано значение `friends` — и в окне авторизации приложение запросило доступ к друзьям.\n\nУ каждого права доступа есть уникальное название (`friends`, `video` и т.д.) и код (+2, +4, +4096). \nВ `scope` можно перечислить названия нужных прав доступа (например, `scope``friends,video,photos`), а можно указать сумму их кодов (например, `scope``22`). Каждый код представляет собой степень двойки, и полученную таким образом сумму (битовую маску) вы всегда можете проверить на предмет содержания какого-то конкретного кода (например, с помощью `account.getAppPermissions`(method/account.getAppPermissions)). \n\nНекоторые права доступа из соображений безопасности можно запрашивать только в Standalone-приложениях и только в процессе авторизации Implicit Flow, обратите на это внимание. \n\n## Что дальше\n\nВы познакомились с основными понятиями, связанными с API ВКонтакте. Дальше все зависит лишь от вашего вдохновения.\n\nКонечно, на практике никто не работает с API из соседней вкладки браузера. Для этого используют самые разные языки программирования, SDK, генераторы кода. Сам механизм работы с API весьма прост, средства для отправки http-запросов и обработки ответа от сервера предусмотрены практически в любой среде разработки: а значит, возможность выбора всегда есть.},language:ru,variant:public,expireDate:1668432400067,isManuallyExpired:false},/widgets/allow-messages-from-community:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Разрешить сообщения от сообщества,id:widgets__allow-messages-from-community,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/allow-messages-from-community,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Разрешить сообщения от сообщества\n\nЭтот виджет позволит клиентам быстро подписаться на уведомления в личных сообщениях от сообщества, не покидая вашего сайта.\n\nЭто удобный способ организовать подписку на регулярную рассылку. После получения согласия от пользователя сообщество может отправить ему сообщение без какого-либо ограничения по срокам.\n\nВ любой момент пользователь может запретить присылать ему сообщения с помощью кнопки в диалоге с сообществом. \n\n## Подключение виджета\n\nВ тег `\u003chead\u003e` на странице вашего сайта добавьте подключение `openapi.js`:\n\n```HTML\n \u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nВ тело страницы добавьте элемент `\u003cdiv\u003e`, в котором будет отображаться виджет, задайте ему уникальный `id`, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_send_message\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\nVK.Widgets.AllowMessagesFromCommunity(\vk_send_message\, {height: 30}, 127864554);\n\u003c/script\u003e\n```\n\n## Дополнительные настройки\n\nМетод `VK.Widgets.AllowMessagesFromCommunity` принимает три параметра:\n\n* `element_id` (`string`), обязательный параметр — id элемента, который будет являться контейнером для блока с виджетом. В нашем конструкторе по умолчанию используется значение `vk_send_message`.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержать поля:\n * `height` (`integer`) — высота блока в пикселях. Возможные значения: `22`, `24`, `30`.\n* `group_id` (`string`) — идентификатор сообщества.\n\n## События\n\nПри нажатии на кнопку **Получать уведомления** виджет передает событие `widgets.allowMessagesFromCommunity.allowed`. Если пользователь нажимает **Запретить уведомления**, передается событие и `widgets.allowMessagesFromCommunity.denied`. Вы можете обрабатывать эти события, используя Open API(api/open-api/getting-started#Обработка%20событий). В функцию-обработчик будет передан один параметр — идентификатор пользователя, совершившего действие.\n\n## Пример использования\n\n```HTML\n \u003cscript type\text/javascript\ src\https://vk.com/js/api/openapi.js?169\\u003e\u003c/script\u003e\n \u003cscript type\text/javascript\\u003e\n VK.Widgets.AllowMessagesFromCommunity(\vk_send_message\, {height: 30}, 1);\n VK.Observer.subscribe(\widgets.allowMessagesFromCommunity.allowed\, function f(userId) {\n console.log(userId);\n console.log(\allowed\);\n });\n VK.Observer.subscribe(\widgets.allowMessagesFromCommunity.denied\, function f(userId) {\n console.log(userId);\n console.log(\denied\);\n });\n \u003c/script\u003e\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668432447114,isManuallyExpired:false},/method/photos.saveMarketPhoto:{type:method,layout:internal,template:/method,contents:{title:photos.saveMarketPhoto,id:photos.saveMarketPhoto,description:Сохраняет фотографии после успешной загрузки на URI, полученный методом .,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.saveMarketPhoto,redirectTo:,menuId:api_menu,accessRights:market,photos,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:121,id:,description:Invalid hash,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:129,id:,description:Invalid photo,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1438,id:,description:Market not enabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:group_id,description:Идентификатор группы, для которой нужно загрузить фотографию.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo,description:Параметр, возвращаемый в результате загрузки фотографии на сервер(api/upload#Загрузка%20фотографии%20для%20товара).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:server,description:Параметр, возвращаемый в результате загрузки фотографии на сервер(api/upload#Загрузка%20фотографии%20для%20товара).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:hash,description:Параметр, возвращаемый в результате загрузки фотографии на сервер(api/upload#Загрузка%20фотографии%20для%20товара).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:crop_data,description:Параметр, возвращаемый в результате загрузки фотографии на сервер(api/upload#Загрузка%20фотографии%20для%20товара).\n\nОбязательный параметр, если на этапе загрузки фото был передан `main_photo``1`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:crop_hash,description:Параметр, возвращаемый в результате загрузки фотографии на сервер(api/upload#Загрузка%20фотографии%20для%20товара).\n\nОбязательный параметр, если на этапе загрузки фото был передан `main_photo``1`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает массив, содержащий объект с загруженной фотографией(reference/objects/photo).,evalHash:,shouldHideConsole:false,linkedMethods:{title:market.add,id:market.add,description:Добавляет новый товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.add,type:BASE,isSearchable:false,tokenTypes:,children:},{title:market.edit,id:market.edit,description:Редактирует товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.edit,type:BASE,isSearchable:false,tokenTypes:,children:},{title:photos.getMarketUploadServer,id:photos.getMarketUploadServer,description:Возвращает адрес сервера для загрузки фотографии товара(api/upload#Загрузка%20фотографии%20для%20товара).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,photos,url:method/photos.getMarketUploadServer,type:BASE,isSearchable:false,tokenTypes:,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668432783072,isManuallyExpired:false},/method/photos.getMarketUploadServer:{type:method,layout:internal,template:/method,contents:{title:photos.getMarketUploadServer,id:photos.getMarketUploadServer,description:Возвращает адрес сервера для загрузки фотографии товара(api/upload#Загрузка%20фотографии%20для%20товара).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.getMarketUploadServer,redirectTo:,menuId:api_menu,accessRights:market,photos,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:1438,id:,description:Market not enabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:group_id,description:Идентификатор сообщества, для которого необходимо загрузить фотографию товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:Размер каждой стороны фотографии должен быть не менее 400 px.,resultDescription:После успешного выполнения возвращает объект с единственным полем `upload_url`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668432786823,isManuallyExpired:false},/reference/errors:{type:errors,layout:internal,template:/errors,contents:{title:Коды ошибок,id:errors,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/errors,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:{title:Произошла неизвестная ошибка.,id:error_1,description:Попробуйте повторить запрос позже.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:1},{title:Приложение выключено.,id:error_2,description:Необходимо включить приложение в настройках https://vk.com/editapp?id{Ваш API_ID} или использовать тестовый режим (**test_mode1**),isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:2},{title:Передан неизвестный метод.,id:error_3,description:Проверьте, правильно ли указано название вызываемого метода: vk.com/dev/methods.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:3},{title:Неверная подпись.,id:error_4,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:4},{title:Авторизация пользователя не удалась.,id:error_5,description:Убедитесь, что Вы используете верную схему авторизации(api/access-token/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:5},{title:Слишком много запросов в секунду.,id:error_6,description:Задайте больший интервал между вызовами или используйте метод execute(execute). Подробнее об ограничениях на частоту вызовов см. на странице vk.com/dev/api_requests.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:6},{title:Нет прав для выполнения этого действия.,id:error_7,description:Проверьте, получены ли нужные права доступа(reference/access-rights) при авторизации. Это можно сделать с помощью метода account.getAppPermissions(account.getAppPermissions).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:7},{title:Неверный запрос.,id:error_8,description:Проверьте синтаксис запроса(api/api-requests) и список используемых параметров (его можно найти на странице с описанием метода).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:8},{title:Слишком много однотипных действий.,id:error_9,description:Нужно сократить число однотипных обращений. Для более эффективной работы Вы можете использовать execute(execute) или JSONP(api/api-requests).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:9},{title:Произошла внутренняя ошибка сервера.,id:error_10,description:Попробуйте повторить запрос позже.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:10},{title:В тестовом режиме приложение должно быть выключено или пользователь должен быть залогинен.,id:error_11,description:Выключите приложение в настройках https://vk.com/editapp?id{Ваш API_ID},isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:11},{title:Требуется ввод кода с картинки (Captcha).,id:error_14,description:Процесс обработки этой ошибки подробно описан на отдельной странице(api/captcha-error).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:14},{title:Доступ запрещён.,id:error_15,description:Убедитесь, что Вы используете верные идентификаторы, и доступ к контенту для текущего пользователя есть в полной версии сайта.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:15},{title:Требуется выполнение запросов по протоколу HTTPS, т.к. пользователь включил настройку, требующую работу через безопасное соединение.,id:error_16,description:Чтобы избежать появления такой ошибки, в Standalone-приложении Вы можете предварительно проверять состояние этой настройки у пользователя методом account.getInfo(account.getInfo).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:16},{title:Требуется валидация пользователя,id:error_17,description:Действие требует подтверждения — необходимо перенаправить пользователя на служебную страницу для валидации.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:need_validation,type:errors,isSearchable:false,tokenTypes:,children:,code:17},{title:Страница удалена или заблокирована.,id:error_18,description:Страница пользователя была удалена или заблокирована,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:18},{title:Данное действие запрещено для не Standalone приложений.,id:error_20,description:Если ошибка возникает несмотря на то, что Ваше приложение имеет тип Standalone, убедитесь, что при авторизации Вы используете **redirect_uri**https://oauth.vk.com/blank.html. Подробнее см. vk.com/dev/auth_mobile.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:20},{title:Данное действие разрешено только для Standalone и Open API приложений.,id:error_21,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:21},{title:Метод был выключен.,id:error_23,description:Все актуальные методы ВК API, которые доступны в настоящий момент, перечислены здесь: vk.com/dev/methods.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:23},{title:Требуется подтверждение со стороны пользователя,id:error_24,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:need_confirmation,type:errors,isSearchable:false,tokenTypes:,children:,code:24},{title:Ключ доступа сообщества недействителен.,id:error_27,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:27},{title:Ключ доступа приложения недействителен.,id:error_28,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:28},{title:Достигнут количественный лимит на вызов метода,id:error_29,description:Подробнее об ограничениях на количество вызовов см. на странице ,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:29},{title:Профиль является приватным,id:error_30,description:Информация, запрашиваемая о профиле, недоступна с используемым ключом доступа,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:30},{title:Один из необходимых параметров был не передан или неверен.,id:error_100,description:Проверьте список требуемых параметров и их формат на странице с описанием метода.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:100},{title:Неверный API ID приложения.,id:error_101,description:Найдите приложение в списке администрируемых на странице http://vk.com/apps?actsettings и укажите в запросе верный **API_ID** (идентификатор приложения).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:101},{title:Неверный идентификатор пользователя.,id:error_113,description:Убедитесь, что Вы используете верный идентификатор. Получить ID по короткому имени можно методом utils.resolveScreenName(utils.resolveScreenName).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:113},{title:Неверный timestamp.,id:error_150,description: Получить актуальное значение Вы можете методом utils.getServerTime(utils.getServerTime).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:150},{title:Доступ к альбому запрещён.,id:error_200,description:Убедитесь, что Вы используете верные идентификаторы (для пользователей **owner_id** положительный, для сообществ — отрицательный), и доступ к запрашиваемому контенту для текущего пользователя есть в полной версии сайта.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:200},{title:Доступ к аудио запрещён.,id:error_201,description:Убедитесь, что Вы используете верные идентификаторы (для пользователей **owner_id** положительный, для сообществ — отрицательный), и доступ к запрашиваемому контенту для текущего пользователя есть в полной версии сайта.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:201},{title:Доступ к группе запрещён.,id:error_203,description:Убедитесь, что текущий пользователь является участником или руководителем сообщества (для закрытых и частных групп и встреч).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:203},{title:Альбом переполнен.,id:error_300,description:Перед продолжением работы нужно удалить лишние объекты из альбома или использовать другой альбом.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:300},{title:Действие запрещено. Вы должны включить переводы голосов в настройках приложения.,id:error_500,description:Проверьте настройки приложения: https://vk.com/editapp?id{Ваш API_ID}\u0026sectionpayments,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:500},{title:Нет прав на выполнение данных операций с рекламным кабинетом.,id:error_600,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:600},{title:Произошла ошибка при работе с рекламным кабинетом.,id:error_603,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:api_menu,accessRights:,url:,type:errors,isSearchable:false,tokenTypes:,children:,code:603},code:null},language:ru,variant:public,expireDate:1668433167178,isManuallyExpired:false},/method/wall.restore:{type:method,layout:internal,template:/method,contents:{title:wall.restore,id:wall.restore,description:Восстанавливает удалённую запись на стене пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.restore,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:210,id:,description:Access to walls post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:214,id:,description:Access to adding post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, на стене которого находилась удалённая запись. \n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «-» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1). ,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:post_id,description:Идентификатор записи на стене.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668433390691,isManuallyExpired:false},/bridge/VKWebAppShare:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Общие события | VKWebAppShare,id:bridge__VKWebAppShare,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppShare,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppShare\n\n`VKWebAppShare` показывает окно с предложением разместить на стене пользователя запись с указанной ссылкой.\n\n## Пример\n\n```JavaScript\nbridge.send(VKWebAppShare, {\n link: https://vk.com/vkappsdev\n })\n .then((data) \u003e { \n if (data.result) {\n // Запись размещена\n }\n })\n .catch((error) \u003e {\n // Ошибка\n console.log(error);\n });\n```\n\n## Платформы\n\nAndroid, iOS, Mobile Web, Web\n\n## Параметры\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `link` \u0026#x0d;\u0026#x0a;*обязательное* | `string` | Ссылка, которой необходимо поделиться в записи. По умолчанию — ссылка на текущее мини-приложение или игру вида http://vk.com/app6909581#hash(http://vk.com/app6909581#hash)). |\n\n## Результат\n\nПроверить результат можно:\n\n* Используя объект `Promise`(#Объект%20Promise), который возвращается вызовом `bridge.send(...)`.\n\n* С помощью событий(#События) `VKWebAppShareResult` и `VKWebAppShareFailed`.\n\nПодробнее о проверке результатов при вызовах VK Bridge(bridge/getting-started#Обработка%20результата).\n\n### Объект `Promise`\n\nЕсли обращение к платформе прошло успешно, управление будет передано в `then`-обработчик объекта `Promise`. В качестве ответа платформа возвращает массив объектов со следующими полями:\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `post_id` | `integer` | Идентификатор записи. |\n| `story_id` | `integer` | Идентификатор истории. |\n\nЕсли при обращении к платформе произошла ошибка, управление передаётся в метод `catch`. В качестве ответа платформа возвращает объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех событий VK Bridge.\n\n### События\n\n#### `VKWebAppShareResult`\n\nСигнализирует, что запись размещена. В обработчик события на стороне пользователя передаются следующие данные: \n\n```JavaScript\n{\n detail: {\n type: \VKWebAppShareResult\,\n data: {\n result: \n {\n post_id: 8981\n }\n \n }\n }\n}\n```\n\nПередаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса(#Объект%20Promise).\n\n#### `VKWebAppShareFailed`\n\nИнформирует об ошибке, которая произошла при взаимодействии с платформой.\n\nВ обработчик события на стороне пользователя передаётся объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех методов VK Bridge.\n\n#### Пример обработки событий\n\nСмотрите раздел Обработка событий-результатов(bridge/getting-started#Обработка%20результата).\n\n## Песочница\n\nVKWebAppShare(https://vk.cc/bZfuA2)\n},language:ru,variant:public,expireDate:1668433665861,isManuallyExpired:false},/user-agreement:{type:article,layout:internal,template:/article,contents:{title:Правила | Типовое пользовательское соглашение,id:user-agreement,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:user-agreement,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Типовое пользовательское соглашение\n\n## 1. Основные понятия\n**1.1. Сайт** – сайт, расположенный в сети Интернет по адресу https://vk.com/(https://vk.com/). \n**1.2. Разработчик** – физическое или юридическое лицо, размещающее приложение на Сайте и использующее его в соответствии с Условиями размещения приложений и Правилами размещения приложений на Сайте. Фамилия, имя и отчество либо наименование Разработчика, а также иная информация о нем указаны в разделе «Информация о разработчике» в окне запуска Приложения и в настройках Приложения. \n**1.3. Администрация Сайта** – общество с ограниченной ответственностью «В Контакте», расположенное по адресу: 191024, Санкт-Петербург, ул. Херсонская, д. 12-14, литер А, помещение 1-Н, ОГРН 1079847035179, ИНН 7842349892. \n**1.4. Приложение** – программный сервис, размещенный Разработчиком на Сайте в разделе «Приложения», прошедший модерацию Администрацией Сайта и включенный в каталог приложений. \n**1.5. Пользователь** – пользователь Сайта, зарегистрированный в установленном порядке и использующий Приложение. \n\n## 2. Статус Правил\n**2.1.** Настоящие Правила представляют собой соглашение между Разработчиком и Пользователем (далее вместе именуемые «Стороны») и регулируют права и обязанности Разработчика и Пользователя в связи с использованием Приложения.\n**2.2.** Настоящие Правила являются официальным типовым документом Разработчиков. Настоящие Правила применяются к указанным отношениям в случае, если Разработчик не утвердил и не применяет свои собственные Правила оказания услуг, ссылка на которые предоставляется Пользователям в окне запуска Приложения и в настройках Приложения.\n**2.3.** Действующая редакция Правил, являющихся публичным документом, разработана Администрацией Сайта и доступна любому пользователю сети Интернет при переходе по гипертекстовой ссылке «Правила оказания услуг разработчика приложения».\nАдминистрация Сайта вправе вносить изменения в настоящие Правила. При внесении изменений в Правила Администрация Сайта уведомляет об этом пользователей путем размещения новой редакции Правил на Сайте по постоянному адресу https://dev.vk.com/user-agreement не позднее, чем за 10 дней до вступления в силу соответствующих изменений. Предыдущие редакции Правил хранятся в архиве документации Администрации Сайта.\n**2.4.** Положения настоящих Правил рассматриваются как публичная оферта в соответствии со ст. 437 Гражданского кодекса Российской Федерации. Пользователь обязан полностью ознакомиться с настоящими Правилами до первого запуска Приложения. Запуск Приложения Пользователем означает полное и безоговорочное принятие Пользователем настоящих Правил в соответствии со ст. 438 Гражданского кодекса Российской Федерации. Положения настоящих Правил могут быть приняты только в целом без каких-либо изъятий.\n**2.5.** Ссылка на настоящие Правила после запуска Приложения доступна в настройках Приложения, во вкладке «Информация о разработчике». Пользователь обязан время от времени проверять текущую версию настоящих Правил в настройках Приложения на предмет внесения изменений и/или дополнений. Продолжение использования Приложения Пользователем после вступления в силу соответствующих изменений настоящих Правил означает принятие и согласие Пользователя с такими изменениями и/или дополнениями.\n\n## 3. Права и обязанности Сторон\n**3.1.** Пользователь обязан ознакомиться с информацией о Разработчике, политикой конфиденциальности Разработчика и настоящими Правилами до первого запуска Приложения. При несогласии с положениями указанных документов Пользователь обязан воздержаться от запуска и использования Приложения.\n**3.2.** Пользователь обязуется использовать Приложение в личных некоммерческих целях. Запрещается предлагать услуги, связанные с использованием Приложения, другим Пользователям в целях извлечения прибыли. Запрещается использование каких-либо автоматических скриптов («программы-роботы») или иных средств, позволяющих взаимодействовать с Приложением без участия Пользователя. Запрещается совершать действия, направленные на нарушение нормального функционирования Приложения, и использовать специальные программы, содержащие вредоносные компоненты («вирусы»).\n**3.3.** Разработчик вправе в любое время вносить изменения в функционал Приложения, интерфейс и/или содержание Приложения с уведомлением Пользователей или без такового.\n**3.4.** Разработчик вправе в одностороннем порядке устанавливать стоимость отдельных сервисов, предлагаемых Приложением, выраженную во внутренней валюте Приложений - голосах. Пользователь обязуется добросовестно использовать способы пополнения личного счета Пользователя в Приложении и дальнейшего использования голосов. При обнаружении Разработчиком фактов неправомерного пополнения личного счета Пользователя в Приложении Разработчик вправе отказать Пользователю в дальнейшем предоставлении услуг либо в одностороннем порядке уменьшить личный счет Пользователя в Приложении.\n**3.5.** Разработчик вправе запросить и использовать информацию о Пользователе исключительно в целях предоставления услуг по использованию Приложения. Использование информации о Пользователе регулируется политикой конфиденциальности Разработчика.\n**3.6.** Разработчик обязан обеспечить техническую поддержку Приложения и предоставить простой способ связи для обращений Пользователей по всем возникающим в процессе использования Приложения вопросам в разделе «Помощь» и в настройках Приложения, во вкладке «Информация о разработчике».\n\n## 4. Интеллектуальная собственность\n**4.1.** Пользователь признает, что Приложение, его интерфейс и содержание (включая, но не ограничиваясь, элементы дизайна, текст, графические изображения, иллюстрации, видео, скрипты, программы, музыка, звуки и другие объекты и их подборки, связанные с Приложением) защищены авторским правом, товарными знаками, патентами и иными правами, которые принадлежат Разработчику или иным законным правообладателям.\n**4.2.** Разработчик предоставляет Пользователю неисключительную лицензию на использование Приложения, а именно на запуск и дальнейшую эксплуатацию Приложения исключительно в целях удовлетворения личных, семейных, домашних или иных не связанных с предпринимательской деятельностью нужд, без права передачи данной лицензии третьим лицам и без права предоставления сублицензий на использование Приложения третьим лицам.\n**4.3.** Пользователь не вправе воспроизводить, копировать, изменять, уничтожать, перерабатывать (включая выполнение любого перевода или локализации), продавать, сдавать в прокат, опубликовывать, скачивать, иным образом распространять Приложение либо его компоненты, декомпилировать или иным образом пытаться извлечь исходный код компонентов Приложения, являющихся программным обеспечением, а также изменять функционал Приложения без предварительного письменного согласия Разработчика.\n**4.4.** Пользователь не вправе удалять и/или изменять какую-либо информацию, размещенную Разработчиком в рамках Приложения, в том числе знаки охраны авторского права и средств индивидуализации.\n**4.5.** Лицензия, указанная в пункте 4.2 настоящих Правил, предоставляется на весь срок использования Приложения Пользователем. Данная лицензия распространяется также на все обновления и/или дополнительные компоненты Приложения, которые могут быть созданы и предоставлены Разработчиком в будущем.\n**4.6.** Если иное явным образом не установлено в настоящих Правилах, ничто в настоящих Правилах не может быть рассмотрено как передача исключительных прав на Приложение и/или его компоненты Пользователю.\n\n## 5. Гарантии и Ответственность\n**5.1.** Пользователь признает и соглашается с тем, что Приложение предоставляется на условиях «как есть». Разработчик не предоставляет гарантий в отношении последствий использования Приложения, взаимодействия Приложения с другим программным обеспечением.\n**5.2.** Разработчик не предоставляет гарантий того, что Приложение может подходить для конкретных целей использования. Пользователь признает и соглашается с тем, что результат использования Приложения может не соответствовать ожиданиям Пользователя.\n**5.3.** Разработчик или иные правообладатели ни при каких обстоятельствах не несут ответственность за любой косвенный, случайный, неумышленный ущерб (включая упущенную выгоду, ущерб, причиненный утратой данных), вызванный в связи с использованием Приложения или невозможностью его использования, в том числе в случае отказа работы Приложения или иного перерыва в использовании Приложения, даже если Разработчик предупреждал или указывал на возможность такого ущерба.\n**5.4.** Пользователь самостоятельно несет ответственность за свои действия по использованию Приложения, в том числе за действия по размещению и передаче информации, комментариев, изображений и иных материалов другим Пользователям с помощью Приложения. Пользователь самостоятельно несет ответственность за соблюдение прав третьих лиц, применимого законодательства, настоящих Правил, каких-либо правил и/или обязательных инструкций Разработчика, размещенных в разделе «Помощь» Приложения, при использовании Приложения.\n**5.5.** За нарушения, допущенные Пользователем, Разработчик вправе отказать Пользователю в дальнейшем предоставлении услуг или ограничить такое предоставление полностью или частично с уведомлением Пользователя или без такового.\n\n## 6. Заключительные положения\n**6.1.** Пользователь вправе в любой момент отказаться от предоставления услуг посредством удаления Приложения со своей персональной страницы на Сайте.\n**6.2.** Разработчик вправе в любой момент приостанавливать или прекращать функционирование Приложения с уведомлением Пользователей или без такового.\n**6.3.** Настоящие Правила регулируются и толкуются в соответствии с законодательством Российской Федерации. Вопросы, не урегулированные Правилами, подлежат разрешению в соответствии с законодательством Российской Федерации.\n**6.4.** В случае возникновения любых споров или разногласий, связанных с исполнением настоящих Правил, Разработчик и Пользователь приложат все усилия для их разрешения путем проведения переговоров между ними. В случае, если споры не будут разрешены путем переговоров, споры подлежат разрешению в порядке, установленном действующим законодательством Российской Федерации.\n**6.5.** Настоящие Правила составлены на русском языке и могут быть предоставлены Пользователю для ознакомления на другом языке. В случае расхождения русскоязычной версии Правил и версии Правил на ином языке, применяются положения русскоязычной версии настоящих Правил.\n**6.6.** Если по тем или иным причинам одно или несколько положений настоящих Правил будут признаны недействительными или не имеющими юридической силы, это не оказывает влияния на действительность или применимость остальных положений.},language:ru,variant:public,expireDate:1668433679098,isManuallyExpired:false},/api/access-token/implicit-flow-user:{type:article,layout:internal,template:/article,contents:{title:Использование API | Ключ доступа | Implicit Flow для получения ключа доступа пользователя,id:api__access-token__implicit-flow-user,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/access-token/implicit-flow-user,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Implicit Flow для получения ключа доступа пользователя\n\n\u003e Для приложений на iOS, Android, Windows Phone мы рекомендуем использовать упрощенную схему авторизации через SDK(sdk/overview). \n\nИспользуйте Implicit Flow для вызова методов API ВКонтакте непосредственно с устройства пользователя (например, из Javascript). Ключ доступа, полученный таким способом, не может быть использован для запросов с сервера.\n\n## Открытие диалога авторизации\n\nНеобходимо перенаправить браузер пользователя по адресу\n`https://oauth.vk.com/authorize`(https://oauth.vk.com/authorize), передав следующие параметры:\n\n* `client_id` (**обязательный**) — идентификатор вашего приложения.\n* `redirect_uri` (**обязательный**) — адрес, на который будет переадресован пользователь после прохождения авторизации (см. `redirect_uri`(#Redirect_uri)).\n* `display` — указывает тип отображения страницы авторизации. Поддерживаются следующие варианты:\n\n * `page` — форма авторизации в отдельном окне;\n * `popup` — всплывающее окно;\n * `mobile` — авторизация для мобильных устройств (без использования Javascript)\n\n Если пользователь авторизуется с мобильного устройства, будет использован тип `mobile`.\n* `scope` — битовая маска настроек доступа приложения(reference/access-rights), которые необходимо проверить при авторизации пользователя и запросить отсутствующие.\n* `response_type` — тип ответа, который необходимо получить. Укажите `token`.\n* `state` — произвольная строка, которая будет возвращена вместе с результатом авторизации.\n* `revoke1` — параметр, указывающий, что необходимо не пропускать этап подтверждения прав, даже если пользователь уже авторизован.\n\nПример запроса:\n\n```\nhttps://oauth.vk.com/authorize?client_id1\u0026displaypage\u0026redirect_urihttp://example.com/callback\u0026scopefriends\u0026response_typetoken\u0026v:version\u0026state123456\n```\n\n### Redirect_uri\n\n**Redirect_uri** — это URL, на который будет переадресован браузер пользователя после разрешения им прав доступа. \n\nЕсли вы разрабатываете веб-приложение и хотите работать с API из Javascript, в `redirect_uri` необходимо указать адрес страницы на Вашем сайте. В целях безопасности, этот адрес также должен быть указан в настройках вашего приложения (поля «Адрес сайта», «Базовый домен» и «Доверенный Redirect URI»). \n\n\u003e **Обратите внимание**, вы не сможете работать с методами, которые помечены как доступные только для Standalone-приложений. Во всех остальных случаях (мобильное, десктопное приложение) необходимо использовать `redirect_uri` по умолчанию: `https://oauth.vk.com/blank.html`(https://oauth.vk.com/blank.html)\n\nЕсли пользователь не авторизован ВКонтакте в используемом браузере, то в диалоговом окне ему будет предложено ввести свой логин и пароль.\n\n## Разрешение прав доступа\n\nПосле успешного входа на сайт пользователю будет предложено авторизовать приложение, разрешив доступ к необходимым настройкам, запрошенным при помощи параметра `scope`. Полный список настроек доступен в разделе прав доступа приложений(reference/access-rights). \n\nС ключом пользователя, полученным в Implicit Flow, можно работать с наибольшим количеством прав доступа и соответствующих методов по сравнению с остальными способами авторизации. \n\n\u003e **Обратите внимание,** что некоторые права могут быть запрошены только Standalone-приложением (например, право доступа `messages`). Это автоматически означает необходимость использования `redirect_uri` по умолчанию (см. `redirect_uri`(#Redirect_uri)).\n\n\n## Получение access_token\n\nПосле успешной авторизации приложения браузер пользователя будет перенаправлен по адресу `redirect_uri`, указанному при открытии диалога авторизации. При этом ключ доступа к API `access_token` и другие параметры будут переданы в URL-фрагменте ссылки:\n\n```\nhttp://REDIRECT_URI#access_token533bacf01e11f55b536a565b57531ad114461ae8736d6506a3\u0026expires_in86400\u0026user_id8492\u0026state123456\n```\n\nВместе с ключом `access_token` также будет указано время его жизни `expires_in`, заданное в секундах. `expires_in` содержит `0`, если токен бессрочный (при использовании `scope` `offline`). Если срок использования ключа истек, то необходимо повторно провести все описанные выше шаги, но в этом случае пользователю уже не придется дважды разрешать доступ. Запрашивать `access_token` также необходимо при смене пользователем логина или пароля или удалением приложения в настройках доступа. \n\nКроме того, среди возвращаемых параметров будет указан `user_id` — идентификатор авторизовавшегося пользователя. \n\nВ случае возникновения ошибки авторизации в качестве GET-параметров в `redirect_uri` будет передана информация об этой ошибке. \n\n```\nhttp://REDIRECT_URI#erroraccess_denied\u0026error_descriptionThe+user+or+authorization+server+denied+the+request.\n```},language:ru,variant:public,expireDate:1668434470920,isManuallyExpired:false},/games/monetization/withdrawal/ru-individuals:{type:article,layout:internal,template:/article,contents:{title:Игры Монетизация Вывод средств Физические лица (Россия),id:_4498528_games-about-benefits_draft2,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:games/monetization/withdrawal/ru-individuals,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:\n# Вывод средств для физических лиц — налоговых резидентов России\n\nДля вывода средств физические лица — налоговые резиденты Российской Федерации — должны подключиться к нашему партнёру — компании AppsCentrum(https://appscentrum.com/).\n\n\u003e В настоящее время мы не работаем с физическими лицами, которые не являются налоговыми резидентами России.\n\n## Вход в личный кабинет AppsCentrum\n\n1. Откройте страницу appscentrum.com(https://appscentrum.com/) в браузере и нажмите на кнопку **Войти через ВКонтакте**.\n\n2. Войдите с использованием аккаунта главного администратора вашей игры.\n\n Подтвердите доступ к данным вашего аккаунта ВКонтакте.\n\nЛичный кабинет AppsCentrum выглядит так:\n\n!altЛичный кабинет AppsCentrum;titleЛичный кабинет AppsCentrum(ee7e5c38ca38132f414795f60314e7bcc4bf6d1b4fcd5b2382c83963 \7499577937995034609\)\n\n\u003c!-- !altЛичный кабинет AppsCentrum;titleЛичный кабинет AppsCentrum(9aaf1fc43e68622e10273f30819d72ed7d93e5509cd9cf509971fd14 \692521052719826752\) --\u003e\n\n| Раздел | Описание |\n| --- | --- |\n| **Голоса** | Информация о начислениях за игровые покупки(games/monetization/digital-goods). |\n| **Трансляции** | Информация о показах и начислениях за трансляции. |\n| **Медиареклама** | Информация о показах и начислениях за рекламу(games/monetization/ad/overview). |\n| **Мои реквизиты** | Информация об электронных кошельках и банковских реквизитах, которые будут использованы для вывода. |\n| **Служба поддержки** | Форма для связи со службой поддержки AppsCentrum. |\n| **Тарифы и лимиты** | Информация о комиссионных отчислениях и ограничениях, применяемых AppsCentrum. |\n| **Реклама в играх** и\u0026#x0d;\u0026#x0a;**Реклама в мини-приложениях** | Ссылки на документацию ВКонтакте. |\n\n## Подключение игры\n\nДля получения выплат необходимо подключить игру к вашему аккаунту в AppsCentrum.\n\n1. В личном кабинете перейдите в раздел **Медиареклама**.\n\n2. Нажмите на кнопку **Подключить** для вашей игры.\n\n## Просмотр статистики\n\n1. В личном кабинете AppsCentrum перейдите на вкладку **Медиареклама** и затем нажмите на кнопку **Статистика**.\n\n2. Выберите желаемый период, приложение и критерии разбивки данных. Нажмите на кнопку **Показать статистику**.\n\nВы увидите информацию о показах рекламы и ваш заработок. \n\n## Вывод средств из AppsCentrum\n\nЗаработанные деньги поступят на ваш аккаунт AppsCentrum в течение 70 дней после окончания отчётного периода (месяца), во время которого они были начислены.\n\nПосле того как деньги появятся на аккаунте, вы сможете получить выплату любым удобным способом: на банковскую карту, электронный кошелёк или банковский счёт. Следуйте этим шагам.\n\n### Шаг 1. Укажите платёжные реквизиты\n\nДля вывода средств укажите данные своего электронного кошелька или банковской карты:\n\n1. В личном кабинете AppsCentrum перейдите в раздел Мои реквизиты(https://appscentrum.com/user).\n\n В этом разделе, в блоке **Кошельки**, вы можете видеть способы вывода средств, которые поддерживает AppsCentrum.\n\n \u003c!-- exclusions/_images/games/monetization/appscentrum-account-details-page.png --\u003e\n !altПример страницы «Мои реквизиты»;titleПример страницы «Мои реквизиты»(d02704bc725089234f533de6cbe8f0014a43886d2453bd035f0aaafe \-5851390484158581116\)\n\n1. Нажмите на ссылку **подключить** для нужного вам пункта в списке и на следующем экране укажите реквизиты для перевода средств.\n\nВы можете указать данные нескольких электронных кошельков или банковских карт и выводить средства на разные счета.\n\n### Шаг 2. Запросите вывод средств\n\n1. Дождитесь, когда на вашем счёте будет достаточно средств.\n\n Существует минимальный порог вывода. Он указан на главной странице личного кабинета AppsCentrum, а также на странице Тарифы и лимиты(https://appscentrum.com/limits). Если начисления не достигли минимального порога, то необходимо дождаться, когда они его превысят.\n\n1. Когда на вашем счёте будет достаточно средств, на главной странице личного кабинета появится кнопка **Запросить выплату**. Нажмите на неё.\n\n1. На следующем экране:\n\n * В выпадающем списке **Способ вывода** выберите банковскую карту или электронный кошелёк, данные которых вы указали на предыдущем шаге.\n\n Если вы этого ещё не сделали, нажмите на ссылку **Добавить способ вывода** и укажите реквизиты.\n\n * В поле **Сумма** укажите желаемую сумму для перевода. Она не может быть меньше порога вывода.\n\n * После заполнения всех полей в конце страницы появится кнопка **Запросить выплату**. Нажмите на неё.\n\n\u003c!-- После того как деньги появятся на аккаунте, вы сможете получить выплату любым удобным способом: на банковскую карту, электронный кошелёк или банковский счёт. Для вывода средств вам надо указать реквизиты для выплат в разделе Мои реквизиты(https://appscentrum.com/user) личного кабинета AppsCentrum.\n\nОбратите внимание, что существует минимальный порог вывода. Если начисления не достигли этого порога, то необходимо дождаться, когда они его превысят.\n\nИнформация о минимальных порогах приведена в разделах личного кабинета AppsCentrum. Мы рекомендуем также ознакомиться с более подробной информацией о тарифах и лимитах в личном кабинете(https://appscentrum.com/limits). --\u003e\n\n## Поддержка AppsCentrum\n\nВопросы о выплатах можно задать службе поддержки AppsCentrum:\n\n* В личном кабинете, в разделе Служба поддержки(https://appscentrum.com/support/new).\n\n — либо —\n\n* По электронной почте: info@appscentrum.com(mailto:info@appscentrum.com).\n},language:ru,variant:public,expireDate:1668434496474,isManuallyExpired:false},/games/monetization/ad/overview:{type:article,layout:internal,template:/article,contents:{title:Игры | Монетизация | Реклама в играх | Обзор,id:_4498528_games-monetization-ad_draft1,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:games/monetization/ad/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Реклама в играх\n\n## О рекламе\n\nКогда мы говорим о рекламе в играх, то имеем в виду показ рекламных объявлений или видео в игре. Это один из способов монетизации игры и заработка на ней. Разработчики игры получают вознаграждение за показы рекламы.\n\n## Получение рекламных материалов для показа\n\nИгры получают рекламные материалы от рекламной сети ВКонтакте. Для получения и отображения используйте наши библиотеки: VK Bridge, VKUI, icons. Все подробности — в разделе Как добавить рекламу в игру(games/monetization/ad/implementation).\n\nИнтегрироваться с другими рекламными сетями, а также использовать сторонний код для показа нельзя. Из этого правила есть исключение: допускается самостоятельная реклама игр и мини-приложений, которые были созданы вами и которые были опубликованы в каталогах ВКонтакте.\n\nВКонтакте использует специальные алгоритмы, чтобы показывать таргетированную рекламу. Другими словами, предоставляемые рекламные объявления и ролики зависят от интересов конкретного пользователя: один может видеть рекламу авиабилетов, другой — косметических средств. Библиотеки не предусматривают возможности выбора роликов и объявлений для показа.\n\n## Требования к рекламным материалам\n\nРекламные материалы, размещаемые в играх, должны соответствовать:\n\n* Правилам размещения рекламы в играх и мини-приложениях(ad-rules).\n\n* Правилам пользования сайтом ВКонтакте(https://vk.com/terms).\n\n* Законодательству РФ, в частности Федеральному закону от 13.03.2006 № 38-ФЗ «О рекламе»(https://www.consultant.ru/document/cons_doc_LAW_58968/).\n\nМатериалы, которые ваша игра получает от ВКонтакте, уже прошли проверку. Размещая их, вы не нарушите правила.\n\nУпомянутые выше требования описывают не только содержимое рекламных материалов, но и правила их показа(ad-rules#В%20приложениях%20и%20сервисах%20запрещается:). Например, нельзя неожиданно прерывать игровой процесс рекламным объявлением или показывать ролик сразу после старта игры. Этим правилам должны следовать все игры вне зависимости от того, как они получают рекламный контент.\n\n## Виды рекламы в играх\n\nВ играх можно использовать:\n\n* Рекламу за вознаграждение(#Реклама%20за%20вознаграждение)\n\n* Рекламу между экранами(#Реклама%20между%20экранами)\n\n* Рекламные баннеры(#Рекламные%20баннеры)\n\n### Реклама за вознаграждение\n\n**Реклама за вознаграждение** (rewarded ads) — видеоролик, после просмотра которого пользователь должен получить вознаграждение, не выходящее за рамки взаимодействия с игрой, например улучшение навыков главного героя или дополнительные ходы.\n\nПоказывать рекламу за вознаграждение можно только в том случае, если пользователь нажмёт на кнопку вызова такой рекламы и подтвердит, что готов к просмотру. В сообщении пользователю нужно обязательно указать, какое именно вознаграждение он получит.\n\n!altПример рекламы за вознаграждение;titleПример рекламы за вознаграждение(6c280410066fd2ef19a1cc20e89925f21fc360e9ce1e1afa21cd438a \-8574700508162107948\)\n\n:::note\n**Важно!** Иногда вместо видеоролика при запросе рекламы за вознаграждение может появиться статичное изображение с меньшим временем показа. Это корректное поведение. Так происходит лишь в тех случаях, когда для конкретного пользователя, который запросил рекламу за вознаграждение, не было найдено подходящих объявлений.\n:::\n\nДлительность рекламы за вознаграждение — до 30 секунд.\n\n### Реклама между экранами\n\n**Реклама между экранами** (interstitial) — статичное изображение или короткий видеоролик, который можно отображать без подтверждения со стороны пользователя, но только в момент перехода от одного экрана приложения к другому. Например, при переходах между уровнями игры.\n\nДлительность рекламы между экранами — до 5 секунд. Визуально она не отличается от рекламы за вознаграждение.\n\n### Рекламные баннеры\n\n**Рекламные баннеры** — это статичные рекламные блоки, которые можно показывать в мобильном приложении ВКонтакте. Каждый баннер может содержать текст, кнопку и одно изображение.\n\n!altПример рекламного баннера;titleПример рекламного баннера(b0693bafd64a0020147168a9fba2b4fcbce24cb453a1e19bc0fadea4 \6670196928109031007\)\n\nВ одной игре можно разместить не больше трёх блоков с рекламными баннерами.\n\n## Как добавить рекламу в игру\n\nДля показа рекламы, получаемой от ВКонтакте, используйте наши библиотеки: VK Bridge(games/bridge), VKUI(libraries/vkui) и icons(https://github.com/VKCOM/icons). Все подробности — в разделе Как добавить рекламу в игру(games/monetization/ad/implementation).\n\n\u003e После добавления рекламы в игру вам может потребоваться подключить игру к AppsCentrum(games/monetization/ad/implementation#Подключение%20игры%20к%20AppsCentrum).\n\n## Вывод средств\n\nВКонтакте ведёт статистику показов рекламы и начислений авторам. Отслеживать эти данные и выводить средства можно либо в настройках игры ВКонтакте, либо в личном кабинете компании-партнёра AppsCentrum, в зависимости от того, работаете вы по прямому договору с ВКонтакте или через нашего партнёра. Все подробности — в разделе Вывод средств(games/monetization/withdrawal/overview).\n\n## Материалы по теме\n\n* Правила размещения рекламы в играх и мини-приложениях(ad-rules)\n\n* Оферта на оказание услуг по размещению рекламы(apps-offer-ad)\n},language:ru,variant:public,expireDate:1668434504272,isManuallyExpired:false},/method:{type:method-list,layout:internal,template:/method-list,contents:{title:Описание методов API,id:method,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:method,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:Account,id:account,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/account,type:BASE,isSearchable:false,tokenTypes:,children:{title:account.ban,id:account.ban,description:Добавляет пользователя или группу в черный список.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/account.ban,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.changePassword,id:account.changePassword,description:Позволяет сменить пароль пользователя после успешного восстановления доступа к аккаунту через СМС, используя метод `auth.restore`(method/auth.restore).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/account.changePassword,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.getActiveOffers,id:account.getActiveOffers,description:Возвращает список активных рекламных предложений (офферов), выполнив которые, пользователь сможет получить соответствующее количество голосов на свой счёт внутри приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/account.getActiveOffers,type:BASE,isSearchable:false,tokenTypes:},{title:account.getAppPermissions,id:account.getAppPermissions,description:Получает настройки текущего пользователя в данном приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/account.getAppPermissions,type:BASE,isSearchable:false,tokenTypes:},{title:account.getBanned,id:account.getBanned,description:Возвращает список пользователей, находящихся в черном списке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/account.getBanned,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.getCounters,id:account.getCounters,description:Возвращает ненулевые значения счетчиков пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/account.getCounters,type:BASE,isSearchable:false,tokenTypes:},{title:account.getInfo,id:account.getInfo,description:Возвращает информацию о текущем аккаунте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/account.getInfo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.getProfileInfo,id:account.getProfileInfo,description:Возвращает информацию о текущем профиле.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/account.getProfileInfo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.getPushSettings,id:account.getPushSettings,description:Позволяет получать настройки Push-уведомлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:push_ex,url:method/account.getPushSettings,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.lookupContacts,id:account.lookupContacts,description:Позволяет искать пользователей ВКонтакте, используя телефонные номера, email-адреса, и идентификаторы пользователей в других сервисах. Найденные пользователи могут быть также в дальнейшем получены методом `friends.getSuggestions`(method/friends.getSuggestions).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/account.lookupContacts,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.registerDevice,id:account.registerDevice,description:Подписывает устройство на базе iOS, Android, Windows Phone или Mac на получение push-уведомлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:push_ex,url:method/account.registerDevice,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.saveProfileInfo,id:account.saveProfileInfo,description:Редактирует информацию текущего профиля.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/account.saveProfileInfo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.setInfo,id:account.setInfo,description:Позволяет редактировать информацию о текущем аккаунте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/account.setInfo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.setNameInMenu,id:account.setNameInMenu,description:Устанавливает короткое название приложения (до 17 символов), которое выводится пользователю в левом меню.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/account.setNameInMenu,type:BASE,isSearchable:false,tokenTypes:},{title:account.setOffline,id:account.setOffline,description:Помечает текущего пользователя как `offline` (только в текущем приложении).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/account.setOffline,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.setOnline,id:account.setOnline,description:Помечает текущего пользователя как `online` на 5 минут.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/account.setOnline,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.setPushSettings,id:account.setPushSettings,description:Изменяет настройку push-уведомлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:push_ex,url:method/account.setPushSettings,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.setSilenceMode,id:account.setSilenceMode,description:Отключает push-уведомления на заданный промежуток времени.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:push_ex,url:method/account.setSilenceMode,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.unban,id:account.unban,description:Удаляет пользователя или группу из черного списка.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/account.unban,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:account.unregisterDevice,id:account.unregisterDevice,description:Отписывает устройство от Push уведомлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:push_ex,url:method/account.unregisterDevice,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Ads,id:ads,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/ads,type:BASE,isSearchable:false,tokenTypes:,children:{title:ads.getAccounts,id:ads.getAccounts,description:Возвращает список рекламных кабинетов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getAccounts,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getClients,id:ads.getClients,description:Метод возвращает список клиентов рекламного агентства. Доступен только для рекламных агентств.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getClients,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createClients,id:ads.createClients,description:Метод создаёт клиентов рекламного агентства. Доступен только для рекламных агентств.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createClients,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateClients,id:ads.updateClients,description:Метод редактирует клиентов рекламного агентства. Доступен только для рекламных агентств.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateClients,type:BASE,isSearchable:false,tokenTypes:},{title:ads.deleteClients,id:ads.deleteClients,description:Архивирует клиентов рекламного агентства.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.deleteClients,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getCampaigns,id:ads.getCampaigns,description:Возвращает список кампаний рекламного кабинета.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getCampaigns,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createCampaigns,id:ads.createCampaigns,description:Создает рекламные кампании.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createCampaigns,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateCampaigns,id:ads.updateCampaigns,description:Редактирует рекламные кампании.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateCampaigns,type:BASE,isSearchable:false,tokenTypes:},{title:ads.deleteCampaigns,id:ads.deleteCampaigns,description:Архивирует рекламные кампании.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.deleteCampaigns,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getAds,id:ads.getAds,description:Возвращает список рекламных объявлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getAds,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getAdsLayout,id:ads.getAdsLayout,description:Возвращает описания внешнего вида рекламных объявлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getAdsLayout,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getAdsTargeting,id:ads.getAdsTargeting,description:Возвращает параметры таргетинга рекламных объявлений,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getAdsTargeting,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createAds,id:ads.createAds,description:Создает рекламные объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createAds,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateAds,id:ads.updateAds,description:Редактирует рекламные объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateAds,type:BASE,isSearchable:false,tokenTypes:},{title:ads.deleteAds,id:ads.deleteAds,description:Архивирует рекламные объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.deleteAds,type:BASE,isSearchable:false,tokenTypes:},{title:ads.checkLink,id:ads.checkLink,description:Проверяет ссылку на рекламируемый объект.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.checkLink,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getStatistics,id:ads.getStatistics,description:Возвращает статистику показателей эффективности по рекламным объявлениям, кампаниям, клиентам или всему кабинету.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getStatistics,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getDemographics,id:ads.getDemographics,description:Возвращает демографическую статистику по рекламным объявлениям или кампаниям.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getDemographics,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getPostsReach,id:ads.getPostsReach,description:Возвращает подробную статистику по охвату рекламных записей из объявлений и кампаний для продвижения записей сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getPostsReach,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getBudget,id:ads.getBudget,description:Возвращает текущий бюджет рекламного кабинета.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getBudget,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getOfficeUsers,id:ads.getOfficeUsers,description:Возвращает список администраторов и наблюдателей рекламного кабинета.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getOfficeUsers,type:BASE,isSearchable:false,tokenTypes:},{title:ads.addOfficeUsers,id:ads.addOfficeUsers,description:Добавляет администраторов и/или наблюдателей в рекламный кабинет.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.addOfficeUsers,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateOfficeUsers,id:ads.updateOfficeUsers,description:Добавляет или редактирует администраторов и/или наблюдателей в рекламный кабинет.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateOfficeUsers,type:BASE,isSearchable:false,tokenTypes:},{title:ads.removeOfficeUsers,id:ads.removeOfficeUsers,description:Удаляет администраторов и/или наблюдателей из рекламного кабинета.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.removeOfficeUsers,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getTargetingStats,id:ads.getTargetingStats,description:Возвращает размер целевой аудитории таргетинга, а также рекомендованные значения CPC и CPM.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getTargetingStats,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getSuggestions,id:ads.getSuggestions,description:Возвращает набор подсказок для различных параметров таргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getSuggestions,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getCategories,id:ads.getCategories,description:Позволяет получить возможные тематики рекламных объявлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getCategories,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getUploadURL,id:ads.getUploadURL,description:Возвращает URL-адрес для загрузки фотографии рекламного объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getUploadURL,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getVideoUploadURL,id:ads.getVideoUploadURL,description:Возвращает URL-адрес для загрузки видеозаписи рекламного объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getVideoUploadURL,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getFloodStats,id:ads.getFloodStats,description:Возвращает информацию о текущем состоянии счетчика — количество оставшихся запусков методов и время до следующего обнуления счетчика в секундах.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getFloodStats,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getRejectionReason,id:ads.getRejectionReason,description:Возвращает причину, по которой указанному объявлению было отказано в прохождении премодерации.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getRejectionReason,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createTargetGroup,id:ads.createTargetGroup,description:Создаёт аудиторию для ретаргетинга рекламных объявлений на пользователей, которые посетили сайт рекламодателя (просмотрели информации о товаре, зарегистрировались и т.д.).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createTargetGroup,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateTargetGroup,id:ads.updateTargetGroup,description:Редактирует аудиторию ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateTargetGroup,type:BASE,isSearchable:false,tokenTypes:},{title:ads.deleteTargetGroup,id:ads.deleteTargetGroup,description:Удаляет аудиторию ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.deleteTargetGroup,type:BASE,isSearchable:false,tokenTypes:},{title:ads.shareTargetGroup,id:ads.shareTargetGroup,description:Предоставляет доступ к аудитории ретаргетинга другому рекламному кабинету. В результате выполнения метода возвращается идентификатор аудитории для указанного кабинета.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.shareTargetGroup,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getTargetGroups,id:ads.getTargetGroups,description:Возвращает список аудиторий ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getTargetGroups,type:BASE,isSearchable:false,tokenTypes:},{title:ads.importTargetContacts,id:ads.importTargetContacts,description:Импортирует список контактов рекламодателя для учета зарегистрированных во ВКонтакте пользователей в аудитории ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.importTargetContacts,type:BASE,isSearchable:false,tokenTypes:},{title:ads.removeTargetContacts,id:ads.removeTargetContacts,description:Принимает запрос на исключение контактов рекламодателя из аудитории ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.removeTargetContacts,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createTargetPixel,id:ads.createTargetPixel,description:Создаёт пиксель ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createTargetPixel,type:BASE,isSearchable:false,tokenTypes:},{title:ads.updateTargetPixel,id:ads.updateTargetPixel,description:Редактирует пиксель ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.updateTargetPixel,type:BASE,isSearchable:false,tokenTypes:},{title:ads.deleteTargetPixel,id:ads.deleteTargetPixel,description:Удаляет пиксель ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.deleteTargetPixel,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getTargetPixels,id:ads.getTargetPixels,description:Возвращает список пикселей ретаргетинга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getTargetPixels,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getLookalikeRequests,id:ads.getLookalikeRequests,description:Возвращает список запросов на поиск похожей аудитории.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getLookalikeRequests,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getMusicians,id:ads.getMusicians,description:Возвращает информацию о музыкантах, на слушателей которых доступно таргетирование.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getMusicians,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getMusiciansByIds,id:ads.getMusiciansByIds,description:Возвращает информацию о музыкантах на слушателей, для которых доступно таргетирование.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getMusiciansByIds,type:BASE,isSearchable:false,tokenTypes:},{title:ads.createLookalikeRequest,id:ads.createLookalikeRequest,description:Создаёт запрос на поиск похожей аудитории.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.createLookalikeRequest,type:BASE,isSearchable:false,tokenTypes:},{title:ads.saveLookalikeRequestResult,id:ads.saveLookalikeRequestResult,description:Сохраняет результат поиска похожей аудитории.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.saveLookalikeRequestResult,type:BASE,isSearchable:false,tokenTypes:},{title:ads.getAdsPostsReach,id:ads.getAdsPostsReach,description:Возвращает подробную информацию об охвате рекламных записей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/ads.getAdsPostsReach,type:BASE,isSearchable:false,tokenTypes:}},{title:AppWidgets,id:appWidgets,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/appWidgets,type:BASE,isSearchable:false,tokenTypes:,children:{title:appWidgets.getAppImageUploadServer,id:appWidgets.getAppImageUploadServer,description:Позволяет получить адрес для загрузки фотографии в коллекцию приложения для виджетов приложений сообществ(api/community-apps-widgets/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/appWidgets.getAppImageUploadServer,type:BASE,isSearchable:false,tokenTypes:secure},{title:appWidgets.getAppImages,id:appWidgets.getAppImages,description:Позволяет получить коллекцию изображений, загруженных для приложения, в виджетах приложений сообществ(api/community-apps-widgets/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/appWidgets.getAppImages,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:appWidgets.getGroupImageUploadServer,id:appWidgets.getGroupImageUploadServer,description:Позволяет получить адрес для загрузки фотографии в коллекцию сообщества для виджетов приложений сообществ(api/community-apps-widgets/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:app_widget,url:method/appWidgets.getGroupImageUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access_only},{title:appWidgets.getGroupImages,id:appWidgets.getGroupImages,description:Позволяет получить коллекцию изображений, загруженных для приложения, в виджетах приложений сообществ(api/community-apps-widgets/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:app_widget,url:method/appWidgets.getGroupImages,type:BASE,isSearchable:false,tokenTypes:group_access_only},{title:appWidgets.getImagesById,id:appWidgets.getImagesById,description:Позволяет получить изображение для виджетов приложений сообществ(api/community-apps-widgets/getting-started) по его идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/appWidgets.getImagesById,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:appWidgets.saveAppImage,id:appWidgets.saveAppImage,description:Позволяет сохранить изображение в коллекцию приложения для виджетов приложений сообществ(api/community-apps-widgets/getting-started) после загрузки на сервер.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/appWidgets.saveAppImage,type:BASE,isSearchable:false,tokenTypes:secure},{title:appWidgets.saveGroupImage,id:appWidgets.saveGroupImage,description:Позволяет сохранить изображение в коллекцию сообщества для виджетов приложений сообществ(api/community-apps-widgets/getting-started). после загрузки на сервер.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:app_widget,url:method/appWidgets.saveGroupImage,type:BASE,isSearchable:false,tokenTypes:group_access_only},{title:appWidgets.update,id:appWidgets.update,description:Позволяет обновить виджет приложения сообщества(api/community-apps-widgets/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:app_widget,url:method/appWidgets.update,type:BASE,isSearchable:false,tokenTypes:group_access,user_access_hidden}},{title:Apps,id:apps,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps,type:BASE,isSearchable:false,tokenTypes:,children:{title:apps.getCatalog,id:apps.getCatalog,description:Возвращает список приложений, доступных для пользователей сайта через каталог приложений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getCatalog,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:apps.get,id:apps.get,description:Возвращает данные о запрошенном приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:apps.sendRequest,id:apps.sendRequest,description:Позволяет отправить запрос другому пользователю в приложении, использующем авторизацию ВКонтакте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/apps.sendRequest,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:apps.deleteAppRequests,id:apps.deleteAppRequests,description:Удаляет все уведомления о запросах, отправленных из текущего приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/apps.deleteAppRequests,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:apps.getFriendsList,id:apps.getFriendsList,description:Создает список друзей, который будет использоваться при отправке пользователем приглашений в приложение и игровых запросов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/apps.getFriendsList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:apps.getLeaderboard,id:apps.getLeaderboard,description:Возвращает рейтинг пользователей в игре.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getLeaderboard,type:BASE,isSearchable:false,tokenTypes:},{title:apps.getMiniAppPolicies,id:apps.getMiniAppPolicies,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getMiniAppPolicies,type:BASE,isSearchable:false,tokenTypes:},{title:apps.getScore,id:apps.getScore,description:Метод возвращает количество очков пользователя в этой игре.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getScore,type:BASE,isSearchable:false,tokenTypes:},{title:apps.isNotificationsAllowed,id:apps.isNotificationsAllowed,description:Метод проверяет, разрешил ли пользователь присылать ему уведомления(mini-apps/management/notifications) в мини-приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.isNotificationsAllowed,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:apps.getScopes,id:apps.getScopes,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getScopes,type:BASE,isSearchable:false,tokenTypes:},{title:apps.promoHasActiveGift,id:apps.promoHasActiveGift,description:Проверить есть ли у пользователя подарок в игре.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.promoHasActiveGift,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:apps.promoUseGift,id:apps.promoUseGift,description:Использовать подарок, полученный пользователем в промо-акции.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.promoUseGift,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:apps.addUsersToTestingGroup,id:apps.addUsersToTestingGroup,description:Метод добавляет указанных пользователей в группу тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.addUsersToTestingGroup,type:BASE,isSearchable:false,tokenTypes:secure},{title:apps.removeUsersFromTestingGroups,id:apps.removeUsersFromTestingGroups,description:Метод удаляет указанных пользователей из групп тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.removeUsersFromTestingGroups,type:BASE,isSearchable:false,tokenTypes:secure},{title:apps.removeTestingGroup,id:apps.removeTestingGroup,description:Метод удаляет указанную группу тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.removeTestingGroup,type:BASE,isSearchable:false,tokenTypes:secure},{title:apps.updateMetaForTestingGroup,id:apps.updateMetaForTestingGroup,description:Метод создает новую или обновляет существующую группу тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.updateMetaForTestingGroup,type:BASE,isSearchable:false,tokenTypes:secure},{title:apps.getTestingGroups,id:apps.getTestingGroups,description:Метод возвращает группы тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getTestingGroups,type:BASE,isSearchable:false,tokenTypes:secure},{title:apps.getLastUploadedVersion,id:apps.getLastUploadedVersion,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/apps.getLastUploadedVersion,type:BASE,isSearchable:false,tokenTypes:secure}},{title:Asr,id:asr,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/asr,type:BASE,isSearchable:false,tokenTypes:,children:{title:asr.checkStatus,id:asr.checkStatus,description:Метод проверяет статус задачи на обработку аудиозаписи(method/asr.process#Результат) и возвращает текстовую расшифровку аудиозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/asr.checkStatus,type:BASE,isSearchable:false,tokenTypes:allow_from_server,user_access_hidden},{title:asr.getUploadUrl,id:asr.getUploadUrl,description:Метод возвращает ссылку на адрес сервера для загрузки аудиозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/asr.getUploadUrl,type:BASE,isSearchable:false,tokenTypes:allow_from_server,user_access_hidden},{title:asr.process,id:asr.process,description:Метод выполняет распознавание речи из загруженного файла аудиозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/asr.process,type:BASE,isSearchable:false,tokenTypes:allow_from_server,user_access_hidden}},{title:Auth,id:auth,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/auth,type:BASE,isSearchable:false,tokenTypes:,children:{title:auth.checkPhone,id:auth.checkPhone,description:Проверяет правильность введённого номера (возможность его использования для регистрации или авторизации).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/auth.checkPhone,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:auth.restore,id:auth.restore,description:Позволяет восстановить доступ к аккаунту, используя код, полученный через SMS.\n\n\u003e Данный метод доступен только приложениям, имеющим доступ к Прямой авторизации(api/direct-auth).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/auth.restore,type:BASE,isSearchable:false,tokenTypes:allow_from_server}},{title:Board,id:board,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/board,type:BASE,isSearchable:false,tokenTypes:,children:{title:board.addTopic,id:board.addTopic,description:Создает новую тему в списке обсуждений группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.addTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.closeTopic,id:board.closeTopic,description:Закрывает тему в списке обсуждений группы (в такой теме невозможно оставлять новые сообщения).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.closeTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.createComment,id:board.createComment,description:Добавляет новый комментарий в обсуждении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.createComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.deleteComment,id:board.deleteComment,description:Удаляет сообщение темы в обсуждениях сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.deleteComment,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:board.deleteTopic,id:board.deleteTopic,description:Удаляет тему в обсуждениях группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.deleteTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.editComment,id:board.editComment,description:Редактирует одно из сообщений в обсуждении сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.editComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.editTopic,id:board.editTopic,description:Изменяет заголовок темы в списке обсуждений группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.editTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.fixTopic,id:board.fixTopic,description:Закрепляет тему в списке обсуждений группы (такая тема при любой сортировке выводится выше остальных).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.fixTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.getComments,id:board.getComments,description:Возвращает список сообщений в указанной теме.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/board.getComments,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:board.getTopics,id:board.getTopics,description:Возвращает список тем в обсуждениях указанной группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/board.getTopics,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:board.openTopic,id:board.openTopic,description:Открывает ранее закрытую тему (в ней станет возможно оставлять новые сообщения).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.openTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:board.restoreComment,id:board.restoreComment,description:Восстанавливает удаленное сообщение темы в обсуждениях группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.restoreComment,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:board.unfixTopic,id:board.unfixTopic,description:Отменяет прикрепление темы в списке обсуждений группы (тема будет выводиться согласно выбранной сортировке).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.unfixTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Calls,id:calls,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/calls,type:BASE,isSearchable:false,tokenTypes:,children:{title:calls.forceFinish,id:calls.forceFinish,description:Принудительно завершить звонок,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/calls.forceFinish,type:BASE,isSearchable:false,tokenTypes:},{title:calls.start,id:calls.start,description:Создать новый звонок от имени пользователя или сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/calls.start,type:BASE,isSearchable:false,tokenTypes:}},{title:Database,id:database,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database,type:BASE,isSearchable:false,tokenTypes:,children:{title:database.getChairs,id:database.getChairs,description:Возвращает список кафедр университета по указанному факультету.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getChairs,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getCities,id:database.getCities,description:Возвращает список городов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getCities,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getCitiesById,id:database.getCitiesById,description:Возвращает информацию о городах и регионах по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getCitiesById,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getCountries,id:database.getCountries,description:Возвращает список стран.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getCountries,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getCountriesById,id:database.getCountriesById,description:Возвращает информацию о странах по их идентификаторам,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getCountriesById,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getFaculties,id:database.getFaculties,description:Возвращает список факультетов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getFaculties,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getMetroStations,id:database.getMetroStations,description:Возвращает список станций метро.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getMetroStations,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getMetroStationsById,id:database.getMetroStationsById,description:Возвращает информацию об одной или нескольких станциях метро по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getMetroStationsById,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getRegions,id:database.getRegions,description:Возвращает список регионов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getRegions,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getSchoolClasses,id:database.getSchoolClasses,description:Возвращает список классов, характерных для школ определенной страны.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getSchoolClasses,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getSchools,id:database.getSchools,description:Возвращает список школ.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getSchools,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:database.getUniversities,id:database.getUniversities,description:Возвращает список высших учебных заведений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/database.getUniversities,type:BASE,isSearchable:false,tokenTypes:allow_from_server}},{title:Docs,id:docs,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/docs,type:BASE,isSearchable:false,tokenTypes:,children:{title:docs.add,id:docs.add,description:Копирует документ в документы текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.add,type:BASE,isSearchable:false,tokenTypes:},{title:docs.delete,id:docs.delete,description:Удаляет документ пользователя или группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.delete,type:BASE,isSearchable:false,tokenTypes:},{title:docs.edit,id:docs.edit,description:Редактирует документ пользователя или группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.edit,type:BASE,isSearchable:false,tokenTypes:},{title:docs.get,id:docs.get,description:Возвращает расширенную информацию о документах пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.get,type:BASE,isSearchable:false,tokenTypes:},{title:docs.getById,id:docs.getById,description:Возвращает информацию о документах по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.getById,type:BASE,isSearchable:false,tokenTypes:group_access},{title:docs.getMessagesUploadServer,id:docs.getMessagesUploadServer,description:Получает адрес сервера для загрузки документа(upload_files_2%2310._%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2) в личное сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.getMessagesUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access},{title:docs.getTypes,id:docs.getTypes,description:Возвращает доступные для пользователя типы документов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.getTypes,type:BASE,isSearchable:false,tokenTypes:},{title:docs.getUploadServer,id:docs.getUploadServer,description:Возвращает адрес сервера для загрузки документов(https://dev.vk.com/api/upload#%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.getUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:docs.getWallUploadServer,id:docs.getWallUploadServer,description:Возвращает адрес сервера для загрузки документов(api/upload) в папку **Отправленные**, для последующей отправки документа на стену или личным сообщением.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.getWallUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access},{title:docs.save,id:docs.save,description:Сохраняет документ после его успешной загрузки(api/upload) на сервер.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.save,type:BASE,isSearchable:false,tokenTypes:group_access},{title:docs.search,id:docs.search,description:Возвращает результаты поиска по документам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:docs,url:method/docs.search,type:BASE,isSearchable:false,tokenTypes:group_access}},{title:Donut,id:donut,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/donut,type:BASE,isSearchable:false,tokenTypes:,children:{title:donut.getFriends,id:donut.getFriends,description:Возвращает список донов, которые подписаны на определенные сообщества, из числа друзей пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,groups,url:method/donut.getFriends,type:BASE,isSearchable:false,tokenTypes:},{title:donut.getSubscription,id:donut.getSubscription,description:Возвращает информацию о подписке VK Donut.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/donut.getSubscription,type:BASE,isSearchable:false,tokenTypes:},{title:donut.getSubscriptions,id:donut.getSubscriptions,description:Возвращает информацию о подписках пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/donut.getSubscriptions,type:BASE,isSearchable:false,tokenTypes:},{title:donut.isDon,id:donut.isDon,description:Возвращает информацию о том, подписан ли пользователь на платный контент (является доном).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/donut.isDon,type:BASE,isSearchable:false,tokenTypes:}},{title:DownloadedGames,id:downloadedGames,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/downloadedGames,type:BASE,isSearchable:false,tokenTypes:,children:{title:downloadedGames.getPaidStatus,id:downloadedGames.getPaidStatus,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/downloadedGames.getPaidStatus,type:BASE,isSearchable:false,tokenTypes:}},{title:Fave,id:fave,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/fave,type:BASE,isSearchable:false,tokenTypes:,children:{title:fave.addArticle,id:fave.addArticle,description:Добавляет статью в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.addArticle,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:fave.addLink,id:fave.addLink,description:Добавляет ссылку в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.addLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.addPage,id:fave.addPage,description:Добавляет сообщество или пользователя в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.addPage,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.addPost,id:fave.addPost,description:Добавляет запись со стены пользователя или сообщества в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.addPost,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.addProduct,id:fave.addProduct,description:Добавляет товар в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.addProduct,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.addTag,id:fave.addTag,description:Создаёт метку закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.addTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.addVideo,id:fave.addVideo,description:Добавляет видеозапись в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.addVideo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.editTag,id:fave.editTag,description:Редактирует метку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.editTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.get,id:fave.get,description:Возвращает объекты, добавленные в закладки пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.get,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.getPages,id:fave.getPages,description:Возвращает страницы пользователей и сообществ, добавленных в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.getPages,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.getTags,id:fave.getTags,description:Возвращает список меток в закладках.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.getTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.markSeen,id:fave.markSeen,description:Отмечает закладки как просмотренные.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.markSeen,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removeArticle,id:fave.removeArticle,description:Удаляет статью из закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.removeArticle,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:fave.removeLink,id:fave.removeLink,description:Удаляет ссылку из списка закладок пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.removeLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removePage,id:fave.removePage,description:Удаляет из закладок сообщество или страницу пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.removePage,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removePost,id:fave.removePost,description:Удаляет из закладок запись на стене пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.removePost,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removeProduct,id:fave.removeProduct,description:Удаляет товар из закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/fave.removeProduct,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removeTag,id:fave.removeTag,description:Удаляет метку закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.removeTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.removeVideo,id:fave.removeVideo,description:Удаляет видеозапись из списка закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.removeVideo,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.reorderTags,id:fave.reorderTags,description:Меняет порядок меток закладок в списке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.reorderTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.setPageTags,id:fave.setPageTags,description:Устанавливает метку странице пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.setPageTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.setTags,id:fave.setTags,description:Устанавливает метку выбранному объекту в списке закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.setTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:fave.trackPageInteraction,id:fave.trackPageInteraction,description:Устанавливает страницу пользователя или сообщества в топ закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/fave.trackPageInteraction,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Friends,id:friends,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/friends,type:BASE,isSearchable:false,tokenTypes:,children:{title:friends.add,id:friends.add,description:Одобряет или создаёт заявку на добавление в друзья.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,deny_service_user,url:method/friends.add,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.addList,id:friends.addList,description:Создает новый список друзей у текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,deny_service_user,url:method/friends.addList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.areFriends,id:friends.areFriends,description:Возвращает информацию о том, добавлен ли текущий пользователь в друзья у указанных пользователей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.areFriends,type:BASE,isSearchable:false,tokenTypes:},{title:friends.delete,id:friends.delete,description:Удаляет пользователя из списка друзей или отклоняет заявку в друзья.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.delete,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.deleteAllRequests,id:friends.deleteAllRequests,description:Отмечает все входящие заявки на добавление в друзья как просмотренные.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.deleteAllRequests,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.deleteList,id:friends.deleteList,description:Удаляет существующий список друзей текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.deleteList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.edit,id:friends.edit,description:Редактирует списки друзей для выбранного друга.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,deny_service_user,url:method/friends.edit,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.editList,id:friends.editList,description:Редактирует существующий список друзей текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,deny_service_user,url:method/friends.editList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.get,id:friends.get,description:Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра `fields`).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/friends.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:friends.getAppUsers,id:friends.getAppUsers,description:Возвращает список идентификаторов друзей текущего пользователя, которые установили данное приложение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.getAppUsers,type:BASE,isSearchable:false,tokenTypes:},{title:friends.getAvailableForCall,id:friends.getAvailableForCall,description:Позволяет получить список идентификаторов пользователей, доступных для вызова в приложении, используя метод Client API(sdk/javascript) `callUser`.\n\nПодробнее о схеме вызова(sdk/javascript) из приложений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.getAvailableForCall,type:BASE,isSearchable:false,tokenTypes:},{title:friends.getByPhones,id:friends.getByPhones,description:Возвращает список друзей пользователя, у которых завалидированные или указанные в профиле телефонные номера входят в заданный список.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.getByPhones,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.getLists,id:friends.getLists,description:Возвращает список меток друзей пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.getLists,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.getMutual,id:friends.getMutual,description:Возвращает список идентификаторов общих друзей между парой пользователей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.getMutual,type:BASE,isSearchable:false,tokenTypes:},{title:friends.getOnline,id:friends.getOnline,description:Возвращает список идентификаторов друзей пользователя, находящихся на сайте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.getOnline,type:BASE,isSearchable:false,tokenTypes:},{title:friends.getRecent,id:friends.getRecent,description:Возвращает список идентификаторов недавно добавленных друзей текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.getRecent,type:BASE,isSearchable:false,tokenTypes:},{title:friends.getRequests,id:friends.getRequests,description:Возвращает информацию о полученных или отправленных заявках на добавление в друзья для текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.getRequests,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.getSuggestions,id:friends.getSuggestions,description:Возвращает список профилей пользователей, которые могут быть друзьями текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends_ex,url:method/friends.getSuggestions,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:friends.search,id:friends.search,description:Позволяет искать по списку друзей пользователей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,url:method/friends.search,type:BASE,isSearchable:false,tokenTypes:}},{title:Gifts,id:gifts,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/gifts,type:BASE,isSearchable:false,tokenTypes:,children:{title:gifts.get,id:gifts.get,description:Возвращает список полученных подарков пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/gifts.get,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Groups,id:groups,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups,type:BASE,isSearchable:false,tokenTypes:,children:{title:groups.addAddress,id:groups.addAddress,description:Позволяет добавить адрес в сообщество.\nСписок адресов может быть получен методом `groups.getAddresses`(method/groups.getAddresses).\n\n\u003e Для того, чтобы воспользоваться этим методом, вы должны быть администратором сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.addCallbackServer,id:groups.addCallbackServer,description:Добавляет сервер для Callback API(api/callback/getting-started) в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.addLink,id:groups.addLink,description:Позволяет добавлять ссылки в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.approveRequest,id:groups.approveRequest,description:Позволяет одобрить заявку в группу от пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.approveRequest,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.ban,id:groups.ban,description:Добавляет пользователя или группу в черный список сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.ban,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.create,id:groups.create,description:Создает новое сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.create,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.deleteAddress,id:groups.deleteAddress,description:Удаляет адрес сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.deleteCallbackServer,id:groups.deleteCallbackServer,description:Удаляет сервер для Callback API(api/callback/getting-started) из сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.deleteLink,id:groups.deleteLink,description:Позволяет удалить ссылки из сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.disableOnline,id:groups.disableOnline,description:Выключает статус «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.disableOnline,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.edit,id:groups.edit,description:Редактирует сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.edit,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editAddress,id:groups.editAddress,description:Позволяет отредактировать адрес в сообществе.\nСписок адресов может быть получен методом `groups.getAddresses`(method/groups.getAddresses).\n\n\u003e Для того, чтобы воспользоваться этим методом, вы должны быть администратором сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editCallbackServer,id:groups.editCallbackServer,description:Редактирует данные сервера для Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editLink,id:groups.editLink,description:Позволяет редактировать ссылки в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.editManager,id:groups.editManager,description:Позволяет назначить/разжаловать руководителя в сообществе или изменить уровень его полномочий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editManager,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.editPlace,id:groups.editPlace,description:Позволяет редактировать информацию о месте группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editPlace,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.enableOnline,id:groups.enableOnline,description:Включает статус «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.enableOnline,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.get,id:groups.get,description:Возвращает список сообществ указанного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.get,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getAddresses,id:groups.getAddresses,description:Возвращает адрес указанного сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getAddresses,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:groups.getBanned,id:groups.getBanned,description:Возвращает список забаненных пользователей и сообществ в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getBanned,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getById,id:groups.getById,description:Возвращает информацию о заданном сообществе или о нескольких сообществах.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getById,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.getCallbackConfirmationCode,id:groups.getCallbackConfirmationCode,description:Позволяет получить строку, необходимую для подтверждения адреса сервера в Callback API(api/callback/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackConfirmationCode,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackServerSettings,id:groups.getCallbackServerSettings,description:Позволяет получить информацию о настройках сервера для получения уведомлений Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackServerSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackServers,id:groups.getCallbackServers,description:Получает информацию о серверах для Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackServers,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackSettings,id:groups.getCallbackSettings,description:Позволяет получить настройки уведомлений Callback API(api/callback/getting-started) для сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCatalog,id:groups.getCatalog,description:Возвращает список сообществ выбранной категории каталога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getCatalog,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getCatalogInfo,id:groups.getCatalogInfo,description:Возвращает список категорий для каталога сообществ.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getCatalogInfo,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getInvitedUsers,id:groups.getInvitedUsers,description:Возвращает список пользователей, которые были приглашены в группу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getInvitedUsers,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getInvites,id:groups.getInvites,description:Данный метод возвращает список приглашений в сообщества и встречи текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getInvites,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getLongPollServer,id:groups.getLongPollServer,description:Возвращает данные для подключения к Bots Longpoll API(api/bots-long-poll/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getLongPollServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getLongPollSettings,id:groups.getLongPollSettings,description:Получает настройки Bots Longpoll API для сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getLongPollSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getMembers,id:groups.getMembers,description:Возвращает список участников сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getMembers,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.getOnlineStatus,id:groups.getOnlineStatus,description:Получает информацию о статусе «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getOnlineStatus,type:BASE,isSearchable:false,tokenTypes:group_access},{title:groups.getRequests,id:groups.getRequests,description:Возвращает список заявок на вступление в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getRequests,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getSettings,id:groups.getSettings,description:Позволяет получать данные, необходимые для отображения страницы редактирования данных сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getSettings,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getTagList,id:groups.getTagList,description:Возвращает список тегов сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getTagList,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getTokenPermissions,id:groups.getTokenPermissions,description:Возвращает настройки прав для ключа доступа сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getTokenPermissions,type:BASE,isSearchable:false,tokenTypes:group_access_only},{title:groups.invite,id:groups.invite,description:Позволяет приглашать друзей в группу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.invite,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.isMember,id:groups.isMember,description:Возвращает информацию о том, является ли пользователь участником сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.isMember,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.join,id:groups.join,description:Данный метод позволяет вступить в группу, публичную страницу, а также подтвердить участие во встрече.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.join,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.leave,id:groups.leave,description:Позволяет покинуть сообщество или отклонить приглашение в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.leave,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.removeUser,id:groups.removeUser,description:Позволяет исключить пользователя из группы или отклонить заявку на вступление.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.removeUser,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.reorderLink,id:groups.reorderLink,description:Позволяет менять местоположение ссылки в списке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.reorderLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.search,id:groups.search,description:Осуществляет поиск сообществ по заданной подстроке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.search,type:BASE,isSearchable:false,tokenTypes:},{title:groups.setCallbackSettings,id:groups.setCallbackSettings,description:Позволяет задать настройки уведомлений о событиях в Callback API(api/callback/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setCallbackSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setLongPollSettings,id:groups.setLongPollSettings,description:Задаёт настройки для Bots Long Poll API в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setLongPollSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setSettings,id:groups.setSettings,description:Устанавливает настройки сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setUserNote,id:groups.setUserNote,description:Позволяет создать или отредактировать заметку о пользователе в рамках переписки пользователя с сообществом,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setUserNote,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagAdd,id:groups.tagAdd,description:Позволяет добавить новый тег в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagAdd,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagBind,id:groups.tagBind,description:Позволяет «привязывать» и «отвязывать» теги сообщества к беседам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagBind,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagDelete,id:groups.tagDelete,description:Позволяет удалить тег сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagDelete,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagUpdate,id:groups.tagUpdate,description:Позволяет переименовать существующий тег.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagUpdate,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.toggleMarket,id:groups.toggleMarket,description:Переключает функционал раздела «Товаров» в выбранной группе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/groups.toggleMarket,type:BASE,isSearchable:false,tokenTypes:},{title:groups.unban,id:groups.unban,description:Убирает пользователя или группу из черного списка сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.unban,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:LeadForms,id:leadForms,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/leadForms,type:BASE,isSearchable:false,tokenTypes:,children:{title:leadForms.create,id:leadForms.create,description:Создаёт форму сбора заявок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.create,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.delete,id:leadForms.delete,description:Удаляет форму сбора заявок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.delete,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.get,id:leadForms.get,description:Возвращает информацию о форме сбора заявок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.get,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.getLeads,id:leadForms.getLeads,description:Возвращает заявки формы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.getLeads,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.getUploadURL,id:leadForms.getUploadURL,description:Возвращает URL для загрузки обложки для формы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.getUploadURL,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.list,id:leadForms.list,description:Возвращает список форм сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.list,type:BASE,isSearchable:false,tokenTypes:},{title:leadForms.update,id:leadForms.update,description:Обновляет форму сбора заявок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/leadForms.update,type:BASE,isSearchable:false,tokenTypes:}},{title:Likes,id:likes,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/likes,type:BASE,isSearchable:false,tokenTypes:,children:{title:likes.getList,id:likes.getList,description:Метод получает список идентификаторов пользователей, которые поставили у заданного объекта отметку «Нравится».,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/likes.getList,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:likes.add,id:likes.add,description:Добавляет указанный объект в список **Мне нравится** текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/likes.add,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:likes.delete,id:likes.delete,description:Удаляет указанный объект из списка **Мне нравится** текущего пользователя,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/likes.delete,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:likes.isLiked,id:likes.isLiked,description:Проверяет, находится ли объект в списке **Мне нравится** заданного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/likes.isLiked,type:BASE,isSearchable:false,tokenTypes:}},{title:Market,id:market,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/market,type:BASE,isSearchable:false,tokenTypes:,children:{title:market.add,id:market.add,description:Добавляет новый товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.add,type:BASE,isSearchable:false,tokenTypes:},{title:market.addAlbum,id:market.addAlbum,description:Добавляет новую подборку с товарами.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.addAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:market.addToAlbum,id:market.addToAlbum,description:Добавляет товар в одну или несколько выбранных подборок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.addToAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:market.createComment,id:market.createComment,description:Создаёт новый комментарий к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.createComment,type:BASE,isSearchable:false,tokenTypes:},{title:market.delete,id:market.delete,description:Удаляет товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.delete,type:BASE,isSearchable:false,tokenTypes:},{title:market.deleteAlbum,id:market.deleteAlbum,description:Удаляет подборку с товарами.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.deleteAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:market.deleteComment,id:market.deleteComment,description:Удаляет комментарий к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.deleteComment,type:BASE,isSearchable:false,tokenTypes:},{title:market.edit,id:market.edit,description:Редактирует товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.edit,type:BASE,isSearchable:false,tokenTypes:},{title:market.editAlbum,id:market.editAlbum,description:Редактирует подборку с товарами.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.editAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:market.editComment,id:market.editComment,description:Изменяет текст комментария к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.editComment,type:BASE,isSearchable:false,tokenTypes:},{title:market.editOrder,id:market.editOrder,description:Редактирует заказ.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.editOrder,type:BASE,isSearchable:false,tokenTypes:group_access},{title:market.get,id:market.get,description:Возвращает список товаров в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.get,type:BASE,isSearchable:false,tokenTypes:},{title:market.getAlbumById,id:market.getAlbumById,description:Возвращает данные подборки с товарами.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getAlbumById,type:BASE,isSearchable:false,tokenTypes:},{title:market.getAlbums,id:market.getAlbums,description:Возвращает список подборок с товарами.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getAlbums,type:BASE,isSearchable:false,tokenTypes:},{title:market.getById,id:market.getById,description:Возвращает информацию о товарах по идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getById,type:BASE,isSearchable:false,tokenTypes:},{title:market.getCategories,id:market.getCategories,description:Возвращает список категорий для товаров.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getCategories,type:BASE,isSearchable:false,tokenTypes:},{title:market.getComments,id:market.getComments,description:Возвращает список комментариев к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getComments,type:BASE,isSearchable:false,tokenTypes:},{title:market.getGroupOrders,id:market.getGroupOrders,description:Возвращает заказы сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getGroupOrders,type:BASE,isSearchable:false,tokenTypes:group_access},{title:market.getOrderById,id:market.getOrderById,description:Возвращает заказ по идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getOrderById,type:BASE,isSearchable:false,tokenTypes:group_access},{title:market.getOrderItems,id:market.getOrderItems,description:Возвращает товары в заказе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getOrderItems,type:BASE,isSearchable:false,tokenTypes:group_access},{title:market.getOrders,id:market.getOrders,description:Возвращает заказы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.getOrders,type:BASE,isSearchable:false,tokenTypes:},{title:market.removeFromAlbum,id:market.removeFromAlbum,description:Удаляет товар из одной или нескольких выбранных подборок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.removeFromAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:market.reorderAlbums,id:market.reorderAlbums,description:Изменяет положение подборки с товарами в списке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.reorderAlbums,type:BASE,isSearchable:false,tokenTypes:},{title:market.reorderItems,id:market.reorderItems,description:Изменяет положение товара в подборке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.reorderItems,type:BASE,isSearchable:false,tokenTypes:},{title:market.report,id:market.report,description:Позволяет отправить жалобу на товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.report,type:BASE,isSearchable:false,tokenTypes:},{title:market.reportComment,id:market.reportComment,description:Позволяет оставить жалобу на комментарий к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.reportComment,type:BASE,isSearchable:false,tokenTypes:},{title:market.restore,id:market.restore,description:Восстанавливает удаленный товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.restore,type:BASE,isSearchable:false,tokenTypes:},{title:market.restoreComment,id:market.restoreComment,description:Восстанавливает удаленный комментарий к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.restoreComment,type:BASE,isSearchable:false,tokenTypes:},{title:market.search,id:market.search,description:Ищет товары в каталоге сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.search,type:BASE,isSearchable:false,tokenTypes:},{title:market.searchItems,id:market.searchItems,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.searchItems,type:BASE,isSearchable:false,tokenTypes:},{title:market.searchItemsBasic,id:market.searchItemsBasic,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,url:method/market.searchItemsBasic,type:BASE,isSearchable:false,tokenTypes:}},{title:Messages,id:messages,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages,type:BASE,isSearchable:false,tokenTypes:,children:{title:messages.addChatUser,id:messages.addChatUser,description:Добавляет в мультидиалог нового пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.addChatUser,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.allowMessagesFromGroup,id:messages.allowMessagesFromGroup,description:Позволяет разрешить отправку сообщений от сообщества текущему пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.allowMessagesFromGroup,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.createChat,id:messages.createChat,description:Создаёт беседу с несколькими участниками.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.createChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.delete,id:messages.delete,description:Удаляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.delete,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.deleteChatPhoto,id:messages.deleteChatPhoto,description:Позволяет удалить фотографию мультидиалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.deleteChatPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.deleteConversation,id:messages.deleteConversation,description:Удаляет беседу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.deleteConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.denyMessagesFromGroup,id:messages.denyMessagesFromGroup,description:Позволяет запретить отправку сообщений от сообщества текущему пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.denyMessagesFromGroup,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.edit,id:messages.edit,description:Редактирует сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.edit,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.editChat,id:messages.editChat,description:Изменяет название беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.editChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.forceCallFinish,id:messages.forceCallFinish,description:Метод используется для принудительного завершения звонка,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages.forceCallFinish,type:BASE,isSearchable:false,tokenTypes:},{title:messages.get,id:messages.get,description:Возвращает список входящих личных сообщений текущего пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.get,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getByConversationMessageId,id:messages.getByConversationMessageId,description:Возвращает сообщения по conversation_message_id.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getByConversationMessageId,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getById,id:messages.getById,description:Возвращает сообщения по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getById,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getChat,id:messages.getChat,description:Возвращает информацию о беседе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChat,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getChatPreview,id:messages.getChatPreview,description:Получает данные для превью чата с приглашением по ссылке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChatPreview,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getChatUsers,id:messages.getChatUsers,description:Позволяет получить список пользователей мультидиалога по его `id`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChatUsers,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getConversationMembers,id:messages.getConversationMembers,description:Позволяет получить список участников беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversationMembers,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getConversations,id:messages.getConversations,description:Возвращает список бесед пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversations,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getConversationsById,id:messages.getConversationsById,description:Позволяет получить беседу по её идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversationsById,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getDialogs,id:messages.getDialogs,description:Возвращает список диалогов текущего пользователя или сообщества.\nАктуальный метод: `messages.getConversations`(method/messages.getConversations).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getDialogs,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getHistory,id:messages.getHistory,description:Возвращает историю сообщений для указанного диалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getHistory,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getHistoryAttachments,id:messages.getHistoryAttachments,description:Возвращает материалы диалога или беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getHistoryAttachments,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getImportantMessages,id:messages.getImportantMessages,description:Возвращает список важных сообщений пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getImportantMessages,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getIntentUsers,id:messages.getIntentUsers,description:Метод отдает пользователей, которые подписались на определенные интенты.\nhttps://dev.vk.com/api/bots/overview(api/bots/overview),isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getIntentUsers,type:BASE,isSearchable:false,tokenTypes:group_access_only,is_standalone},{title:messages.getInviteLink,id:messages.getInviteLink,description:Получает ссылку для приглашения пользователя в беседу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getInviteLink,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getLastActivity,id:messages.getLastActivity,description:Возвращает текущий статус и дату последней активности указанного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLastActivity,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getLongPollHistory,id:messages.getLongPollHistory,description:Возвращает обновления в личных сообщениях пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLongPollHistory,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getLongPollServer,id:messages.getLongPollServer,description:Возвращает данные, необходимые для подключения к Long Poll серверу(api/user-long-poll/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLongPollServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.isMessagesFromGroupAllowed,id:messages.isMessagesFromGroupAllowed,description:Возвращает информацию о том, разрешена ли отправка сообщений от сообщества пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.isMessagesFromGroupAllowed,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.joinChatByInviteLink,id:messages.joinChatByInviteLink,description:Позволяет присоединиться к чату по ссылке-приглашению.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.joinChatByInviteLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.markAsAnsweredConversation,id:messages.markAsAnsweredConversation,description:Помечает беседу как отвеченную либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsAnsweredConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.markAsImportant,id:messages.markAsImportant,description:Помечает сообщения как важные либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsImportant,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.markAsImportantConversation,id:messages.markAsImportantConversation,description:Помечает беседу как важную либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsImportantConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.markAsRead,id:messages.markAsRead,description:Помечает сообщения как прочитанные.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsRead,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.pin,id:messages.pin,description:Закрепляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.pin,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.removeChatUser,id:messages.removeChatUser,description:Исключает из мультидиалога пользователя, если текущий пользователь или сообщество является администратором беседы либо текущий пользователь пригласил исключаемого пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.removeChatUser,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.restore,id:messages.restore,description:Восстанавливает удаленное сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.restore,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.search,id:messages.search,description:Возвращает список найденных личных сообщений текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.search,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.searchConversations,id:messages.searchConversations,description:Позволяет искать диалоги.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.searchConversations,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.searchDialogs,id:messages.searchDialogs,description:Возвращает список найденных диалогов текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.searchDialogs,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.send,id:messages.send,description:Отправляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.send,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.sendMessageEventAnswer,id:messages.sendMessageEventAnswer,description:Отправляет событие с действием, которое произойдет при нажатии на callback-кнопку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.sendMessageEventAnswer,type:BASE,isSearchable:false,tokenTypes:group_access,user_access_hidden,is_standalone},{title:messages.setActivity,id:messages.setActivity,description:Изменяет статус набора текста пользователем в диалоге.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.setActivity,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.setChatPhoto,id:messages.setChatPhoto,description:Позволяет установить фотографию мультидиалога, загруженную с помощью метода.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.setChatPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.startCall,id:messages.startCall,description:Старт нового звонка от имени пользователя или от сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages.startCall,type:BASE,isSearchable:false,tokenTypes:},{title:messages.unpin,id:messages.unpin,description:Открепляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.unpin,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone}},{title:Newsfeed,id:newsfeed,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/newsfeed,type:BASE,isSearchable:false,tokenTypes:,children:{title:newsfeed.addBan,id:newsfeed.addBan,description:Запрещает показывать новости от заданных пользователей и групп в ленте новостей текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.addBan,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.deleteBan,id:newsfeed.deleteBan,description:Разрешает показывать новости от заданных пользователей и групп в ленте новостей текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.deleteBan,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.deleteList,id:newsfeed.deleteList,description:Метод позволяет удалить пользовательский список новостей. ,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.deleteList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.get,id:newsfeed.get,description:Возвращает данные, необходимые для показа списка новостей для текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,friends,url:method/newsfeed.get,type:BASE,isSearchable:false,tokenTypes:},{title:newsfeed.getBanned,id:newsfeed.getBanned,description:Возвращает список пользователей и групп, которые текущий пользователь скрыл из ленты новостей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.getBanned,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.getComments,id:newsfeed.getComments,description:Возвращает данные, необходимые для показа раздела комментариев в новостях пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.getComments,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.getLists,id:newsfeed.getLists,description:Возвращает пользовательские списки новостей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.getLists,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.getMentions,id:newsfeed.getMentions,description:Возвращает список записей пользователей на своих стенах, в которых упоминается указанный пользователь.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,url:method/newsfeed.getMentions,type:BASE,isSearchable:false,tokenTypes:},{title:newsfeed.getRecommended,id:newsfeed.getRecommended,description:Получает список новостей, рекомендованных пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,friends,url:method/newsfeed.getRecommended,type:BASE,isSearchable:false,tokenTypes:},{title:newsfeed.getSuggestedSources,id:newsfeed.getSuggestedSources,description:Возвращает сообщества и пользователей, на которые текущему пользователю рекомендуется подписаться.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/newsfeed.getSuggestedSources,type:BASE,isSearchable:false,tokenTypes:},{title:newsfeed.ignoreItem,id:newsfeed.ignoreItem,description:Позволяет скрыть объект из ленты новостей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.ignoreItem,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.saveList,id:newsfeed.saveList,description:Метод позволяет создавать или редактировать пользовательские списки для просмотра новостей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.saveList,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.search,id:newsfeed.search,description:Возвращает результаты поиска по статусам. Новости возвращаются в порядке от более новых к более старым.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/newsfeed.search,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:newsfeed.unignoreItem,id:newsfeed.unignoreItem,description:Позволяет вернуть ранее скрытый объект в ленту новостей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.unignoreItem,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:newsfeed.unsubscribe,id:newsfeed.unsubscribe,description:Отписывает текущего пользователя от комментариев к заданному объекту.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/newsfeed.unsubscribe,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Notes,id:notes,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/notes,type:BASE,isSearchable:false,tokenTypes:,children:{title:notes.add,id:notes.add,description:Создает новую заметку у текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.add,type:BASE,isSearchable:false,tokenTypes:},{title:notes.createComment,id:notes.createComment,description:Добавляет новый комментарий к заметке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes_ex,url:method/notes.createComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:notes.delete,id:notes.delete,description:Удаляет заметку текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.delete,type:BASE,isSearchable:false,tokenTypes:},{title:notes.deleteComment,id:notes.deleteComment,description:Удаляет комментарий к заметке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes_ex,url:method/notes.deleteComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:notes.edit,id:notes.edit,description:Редактирует заметку текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.edit,type:BASE,isSearchable:false,tokenTypes:},{title:notes.editComment,id:notes.editComment,description:Редактирует указанный комментарий у заметки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes_ex,url:method/notes.editComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:notes.get,id:notes.get,description:Возвращает список заметок, созданных пользователем.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.get,type:BASE,isSearchable:false,tokenTypes:},{title:notes.getById,id:notes.getById,description:Возвращает заметку по её `id`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.getById,type:BASE,isSearchable:false,tokenTypes:},{title:notes.getComments,id:notes.getComments,description:Возвращает список комментариев к заметке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.getComments,type:BASE,isSearchable:false,tokenTypes:},{title:notes.getFriendsNotes,id:notes.getFriendsNotes,description:Возвращает список заметок друзей пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.getFriendsNotes,type:BASE,isSearchable:false,tokenTypes:},{title:notes.restoreComment,id:notes.restoreComment,description:Восстанавливает удалённый комментарий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes_ex,url:method/notes.restoreComment,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Notifications,id:notifications,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/notifications,type:BASE,isSearchable:false,tokenTypes:,children:{title:notifications.get,id:notifications.get,description:Возвращает список оповещений об ответах других пользователей на записи текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notifications,url:method/notifications.get,type:BASE,isSearchable:false,tokenTypes:},{title:notifications.markAsViewed,id:notifications.markAsViewed,description:Сбрасывает счетчик непросмотренных оповещений об ответах других пользователей на записи текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notifications,url:method/notifications.markAsViewed,type:BASE,isSearchable:false,tokenTypes:},{title:notifications.sendMessage,id:notifications.sendMessage,description:Метод отправляет уведомление(mini-apps/management/notifications) пользователю мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/notifications.sendMessage,type:BASE,isSearchable:false,tokenTypes:secure}},{title:Orders,id:orders,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders,type:BASE,isSearchable:false,tokenTypes:,children:{title:orders.cancelSubscription,id:orders.cancelSubscription,description:Отменяет подписку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.cancelSubscription,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.changeState,id:orders.changeState,description:Изменяет состояние заказа.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.changeState,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.get,id:orders.get,description:Возвращает список заказов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.get,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.getAmount,id:orders.getAmount,description:Возвращает стоимость голосов в валюте пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.getAmount,type:BASE,isSearchable:false,tokenTypes:},{title:orders.getById,id:orders.getById,description:Возвращает информацию об отдельном заказе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.getById,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.getUserSubscriptionById,id:orders.getUserSubscriptionById,description:Получает информацию о подписке по её идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.getUserSubscriptionById,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.getUserSubscriptions,id:orders.getUserSubscriptions,description:Получает список активных подписок пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.getUserSubscriptions,type:BASE,isSearchable:false,tokenTypes:secure},{title:orders.updateSubscription,id:orders.updateSubscription,description:Обновляет цену подписки для пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/orders.updateSubscription,type:BASE,isSearchable:false,tokenTypes:secure}},{title:Pages,id:pages,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/pages,type:BASE,isSearchable:false,tokenTypes:,children:{title:pages.clearCache,id:pages.clearCache,description:Позволяет очистить кеш отдельных внешних страниц, которые могут быть прикреплены к записям ВКонтакте. После очистки кеша при последующем прикреплении ссылки к записи, данные о странице будут обновлены.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/pages.clearCache,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:pages.get,id:pages.get,description:Возвращает информацию о вики-странице.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.get,type:BASE,isSearchable:false,tokenTypes:},{title:pages.getHistory,id:pages.getHistory,description:Возвращает список всех старых версий вики-страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.getHistory,type:BASE,isSearchable:false,tokenTypes:},{title:pages.getTitles,id:pages.getTitles,description:Возвращает список вики-страниц в группе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.getTitles,type:BASE,isSearchable:false,tokenTypes:},{title:pages.getVersion,id:pages.getVersion,description:Возвращает текст одной из старых версий страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/pages.getVersion,type:BASE,isSearchable:false,tokenTypes:},{title:pages.parseWiki,id:pages.parseWiki,description:Возвращает HTML-представление вики-разметки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/pages.parseWiki,type:BASE,isSearchable:false,tokenTypes:},{title:pages.preview,id:pages.preview,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.preview,type:BASE,isSearchable:false,tokenTypes:},{title:pages.save,id:pages.save,description:Сохраняет текст вики-страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.save,type:BASE,isSearchable:false,tokenTypes:},{title:pages.saveAccess,id:pages.saveAccess,description:Сохраняет новые настройки доступа на чтение и редактирование вики-страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:pages,url:method/pages.saveAccess,type:BASE,isSearchable:false,tokenTypes:}},{title:Photos,id:photos,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos,type:BASE,isSearchable:false,tokenTypes:,children:{title:photos.confirmTag,id:photos.confirmTag,description:Подтверждает отметку на фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.confirmTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.copy,id:photos.copy,description:Позволяет скопировать фотографию в альбом \Сохраненные фотографии\,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.copy,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:photos.createAlbum,id:photos.createAlbum,description:Создает пустой альбом для фотографий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.createAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:photos.createComment,id:photos.createComment,description:Создает новый комментарий к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.createComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.delete,id:photos.delete,description:Удаление фотографии на сайте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.delete,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.deleteAlbum,id:photos.deleteAlbum,description:Удаляет указанный альбом для фотографий у текущего пользователя,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.deleteAlbum,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.deleteComment,id:photos.deleteComment,description:Удаляет комментарий к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.deleteComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.edit,id:photos.edit,description:Редактирует описание или геометку у фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.edit,type:BASE,isSearchable:false,tokenTypes:},{title:photos.editAlbum,id:photos.editAlbum,description:Редактирует данные альбома для фотографий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.editAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:photos.editComment,id:photos.editComment,description:Изменяет текст комментария к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.editComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.get,id:photos.get,description:Возвращает список фотографий в альбоме.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:photos.getAlbums,id:photos.getAlbums,description:Возвращает список фотоальбомов пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getAlbums,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:photos.getAlbumsCount,id:photos.getAlbumsCount,description:Возвращает количество доступных альбомов пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getAlbumsCount,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getAll,id:photos.getAll,description:Возвращает все фотографии пользователя или сообщества в антихронологическом порядке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getAll,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getAllComments,id:photos.getAllComments,description:Возвращает отсортированный в антихронологическом порядке список всех комментариев к конкретному альбому или ко всем альбомам пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getAllComments,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getById,id:photos.getById,description:Возвращает информацию о фотографиях по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getById,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:photos.getChatUploadServer,id:photos.getChatUploadServer,description:Позволяет получить адрес для загрузки обложки чата(api/upload#Загрузка%20главной%20фотографии%20для%20чата).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/photos.getChatUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:photos.getComments,id:photos.getComments,description:Возвращает список комментариев к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getComments,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getMailUploadServer,id:photos.getMailUploadServer,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getMailUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getMarketAlbumUploadServer,id:photos.getMarketAlbumUploadServer,description:Возвращает адрес сервера для загрузки фотографии подборки товаров(api/upload#Загрузка%20фотографии%20для%20товара) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,photos,url:method/photos.getMarketAlbumUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getMarketUploadServer,id:photos.getMarketUploadServer,description:Возвращает адрес сервера для загрузки фотографии товара(api/upload#Загрузка%20фотографии%20для%20товара).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,photos,url:method/photos.getMarketUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getMessagesUploadServer,id:photos.getMessagesUploadServer,description:Возвращает адрес сервера для загрузки фотографии в личное сообщение(api/upload#Загрузка%20фотографии%20в%20личное%20сообщение).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.getMessagesUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:photos.getNewTags,id:photos.getNewTags,description:Возвращает список фотографий, на которых есть непросмотренные отметки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.getNewTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.getOwnerCoverPhotoUploadServer,id:photos.getOwnerCoverPhotoUploadServer,description:Получает адрес для загрузки обложки сообщества(api/upload#Загрузка%20обложки%20сообщества).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getOwnerCoverPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access},{title:photos.getOwnerPhotoUploadServer,id:photos.getOwnerPhotoUploadServer,description:Возвращает адрес сервера для загрузки главной фотографии(api/upload#Загрузка%20главной%20фотографии%20пользователя%20или%20сообщества) на страницу пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getOwnerPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getProfile,id:photos.getProfile,description:Возвращает список фотографий со страницы пользователя или сообщества. \n\nМетод устарел, воспользуйтесь методом с параметром `album_id` `profile`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getProfile,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getTags,id:photos.getTags,description:Возвращает список отметок на фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.getTags,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.getUploadServer,id:photos.getUploadServer,description:Возвращает адрес сервера для загрузки фотографий(api/upload#Загрузка%20фотографий%20в%20альбом).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getUserPhotos,id:photos.getUserPhotos,description:Возвращает список фотографий, на которых отмечен пользователь,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.getUserPhotos,type:BASE,isSearchable:false,tokenTypes:},{title:photos.getWallUploadServer,id:photos.getWallUploadServer,description:Возвращает адрес сервера для загрузки фотографии на стену(api/upload#Загрузка%20фотографий%20на%20стену) пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.getWallUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:photos.makeCover,id:photos.makeCover,description:Делает фотографию обложкой альбома.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.makeCover,type:BASE,isSearchable:false,tokenTypes:},{title:photos.move,id:photos.move,description:Переносит фотографию из одного альбома в другой.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.move,type:BASE,isSearchable:false,tokenTypes:},{title:photos.putTag,id:photos.putTag,description:Добавляет отметку на фотографию.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.putTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.removeTag,id:photos.removeTag,description:Удаляет отметку с фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.removeTag,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.reorderAlbums,id:photos.reorderAlbums,description:Меняет порядок альбома в списке альбомов пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.reorderAlbums,type:BASE,isSearchable:false,tokenTypes:},{title:photos.reorderPhotos,id:photos.reorderPhotos,description:Меняет порядок фотографии в списке фотографий альбома пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.reorderPhotos,type:BASE,isSearchable:false,tokenTypes:},{title:photos.report,id:photos.report,description:Позволяет пожаловаться на фотографию.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.report,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.reportComment,id:photos.reportComment,description:Позволяет пожаловаться на комментарий к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.reportComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.restore,id:photos.restore,description:Восстанавливает удаленную фотографию.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.restore,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.restoreComment,id:photos.restoreComment,description:Восстанавливает удаленный комментарий к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.restoreComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:photos.save,id:photos.save,description:Сохраняет фотографии после успешной загрузки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.save,type:BASE,isSearchable:false,tokenTypes:},{title:photos.saveMailPhoto,id:photos.saveMailPhoto,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.saveMailPhoto,type:BASE,isSearchable:false,tokenTypes:},{title:photos.saveMarketAlbumPhoto,id:photos.saveMarketAlbumPhoto,description:Сохраняет фотографии после успешной загрузки на URI, полученный методом `photos.getMarketAlbumUploadServer`(method/photos.getMarketAlbumUploadServer).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,photos,url:method/photos.saveMarketAlbumPhoto,type:BASE,isSearchable:false,tokenTypes:},{title:photos.saveMarketPhoto,id:photos.saveMarketPhoto,description:Сохраняет фотографии после успешной загрузки на URI, полученный методом .,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:market,photos,url:method/photos.saveMarketPhoto,type:BASE,isSearchable:false,tokenTypes:},{title:photos.saveMessagesPhoto,id:photos.saveMessagesPhoto,description:Сохраняет фотографию после успешной загрузки на URI, полученный методом `photos.getMessagesUploadServer`(method/photos.getMessagesUploadServer).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos_ex,url:method/photos.saveMessagesPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:photos.saveOwnerCoverPhoto,id:photos.saveOwnerCoverPhoto,description:Сохраняет изображение для обложки сообщества после успешной загрузки(api/upload#Загрузка%20обложки%20сообщества).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:photos,url:method/photos.saveOwnerCoverPhoto,type:BASE,isSearchable:false,tokenTypes:group_access},{title:photos.saveOwnerPhoto,id:photos.saveOwnerPhoto,description:Позволяет сохранить главную фотографию пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.saveOwnerPhoto,type:BASE,isSearchable:false,tokenTypes:},{title:photos.saveWallPhoto,id:photos.saveWallPhoto,description:Сохраняет фотографии после успешной загрузки на URI, полученный методом `photos.getWallUploadServer`(method/photos.getWallUploadServer).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.saveWallPhoto,type:BASE,isSearchable:false,tokenTypes:},{title:photos.search,id:photos.search,description:Осуществляет поиск изображений по местоположению или описанию.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/photos.search,type:BASE,isSearchable:false,tokenTypes:allow_from_server}},{title:Places,id:places,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/places,type:BASE,isSearchable:false,tokenTypes:,children:{title:places.getCheckins,id:places.getCheckins,description:Возвращает список отметок пользователей в местах согласно заданным параметрам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/places.getCheckins,type:BASE,isSearchable:false,tokenTypes:}},{title:Podcasts,id:podcasts,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/podcasts,type:BASE,isSearchable:false,tokenTypes:,children:{title:podcasts.searchPodcast,id:podcasts.searchPodcast,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/podcasts.searchPodcast,type:BASE,isSearchable:false,tokenTypes:vk_apps,group_access}},{title:Polls,id:polls,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/polls,type:BASE,isSearchable:false,tokenTypes:,children:{title:polls.addVote,id:polls.addVote,description:Отдает голос текущего пользователя за выбранный вариант ответа в указанном опросе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.addVote,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:polls.create,id:polls.create,description:Позволяет создавать опросы, которые впоследствии можно прикреплять к записям на странице пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.create,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:polls.deleteVote,id:polls.deleteVote,description:Снимает голос текущего пользователя с выбранного варианта ответа в указанном опросе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.deleteVote,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:polls.edit,id:polls.edit,description:Позволяет редактировать созданные опросы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.edit,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:polls.getBackgrounds,id:polls.getBackgrounds,description:Возвращает варианты фонового изображения для опросов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/polls.getBackgrounds,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:polls.getById,id:polls.getById,description:Возвращает детальную информацию об опросе по его идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,url:method/polls.getById,type:BASE,isSearchable:false,tokenTypes:},{title:polls.getPhotoUploadServer,id:polls.getPhotoUploadServer,description:Возвращает адрес сервера для загрузки фоновой фотографии в опрос.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.getPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone},{title:polls.getVoters,id:polls.getVoters,description:Получает список идентификаторов пользователей, которые выбрали определенные варианты ответа в опросе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/polls.getVoters,type:BASE,isSearchable:false,tokenTypes:},{title:polls.savePhoto,id:polls.savePhoto,description:Сохраняет фотографию, загруженную в опрос.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/polls.savePhoto,type:BASE,isSearchable:false,tokenTypes:vk_apps,is_standalone}},{title:PrettyCards,id:prettyCards,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/prettyCards,type:BASE,isSearchable:false,tokenTypes:,children:{title:prettyCards.create,id:prettyCards.create,description:Создаёт карточку карусели.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.create,type:BASE,isSearchable:false,tokenTypes:},{title:prettyCards.delete,id:prettyCards.delete,description:Удаляет карточку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.delete,type:BASE,isSearchable:false,tokenTypes:},{title:prettyCards.edit,id:prettyCards.edit,description:Редактирует карточку карусели.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.edit,type:BASE,isSearchable:false,tokenTypes:},{title:prettyCards.get,id:prettyCards.get,description:Возвращает неиспользованные карточки владельца.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.get,type:BASE,isSearchable:false,tokenTypes:},{title:prettyCards.getById,id:prettyCards.getById,description:Возвращает информацию о карточке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.getById,type:BASE,isSearchable:false,tokenTypes:},{title:prettyCards.getUploadURL,id:prettyCards.getUploadURL,description:Возвращает URL для загрузки фотографии для карточки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/prettyCards.getUploadURL,type:BASE,isSearchable:false,tokenTypes:}},{title:Search,id:search,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/search,type:BASE,isSearchable:false,tokenTypes:,children:{title:search.getHints,id:search.getHints,description:Метод позволяет получить результаты быстрого поиска по произвольной подстроке. ,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:friends,groups,url:method/search.getHints,type:BASE,isSearchable:false,tokenTypes:}},{title:Secure,id:secure,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure,type:BASE,isSearchable:false,tokenTypes:,children:{title:secure.addAppEvent,id:secure.addAppEvent,description:Добавляет информацию о достижениях пользователя в приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.addAppEvent,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.checkToken,id:secure.checkToken,description:Метод проверяет, что ключ доступа пользователя (`access_token`) выдан именно тому приложению, которому выдан переданный сервисный ключ доступа. Подходит для проверки ключа доступа iFrame и Standalone-приложений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.checkToken,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.getAppBalance,id:secure.getAppBalance,description:Возвращает платежный баланс (счет) приложения в сотых долях голоса.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:votes,url:method/secure.getAppBalance,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.getSMSHistory,id:secure.getSMSHistory,description:Выводит список SMS-уведомлений, отосланных приложением с помощью метода `secure.sendSMSNotification`(method/secure.sendSMSNotification).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.getSMSHistory,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.getTransactionsHistory,id:secure.getTransactionsHistory,description:Выводит историю транзакций по переводу голосов между пользователями и приложением.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:votes,url:method/secure.getTransactionsHistory,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.getUserLevel,id:secure.getUserLevel,description:Возвращает ранее выставленный игровой уровень одного или нескольких пользователей в приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.getUserLevel,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.giveEventSticker,id:secure.giveEventSticker,description:Выдает пользователю стикер и открывает игровое достижение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.giveEventSticker,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.sendNotification,id:secure.sendNotification,description:Отправляет уведомление пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notify_global,url:method/secure.sendNotification,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.sendSMSNotification,id:secure.sendSMSNotification,description:Отправляет SMS-уведомление на мобильный телефон пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.sendSMSNotification,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.setCounter,id:secure.setCounter,description:Устанавливает счетчик, который выводится пользователю жирным шрифтом в левом меню.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.setCounter,type:BASE,isSearchable:false,tokenTypes:secure},{title:secure.setUserLevel,id:secure.setUserLevel,description:Устанавливает игровой уровень пользователя в приложении, который смогут увидеть его друзья.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/secure.setUserLevel,type:BASE,isSearchable:false,tokenTypes:secure}},{title:Stats,id:stats,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats,type:BASE,isSearchable:false,tokenTypes:,children:{title:stats.get,id:stats.get,description:Возвращает статистику сообщества или приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats.get,type:BASE,isSearchable:false,tokenTypes:},{title:stats.getPostReach,id:stats.getPostReach,description:Возвращает статистику для записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats.getPostReach,type:BASE,isSearchable:false,tokenTypes:},{title:stats.trackVisitor,id:stats.trackVisitor,description:Добавляет данные о текущем сеансе в статистику посещаемости приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/stats.trackVisitor,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Status,id:status,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/status,type:BASE,isSearchable:false,tokenTypes:,children:{title:status.get,id:status.get,description:Получает текст статуса пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:activity,url:method/status.get,type:BASE,isSearchable:false,tokenTypes:},{title:status.set,id:status.set,description:Устанавливает новый статус текущему пользователю или сообществу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:activity_ex,url:method/status.set,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Storage,id:storage,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/storage,type:BASE,isSearchable:false,tokenTypes:,children:{title:storage.get,id:storage.get,description:Возвращает значение переменной, название которой передано в параметре `key`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/storage.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:storage.set,id:storage.set,description:Метод задаёт значение переменной, название которой передано. Срок жизни переменной — 1 год. Может быть создано не более 1\u0026nbsp;000 переменных для каждого пользователя. Не более 1\u0026nbsp;000 вызовов в час на каждого пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/storage.set,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:storage.getKeys,id:storage.getKeys,description:Возвращает названия всех переменных.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/storage.getKeys,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access}},{title:Store,id:store,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/store,type:BASE,isSearchable:false,tokenTypes:,children:{title:store.addStickersToFavorite,id:store.addStickersToFavorite,description:Добавляет стикер в избранные.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/store.addStickersToFavorite,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:store.getFavoriteStickers,id:store.getFavoriteStickers,description:Возвращает список избранных стикеров.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/store.getFavoriteStickers,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:store.getProducts,id:store.getProducts,description:Возвращает список продуктов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/store.getProducts,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:store.getStickersKeywords,id:store.getStickersKeywords,description:Возвращает список ключевых слов для стикеров.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/store.getStickersKeywords,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:store.removeStickersFromFavorite,id:store.removeStickersFromFavorite,description:Удаляет стикер из избранных.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,url:method/store.removeStickersFromFavorite,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Stories,id:stories,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stories,type:BASE,isSearchable:false,tokenTypes:,children:{title:stories.banOwner,id:stories.banOwner,description:Позволяет скрыть из ленты новостей истории от выбранных источников.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.banOwner,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.delete,id:stories.delete,description:Удаляет историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.delete,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.get,id:stories.get,description:Возвращает истории, доступные для текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.get,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getBanned,id:stories.getBanned,description:Возвращает список источников историй, скрытых из ленты текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getBanned,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.getById,id:stories.getById,description:Возвращает информацию об истории по её идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,vkui,url:method/stories.getById,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getDetailedStats,id:stories.getDetailedStats,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getDetailedStats,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.getPhotoUploadServer,id:stories.getPhotoUploadServer,description:Позволяет получить адрес для загрузки истории с фотографией(api/upload).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getReplies,id:stories.getReplies,description:Позволяет получить ответы на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getReplies,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getStats,id:stories.getStats,description:Возвращает статистику истории.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getStats,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getVideoUploadServer,id:stories.getVideoUploadServer,description:Позволяет получить адрес для загрузки видеозаписи в историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getVideoUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getViewers,id:stories.getViewers,description:Возвращает список пользователей, просмотревших историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getViewers,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.hideAllReplies,id:stories.hideAllReplies,description:Скрывает все ответы автора за последние сутки на истории текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.hideAllReplies,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:stories.hideReply,id:stories.hideReply,description:Скрывает ответ на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.hideReply,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:stories.save,id:stories.save,description:Сохраняет историю. В **upload_results** нужно передать строку, которую возвращает stories.getPhotoUploadServer(method/stories.getPhotoUploadServer) или stories.getVideoUploadServer(method/stories.getVideoUploadServer),isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.save,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.search,id:stories.search,description:Возвращает результаты поиска по историям.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:stories,url:method/stories.search,type:BASE,isSearchable:false,tokenTypes:},{title:stories.sendInteraction,id:stories.sendInteraction,description:Отправляет фидбек на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stories.sendInteraction,type:BASE,isSearchable:false,tokenTypes:secure},{title:stories.unbanOwner,id:stories.unbanOwner,description:Позволяет вернуть пользователя или сообщество в список отображаемых историй в ленте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.unbanOwner,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Streaming,id:streaming,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming,type:BASE,isSearchable:false,tokenTypes:,children:{title:streaming.getServerUrl,id:streaming.getServerUrl,description:Позволяет получить данные для подключения к Streaming API(api/streaming/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming.getServerUrl,type:BASE,isSearchable:false,tokenTypes:secure},{title:streaming.getSettings,id:streaming.getSettings,description:Позволяет получить значение порога для Streaming API(api/streaming/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming.getSettings,type:BASE,isSearchable:false,tokenTypes:secure},{title:streaming.getStats,id:streaming.getStats,description:Позволяет получить статистику для подготовленных и доставленных событий Streaming API(api/streaming/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming.getStats,type:BASE,isSearchable:false,tokenTypes:secure},{title:streaming.getStem,id:streaming.getStem,description:Позволяет получить основу слова.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming.getStem,type:BASE,isSearchable:false,tokenTypes:secure},{title:streaming.setSettings,id:streaming.setSettings,description:Позволяет задать значение порога для Streaming API(api/streaming/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/streaming.setSettings,type:BASE,isSearchable:false,tokenTypes:secure}},{title:Users,id:users,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/users,type:BASE,isSearchable:false,tokenTypes:,children:{title:users.get,id:users.get,description:Возвращает расширенную информацию о пользователях.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/users.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:users.search,id:users.search,description:Возвращает список пользователей в соответствии с заданным критерием поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/users.search,type:BASE,isSearchable:false,tokenTypes:},{title:users.getSubscriptions,id:users.getSubscriptions,description:Возвращает список идентификаторов пользователей и публичных страниц, которые входят в список подписок пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/users.getSubscriptions,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:users.getFollowers,id:users.getFollowers,description:Возвращает список идентификаторов пользователей, которые являются подписчиками пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/users.getFollowers,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:users.report,id:users.report,description:Позволяет пожаловаться на пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,deny_service_user,url:method/users.report,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Utils,id:utils,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils,type:BASE,isSearchable:false,tokenTypes:,children:{title:utils.checkLink,id:utils.checkLink,description:Возвращает информацию о том, является ли внешняя ссылка заблокированной на сайте ВКонтакте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.checkLink,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:utils.deleteFromLastShortened,id:utils.deleteFromLastShortened,description:Удаляет сокращенную ссылку из списка пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.deleteFromLastShortened,type:BASE,isSearchable:false,tokenTypes:},{title:utils.getLastShortenedLinks,id:utils.getLastShortenedLinks,description:Получает список сокращённых ссылок для текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.getLastShortenedLinks,type:BASE,isSearchable:false,tokenTypes:},{title:utils.getLinkStats,id:utils.getLinkStats,description:Возвращает статистику переходов по сокращённой(utils.getShortLink) ссылке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.getLinkStats,type:BASE,isSearchable:false,tokenTypes:group_access,allow_from_server},{title:utils.getServerTime,id:utils.getServerTime,description:Возвращает текущее время на сервере ВКонтакте в `unixtime`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.getServerTime,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:utils.getShortLink,id:utils.getShortLink,description:Позволяет получить URL, сокращённый с помощью vk.cc.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.getShortLink,type:BASE,isSearchable:false,tokenTypes:group_access,allow_from_server},{title:utils.resolveScreenName,id:utils.resolveScreenName,description:Определяет тип объекта (пользователь, сообщество, приложение) и его идентификатор по короткому имени `screen_name`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/utils.resolveScreenName,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access}},{title:Video,id:video,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/video,type:BASE,isSearchable:false,tokenTypes:,children:{title:video.add,id:video.add,description:Добавляет видеозапись в список пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.add,type:BASE,isSearchable:false,tokenTypes:},{title:video.addAlbum,id:video.addAlbum,description:Создает пустой альбом видеозаписей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.addAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.addToAlbum,id:video.addToAlbum,description:Позволяет добавить видеозапись в альбом.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.addToAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.createComment,id:video.createComment,description:Cоздает новый комментарий к видеозаписи,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.createComment,type:BASE,isSearchable:false,tokenTypes:},{title:video.delete,id:video.delete,description:Удаляет видеозапись со страницы пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.delete,type:BASE,isSearchable:false,tokenTypes:},{title:video.deleteAlbum,id:video.deleteAlbum,description:Удаляет альбом видеозаписей.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.deleteAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.deleteComment,id:video.deleteComment,description:Удаляет комментарий к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.deleteComment,type:BASE,isSearchable:false,tokenTypes:},{title:video.edit,id:video.edit,description:Редактирует данные видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.edit,type:BASE,isSearchable:false,tokenTypes:},{title:video.editAlbum,id:video.editAlbum,description:Редактирует альбом с видео.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.editAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.editComment,id:video.editComment,description:Изменяет текст комментария к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.editComment,type:BASE,isSearchable:false,tokenTypes:},{title:video.get,id:video.get,description:Возвращает информацию о видеозаписях.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.get,type:BASE,isSearchable:false,tokenTypes:},{title:video.getAlbumById,id:video.getAlbumById,description:Позволяет получить информацию об альбоме с видео.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getAlbumById,type:BASE,isSearchable:false,tokenTypes:},{title:video.getAlbums,id:video.getAlbums,description:Возвращает список альбомов видеозаписей пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getAlbums,type:BASE,isSearchable:false,tokenTypes:},{title:video.getAlbumsByVideo,id:video.getAlbumsByVideo,description:Возвращает список альбомов, в которых находится видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getAlbumsByVideo,type:BASE,isSearchable:false,tokenTypes:},{title:video.getComments,id:video.getComments,description:Возвращает список комментариев к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getComments,type:BASE,isSearchable:false,tokenTypes:},{title:video.getLongPollServer,id:video.getLongPollServer,description:Позволяет получать данные о новых событиях трансляции в режиме реального времени.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getLongPollServer,type:BASE,isSearchable:false,tokenTypes:},{title:video.getNewTags,id:video.getNewTags,description:Возвращает список видеозаписей, на которых есть непросмотренные отметки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getNewTags,type:BASE,isSearchable:false,tokenTypes:},{title:video.getTags,id:video.getTags,description:Возвращает список отметок на видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getTags,type:BASE,isSearchable:false,tokenTypes:},{title:video.liveGetCategories,id:video.liveGetCategories,description:Позволяет получить категории для трансляции.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.liveGetCategories,type:BASE,isSearchable:false,tokenTypes:},{title:video.moveToAlbum,id:video.moveToAlbum,description:Перемещает видеозаписи в альбом.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.moveToAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.putTag,id:video.putTag,description:Добавляет отметку на видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.putTag,type:BASE,isSearchable:false,tokenTypes:},{title:video.removeFromAlbum,id:video.removeFromAlbum,description:Позволяет убрать видеозапись из альбома.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.removeFromAlbum,type:BASE,isSearchable:false,tokenTypes:},{title:video.removeTag,id:video.removeTag,description:Удаляет отметку с видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.removeTag,type:BASE,isSearchable:false,tokenTypes:},{title:video.reorderAlbums,id:video.reorderAlbums,description:Позволяет изменить порядок альбомов с видео.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.reorderAlbums,type:BASE,isSearchable:false,tokenTypes:},{title:video.reorderVideos,id:video.reorderVideos,description:Позволяет переместить видеозапись в альбоме.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.reorderVideos,type:BASE,isSearchable:false,tokenTypes:},{title:video.report,id:video.report,description:Позволяет пожаловаться на видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video_ex,url:method/video.report,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:video.reportComment,id:video.reportComment,description:Позволяет пожаловаться на комментарий к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video_ex,url:method/video.reportComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:video.restore,id:video.restore,description:Восстанавливает удаленную видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.restore,type:BASE,isSearchable:false,tokenTypes:},{title:video.restoreComment,id:video.restoreComment,description:Восстанавливает удаленный комментарий к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.restoreComment,type:BASE,isSearchable:false,tokenTypes:},{title:video.save,id:video.save,description:Возвращает адрес сервера, необходимый для загрузки(api/upload), и данные видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.save,type:BASE,isSearchable:false,tokenTypes:},{title:video.search,id:video.search,description:Возвращает список видеозаписей в соответствии с заданным критерием поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.search,type:BASE,isSearchable:false,tokenTypes:},{title:video.startStreaming,id:video.startStreaming,description:Получает RTMP-адрес для трансляции видео.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.startStreaming,type:BASE,isSearchable:false,tokenTypes:},{title:video.stopStreaming,id:video.stopStreaming,description:Завершает трансляцию.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.stopStreaming,type:BASE,isSearchable:false,tokenTypes:}},{title:Wall,id:wall,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall,type:BASE,isSearchable:false,tokenTypes:,children:{title:wall.addLike,id:wall.addLike,description:Добавляет запись на стене пользователя или сообщества в список **Нравится**, а также создает копию понравившейся записи на стене текущего пользователя при необходимости.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.addLike,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.checkCopyrightLink,id:wall.checkCopyrightLink,description:Проверяет ссылку для указания источника.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.checkCopyrightLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.closeComments,id:wall.closeComments,description:Выключает комментирование записи,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.closeComments,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:wall.createComment,id:wall.createComment,description:Добавляет комментарий к записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.createComment,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:wall.delete,id:wall.delete,description:Удаляет запись со стены.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.delete,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.deleteComment,id:wall.deleteComment,description:Удаляет комментарий к записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.deleteComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.deleteLike,id:wall.deleteLike,description:Удаляет запись на стене пользователя из списка **Мне нравится**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.deleteLike,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.edit,id:wall.edit,description:Редактирует запись на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.edit,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.editAdsStealth,id:wall.editAdsStealth,description:Позволяет отредактировать скрытую запись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/wall.editAdsStealth,type:BASE,isSearchable:false,tokenTypes:},{title:wall.editComment,id:wall.editComment,description:Редактирует комментарий на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.editComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.get,id:wall.get,description:Возвращает список записей со стены пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall.get,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:wall.getById,id:wall.getById,description:Возвращает список записей со стен пользователей или сообществ по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall.getById,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:wall.getComment,id:wall.getComment,description:Получает информацию о комментарии на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,url:method/wall.getComment,type:BASE,isSearchable:false,tokenTypes:},{title:wall.getComments,id:wall.getComments,description:Возвращает список комментариев к записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,url:method/wall.getComments,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:wall.getLikes,id:wall.getLikes,description:Получает информацию о пользователях, которые добавили указанную запись в свой список **Мне нравится**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall,url:method/wall.getLikes,type:BASE,isSearchable:false,tokenTypes:},{title:wall.getPhotoUploadServer,id:wall.getPhotoUploadServer,description:Возвращает адрес сервера для загрузки фотографии на стену пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall.getPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:},{title:wall.getReposts,id:wall.getReposts,description:Позволяет получать список репостов заданной записи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall.getReposts,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:wall.openComments,id:wall.openComments,description:Включает комментирование записи,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.openComments,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:wall.pin,id:wall.pin,description:Закрепляет запись на стене (запись будет отображаться выше остальных).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.pin,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.post,id:wall.post,description:Позволяет создать запись на стене, предложить запись на стене публичной страницы, опубликовать существующую отложенную запись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.post,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.postAdsStealth,id:wall.postAdsStealth,description:Позволяет создать скрытую запись, которая не попадает на стену сообщества и в дальнейшем может быть использована для создания рекламного объявления типа «Запись в сообществе».,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ads,url:method/wall.postAdsStealth,type:BASE,isSearchable:false,tokenTypes:},{title:wall.reportComment,id:wall.reportComment,description:Позволяет пожаловаться на комментарий к записи.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.reportComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.reportPost,id:wall.reportPost,description:Позволяет пожаловаться на запись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.reportPost,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.repost,id:wall.repost,description:Копирует объект на стену пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.repost,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.restore,id:wall.restore,description:Восстанавливает удалённую запись на стене пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.restore,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.restoreComment,id:wall.restoreComment,description:Восстанавливает удаленный комментарий к записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.restoreComment,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:wall.search,id:wall.search,description:Позволяет искать записи на стене в соответствии с заданными критериями.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/wall.search,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:wall.unpin,id:wall.unpin,description:Отменяет закрепление записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:wall_ex,url:method/wall.unpin,type:BASE,isSearchable:false,tokenTypes:is_standalone}},{title:Widgets,id:widgets,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/widgets,type:BASE,isSearchable:false,tokenTypes:,children:{title:widgets.getComments,id:widgets.getComments,description:Получает список комментариев к странице, оставленных через Виджет комментариев.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/widgets.getComments,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:widgets.getPages,id:widgets.getPages,description:Получает список страниц приложения/сайта, на которых установлен Виджет комментариев(widgets/comments) или «Мне нравится»(widgets/like).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/widgets.getPages,type:BASE,isSearchable:false,tokenTypes:allow_from_server}}},language:ru,variant:public,expireDate:1668434686881,isManuallyExpired:false},/api/donut/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Платежи | VK Donut API,id:api__donut__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/donut/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VK Donut API\n\n**API ВКонтакте** позволяет получать информацию о платных подписках и подписчиках в сообществах, использующих VK Donut(https://vk.com/@donut-faq), а также публиковать в них платный контент.\n\n## Для кого этот раздел\n\nЭтот раздел для разработчиков приложений, которые хотят использовать API ВКонтакте. Вам будет проще, если вы уже знакомы с API ВКонтакте(api/getting-started), методами авторизации(api/access-token/getting-started) и знаете, что такое VK Donut(https://vk.com/@donut-faq).\n\nЕсли вы уже используете VK Donut(https://vk.com/@donut-faq) и разобрались, как получить ключ доступа(api/access-token/getting-started) к API ВКонтакте, переходите к разделу Методы(#Методы). Если нет, сначала прочитайте раздел Подготовка(#Подготовка).\n\n## Подготовка\n\n1. Подключите VK Donut(https://vk.com/@donut-faq) в настройках сообщества.\n\n2. Создайте приложение(api/getting-started#Регистрация%20приложения). API можно использовать в приложении любого типа. Если вы пока не знаете, какой тип выбрать, создайте **Standalone-приложение**. Идентификатор приложения понадобится вам на следующем шаге, чтобы получить ключ доступа к API.\n\n3. Получите ключ доступа(api/access-token/getting-started). Ключ доступа нужно будет указывать во всех запросах из приложения (параметр `access_token`). Получить его можно разными способами. Всё зависит от того, какие права доступа(reference/access-rights) вам нужны и как вы будете отправлять запросы (от имени пользователя или сообщества, со стороны клиента или сервера).\n\n\u003e **Совет.** Отправлять запросы можно прямо из документации(method/donut.isDon). Идентификатор приложения и ключ доступа указывать не понадобится, достаточно войти в свой аккаунт ВКонтакте.\n\n## Методы\n\nВ запросе(api/api-requests) нужно указать:\n\n* Метод. В таблице ниже собраны методы, которые понадобятся для работы с сообществами, использующими VK Donut. Название метода может начинаться с префиксов: `donut`(method/donut.isDon), `groups`(method/groups.getMembers), `wall`(method/wall.post).\n\n* Параметры. Обязательные параметры: `access_token` (ключ доступа) и `v` (версия API). В справочнике методов(method) написано, к какой версии API относится каждый метод, какие ещё параметры есть у метода и какие нужны права доступа(reference/access-rights). В запросе нужно указать тот ключ доступа, права доступа которого соответствуют методу.\n\n### Пример\n\nЧтобы узнать, является ли пользователь доном (так мы называем получателей платного контента в сообществе), отправьте запрос:\n\n```\nhttps://api.vk.com/method/donut.isDon?owner_id-1\u0026access_token42\u0026v:version\n```\n\nВ этом примере замените `-1` на идентификатор сообщества (со знаком минуса), а `42` — на ключ доступа пользователя.\n\n\u003e **Совет.** Войдите в свой аккаунт ВКонтакте и отправьте запрос прямо из документации(method/donut.isDon).\n\n### Методы, которые относятся к работе VK Donut\n\n| Метод | Результат |\n| --- | --- |\n| `donut.isDon`(method/donut.isDon) | Подписан ли пользователь на платный контент (является ли доном).|\n| `donut.getSubscription`(method/donut.getSubscription) | Стоимость подписки, статус, дата следующего платежа.|\n| `donut.getSubscriptions`(method/donut.getSubscriptions) | Подписки пользователя.|\n| `donut.getFriends`(method/donut.getFriends) | Список донов из числа друзей пользователя.|\n| `groups.getMembers`(method/groups.getMembers) | Список донов сообщества по ключу пользователя (ключ должен принадлежать как минимум редактору сообщества) и по ключу сообщества (см. параметр `filter`).|\n| `wall.post`(method/wall.post) | Публикует на стене запись только для донов. Позволяет задать время, через которое запись появится для всех подписчиков, то есть станет бесплатной (см. параметр `donut_paid_duration`).|\n| `wall.edit`(method/wall.edit) | Меняет значение параметра `donut_paid_duration`.|\n\n## События\n\nВы можете получать информацию о событиях(api/events/overview), которые происходят в вашем сообществе, с помощью:\n\n* Callback API(api/callback/getting-started). Мы будем отправлять на ваш сервер уведомление о каждом новом событии.\n* Bots Long Poll API(api/bots-long-poll/getting-started). Очередь из событий хранится на серверах ВКонтакте, вы получаете уведомления когда захотите, используя запросы.\n\n### События, которые относятся к работе VK Donut\n\n|Название события | Что произошло в сообществе |\n| --- | --- |\n|`donut_subscription_create`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Пользователь оформил подписку.|\n|`donut_subscription_prolonged`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Пользователь продлил подписку.|\n|`donut_subscription_expired`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Подписка пользователя истекла.|\n|`donut_subscription_cancelled`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Пользователь отменил подписку.|\n|`subscription_price_changed`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Изменилась стоимость подписки.|\n|`donut_money_withdraw`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Руководитель сообщества вывел деньги.|\n|`donut_money_withdraw_error`(api/community-events/json-schema#Платные%20подписки%20VK%20Donut)|Ошибка при выводе денег.|\n\n## FAQ\n\n#### Зачем нужен VK Donut?\n\nVK Donut позволяет руководителям сообществ принимать платежи от подписчиков.\n\n#### Где ещё можно прочитать про VK Donut?\n\nВ сообществе(https://vk.com/donut) есть правила публикаций(https://vk.com/@donut-pravila) и подробный FAQ, в котором мы рассказали, например, про платежи(https://vk.com/@donut-faq?anchorchto-vybrat-kartu-ili-vk-pay).\n\n#### Кто такие доны?\n\nДоны — это получатели платного контента, которые подписываются на него с помощью VK Donut.\n\n#### Как выглядит идентификатор сообщества?\n\nИдентификатор сообщества — это целое число (порядковый номер). Например, на странице нашего официального сообщества указан `ID:` 192668858(https://vk.com/donut). Но при работе с API используется отрицательное число -192668858, чтобы отличить идентификатор сообщества от идентификатора пользователя.\n\n#### Почему в примере идентификатор сообщества: `-1`?\n\nПользователи и сообщества нумеруются по порядку, поэтому у пользователя и сообщества может быть одинаковый идентификатор. Например, есть пользователь(https://vk.com/id1) и сообщество(https://vk.com/apiclub) с `ID:` 1. Если метод требует передать идентификатор пользователя, нужно указывать `owner_id1` (положительное число), если идентификатор сообщества, то `owner_id-1` (отрицательное число).\n\n#### В запросах можно передавать `lang`?\n\nДа. Параметры, общие для всего API(api/api-requests#Общие%20параметры), можно использовать во всех методах API ВКонтакте.\n\n#### Можно ли сделать платным бесплатный контент?\n\nНет, если запись уже опубликована. Можно, если вы создали отложенную запись(api/posts#Публикации%20из%20приложений) и она ещё не опубликована.\n\n#### Можно ли сделать бесплатным платный контент?\n\nДа. Используйте метод `wall.post`(method/wall.post), в запросе укажите идентификатор записи (`post_id`). Обратите внимание, что в этом случае создастся бесплатная копия платной записи. Но только одна — создать больше копий не получится.\n\n#### Я создал запись для донов, но потом решил сделать её бесплатной пораньше. Можно ли изменить время, указанное в donut_paid_duration?\n\nДа. Чтобы изменить значение `donut_paid_duration` (время, через которое платная запись должна стать бесплатной), нужно задать новое значение этого параметра с помощью метода `wall.edit`(method/wall.edit). Обратите внимание, что когда время истечёт, появится копия платной записи.},language:ru,variant:public,expireDate:1668434703914,isManuallyExpired:false},/method/photos.getById:{type:method,layout:internal,template:/method,contents:{title:photos.getById,id:photos.getById,description:Возвращает информацию о фотографиях по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.getById,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:photos,description:Перечисленные через запятую идентификаторы, которые представляют собой идущие через знак подчеркивания `id` пользователей, разместивших фотографии, и `id` самих фотографий. Чтобы получить информацию о фотографии в альбоме группы, вместо id пользователя следует указать `-id` группы.\n\nПример значения `photos`: \n\n```\n1_263219656,6492_456239863, -1_456239099\n```\n\nНекоторые фотографии, идентификаторы которых могут быть получены через API, закрыты приватностью, и не будут получены. В этом случае следует использовать ключ доступа фотографии (`access_key`) в её идентификаторе. \n\nПример значения `photos`: \n\n```\n1_129207899_220df2876123d3542f, 6492_135055734_e0a9bcc31144f67fbd\n```\n\nПоле `access_key` будет возвращено вместе с остальными данными фотографии в методах, которые возвращают фотографии, закрытые приватностью но доступные в данном контексте. Например данное поле имеют фотографии, возвращаемые методом `newsfeed.get`(method/newsfeed.get).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — будут возвращены дополнительные поля `likes`, `comments`, `tags`, `can_comment`, `can_repost`. Поля `comments` и `tags` содержат только количество объектов. По умолчанию данные поля не возвращаются.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_sizes,description:Возвращать ли доступные размеры фотографии в специальном формате(reference/objects/photo-sizes).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает массив объектов `photo`(reference/objects/photo).\n\nЕсли к фотографии прикреплено местоположение, также возвращаются поля `lat` и `long`, содержащие географические координаты отметки.\n\nЕсли был задан параметр `extended``1`, возвращаются дополнительные поля:\n* `likes` — количество отметок «Мне нравится» и информация о том, поставил ли лайк текущий пользователь;\n* `comments` — количество комментариев к фотографии;\n* `tags` — количество отметок на фотографии;\n* `can_comment` — может ли текущий пользователь комментировать фото (`1` — может, `0` — не может);\n* `can_repost` — может ли текущий пользователь сделать репост фотографии (`1` — может, `0` — не может).\n\nЕсли был задан параметр `photo_sizes`, вместо полей `width` и `height` возвращаются размеры копий ф`тографии в специальном формате(reference/objects/photo-sizes).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668434802474,isManuallyExpired:false},/widgets/community-messages:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Сообщения сообщества,id:widgets__community-messages,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/community-messages,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Сообщения сообщества\n\n**Сообщения сообщества** — это быстрый способ связи с пользователями ВКонтакте прямо на вашем сайте. Вы сможете ответить клиенту даже после того, как он покинет сайт — сообщения будут отправлены от имени сообщества.\n\nВашим клиентам больше не придется дополнительно регистрироваться и указывать контактные данные. Всё необходимое уже есть в хорошо знакомом интерфейсе ВКонтакте, включая возможность прикрепить к вопросу фотографию или документ.\n\nВиджет располагается в правом нижнем углу и может быть раскрыт сразу после загрузки или по клику пользователя. Перед использованием виджета убедитесь, что сообщения включены в настройках сообщества.\n\n**Важно!** Вы можете указать список разрешённых доменов, сообщение для статуса «Не в сети» и другие параметры в настройках сообщества, для которого вы создаёте виджет. В случае, если администратор длительное время не отвечает на сообщения, например, в ночное время — пользователь увидит предупреждение о том, что ответ займет больше времени.\n\n## Подключение виджета\n\nЧтобы добавить на свой сайт виджет, выполните следующие шаги:\n\nШаг 1. В настройках сообщества подключите раздел сообщений и разрешите использование виджета. Вы можете указать конкретные домены, для которых будет разрешено встраивание виджета.\n\nШаг 2. В тег `\u003chead\u003e` на странице вашего сайта добавьте подключение `openapi.js`:\n\n```HTML\n \u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nШаг 3. В тело страницы добавьте элемент `\u003cdiv\u003e`, в котором будет отображаться виджет, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_community_messages\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.CommunityMessages(\vk_community_messages\, 20003922);\n\u003c/script\u003e\n```\n\nЕсли на вашем сайте уже используется Open API(api/open-api/getting-started), добавить виджет ещё проще. Достаточно просто добавить инициализацию виджета.\n\n## Дополнительные настройки\n\nМетод для создания виджета `VK.Widgets.CommunityMessages` принимает три параметра:\n* `element_id` (`string`), обязательный параметр — id элемента, который будет являться контейнером кнопки для связи. В нашем конструкторе по умолчанию используется значение `\vk_community_messages\`.\n* `group_id` (`integer`), обязательный параметр — идентификатор сообщества, для которого будет создан виджет.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержать поля:\n * `onCanNotWrite` (`function`) — функция, которая будет вызвана, если пользователь по каким-то причинам не может писать сообщения;\n * `welcomeScreen` (`integer`, `0`, `1`) — информация о том, нужно ли показывать экран приветствия (`1` — да, `0` — нет);\n * `expandTimeout` (`integer`) — интервал до раскрытия виджета в миллисекундах. Обратите внимание, при обновлении страницы сохраняется состояние виджета — если он уже раскрыт пользователем, этот параметр не применяется.\n * `expanded` (`integer`, `1`) — `1`, если нужно раскрыть виджет сразу;\n * `widgetPosition` (`string`) — выравнивание кнопки (`left` или `right`);\n * `buttonType` (`string`) — внешний вид кнопки (`no_button` или `blue_circle`);\n * `disableButtonTooltip` (`integer`, `1`) — `1`, если нужно отключить всплывающую подсказку;\n * `tooltipButtonText` (`string`) — текст всплывающей подсказки;\n * `disableNewMessagesSound` (`integer`, `1`) — `1`, если нужно отключить звук о новом сообщении;\n * `disableExpandChatSound` (`integer`, `1`) — `1`, если нужно отключить звук при раскрытии виджета;\n * `disableTitleChange` (`integer`, `1`) — `1`, если нужно отключить изменение заголовка страницы, когда приходит новое сообщение.\n\nУ пользователя может отсутствовать возможность отправить сообщение сообществу. Если был задан параметр `onCanNotWrite`, в функцию будет передана причина:\n* `offline` — пользователь не в сети;\n* `no_access` — у пользователя нет доступа к разделу сообщений (например, потому что его профиль заблокирован);\n* `disabled_messages` — сообщения сообщества отключены;\n* `cant_write` — настройки приватности (например, это частное сообщество, в котором пользователь не состоит);\n\nВ контексте созданного объекта виджета доступны методы:\n* `destroy` — удаляет виджет;\n* `expand` — разворачивает окно виджета, может принимать параметр `welcomeScreen` (`1` — показывать экран приветствия);\n* `stopTitleAnimation` — отключает смену заголовка после прихода нового сообщения;\n* `minimize` — сворачивает окно виджета.\n\nМетод `VK.Widgets.CommunityMessages.destroy` удаляет виджет со страницы и принимает один параметр:\n* `element_id` (`string`), обязательный параметр — id элемента, к которому привязан виджет.\n\n## Пример использования\n\n```HTML\n \u003cdiv id\vk_community_messages\\u003e\u003c/div\u003e\n \u003cscript type\text/javascript\\u003e\n var widget VK.Widgets.CommunityMessages(\vk_community_messages\, 20003922);\n widget.stopTitleAnimation();\n widget.expand({\n welcomeScreen: 1,\n });\n \u003c/script\u003e\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668434807968,isManuallyExpired:false},/reference/access-rights:{type:article,layout:internal,template:/article,contents:{title:Справочник API | Коды | Права доступа,id:reference__access-rights,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/access-rights,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Права доступа\n\nПрава доступа определяют возможность использования токена для работы с тем или иным разделом данных. Так, например, для отправки личного сообщения от имени пользователя токен должен быть получен с правами `messages`.\n\nСписок названий прав доступа, которые необходимы приложению, или сумма их битовых масок передается в параметре `scope` в процессе получения ключа доступа(api/access-token/getting-started). \n\nНа странице с описанием каждого метода указано, каких прав доступа он требует. Обратите внимание, некоторые методы не требуют определенных прав доступа, но не могут быть вызваны без `access_token`. В таком случае при получении токена вы можете не передавать параметр `scope`.\n\n## Права доступа для токена пользователя\n\n| Атрибут | Битовые представления | Описание |\n|---|---|---|\n| `notify` | (+1) (1 \u003c\u003c 0) | Пользователь разрешил отправлять ему уведомления (для flash/iframe-приложений). |\n| `friends` | (+2) (1 \u003c\u003c 1) | Доступ к друзьям. |\n| `photos` | (+4) (1 \u003c\u003c 2) | Доступ к фотографиям. |\n| `audio` | (+8) (1 \u003c\u003c 3) | Доступ к аудиозаписям. |\n| `video` | (+16) (1 \u003c\u003c 4) | Доступ к видеозаписям. |\n| `stories` | (+64) (1 \u003c\u003c 6) | Доступ к историям. |\n| `pages` | (+128) (1 \u003c\u003c 7) | Доступ к wiki-страницам. |\n| `(+256)` | (1 \u003c\u003c 8) | Добавление ссылки на приложение в меню слева. |\n| `status` | (+1024) (1 \u003c\u003c 10) | Доступ к статусу пользователя. |\n| `notes` | (+2048) (1 \u003c\u003c 11) | Доступ к заметкам пользователя. |\n| `messages` | (+4096) (1 \u003c\u003c 12) | Доступ к расширенным методам работы с сообщениями (только для Standalone-приложений, прошедших модерацию(reference/roadmap)). |\n| `wall` | (+8192) (1 \u003c\u003c 13) | Доступ к обычным и расширенным методам работы со стеной. Данное право доступа по умолчанию недоступно для сайтов (игнорируется при попытке авторизации для приложений с типом «Веб-сайт» или по схеме Authorization Code Flow(api/access-token/authcode-flow-user)). |\n| `ads` | (+32768) (1 \u003c\u003c 15) | Доступ к расширенным методам работы с рекламным API(api/ads/getting-started). Доступно для авторизации по схеме Implicit Flow(api/access-token/implicit-flow-user) или Authorization Code Flow(api/access-token/authcode-flow-user). |\n| `offline` | (+65536) (1 \u003c\u003c 16) | Доступ к API(api/getting-started) в любое время (при использовании этой опции параметр `expires_in`, возвращаемый вместе с access_token, содержит 0 — токен бессрочный). Не применяется в Open API. |\n| `docs` | (+131072) (1 \u003c\u003c 17) | Доступ к документам. |\n| `groups` | (+262144) (1 \u003c\u003c 18) | Доступ к группам пользователя. |\n| `notifications` | (+524288) (1 \u003c\u003c 19) | Доступ к оповещениям об ответах пользователю. |\n| `stats` | (+1048576) (1 \u003c\u003c 20) | Доступ к статистике групп и приложений пользователя, администратором которых он является. |\n| `email` | (+4194304) (1 \u003c\u003c 22) | Доступ к email пользователя. |\n| `market` | (+134217728) (1 \u003c\u003c 27) | Доступ к товарам. |\n\n\n## Права доступа для токена сообщества\n\n| Атрибут | Битовые представления | Описание |\n|---|---|---|\n| `stories` | (+1) (1 \u003c\u003c 0) | Доступ к историям. |\n| `photos` | (+4) (1 \u003c\u003c 2) | Доступ к фотографиям. |\n| `app_widget` | (+64) (1 \u003c\u003c 6) | Доступ к виджетам приложений сообществ(api/community-apps-widgets/getting-started). Это право можно запросить только с помощью метода Client API `showGroupSettingsBox`. |\n| `messages` | (+4096) (1 \u003c\u003c 12) | Доступ к сообщениям сообщества. |\n| `docs` | (+131072) (1 \u003c\u003c 17) | Доступ к документам. |\n| `manage` | (+262144) (1 \u003c\u003c 18) | Доступ к администрированию сообщества. |},language:ru,variant:public,expireDate:1668435100622,isManuallyExpired:false},/mini-apps/management/settings:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Управление | Настройки,id:mini-apps__management__settings,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/management/settings,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Настройки\n\nРаздел **Настройки** понадобится вам уже на первых этапах разработки, так как содержит идентификатор мини-приложения.\n\nВКонтакте предоставляет возможность создавать отдельные версии мини-приложения для следующих платформ:\n\n* мобильное приложение (Android, iOS)(#Версия%20для%20мобильных%20клиентов)\n* мобильная версия сайта (m.vk.com)(#Версия%20для%20m.vk.com)\n* десктопная версия сайта (vk.com)(#Версия%20для%20vk.com)\n\nЕсли вы не планируете поддерживать какую-то из перечисленных платформ, оставьте соответствующее поле пустым.\n\nЧтобы перейти в раздел, откройте Мои приложения(https://vk.com/apps?actmanage) → **Редактировать** → **Настройки**.\n\n## Настройки\n\n!titleНастройки(8374803176fb15af1516a0bece1baa13862ecd8d5c19fafe996cfe20 \-3124309586127950387\)\n\n### ID приложения\n\nИдентификатор — число, которое получило ваше мини-приложение, например `8062090`.\n\n### Защищённый ключ\n\nКлюч доступа, который используется для настройки библиотек на клиентах.\n\n### Сервисный ключ доступа\n\nКлюч доступа, идентифицирующий мини-приложение. Все запросы к API, выполненные с сервисным ключом доступа, совершаются от имени вашего мини-приложения.\n\n\u003e Сервисный ключ доступа можно использовать только для запросов с бэкенда мини-приложения. Не передавайте и не храните сервисный ключ мини-приложения на клиенте! Подробнее о ключах доступа(api/access-token/getting-started).\n\n### Состояние\n\nМини-приложение можно включать или отключать в процессе разработки:\n\n* **Приложение отключено** — не видно никому, кроме администратора мини-приложения. Значение по умолчанию.\n* **Приложение включено и видно всем** — ваше мини-приложение готово, и вы хотите, чтобы другие пользователи могли его запускать.\n\n\u003e Перед отправкой мини-приложения на модерацию(mini-apps/catalog/moderation) включите его.\n\n\n\n## Загрузка архива для ODR\n\n!altВнешний вид блока Загрузка архива для ODR;titleЗагрузка архива для ODR(0d9817c697d29a0752ba0c4609eb94aabd9870d308c21269a789f4eb \6548462886382511447\)\n\nДля организации ресурсов используется технология ODR, которую должны применять все приложения, представленные в App Store и содержащие встроенные сервисы. Более подробное описание есть в разделе Работа с ресурсами для iOS(mini-apps/development/on-demand-resources).\n\n## Версия для мобильных клиентов\n\n!altВнешний вид блока Версия для мобильных клиентов;titleВерсия для мобильных клиентов(3eb9e18340266ed1a509132e2c7fff04258b71336c76f112ac31dc6a \-7553817606630771409\)\n\nЧтобы мини-приложение работало в мобильном приложении ВКонтакте:\n\n1. Впишите адрес ссылки на мини-приложение в блок **Версия для мобильных клиентов**.\n1. Нажмите кнопку **Сохранить**.\n\nМини-приложения доступны пользователям в официальных клиентах, начиная с версии не ниже 6 для Android и 10 для iOS.\n\n### Режим разработки (версия для мобильных клиентов)\n\nВ режиме разработки доступен **URL для разработки** — адрес ссылки, по которому доступно мини-приложение. Адрес ссылки открывается у администраторов(mini-apps/management/admin) и тестировщиков(mini-apps/management/testing) мини-приложения.\n\nЕсли включён режим разработки у мобильных клиентов и в списках тестирования указан ODR, то тестировщики увидят именно iOS-версию.\n\n## Версия для vk.com\n\n!altВнешний вид блока Версия для vk.com;titleВерсия для vk.com(7f85477991d42c56be0f449d44188293e7f113489d4a3b9825e288de \65674568972628223\)\n\nЧтобы мини-приложение можно было запустить, когда ВКонтакте открыт в десктопном браузере:\n\n1. Впишите адрес ссылки на мини-приложение в блок **Версия для vk.com**.\n1. Нажмите кнопку **Сохранить**.\n\n### Режим разработки (версия для vk.com)\n\nВ режиме разработки доступен **URL для разработки** — адрес ссылки, по которому доступно мини-приложение. Адрес ссылки открывается у администраторов(mini-apps/management/admin) и тестировщиков(mini-apps/management/testing) мини-приложения.\n\n## Версия для m.vk.com\n\n!altВнешний вид блока Версия для vk.com;titleВерсия для m.vk.com(053937ab85e8f3249a952aafd78e01c67aac10910990017a96abfedb \-1731126576119414979\)\n\nЧтобы мини-приложение работало в мобильной версии сайта (m.vk.com):\n\n1. Впишите адрес ссылки на мини-приложение в блок **Версия для m.vk.com**.\n1. Нажмите кнопку **Сохранить**.\n\n### Режим разработки (версия для m.vk.com)\n\nВ режиме разработки доступен **URL для разработки** — адрес ссылки, по которому доступно мини-приложение. Адрес ссылки открывается у администраторов(mini-apps/management/admin) и тестировщиков(mini-apps/management/testing) мини-приложения.\n\n## Удаление приложения\n\n!titleВнешний вид блока Удаление мини-приложения;titleУдаление мини-приложения(c205ab9ff0002f6062c60a147b58df68de9991d2889f92d7010ac0aa \-6576264514743586135\)\n\n\u003e Если удалить мини-приложение, оно исчезнет из списка Мои приложения(https://vk.com/apps?actmanage) и его больше нельзя будет запустить.\n\nЧтобы удалить мини-приложение:\n1. Нажмите кнопку **Удалить приложение**.\n1. Нажмите кнопку **Удалить** во всплывающем окне.},language:ru,variant:public,expireDate:1668435402307,isManuallyExpired:false},/api/market/overview:{type:article,layout:internal,template:/article,contents:{title:API ВКонтакте | Товары | Товары ВКонтакте,id:api__market__overview,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/market/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Товары ВКонтакте\n\n**Товары ВКонтакте** – это витрина с товарами и услугами в вашем сообществе ВКонтакте. \n\n!titleБлок с товарами на главной странице сообщества(11022d528d5d387fbb61f51e4b046d5e0d78379a23f968b0861afd1d \-5203208861033356884\)\n\nДействующие интернет-магазины смогут привлечь новых клиентов с помощью этого сервиса. Для тех, кто только начинает, это отличная возможность сэкономить на создании отдельного сайта для продаж. \n\n## Как это работает?\n\nВы добавляете в сообщество товары с фотографиями, ценами и подробным описанием. Используйте подборки (коллекции товаров по категориям), чтобы клиенты могли быстро разобраться в ассортименте. \n\n!titleВ разделе с товарами доступен поиск по наименованию и цене(2cc1ea6be1122788c3e90128a73878337ddd05d50a8fcb2ec055c406 \2682289002888373244\)\n\nДля каждого товара можно загрузить до четырех дополнительных изображений. Наглядные фотографии с разных ракурсов помогут пользователю сделать выбор. \n\n!titleКарточка товара – сюда можно добавить любую информацию, полезную для покупателя(b386c4e88a09935cb2b07d43dfdcc36b04ad0e3353da8b99f177dbf1 \-637134464653778470\)\n\nКнопка **Написать продавцу** в карточке товара откроет переписку с сообществом или выбранным руководителем сообщества. К сообщению будет прикреплена ссылка на товар, который заинтересовал пользователя. \n\nВ настройках сервиса (раздел **Управление сообществом** → **Товары**) вы можете задать валюту магазина, регионы доставки, контактное лицо. Заполните вики-страницу **Описание магазина** – здесь пользователи смогут прочитать об условиях оплаты и доставки перед покупкой. \n\nВыбор способа оплаты и доставки заказов остается за вами. \n\n## Доставка\n\nТеперь доставлять товары через Boxberry и СДЭК можно прямо из Магазина ВКонтакте. Это удобное решение для бизнеса и клиентов, которое поможет продавать быстрее и больше. \n\n!(d84302030ec7bf82e0824216cd40405b0f35762c05c8fbd7f123eeb8 \-536902625946196038\)\n\n### Подключите доставку\n\nВначале убедитесь, что у вас включён Магазин 2.0 в настройках сообщества. \n\nНажмите **Управление** → **Настройки** → **Разделы**. Включите раздел **Товары**. Для работы с доставкой должен быть выбран **Расширенный** режим. \n\n!(d2b5b34c5da9100bff19aec8d49be18a7d99ded64798fe42c557a02e \8014173844027144298\)\n\nНажмите **Показать настройки** → **Доставка**. Также перейти в настройки магазина можно через главную страницу сообщества. \n\n!(7a6b0cd237030915c8546f4023ef9e4f75796655401306a5c23a113c \7767136780412586436\)\n\nНажмите **Включить** для Boxberry и СДЭК. \n\n!(39a7f82a6cf220740f1e7d3b86b4a387e7bc86579d064c6207bc7827 \-4074010642457854577\)\n\nДля СДЭК и Boxberry стоимость доставки рассчитывается по габаритам и весу товара. Указать эти параметры вы можете заранее в карточке товара – тогда прогноз для покупателя будет точным. Вес и габариты также можно прописать на этапе получения заказа. \n\n## Укажите свойства товаров\n\nПомимо веса и габаритов товара вы можете указать его дополнительные свойства: цвет, материал, размер и другие. \n\n!(75cafdffa3a261a3af5ebdb6788b3c3a0e9c6f0168e611b45a0802c2 \-4967459588447635267\)\n\n## Проверьте поступивший заказ\n\nВнимательно проверьте все данные. При необходимости вы можете отредактировать здесь вес и габариты заказа, если не указали их ранее, —стоимость доставки рассчитается автоматически. \n\nИз этого же окна вы можете связаться с покупателем и уточнить детали заказа. \n\n!(7dd640fdd996ee64368dd36520497c5f916cda6c226e47d2a1e03d9d \-6931970821843698708\)\n\nВключите сообщения сообщества, чтобы отвечать покупателям. Написать от лица сообщества можно сразу после того, как поступил заказ. \n\n## Договоритесь об оплате\n\nВ сообщениях сообщества договоритесь с покупателем о способе оплаты. Вы можете предложить перевести деньги через денежные переводы ВКонтакте: тогда клиенту не придётся вводить данные вашей карты – вы сами выберете, куда зачислить средства. \n\n\u003e **Важно.** Доставку оплачивает покупатель. Она уже будет включена в стоимость заказа, если вы указали габариты и вес товара. Если вы не вносили эти данные, то клиент увидит сообщение **Стоимость уточняйте у продавца**. \n\nОтправка через СДЭК рассчитывается по тарифу **Экспресс-лайт**, подробности описаны по ссылке(https://cdek.ru/express-light). Стоимость доставки Boxberry рассчитывается по специальному тарифу для магазинов ВКонтакте. \n\n## Отправьте заказ\n\nПолучив заказ, в котором указан способ доставки через СДЭК или Boxberry, нужно убедиться, что рассчитана стоимость. \n\nЕсли вы заранее прописали габариты товара – заказ поступит к вам уже с фиксированной стоимостью доставки. \n\nЕсли ещё не сделали этого – перейдите в карточку заказа и укажите габариты и вес в специальном поле, и мы автоматически всё подсчитаем. \n\nЧто делать дальше:\n\n* Принять у покупателя оплату удобным ему способом. \n* Отвезти заказ в ближайшее отделение выбранной службы или вызвать курьера, который заберёт от вас посылку. \n* Сервис доставки закрепит за вашим отправлением трек-номер и сразу сообщит его вам. \n\nНайти ближайшее отделение можно здесь: Boxberry(https://boxberry.ru/find_an_office/) и СДЭК(https://cdek.ru/offices). Обе компании работают с физическими и юридическими лицами. \n\n## Добавьте трек-номер\n\nВпишите трек-номер в соответствующее поле. Так пользователю будет проще отслеживать посылку на сайте доставки – будет достаточно одного клика из раздела **Заказы**. \n\n!(a5b0a5d31fbae44ec0aedc30e75625128639282b0279dc8529c5ffd8 \1565333712537667774\)\n\n\u003e **Важно.** Не забудьте при отправке сменить статус заказа на **Доставляется**: тогда пользователь сразу получит уведомление о том, что товар в пути. \n\n!(55f4339a699abb4df078b1f3293c5fc25900ecae0c844aac4b617bd0 \5578399229701508714\)\n\n## API для товаров\n\nAPI позволяет автоматизировать работу с товарами и заказами. Используйте готовое решение для импорта товаров из внешней базы или создайте собственный инструмент – это просто. \n\n\u003e Подробнее о методах API ВКонтакте для работы с товарами в сообществах мы рассказали в разделе API для товаров(api/market/getting-started).\n\n## Готовые инструменты\n\nИспользуйте готовые решения, созданные нашими партнерами, для быстрого импорта товаров из вашего магазина в сообщество ВКонтакте:\n\n### Конструкторы интернет магазинов\n\n* InSales – https://www.insales.ru/collection/integratsiya-s-vkontakte/product/nastroyka-vygruzki-tovarov-iz-insales-vo-vkontkakte(https://www.insales.ru/collection/integratsiya-s-vkontakte/product/nastroyka-vygruzki-tovarov-iz-insales-vo-vkontkakte)\n* AdvantShop – https://www.advantshop.net/help/pages/module-vkmarket(https://www.advantshop.net/help/pages/module-vkmarket)\n* Эквид – https://www.ecwid.ru/blog/ecwid-with-vkmarket.html(https://www.ecwid.ru/blog/ecwid-with-vkmarket.html)\n* Tilda – https://help-ru.tilda.cc/online-store-payments/vk(https://help-ru.tilda.cc/online-store-payments/vk)\n* Setup.ru – https://www.setup.ru/instructions/vk(https://www.setup.ru/instructions/vk)\n* OpenCart – https://github.com/crmagent-developers/opencart-vk-module(https://github.com/crmagent-developers/opencart-vk-module)\n* WordPress – https://github.com/crmagent-developers/woocommerce-vk-module(https://github.com/crmagent-developers/woocommerce-vk-module)\n* Nethouse – https://vk.nethouse.ru/(https://vk.nethouse.ru/)\n\n### CRM системы\n\n* RetailCRM – https://vk.cc/bVtnwH(https://vk.cc/bVtnwH)\n* 1C-CRM – https://1crm.ru/help/integratsiya-s-magazinom-vkontakte/(https://1crm.ru/help/integratsiya-s-magazinom-vkontakte/)\n* amoCRM – https://cmdf5.ru/widjety-amocrm/vk-amocrm(https://cmdf5.ru/widjety-amocrm/vk-amocrm)\n* Битрикс 24 – https://www.bitrix24.ru/apps/?appintegrations24.vkmarket(https://www.bitrix24.ru/apps/?appintegrations24.vkmarket\u0026_ga2.210223517.984684472.1635850697-325262892.1635850697\u0026)\n* 1С-Битрикс – https://marketplace.1c-bitrix.ru/solutions/vkapi.market(https://marketplace.1c-bitrix.ru/solutions/vkapi.market)\n\n### Программы складского учёта\n\n* МойСклад – https://support.moysklad.ru/hc/ru/articles/226865387(https://support.moysklad.ru/hc/ru/articles/226865387)\n* Бизнес.Ру – https://vk.com/@ecom-integraciya-magazina-vkontakte-i-biznesru(https://vk.com/@ecom-integraciya-magazina-vkontakte-i-biznesru)\n\n### Прочее\n\n* October CMS – плагин Shopaholic for VK Goods(https://octobercms.com/plugin/lovata-vkgoodsshopaholic)\n* Workzen – https://workzen.mts.ru/help/vk(https://workzen.mts.ru/help/vk)\n* Загрузка товаров в vk.com через фиды данных Яндекс.Маркета, Яндекс.Недвижимости и Auto.ru – ZoomKit(https://vkm.zoomkit.ru)\n* Выгрузка товаров с сайтов поставщиков – Cloudparser(https://cloudparser.ru)\n* Soc-commerce – https://soc-commerce.com/(https://soc-commerce.com/)\n* Albato – https://albato.ru/app-vkmarket(https://albato.ru/app-vkmarket)\n* iBurattino(http://iburattino.com), VK-Sync(http://vk-sync.ru), Soc-commerce(http://soc-commerce.com), vkExport(https://vkexport.net/) — YML\n* 1С-Битрикс(https://marketplace.1c-bitrix.ru/solutions/vkapi.vkmarket/), https://marketplace.1c-bitrix.ru/solutions/bxmaker.vk/(https://marketplace.1c-bitrix.ru/solutions/bxmaker.vk/)\n* Электронный Заказ(https://ez-catalog.ru/) — электронный заказ, импорт товаров из XML, YML, CSV\n* Trimpo(https://trimpo.org/) — импорт из YML, Excel, ручное добавление товаров\n* CMS ShopScript — vkgoods(https://www.webasyst.ru/store/plugin/shop/vkgoods/)\n* Sliza(https://sliza.ru/pages/instruction)\n* Выгрузка товаров ВКонтакте и Одноклассники(https://my-market-app.ru/)},language:ru,variant:public,expireDate:1668435512237,isManuallyExpired:false},/method/wall.repost:{type:method,layout:internal,template:/method,contents:{title:wall.repost,id:wall.repost,description:Копирует объект на стену пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.repost,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:214,id:,description:Access to adding post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:219,id:,description:Advertisement post was recently added,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:224,id:,description:Too many ads posts,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:object,description:Строковый идентификатор объекта, который необходимо разместить на стене, например, `wall66748_3675` или `wall-1_340364`.\n\nФормируется из типа объекта (`wall`, `photo`, `video` и т.п.), идентификатора владельца объекта и идентификатора самого объекта.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:message,description:Сопроводительный текст, который будет добавлен к записи с объектом.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества, на стене которого будет размещена запись с объектом. Если не указан, запись будет размещена на стене текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:mark_as_ads,description:`1` — пометить запись как рекламную.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:mute_notifications,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:\n,resultDescription:После успешного выполнения возвращает объект со следующими полями:\n* `success` — всегда содержит `1`;\n* `post_id` — идентификатор созданной записи;\n* `reposts_count` — количество репостов объекта с учётом осуществленного;\n* `likes_count` — число отметок **Нравится** у объекта.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668435948798,isManuallyExpired:false},/api/bots/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Чат-боты | Быстрый старт,id:api__bots__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/bots/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Быстрый старт\n\n**Чат-бот** — это скрипт на вашем сервере, который получает уведомления о новых событиях из ВКонтакте и обрабатывает их. Например, определяет текстовую команду в сообщении от пользователя и присылает в ответ какое-нибудь изображение.\n\nДля создания бота вам потребуются:\n* Сообщество, от имени которого ваш бот будет общаться с пользователями ВКонтакте.\n* Сервер, который будет принимать уведомления о событиях.\n* Логика самого бота — скрипт, который определяет, как бот реагирует на то или иное событие.\n\nВ первую очередь вам нужно продумать функциональность чат-бота. Составьте список возможных текстовых команд или событий, на которые бот должен реагировать, и соответствующие им ответные действия бота. Стоит помнить, что люди могут ошибаться, набирая команды, и присылать боту текст, который отличается от всех учтённых вами вариантов — важно предусмотреть действие по умолчанию (можно в таком случае присылать пользователю список всех поддерживаемых команд).\n\n\u003e Если ранее вы не работали с API ВКонтакте, перед началом работы мы рекомендуем вам прочитать это руководство(api/getting-started).\n\n\n## Примеры реализации\n\n### PHP\n\nVK PHP Бот(https://vk.com/botexample), созданный нашим разработчиком на PHP. Для обработки событий используется Callback API, голосовые сообщения генерируются с помощью API Яндекс SpeechKit(https://tech.yandex.ru/speechkit/). Код проекта на GitHub(https://github.com/VKCOM/bot-example-php). \n\n### Java\n\nБот для работы с Youtrack, созданный нашими разработчиками на Java (Java SDK(sdk/java)). Для обработки событий используется Callback API. Код проекта на GitHub(https://github.com/VKCOM/vk-java-sdk/wiki/YouTrack-bot). \n\n### JS\n\nБиблиотека для работы с ботами на Node JS, автор Михаил Семин(https://vk.com/bifot). Используется Long Poll, предусмотрена возможность быстро и удобно добавлять новые команды и реакции. Код проекта на GitHub(https://github.com/bifot/node-vk-bot-api). \n\n## Сообщество\n\nДля подключения чат-бота вы можете использовать любое своё сообщество ВКонтакте — группу, встречу или публичную страницу. Ваш бот должен соответствовать правилам, подробнее о них вы можете узнать здесь(bots-rules).\n\nПервым делом нужно указать, что в вашем сообществе будет работать бот. Для этого перейдите в **Управление сообществом** → **Сообщения** → **Настройки для бота** и включите пункт **Возможности ботов**.\n\nСообщество — это точка входа для пользователей, которые будут общаться с вашим ботом. Стоит позаботиться о том, чтобы оно выглядело привлекательно и содержало описание вашего бота, иначе его действия могут стать сюрпризом для пользователей. Не забудьте включить сообщения в вашем сообществе (**Управление сообществом** → **Сообщения**), когда бот будет готов к использованию, чтобы ему можно было написать. \n\nИтак, если вы выбрали сообщество, можно приступать к настройке уведомлений.\n\n### Получение ключа доступа\n\nКлюч доступа потребуется вам для получения обновлений (в Long Poll), а также для работы с API. \n\nОткройте раздел **Управление сообществом** (**Управление страницей**, если у вас публичная страница), выберите вкладку **Работа с API** и нажмите **Создать ключ доступа**.\n\nОтметьте необходимые права доступа и подтвердите свой выбор. \n\n!(94dbda6f9957847362a13776b0676208b2cedee8d63b617201bc5742 \-8033473622113514247\)\n\nВы можете создать несколько ключей с разными правами доступа. Ключи нельзя размещать публично — узнав его, третье лицо может обращаться к API ВКонтакте от имени вашего сообщества. Если ключ был скомпрометирован, необходимо удалить его из списка — после этого он станет недействителен.\n\nТакже вы можете получить ключ доступа с помощью OAuth. Используйте схему авторизации Authorization Code Flow(api/access-token/authcode-flow-user).\n\n### Добавление ботов в беседы\n\nЧтобы пользователи смогли добавлять бота в беседы, необходимо включить эту возможность в настройках. Перейдите в **Управление сообществом** →**Сообщения** →**Настройки для бота** и поставьте галочку в пункте **Разрешать добавлять сообщество в беседы**. После этого в сообществе появится кнопка **Пригласить в беседу**, открывающая модальное окно со списком бесед.\n\nСейчас у бота в беседе есть три уровня доступа:\n\n#### Только упоминания\n\nЭтот уровень доступа выдается сразу после добавления в беседу. Бот может:\n* видеть все сообщения, которые его касаются. Это упоминания бота и ответы на его сообщения\n* отправлять сообщения в беседу\n\n#### Доступ ко всей переписке\n\nВыдать его может любой администратор беседы. Бот может:\n* видеть все сообщения в беседе \n* отправлять сообщения в беседу\n\n#### Администратор\n\nВыдать его может только создатель беседы. Бот может:\n* видеть все сообщения в беседе \n* отправлять сообщения в беседу\n* Получать объект беседы(reference/objects/conversation)\n* Получать участников беседы\n\n\u003e **Важно!** Для получения событий из беседы версия API у callback-сервера должна быть не ниже 5.80.\n\n## Получение событий и обновлений\n\nЧтобы реагировать на какие-либо события, ваш скрипт должен о них узнать. Для этого существуют два подхода — Callback API и Long Poll.\n\n### Callback API\n\nCallback API присылает уведомления на ваш сервер, как только в сообществе происходит нужное событие. Событие может быть каким угодно: комментарий к фотографии, новая запись на стене, вступление в сообщество, отправка сообщения, и многое другое. Посмотреть полный список доступных событий, а также прочитать подробнее о настройке вы можете в документации Callback API(api/callback/getting-started).\n\nДля подключения Callback API в сообществе нужно указать адрес скрипта на вашем сервере и выбрать события, которые Вы хотите получать. Например, если ваш бот должен распознавать текстовые команды, отметьте событие **Входящее сообщение**.\n\nУведомления от Callback API выглядят как JSON с основной информацией о событии:\n```JSON\n{ \n \type\:\message_new\,\n \object\:{ \n \id\:694,\n \date\:1499441696,\n \out\:0,\n \user_id\:123456,\n \read_state\:0,\n \title\:\ ... \,\n \body\:\start\\n },\n \group_id\:1,\n \secret\:\sjr948dff3kjnfd3\\n}\n```\nВ этом примере пользователь с `id` `123456` отправил сообществу сообщение с текстом `start`. \n\nДля каждого события Callback API отправляет отдельный запрос на ваш сервер. Ваш скрипт должен подтверждать получение каждого запроса, отправляя в ответ строку `ok`.\n\n### Пример на PHP\n```PHP\n\u003c?\ndefine(CALLBACK_API_CONFIRMATION_TOKEN, 213fefef3); // Строка, которую должен вернуть сервер\ndefine(VK_API_ACCESS_TOKEN, 016cb552 ... 989fb8345); // Ключ доступа сообщества\n\ndefine(CALLBACK_API_EVENT_CONFIRMATION, confirmation); // Тип события о подтверждении сервера\ndefine(CALLBACK_API_EVENT_MESSAGE_NEW, message_new); // Тип события о новом сообщении\ndefine(VK_API_ENDPOINT, https://api.vk.com/method/); // Адрес обращения к API\ndefine(VK_API_VERSION, 5.89); // Используемая версия API\n\n$event json_decode(file_get_contents(php://input), true);\n\nswitch ($eventtype) {\n // Подтверждение сервера\n case CALLBACK_API_EVENT_CONFIRMATION:\n echo(CALLBACK_API_CONFIRMATION_TOKEN);\n break;\n // Получение нового сообщения\n case CALLBACK_API_EVENT_MESSAGE_NEW:\n $message $eventobject;\n $peer_id $messagepeer_id ?: $messageuser_id;\n send_message($peer_id, \Hello world! (peer_id: {$peer_id})\);\n echo(ok);\n break;\n default:\n echo(Unsupported event);\n break;\n}\n\nfunction send_message($peer_id, $message) {\n api(messages.send, array(\n peer_id \u003e $peer_id,\n message \u003e $message,\n ));\n}\n\nfunction api($method, $params) {\n $paramsaccess_token VK_API_ACCESS_TOKEN;\n $paramsv VK_API_VERSION;\n $query http_build_query($params);\n $url VK_API_ENDPOINT . $method . ? . $query;\n $curl curl_init($url);\n curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n $json curl_exec($curl);\n $error curl_error($curl);\n if ($error) {\n error_log($error);\n throw new Exception(\Failed {$method} request\);\n }\n curl_close($curl);\n $response json_decode($json, true);\n if (!$response || !isset($responseresponse)) {\n error_log($json);\n throw new Exception(\Invalid response for {$method} request\);\n }\n return $responseresponse;\n}\n```\nСкрипт полностью на GitHub(https://github.com/VKCOM/bot-example-php)\n\n### Bots Long Poll API\n\nВторой способ получения обновлений — это подключение к Bots Long Poll API. Прочитать подробнее о работе с Bots Long Poll API вы можете на этой странице(api/bots-long-poll/getting-started).\n\nКогда произойдет новое событие или истечет время ожидания, сервер вернет вам ответ в формате JSON:\n\n```JSON\n{\n \ts\: \4\,\n \updates\: \n {\n \type\: \wall_post_new\,\n \object\: {\n \id\: 28,\n \from_id\: -123456,\n \owner_id\: -123456,\n \date\: 1519631591,\n \marked_as_ads\: 0,\n \post_type\: \post\,\n \text\: \Post text\,\n \can_edit\: 1,\n \created_by\: 564321,\n \can_delete\: 1,\n \comments\: {\n \count\: 0\n }\n },\n \group_id\: 123456\n }\n \n}\n```\n\n### Информация о доступных пользователю функциях\n\nНекоторые функции ботов могут быть недоступны, так как пользователи:\n* переходят на новые версии официальных приложений ВКонтакте постепенно;\n* открывают ВКонтакте на разных платформах (iOS, Android, в мобильной и веб-версии);\n* используют приложения от сторонних разработчиков. Например, клавиатура ботов может быть недоступна в старой версии официального приложения ВКонтакте.\n\nОтправляйте сообщения в нужном формате, исходя из возможностей, которые доступны пользователю. Если он не может воспользоваться клавиатурой, предложите варианты ответов и пронумеруйте их — чтобы можно было ответить цифрой. И наоборот: если пользователь может взаимодействовать с ботом с помощью клавиатуры — не нужно отправлять ему варианты ответа в тексте сообщения.\n\nНачиная с версии API 5.103 информация о доступных функциях будет приходить вместе с событием `message_new`(api/community-events/json-schema) в Callback API и Bots Long Poll API. Она будет находиться в объекте `client_info`:\n\n```JSON\n\client_info\: { \n \button_actions\: \n \text\, \n \vkpay\, \n \open_app\, \n \location\, \n \open_link\, \n \callback\ \n , \n \keyboard\: true, \n \inline_keyboard\: true, \n \carousel\: false, \n \lang_id\: 0 \n} \n```\n\nПо мере появления новых возможностей в объекте `client_info` и массиве `button_actions` могут появляться новые сущности.\n\nПоля объекта:\n* `button_actions` — массив кнопок, которые поддерживает клиент. Возможные значения смотрите в разделе Клавиатура(api/bots/development/keyboard#Структура%20данных);\n* `keyboard` (`bool`) — поддерживается ли клавиатура ботов клиентом;\n* `inline_keyboard` (`bool`) — поддерживается ли inline-клавиатура ботов клиентом;\n* `carousel` (`bool`) — поддерживаются ли карусели(api/bots/development/messages) клиентом;\n* `lang_id` — ID(api/api-requests) используемого языка.},language:ru,variant:public,expireDate:1668436596876,isManuallyExpired:false},/apps-offer-ad:{type:article,layout:internal,template:/article,contents:{title:Правила | Оферта на оказание услуг по размещению рекламы,id:apps-offer-ad,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:apps-offer-ad,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Оферта на оказание услуг по размещению рекламы\n\nНастоящий документ, далее по тексту «Оферта», устанавливает правоотношения между **Обществом с ограниченной ответственностью «В Контакте»**, далее по тексту «Заказчик», юридическим лицом, созданным и действующим в соответствии с законодательством Российской Федерации, с местом нахождения по адресу: 191024, Санкт-Петербург, ул. Херсонская, д. 12-14, литер А, помещение 1-Н, и лицом, далее по тексту «Исполнитель», надлежащим образом принявшим условия настоящей Оферты. Принимая условия настоящей Оферты, Исполнитель заключает договор на оказание услуг по размещению рекламы, далее по тексту Договор (оферта).\n\nНеотъемлемой частью настоящей Оферты являются Правила платформы, размещенные по адресу https://dev.vk.com/rules, а также Правила размещения рекламы в игровых приложениях и сервисах VK Mini Apps, которые размещены в сети Интернет по адресу https://dev.vk.com/ad-rules.\n\n1. Термины и определения:\n\n * **Социальная сеть (Сайт)** — многофункциональный веб-сайт, расположенный по адресу www.vk.com (включая все уровни указанного домена, как функционирующие на дату заключения Договора, так и запускаемые и вводимые в эксплуатацию в течение всего срока действия Договора) и доступный Пользователю через сайт, мобильную версию сайта, приложения и иные ресурсы, предназначенный для интерактивного взаимодействия Пользователей друг с другом и использования отдельных программных возможностей, в т.ч. Социальных игр, Приложений VK Mini Apps.\n * **Пользователь** — физическое лицо, пользователь социальной сети ВКонтакте, зарегистрированный в установленном порядке на Сайте, авторизованное посредством персональной страницы в Социальной сети, и осуществляющее доступ к Приложению, размещенному в Социальной сети, и его использование.\n * **Приложение** — программное обеспечение/интерактивный сервис Исполнителя, размещенное(ый) в Социальной сети (правообладателем которого является Исполнитель, прошедший процедуру соответствующей регистрации на Сайте), в т.ч. Игра, Приложение VK Mini Apps, за исключением программных продуктов Исполнителя, через которые осуществляется продажа товаров, услуг или прав на результаты интеллектуальной собственности дистанционным способом. \n * **Мобильный клиент Социальной сети** — приложения Социальной сети для мобильных устройств, размещаемые на Мобильных платформах, а также версия сайта Социальной сети для Мобильных платформ.\n * **Мобильная платформа** — платформы, позволяющие владельцам мобильных устройств приобретать и устанавливать Приложения для своего мобильного устройства. Для целей Договора Стороны под Мобильной платформой понимают App Store, Google Play.\n * **API (Application Program Interface, Интерфейс прикладной программы или Интерфейс)** — набор правил и соглашений относительно форматов вызова и процедур, определяющих порядок взаимодействия программных продуктов.\n * **Отчетный период** — 1 (один) календарный месяц, если не предусмотрено иное.\n * **Аккаунт** — учетная запись, созданная Исполнителем на Сайте и содержащая сведения об Исполнителе. Доступ к Аккаунту осуществляется через Личный кабинет.\n * **Личный кабинет** — закрытая область Сайта, позволяющая перемещаться в рамках выделенного Исполнителю информационного пространства, в целях ознакомления с Данными статистики. Для входа в Личный кабинет используются уникальное имя и пароль, полученные Исполнителем при регистрации на Сайте.\n * **Данные статистики** — формируемые Заказчиком по результатам автоматической обработки данные о количестве показов Рекламы Пользователям Сайта в Отчетном периоде, с которыми Исполнитель может ознакомиться в Личном кабинете.\n * **Реклама** — информация, распространяемая Исполнителем в Приложении, адресованная неопределенному кругу лиц и направленная на привлечение внимания к объекту рекламирования, формирование или поддержание интереса к нему и его продвижение на рынке.\n * **Реклама за вознаграждение (Rewarded)** — вид Рекламы, показываемой Пользователю на платформах WEB и мобильный WEB с последующим вознаграждением.\n * **Реклама в промежутках между игровыми сессиями (Interstitial)** — вид Рекламы, показываемой Пользователю на платформах WEB и мобильный WEB в промежутках между игровыми событиями.\n * **Нативная Реклама за вознаграждение (Native Rewarded)** — вид Рекламы, показываемой Пользователю на платформе Android с последующим вознаграждением.\n * **Нативная Реклама в промежутках между игровыми сессиями (Native Interstitial)**\u0026nbsp;—\u0026nbsp;вид Рекламы, показываемой Пользователю на платформе Android в промежутках между игровыми событиями.\n * **Нативная баннерная реклама (Native banners)** — вид Рекламы, показываемой пользователю в виде баннера на платформе Android или iOS.\n\n2. Условием присоединения к настоящей Оферте является заполнение Исполнителем заявки по адресу https://vk.com/apps_cashout_ads.php с указанием реквизитов юридического лица или индивидуального предпринимателя под уникальным логином и паролем Исполнителя на Сайте Заказчика, подтверждение правильности и достоверности внесенных данных в разделе «Согласие с офертой» путем выбора и нажатия отметки на поле «Подтвердить». Данная отметка признается аналогом собственноручной подписи в соответствии со статьей 160 ГК РФ, а ее проставление влечет заключение настоящего Договора между Исполнителем и Заказчиком в соответствии с п. 3 ст. 438 Гражданского кодекса РФ. Информация об акцепте оферты сохраняется Заказчиком в Личном кабинете в виде записи с данными, предоставленными Исполнителем при акцепте оферты, а также датой и временем акцепта, что является достаточным подтверждением факта акцепта настоящей Оферты.\n\n3. Каждое последующее обращение Исполнителя к Сайту (переход к Личному кабинету) осуществляется через авторизацию Исполнителя на Сайте, путем ввода уникального имени и пароля, полученных при прохождении процедуры регистрации на Сайте.\n\n4. В рамках настоящей Оферты, а равно исполнения договора, Исполнитель обязуется оказать Заказчику Услуги по размещению Рекламы в Приложении путем показа Пользователям Социальной сети Рекламы, далее по тексту Услуги, а Заказчик оплатить Исполнителю вознаграждение за оказанные услуги в размере и в порядке, которые установлены настоящей Офертой.\n\n5. Реклама для размещения в Приложении предоставляется Заказчиком через API при запросе Исполнителя. Заказчик самостоятельно осуществляет все расчеты с рекламодателями. В случае поступления претензий от третьих лиц, связанных с размещением Рекламы, Заказчик самостоятельно и за свой счет урегулирует указанные претензии.\n\n6. Исполнитель самостоятельно определяет вид размещения Рекламы через API. Исполнитель не вправе использовать сторонние рекламные системы монетизации (баннерные и тизерные сети, CPA-системы и другие) и сторонние системы показов медиарекламы. \n\n7. Заказчик вправе без объяснения причин отказать в размещении Рекламы в Приложении Исполнителя.\n\n8. Стоимость Услуг Исполнителя определяется в зависимости от количества показов Рекламы в Приложении Пользователям Социальной сети из расчета стоимости 1000 (одной тысячи) показов, которая указана в Приложении №2(#Приложение%20№2) к настоящей Оферте.\n\n9. Стороны признают, что стоимость 1000 (одной тысячи) показов может быть изменена по решению Заказчика в одностороннем порядке, о чем Заказчик информирует Исполнителя посредством публикации соответствующей информации на Сайте. Изменения вступают в силу с момента размещения изменённого текста на Сайте по адресу: https://dev.vk.com/apps-offer-ad. Исполнитель обязуется самостоятельно регулярно проверять стоимость Услуг. Исполнитель вправе не согласиться с новой стоимостью Услуг, направив в течение 3 (трёх) дней с даты опубликования соответствующих изменений, в адрес Заказчика письменное уведомление (отказ) от Договора. Неполучение от Исполнителя письменного уведомления (отказа), а равно любое исполнение Договора (оферты) после вступления изменений в силу, считается согласием Исполнителя с новыми условиями и заключением Договора (оферты) на новых условиях.\n\n10. В случае выявления Заказчиком фактов мошенничества при показе Рекламы, включая, но не ограничиваясь, автоматическую накрутку просмотров рекламы без или с использованием ботов, Заказчик вправе произвести корректировку Данных статистики Заказчика и учитывать её при расчёте вознаграждения Исполнителя. Кроме того, Заказчик имеет право заблокировать Личный кабинет Исполнителя, а также полностью и частично отключить/заблокировать/удалить Приложение(ия) Исполнителя, размещенное(ые) в Социальной сети, или отказаться от размещения Рекламы в Приложении.\n\n11. По факту оказанных услуг Стороны, при отсутствии разногласий, подписывают Акт об оказанных услугах согласно данным статистики Заказчика.\n\n12. Расчет и выплата вознаграждения Исполнителю осуществляются по итогам каждого Отчетного периода на основании Данных статистики Заказчика.\n\n13. Исполнитель подготавливает Справку по форме, указанной в Приложении №1(#Приложение%20№1), в которой указывается информация за конкретный Отчетный период. В подтверждение факта надлежащего оказания услуг, на основе Справок Исполнитель составляет Акт об оказанных услугах за Отчетный период.\n\n14. Исполнитель не позднее 5 (пяти) рабочих дней с даты получения Данных статистики Заказчика за соответствующий Отчетный период направляет Заказчику Справку, Акт и Счет. Счет-фактура предоставляется в случаях, предусмотренных законодательством РФ. Вместо Акта и счета-фактуры Стороны вправе использовать Универсальный передаточный документ в отношении Услуг за Отчетный период по форме, предусмотренной Письмом ФНС России от 21.10.2013 №ММВ-20-3/96@ (далее – УПД) в порядке и сроки, предусмотренные для подписания Акта.\n\n15. Справка, Акт, Счет-фактура (если применимо) и Счет, составленные на основании Данных статистики, предоставляются Заказчику в электронной сканированной форме с подписью и печатью уполномоченного представителя Исполнителя (с последующей отправкой Заказчику оригиналов данных документов). Электронная форма документов направляется Исполнителем на электронную почту Заказчика api@corp.vk.com. Стороны вправе использовать систему электронного документооборота (далее — «ЭДО»), позволяющую подписывать документы электронной подписью (далее — «ЭП»).\n\n16. Стороны один раз в месяц производят расчет вознаграждения Исполнителя на основе Данных статистики Заказчика, в срок не более 5 (пяти) рабочих дней с момента окончания Отчетного периода, при этом непосредственно выплата вознаграждения совершается в срок, не превышающий 45 (сорок пять) календарных дней с момента окончания соответствующего Отчетного периода при условии предоставления Исполнителем документов, предусмотренных п. 14-15 Оферты. При этом Стороны оговорили, что вознаграждение не выплачивается Исполнителю, если его размер в соответствующем Отчетном периоде составляет менее 10 000 (десяти тысяч) российских рублей. В этом случае вознаграждение выплачивается Исполнителю по окончании Отчетного периода, в котором его сумма превысила 10 000 (десять тысяч) российских рублей, либо после расторжения/истечения срока действия настоящего Договора. Исполнитель вправе самостоятельно определить размер подлежащего выплате вознаграждения Исполнителя за Отчетный период в пределах стоимости оказанных услуг, определенных на основе Данных статистики Заказчика, если размер вознаграждения составляет 10 000 (десять тысяч) и более российских рублей. \n\n17. Оплата стоимости услуг Исполнителя осуществляется в рублях РФ.\n\n18. Заказчик считается выполнившим свою обязанность по оплате с момента списания денежных средств с его расчетного счета.\n\n19. Действующая редакция Оферты размещается Заказчиком в сети Интернет по адресу: https://dev.vk.com/apps-offer-ad.\n\n20. Заказчик вправе в одностороннем порядке изменять условия Договора (оферты), путем опубликования на Сайте новой редакции или внесенных изменений. Изменения вступают в силу с момента размещения изменённого текста на Сайте по адресу: https://dev.vk.com/apps-offer-ad. Исполнитель обязуется самостоятельно регулярно знакомиться с новыми редакциями и следовать правилам новых редакций.\n\n21. Исполнитель вправе не согласиться с новыми условиями заключения Договора (оферты), направив в течение 3 (трёх) дней с даты опубликования изменений на Сайте в адрес Заказчика письменное уведомление (отказ). Неполучение от Исполнителя письменного уведомления (отказа), а равно любое исполнение Договора (оферты) после вступления изменений в силу, считается согласием Исполнителя с новыми условиями и заключением Договора (оферты) на новых условиях.\n\n22. В случае получения Заказчиком уведомления (отказа) заключенный Договор (оферта) считается расторгнутым по инициативе Исполнителя по истечении 10 (десять) календарных дней с момента получения уведомления (отказа).\n\n23. Оферта вступает в силу с 01 июля 2022 года и действует до момента отзыва Оферты Заказчиком. Договор считается заключенным на неопределенный срок с момента акцепта Оферты Исполнителем в соответствии с п. 2 Оферты.\n\n24. Договор (оферта) может быть расторгнут по письменному соглашению Сторон или иным образом в соответствии с законодательством Российской Федерации и условиями настоящего Договора.\n\n25. Исполнитель имеет право расторгнуть настоящий Договор (оферту) в одностороннем порядке при условии письменного уведомления Заказчика за 30 (тридцать) рабочих дней до предполагаемой даты расторжения.\n\n26. Заказчик имеет право отказаться от исполнения Договора (оферты) в одностороннем порядке при условии направления письменного уведомления о расторжении на адрес, указанный Исполнителем в процессе осуществления процедуры регистрации.\n\n27. Недействительность какого-либо из положений Договора (оферты) не влечет за собой недействительность Договора (оферты) в целом.\n\n28. Настоящий Договор (оферта) остается в силе в случае изменения реквизитов Сторон, изменения их учредительных документов, организационно-правовой формы, смены собственника одной или обеих Сторон.\n\n29. В случае изменения реквизитов одной из Сторон, указанных в настоящем Договоре, такая Сторона обязуется уведомить об этом другую сторону в течение 3 (трех) рабочих дней.\n\n30. К отношениям Сторон, не урегулированных настоящим Договором, применяется законодательство Российской Федерации. Споры между Сторонами, а также между Сторонами и третьими лицами в связи с заключением, исполнением и прекращением Договора подлежат рассмотрению в Арбитражном суде г. Санкт-Петербурга и Ленинградской области. Соблюдение досудебного претензионного порядка при этом является обязательным. Претензии направляются за подписью уполномоченных представителей Сторон и должны быть рассмотрены Стороной, получившей претензию, в течение 10 (десяти) календарных дней со дня ее получения.\n\n31. Реквизиты Заказчика:\n\nНаименование: **Общество с ограниченной ответственностью «В Контакте» (ООО «В Контакте»)**.\nАдрес места нахождения: 191024, Санкт-Петербург, ул. Херсонская, д. 12-14, литер А, помещение 1-Н.\nОГРН 1079847035179 \nИНН 7842349892 КПП 997750001\nр/сч 40702810403100411770 \nк/сч 30101810100000000723 \nв Филиале «Северная столица» АО «Райффайзенбанк» \nБИК 044030723 \nАдрес электронной почты: api@corp.vk.com \n\n**Редакция от «01» июля 2022 года**\n\n### Приложение №1\n**к Оферте на оказание услуг по размещению рекламы для резидентов**\n\n**(в редакции от 01.07.2022 года)**\n\n**Форма справки**\n\n!altФорма справки;titleФорма справки;(ed73d41ce6a182ff156b0add16f58688d116c900bd62895ee88b0401 \-3454559422663643370\)\n\n### Приложение №2\n**к Оферте на оказание услуг по размещению рекламы для резидентов**\n\n**Редакция от 01.07.2022 года**\n\nСтоимость Услуг Исполнителя, использующего общую систему налогообложения (является плательщиком НДС), по размещению Рекламы в Приложении определяется в зависимости от количества показов Пользователям Социальной сети из расчета стоимости 1000 (одной тысячи) показов, равной:\n\n* за размещение «Реклама за вознаграждение (Rewarded)» — 72 (семьдесят два) рубля с НДС;\n* за размещение «Реклама в промежутках между игровыми сессиями (Interstitial)» — 60 (шестьдесят) рублей с НДС;\n* за размещение «Нативная Реклама за вознаграждение (Native Rewarded)» — 108 (сто восемь) рублей с НДС;\n* за размещение «Нативная Реклама в промежутках между игровыми сессиями (Native Interstitial)» — 96 (девяносто шесть) рублей с НДС;\n* за размещение «Нативная баннерная реклама (Native banners)» — 12 (двенадцать) рублей с НДС.\n\nСтоимость Услуг Исполнителя, использующего упрощенную систему налогообложения (не является плательщиком НДС), по размещению Рекламы в Приложении определяется в зависимости от количества показов Пользователям Социальной сети из расчета стоимости 1000 (одной тысячи) показов, равной:\n\n* за размещение «Реклама за вознаграждение (Rewarded)» — 60 (шестьдесят) рублей без НДС;\n* за размещение «Реклама в промежутках между игровыми сессиями (Interstitial)» — 50 (пятьдесят) рублей без НДС;\n* за размещение «Нативная Реклама за вознаграждение (Native Rewarded)» — 90 (девяносто) рублей без НДС;\n* за размещение «Нативная Реклама в промежутках между игровыми сессиями (Native Interstitial)» — 80 (восемьдесят) рублей без НДС;\n* за размещение «Нативная баннерная реклама (Native banners)» — 10 (десять) рублей без НДС.},language:ru,variant:public,expireDate:1668436881489,isManuallyExpired:false},/reference/objects/user:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Основные объекты | Пользователь,id:reference__objects__user,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/user,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Пользователь\n\nОбъект содержит информацию о пользователе ВКонтакте. Набор полей может меняться в зависимости от вызванного метода и переданных в нем параметров.\n\nОбратите внимание — все поля использующие информацию о текущем пользователе (например, `blacklisted_by_me`) требуют передачи ключа доступа пользователя в запросе, даже если сам метод можно вызывать без ключа доступа.\n\n## Базовые поля\n\n### `id`\n`integer`\nИдентификатор пользователя.\n\n### `first_name`\n`string`\nИмя.\n\n### `last_name`\n`string`\nФамилия.\n\n### `deactivated`\n`string`\nПоле возвращается, если страница пользователя удалена или заблокирована, содержит значение `deleted` или `banned`. В этом случае опциональные поля не возвращаются.\n\n### `is_closed`\n`boolean`\nСкрыт ли профиль пользователя настройками приватности.\n\n### `can_access_closed`\n`boolean`\nМожет ли текущий пользователь видеть профиль при `is_closed` `1` (например, он есть в друзьях).\n\n# Опциональные поля A-I\n\n### `about`\n`string`\nСодержимое поля «О себе» из профиля.\n\n### `activities`\n`string`\nСодержимое поля «Деятельность» из профиля.\n\n### `bdate`\n`string`\nДата рождения. Возвращается в формате D.M.YYYY или D.M (если год рождения скрыт). Если дата рождения скрыта целиком, поле отсутствует в ответе.\n\n### `blacklisted`\n`integer`\nИнформация о том, находится ли текущий пользователь в черном списке. Возможные значения:\n* `1` — находится;\n* `0` — не находится.\n\n### `blacklisted_by_me`\n`integer`\nИнформация о том, находится ли пользователь в черном списке у текущего пользователя. Возможные значения:\n* `1` — находится;\n* `0` — не находится.\n\n### `books`\n`string`\nСодержимое поля «Любимые книги» из профиля пользователя.\n\n### `can_post`\n`integer`\nИнформация о том, может ли текущий пользователь оставлять записи на стене. Возможные значения:\n* `1` — может;\n* `0` — не может.\n\n### `can_see_all_posts`\n`integer`\nИнформация о том, может ли текущий пользователь видеть чужие записи на стене. Возможные значения:\n* `1` — может;\n* `0` — не может.\n\n### `can_see_audio`\n`integer`\nИнформация о том, может ли текущий пользователь видеть аудиозаписи. Возможные значения:\n* `1` — может;\n* `0` — не может.\n\n### `can_send_friend_request`\n`integer`\nИнформация о том, будет ли отправлено уведомление пользователю о заявке в друзья от текущего пользователя. \nВозможные значения:\n* `1` — уведомление будет отправлено;\n* `0` — уведомление не будет отправлено. \n\n### `can_write_private_message`\n`integer`\nИнформация о том, может ли текущий пользователь отправить личное сообщение. Возможные значения:\n* `1` — может;\n* `0` — не может.\n\n### `career`\n`object`\nИнформация о карьере пользователя. Объект, содержащий следующие поля:\n* `group_id` (`integer`) — идентификатор сообщества (если доступно, иначе `company`);\n* `company` (`string`) — название компании (если доступно, иначе `group_id`);\n* `country_id` (`integer`) — идентификатор страны;\n* `city_id` (`integer`) — идентификатор города (если доступно, иначе `city_name`);\n* `city_name` (`string`) — название города (если доступно, иначе `city_id`);\n* `from` (`integer`) — год начала работы;\n* `until` (`integer`) — год окончания работы;\n* `position` (`string`) — должность.\n\n### `city`\n`object`\nИнформация о городе, указанном на странице пользователя в разделе «Контакты». \nВозвращаются следующие поля:\n* `id` (`integer`) — идентификатор города, который можно использовать для получения его названия с помощью метода `database.getCitiesById`(database.getCitiesById); \n* `title` (`string`) — название города.\n\n### `common_count`\n`integer`\nКоличество общих друзей с текущим пользователем.\n\n### `connections`\nВозвращает данные об указанных в профиле сервисах пользователя, таких как: skype, livejournal. Для каждого сервиса возвращается отдельное поле с типом string, содержащее никнейм пользователя. Например, `\skype\: \username\`.\n\n### `contacts`\n`object`\nИнформация о телефонных номерах пользователя. \nЕсли данные указаны и не скрыты настройками приватности, возвращаются следующие поля:\n* `mobile_phone` (`string`) — номер мобильного телефона пользователя (только для Standalone-приложений); \n* `home_phone` (`string`) — дополнительный номер телефона пользователя. \n\n### `counters`\n`object`\nКоличество различных объектов у пользователя. \nПоле возвращается только в методе `users.get`(users.get) при запросе информации об одном пользователе, с передачей пользовательского `access_token`. \nОбъект, содержащий следующие поля:\n* `albums` (`integer`) — количество фотоальбомов;\n* `videos` (`integer`) — количество видеозаписей;\n* `audios` (`integer`) — количество аудиозаписей;\n* `photos` (`integer`) — количество фотографий;\n* `notes` (`integer`) — количество заметок;\n* `friends` (`integer`) — количество друзей;\n* `groups` (`integer`) — количество сообществ;\n* `online_friends` (`integer`) — количество друзей онлайн;\n* `mutual_friends` (`integer`) — количество общих друзей;\n* `user_videos` (`integer`) — количество видеозаписей с пользователем;\n* `followers` (`integer`) — количество подписчиков;\n* `pages` (`integer`) — количество объектов в блоке «Интересные страницы».\n\n### `country`\n`object`\nИнформация о стране, указанной на странице пользователя в разделе «Контакты». \nВозвращаются следующие поля:\n* `id` (`integer`) — идентификатор страны, который можно использовать для получения ее названия с помощью метода `database.getCountriesById`(database.getCountriesById);\n* `title` (`string`) — название страны.\n\n### `crop_photo`\n`object`\nВозвращает данные о точках, по которым вырезаны профильная и миниатюрная фотографии пользователя, при наличии.\n* `photo` (`object`) — объект `photo`(method/photos) фотографии пользователя, из которой вырезается главное фото профиля.\n* `crop` (`object`) — вырезанная фотография пользователя. Содержит следующие поля:\n\n * `x` (`number`) — координата X левого верхнего угла в процентах;\n * `y` (`number`) — координата Y левого верхнего угла в процентах; \n * `x2` (`number`) — координата X правого нижнего угла в процентах; \n * `y2` (`number`) — координата Y правого нижнего угла в процентах.\n* `rect` (`object`) — миниатюрная квадратная фотография, вырезанная из фотографии `crop`. Содержит набор полей, аналогичный объекту `crop`.\n\n### `domain`\n`string`\nКороткий адрес страницы. \nВозвращается строка, содержащая короткий адрес страницы (например, `andrew`). Если он не назначен, возвращается `\id\`+`user_id`, например, `id35828305`.\n\n### `education`\nИнформация о высшем учебном заведении пользователя. \nВозвращаются поля:\n* `university` (`integer`) — идентификатор университета; \n* `university_name` (`string`) — название университета; \n* `faculty` (`integer`) — идентификатор факультета; \n* `faculty_name` (`string`)— название факультета;\n* `graduation` (`integer`) — год окончания.\n\n### `exports`\nВнешние сервисы, в которые настроен экспорт из ВК ( `livejournal`).\n\n### `first_name_{case}`\n`string`\nИмя в заданном падеже. Возможные значения для `{case}`:\n\n* `nom` — именительный; \n* `gen` — родительный;\n* `dat` — дательный;\n* `acc` — винительный; \n* `ins` — творительный;\n* `abl` — предложный.\n\n\u003e В запросе можно передать несколько значений\n\n\n### `followers_count`\n`integer`\nКоличество подписчиков пользователя.\n\n### `friend_status`\n`integer`\nСтатус дружбы с пользователем. Возможные значения:\n* `0` — не является другом, \n* `1` — отправлена заявка/подписка пользователю,\n* `2` — имеется входящая заявка/подписка от пользователя,\n* `3` — является другом.\n\n### `games`\n`string`\nСодержимое поля «Любимые игры» из профиля.\n\n### `has_mobile`\nИнформация о том, известен ли номер мобильного телефона пользователя. \nВозвращаемые значения: `1` — известен, `0` — не известен. \n\n### `has_photo`\n`integer`\nИнформация о том, установил ли пользователь фотографию для профиля. \nВозвращаемые значения: `1` — установил, `0` — не установил. \n\n### `home_town`\n`string`\nНазвание родного города.\n\n### `interests`\n`string`\nСодержимое поля «Интересы» из профиля.\n\n### `is_favorite`\n`integer`\nИнформация о том, есть ли пользователь в закладках у текущего пользователя. Возможные значения:\n* `1` — есть;\n* `0` — нет.\n\n### `is_friend`\n`integer`\nИнформация о том, является ли пользователь другом текущего пользователя. Возможные значения:\n* `1` — да;\n* `0` — нет.\n\n### `is_hidden_from_feed`\n`integer`\nИнформация о том, скрыт ли пользователь из ленты новостей текущего пользователя. Возможные значения:\n* `1` — да;\n* `0` — нет.\n\n### `is_no_index`\n`integer`\nИндексируется ли профиль поисковыми сайтами. Возможные значения:\n* `1` — профиль скрыт от поисковых сайтов;\n* `0` — профиль доступен поисковым сайтам. (В настройках приватности: https://vk.com/settings?actprivacy(https://vk.com/settings?actprivacy), в пункте «Кому в интернете видна моя страница», выбрано значение «Всем»).\n\n## Опциональные поля L-R\n\n### `last_name_{case}`\n`string`\nФамилия в заданном падеже. Возможные значения для `{case}`:\n* `nom` — именительный; \n* `gen` — родительный;\n* `dat` — дательный;\n* `ac` — винительный; \n* `ins` — творительный;\n* `abl` — предложный.\n\n### `last_seen`\n`object`\nВремя последнего посещения. \nОбъект, содержащий следующие поля:\n* `time` (`integer`) — время последнего посещения в формате Unixtime. \n* `platform` (`integer`) — тип платформы. Возможные значения:\n * `1` — мобильная версия;\n * `2` — приложение для iPhone;\n * `3` — приложение для iPad;\n * `4` — приложение для Android;\n * `5` — приложение для Windows Phone;\n * `6` — приложение для Windows 10;\n * `7` — полная версия сайта.\n\n### `lists`\n`string`\nРазделенные запятой идентификаторы списков друзей, в которых состоит пользователь. Поле доступно только для метода `friends.get`(friends.get).\n\n### `maiden_name`\n`string`\nДевичья фамилия. \n\n### `military`\n`object`\nИнформация о военной службе пользователя. Объект, содержащий следующие поля:\n* `unit` (`string`) — номер части;\n* `unit_id` (`integer`) — идентификатор части в базе данных;\n* `country_id` (`integer`) — идентификатор страны, в которой находится часть;\n* `from` (`integer`) — год начала службы;\n* `until` (`integer`) — год окончания службы.\n\n### `movies`\n`string`\nСодержимое поля «Любимые фильмы» из профиля пользователя.\n\n### `music`\n`string`\nСодержимое поля «Любимая музыка» из профиля пользователя.\n\n\n\n### `nickname`\n`string`\nНикнейм (отчество) пользователя.\n\n### `occupation`\n`object`\nИнформация о текущем роде занятия пользователя. \nОбъект, содержащий следующие поля:\n* `type` (`string`) — тип. Возможные значения:\n * `work` — работа;\n * `school` — среднее образование;\n * `university` — высшее образование.\n* `id` (`integer`) — идентификатор школы, вуза, сообщества компании (в которой пользователь работает);\n* `name` (`string`) — название школы, вуза или места работы;\n\n### `online`\n`integer`\nИнформация о том, находится ли пользователь сейчас на сайте. Если пользователь использует мобильное приложение либо мобильную версию, возвращается дополнительное поле `online_mobile`, содержащее `1`. При этом, если используется именно приложение, дополнительно возвращается поле `online_app`, содержащее его идентификатор.\n\n\n\n### `personal`\n`object`\nИнформация о полях из раздела «Жизненная позиция».\n* `political` (`integer`) — политические предпочтения. Возможные значения:\n * `1` — коммунистические;\n * `2` — социалистические;\n * `3` — умеренные;\n * `4` — либеральные;\n * `5` — консервативные;\n * `6` — монархические;\n * `7` — ультраконсервативные;\n * `8` — индифферентные;\n * `9` — либертарианские.\n* `langs` (`array`) — языки.\n* `religion` (`string`) — мировоззрение.\n* `inspired_by` (`string`) — источники вдохновения.\n* `people_main` (`integer`) — главное в людях. Возможные значения:\n * `1` — ум и креативность;\n * `2` — доброта и честность;\n * `3` — красота и здоровье;\n * `4` — власть и богатство;\n * `5` — смелость и упорство;\n * `6` — юмор и жизнелюбие.\n* `life_main` (`integer`) — главное в жизни. Возможные значения:\n * `1` — семья и дети;\n * `2` — карьера и деньги;\n * `3` — развлечения и отдых;\n * `4` — наука и исследования;\n * `5` — совершенствование мира;\n * `6` — саморазвитие;\n * `7` — красота и искусство;\n * `8` — слава и влияние;\n* `smoking` (`integer`) — отношение к курению. Возможные значения:\n * `1` — резко негативное;\n * `2` — негативное;\n * `3` — компромиссное;\n * `4` — нейтральное;\n * `5` — положительное.\n* `alcohol` (`integer`) — отношение к алкоголю. Возможные значения:\n * `1` — резко негативное;\n * `2` — негативное;\n * `3` — компромиссное;\n * `4` — нейтральное;\n * `5` — положительное.\n\n### `photo_50`\n`string`\nURL **квадратной** фотографии пользователя, имеющей ширину 50 пикселей. \nВ случае отсутствия у пользователя фотографии возвращается `https://vk.com/images/camera_50.png`(https://vk.com/images/camera_50.png).\n\n### `photo_100`\n`string`\nURL **квадратной** фотографии пользователя, имеющей ширину 100 пикселей. \nВ случае отсутствия у пользователя фотографии возвращается `https://vk.com/images/camera_100.png`(https://vk.com/images/camera_100.png).\n\n### `photo_200_orig`\n`string`\nURL фотографии пользователя, имеющей ширину 200 пикселей. \nВ случае отсутствия у пользователя фотографии возвращается `https://vk.com/images/camera_200.png`(https://vk.com/images/camera_200.png).\n\n### `photo_200`\n`string`\nURL **квадратной** фотографии, имеющей ширину 200 пикселей. \nЕсли у пользователя отсутствует фотография таких размеров, в ответе вернется `https://vk.com/images/camera_200.png`(https://vk.com/images/camera_200.png)\n\n### `photo_400_orig`\n`string`\nURL фотографии, имеющей ширину 400 пикселей. \nЕсли у пользователя отсутствует фотография такого размера, в ответе вернется `https://vk.com/images/camera_400.png`(https://vk.com/images/camera_400.png).\n\n### `photo_id`\n`string`\nСтроковый идентификатор главной фотографии профиля пользователя в формате `{user_id}_{photo_id}`, например, `6492_192164258`.\nОбратите внимание, это поле может отсутствовать в ответе.\n\n### `photo_max`\n`string`\nURL **квадратной** фотографии с максимальной шириной. Может быть возвращена фотография, имеющая ширину как 200, так и 100 пикселей. \nВ случае отсутствия у пользователя фотографии возвращается `https://vk.com/images/camera_200.png`(https://vk.com/images/camera_200.png).\n\n### `photo_max_orig`\n`string`\nURL фотографии максимального размера. Может быть возвращена фотография, имеющая ширину как 400, так и 200 пикселей. \nВ случае отсутствия у пользователя фотографии возвращается `https://vk.com/images/camera_400.png`(https://vk.com/images/camera_400.png).\n\n### `quotes`\n`string`\nЛюбимые цитаты.\n\n### `relatives`\n`array`\nСписок родственников.\nМассив объектов, каждый из которых содержит поля:\n* `id` (`integer`) — идентификатор пользователя;\n* `name` (`string`) — имя родственника (если родственник не является пользователем ВКонтакте, то предыдущее значение `id` возвращено не будет);\n* `type` (`string`) — тип родственной связи. Возможные значения:\n * `child` — сын/дочь;\n * `sibling` — брат/сестра;\n * `parent` — отец/мать;\n * `grandparent` — дедушка/бабушка;\n * `grandchild` — внук/внучка.\n\n### `relation`\n`integer`\nСемейное положение. \nВозможные значения:\n* `1` — не женат/не замужем; \n* `2` — есть друг/есть подруга; \n* `3` — помолвлен/помолвлена; \n* `4` — женат/замужем;\n* `5` — всё сложно; \n* `6` — в активном поиске; \n* `7` — влюблён/влюблена;\n* `8` — в гражданском браке;\n* `0` — не указано. \n\nЕсли в семейном положении указан другой пользователь, дополнительно возвращается объект `relation_partner`, содержащий id и имя этого человека.\n\n## Опциональные поля S-W\n\n### `schools`\n`array`\nСписок школ, в которых учился пользователь. \nМассив объектов, описывающих школы. Каждый объект содержит следующие поля:\n* `id` (`string`) — идентификатор школы; \n* `country` (`integer`) — идентификатор страны, в которой расположена школа; \n* `city` (`integer`) — идентификатор города, в котором расположена школа; \n* `name` (`string`) — наименование школы\n* `year_from` (`integer`) — год начала обучения;\n* `year_to` (`integer`) — год окончания обучения;\n* `year_graduated` (`integer`) — год выпуска;\n* `class` (`string`) — буква класса;\n* `speciality` (`string`) — специализация;\n* `type` (`integer`) — идентификатор типа;\n* `type_str` (`string`) — название типа. Возможные значения для пар `type`-`typeStr`:\n * `0` — \школа\;\n * `1` — \гимназия\;\n * `2` — \лицей\;\n * `3` — \школа-интернат\;\n * `4` — \школа вечерняя\;\n * `5` — \школа музыкальная\;\n * `6` — \школа спортивная\;\n * `7` — \школа художественная\;\n * `8` — \колледж\;\n * `9` — \профессиональный лицей\;\n * `10` — \техникум\;\n * `11` — \ПТУ\;\n * `12` — \училище\;\n * `13` — \школа искусств\.\n\n### `screen_name`\n`string`\nКороткое имя страницы.\n\n### `sex`\n`integer`\nПол. Возможные значения:\n* `1` — женский; \n* `2` — мужской; \n* `0` — пол не указан. \n\n### `site`\n`string`\nАдрес сайта, указанный в профиле.\n\n### `status`\n`string`\nСтатус пользователя. \nВозвращается строка, содержащая текст статуса, расположенного в профиле под именем. \nЕсли включена опция «Транслировать в статус играющую музыку», возвращается дополнительное поле `status_audio`, содержащее информацию о композиции.\n\n### `timezone`\n`integer`\nВременная зона. Только при запросе информации о текущем пользователе.\n\n### `trending`\n`integer`\nИнформация о том, есть ли на странице пользователя «огонёк».\n\n### `tv`\n`string`\nЛюбимые телешоу.\n\n### `universities`\n`array`\nСписок вузов, в которых учился пользователь. \nМассив объектов, описывающих университеты. Каждый объект содержит следующие поля:\n* `id` (`integer`)— идентификатор университета; \n* `country` (`integer`) — идентификатор страны, в которой расположен университет; \n* `city` (`integer`) — идентификатор города, в котором расположен университет; \n* `name` (`string`) — наименование университета; \n* `faculty` (`integer`) — идентификатор факультета;\n* `faculty_name` (`string`) — наименование факультета; \n* `chair` (`integer`) — идентификатор кафедры; \n* `chair_name` (`string`) — наименование кафедры; \n* `graduation` (`integer`) — год окончания обучения;\n* `education_form` (`string`) — форма обучения;\n* `education_status` (`string`) — статус (например, «Выпускник (специалист)»).\n\n### `verified`\n`integer`\nВозвращается `1`, если страница пользователя верифицирована, `0` — если нет.\n\n### `wall_default`\n`string`\nРежим стены по умолчанию. Возможные значения: `owner`, `all`.},language:ru,variant:public,expireDate:1668437058504,isManuallyExpired:false},/method/execute:{type:method,layout:internal,template:/method,contents:{title:execute,id:execute,description:Универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты. ,isHidden:false,isDirectAccess:null,canEdit:null,path:method/execute,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:group_access,children:,text:\n,errors:{title:12,id:,description:Unable to compile code,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:code,description:Код алгоритма в VKScript-формате, похожем на JavaSсript или ActionScript (предполагается совместимость с ECMAScript). Алгоритм должен завершаться командой `return %выражение%`. Операторы должны быть разделены точкой с запятой.\n\n\u003e Внутри `code` может содержаться не более 25 обращений к методам API.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:func_v,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:### Пример значения параметра `code`\n\n```VKScript\n// Присваивает переменной a результат поиска по фотографиям с данными параметрами. \nvar a API.photos.search({\q\:\Nature\,\count\:3});\n\n// Присваивает переменной b список владельцев найденных фотографий.\nvar b a.items@.owner_id;\n\n// Присваивает переменной с данные о страницах владельцев из списка b. \nvar c API.users.get({\user_ids\:b});\n\n// Возвращает список фамилий из данных о владельцах.\nreturn c@.last_name;\n\n// Пример цикла.\nvar a 1; \nvar b 10; \nwhile (b ! 0) { \n b b - 1; \n a a + 1; \n}; \nreturn a;\n```\n\nТо же самое можно более коротко записать так:\n\n```VKScript\nreturn API.users.get({\user_ids\: API.photos.search({\q\:\Beatles\, \count\:3}).items@.owner_id})@.last_name;\n```\n\nПоддерживаются:\n* арифметические операции,\n* логические операции,\n* создание массивов и списков (X,Y),\n* `parseInt` и `parseDouble`,\n* конкатенация (`+`),\n* конструкция `if`,\n* фильтр массива по параметру (`@.`),\n* вызовы методов API, параметр `length`,\n* циклы, используя оператор `while`,\n* методы Javascript: `slice`, `push`, `pop`, `shift`, `unshift`, `splice`, `substr`, `split`,\n* оператор `delete`,\n* присваивания элементам маcсива, например: `row.user.action \test\`,\n* поиск в массиве или строке — `indexOf`, например: `\123\.indexOf(2) 1, 1, 2, 3.indexOf(3) 2`. Возвращает `-1`, если элемент не найден.\n\nВ данный момент не поддерживается создание функций. \n\nОбращение к элементам массива с результатом какого-либо метода всего должно основываться на структуре JSON, а не XML. Например, правильным обращением является:\n\n```VKScript\nAPI.photos.search({\q\:\Nature\,\count\:3}).items@.owner_id;\n```\n\nА не:\n\n```VKScript\nAPI.photos.search({\q\:\Nature\,\count\:3}).items@.photo@.owner_id;\n```\n\n Метод `execute` также может использоваться и для получения результатов нескольких не связанных между собой запросов.\n\n**Пример значений параметра `code`**\n\n```VKScript\nreturn API.friends.get(), API.status.get();\nreturn {\friends\: API.friends.get(), \status\: API.status.get()};\n```\n\n В методе `execute` поддерживаются логические операции `\u003c` (меньше), `\u003e` (больше), `\u003c` (меньше или равно), `\u003e` (больше или равно), `` (равно) и `!` (не равно). В данный момент поддерживаются сравнения двух строк, двух чисел и строки и числа (в этом случае строка приводится к числу).\n\n Результат логического выражения может быть использован в управляющей конструкции `if...else...`:\n\n**Пример значения параметра `code`**\n\n```VKScript\nvar posts API.wall.get({\count\: 1});\n \nif (posts.count\u003c0) {\n return {\post\: null, \copy_owner\: null};\n} else {\n var post posts.items0;\n var copy_ownernull;\n if (post.copy_history0){\n if (post.copy_history0.owner_id \u003e 0) {\n copy_owner API.users.get({\user_id\: post.copy_history0.owner_id})0;\n } else\n if (post.copy_history0.owner_id \u003c 0) {\n copy_owner API.groups.getById({\group_ids\: -post.copy_history0.owner_id})0;\n }\n return {\post\: post, \copy_owner\: copy_owner};\n } else {\n return {\post\: post, \copy_owner\: null};\n }\n}\n```\n,resultDescription:Возвращает данные, запрошенные алгоритмом. При работе с методом `execute` структура ответа в XML ближе к JSON и может незначительно отличаться от стандартного представления других методов. \n\nОбратите внимание: версия API, указанная при вызове `execute`, не применяется автоматически к методам, вызываемым внутри `code`.\n\n\u003e **Обратите внимание!** \n\u003e Существует ограничение на объём ответа. В случае, если данные в ответе занимают больше 5 МБ, вернётся ошибка 13 с комментарием `\response size is too big\`.\n,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668437323401,isManuallyExpired:false},/reference/state:{type:article,layout:internal,template:/article,contents:{title:Справочник API | Состояние API,id:reference__state,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/state,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Состояние API\n\nВ таблице ниже приведены категории методов, среднее время ответа на запрос и процент успешных ответов.},language:ru,variant:public,expireDate:1668437373600,isManuallyExpired:false},/api/access-token/getting-started:{type:article,layout:internal,template:/article,contents:{title:Использование API | Ключ доступа | Общие сведения,id:api__access-token__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/access-token/getting-started,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Общие сведения\n\nДля работы со всеми методами API вам необходимо передавать в запросе `access_token` — специальный ключ доступа. Он представляет собой строку из латинских букв и цифр и может соответствовать отдельному пользователю, сообществу или самому вашему приложению. \n\nВ API ВКонтакте для получения ключа доступа используется открытый протокол OAuth 2.0(https://oauth.net/2/). При этом пользователь не передает логин и пароль приложению, поэтому его аккаунт не может быть скомпрометирован. \n\nМы поддерживаем три способа получения ключа доступа по OAuth 2.0:\n\n1. Implicit flow — самый короткий и простой вариант. Ключ возвращается на устройство пользователя, где был открыт диалог авторизации (в виде дополнительного параметра URL). Такой ключ может быть использован только для запросов непосредственно с устройства пользователя (например, для выполнения вызовов из Javascript на веб-сайте или из мобильного приложения). \n\n2. Authorization code flow — двухэтапный вариант с дополнительной аутентификацией вашего сервера. Ключ доступа возвращается непосредственно на сервер и может быть использован, например, для автоматизированных запросов из PHP. \n\n3. Client credentials flow — авторизация по секретному ключу приложения. Этот подход необходимо использовать только для доступа к специальным secure(method/secure)-методам. \n\n## Ключ доступа пользователя\n\nТакой ключ требуется для работы со всеми методами(method) нашего API, за исключением методов секции `secure`(method/secure). \n\n**Ключ доступа** — своего рода «подпись» пользователя в вашем приложении. Он сообщает серверу, от имени какого пользователя осуществляются запросы, и какие права доступа(reference/access-rights) он выдал вашему приложению. \n\nПолучить ключ доступа пользователя можно одним из этих способов:\n\n* Implicit flow(api/access-token/implicit-flow-user). Для работы с API от имени пользователя в Javascript-приложениях и Standalone-клиентах (десктопных или мобильных). \n* Authorization code flow(api/access-token/authcode-flow-user). Для работы с API от имени пользователя с серверной стороны вашего сайта. \n\nВ iFrame и Flash-приложениях ключ доступа передается при запуске с остальными параметрами(api/app-run-parameters), вам не нужно самостоятельно реализовывать работу с OAuth. \n\n## Ключ доступа сообщества\n\nТакой ключ позволяет работать с API от имени группы, встречи или публичной страницы. Например, с его помощью вы можете отвечать подписчикам сообщества на сообщения, поступившие в его адрес. \n\nС ключом доступа сообщества можно вызывать те методы, которые имеют специальную пометку в общем списке(reference). \n\nПолучить ключ доступа сообщества можно одним из этих способов:\n\n* Implicit flow(api/access-token/implicit-flow-community). Для работы с API от имени сообщества в Javascript-приложениях и Standalone-клиентах (десктопных или мобильных). \n* Authorization code flow(api/access-token/authcode-flow-community). Для работы с API от имени сообщества с серверной стороны вашего сайта. \n* В интерфейсе настроек сообщества. Для этого достаточно открыть раздел **Управление сообществом** (**Управление страницей**, если у вас публичная страница), выбрать вкладку **Работа с API** и нажать **Создать ключ доступа**. \n\n## Сервисный ключ доступа\n\nСервисный ключ нужен для запросов, которые не требуют авторизации пользователя или сообщества. Это такие методы, как `secure.sendNotification`(method/secure.sendNotification) для отправки уведомлений от приложения, или `secure.addAppEvent`(method/secure.addAppEvent) для добавления информации о достижениях, а также открытые методы, например, `users.get`(method/users.get). \n\nПолучить сервисный ключ доступа можно в настройках вашего приложения(mini-apps/management/settings). Ключ не привязан к IP-адресу при использовании с открытыми методами, срок его действия не ограничен. Если ключ был скомпрометирован, вы можете сгенерировать новый ключ, при этом старый будет аннулирован.\n\nСервисный ключ доступа идентифицирует ваше приложение. Все запросы к API, совершённые с использованием вашего ключа доступа, будут считаться совершёнными от имени вашего приложения. Сервисный ключ доступа можно использовать только для запросов с серверной стороны приложения, его нельзя передавать и хранить на клиенте. \n\n## Дополнительно\n\n* Если вы разрабатываете приложение для iOS, Android или Windows Phone, мы рекомендуем использовать наши мобильные SDK(sdk/overview) с возможностью авторизации через официальное приложение, установленное на устройстве клиента. \n* Для встраиваемых iFrame приложений вам не нужно самостоятельно внедрять OAuth для работы с клиента, ключ доступа передается в приложение при запуске (подробнее см. на этой странице(api/app-run-parameters)). \n* Для внешних сайтов доступен виджет авторизации(widgets/auth) — готовое решение для Implicit Flow на веб-сервисе.\n},language:ru,variant:public,expireDate:1668437693774,isManuallyExpired:false},/method/wall.get:{type:method,layout:internal,template:/method,contents:{title:wall.get,id:wall.get,description:Возвращает список записей со стены пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.get,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:{title:19,id:,description:Content blocked,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, со стены которого необходимо получить записи (по умолчанию — текущий пользователь).\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «-» — например, `owner_id` `-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1),type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:domain,description:Короткий адрес пользователя или сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определённого подмножества записей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество записей, которое необходимо получить. Максимальное значение: `100`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:filter,description:Определяет, какие типы записей на стене необходимо получить. Возможные значения:\n* `suggests` — предложенные записи на стене сообщества (доступно только при вызове с передачей `access_token`);\n* `postponed` — отложенные записи (доступно только при вызове с передачей `access_token`);\n* `owner` — записи владельца стены;\n* `others` — записи не от владельца стены;\n* `all` — все записи на стене (`owner` + `others`).\nПо умолчанию: `all`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — в ответе будут возвращены дополнительные поля `profiles` и `groups`, содержащие информацию о пользователях и сообществах. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для профилей(reference/objects/user) и сообществ(reference/objects/group), которые необходимо вернуть.\nОбратите внимание, этот параметр учитывается только при `extended` `1`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:\n,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов записей на стене(reference/objects/post) в поле `items`.\n\nЕсли был задан параметр `extended` `1`, возвращает число результатов в поле `count`, отдельно массив объектов записей на стене(reference/objects/post) в поле `items`, пользователей(reference/objects/user) в поле `profiles` и сообществ(reference/objects/group) в поле `groups`.\n\n,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:{title:version/4.104,id:version/4.104,description:Новый формат прикрепления photos_list.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668437860821,isManuallyExpired:false},/method/messages.delete:{type:method,layout:internal,template:/method,contents:{title:messages.delete,id:messages.delete,description:Удаляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.delete,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:924,id:,description:Cant delete this message for everybody,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:message_ids,description:Список идентификаторов сообщений, разделённых через запятую.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:spam,description:Пометить сообщения как спам (доступен только с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:delete_for_all,description:`1` — если сообщение нужно удалить для получателей (если с момента отправки сообщения прошло не более 24 часов).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:peer_id,description:Идентификатор беседы, из которого необходимо удалить сообщения по `cmids`.\n\nДля пользователя:\n* `id` пользователя.\n\nДля групповой беседы:\n* `2000000000` + `id` беседы.\n\nДля сообщества:\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:cmids,description:Идентификаторы сообщения в беседе.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1` для каждого удалённого сообщения.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668437932061,isManuallyExpired:false},/rules:{type:article,layout:internal,template:/article,contents:{title:Правила | Правила платформы,id:rules,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:rules,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Правила платформы\n\nИспользуя публичный API ВКонтакте, Вы соглашаетесь с перечисленными Правилами платформы. \n\nМы оставляем за собой право без уведомления полностью или частично прекратить доступ приложения к публичному API (в том числе путём блокировки приложения) в случае нарушений. \n\nЭти правила распространяются на любые способы использования публичного API. Кроме того, в отдельных случаях применяются дополнительные соглашения и требования:\n* Требования для модерации приложений на игровой платформе(games-catalog-rules) — дополнительные требования для игровых приложений, претендующих на попадание в каталоги. \n* Правила размещения рекламы в приложениях(ad-rules) — правила размещения рекламы в приложениях из каталогов. \n* Правила размещения приложений-магазинов(market-rules) — правила размещения в каталоге приложений с продажей товаров и услуг. \n* Правила размещения Приложений сообществ(community-apps-rules) — правила для приложений сообществ, претендующих на попадание в каталог. \n* Правила размещения сервисов на платформе VK Mini Apps(mini-apps-rules) — правила для сервисов, создаваемых на платформе VK Mini Apps. \n* Правила для ботов(bots-rules) — правила для ботов. \n\n## Термины и определения\n\n**1. Социальная Сеть ВКонтакте (или Социальная Сеть)** — социальная сеть, известная под именем «ВКонтакте», размещенная на сайте в сети Интернет по адресу: VK.com (включая все уровни указанного домена, как функционирующие на дату принятия Пользователем настоящих Правил, так и запускаемые и вводимые в эксплуатацию в течение всего срока его действия) и доступная Пользователю через сайт, мобильную версию сайта, приложения и иные ресурсы, представляющая результат интеллектуальной деятельности в форме программы для ЭВМ, являющейся помимо прочего уникальной базой данной ВКонтакте. Социальная Сеть представлена в объективной форме совокупностью данных и команд, и порождаемых аудиовизуальных отображений (включая входящие в ее состав графические изображения и пользовательский интерфейс), (далее – данные и команды), предназначенных для функционирования ЭВМ и мобильных устройств в целях получения определенного результата в виде организации функционала социальной сети. Совокупность данных и команд состоит из активированных и неактивированных данных и команд. \n\n**2.** **Публичный API** — совокупность программных средств для работы с данными Социальной Сети посредством HTTP-запросов. Под методами публичного API понимаются методы, перечисленные на странице https://dev.vk.com/method(method). Доступ к Публичному API предоставляется на безвозмездной основе и может быть прекращён полностью или частично без уведомления и объяснения причин. \n\n**3.** **Приложение** — программный продукт для работы с Публичным API, представляющий собой сайт или автономную программу, зарегистрированный посредством формы https://vk.com/editapp?actcreate(https://vk.com/editapp?actcreate) и имеющий в Социальной Сети уникальный идентификатор (API_ID). \n\n## 1. Функциональность приложения\n\n**1.1.** Приложение не должно обманывать пользователей. \n\u003e Не стоит обещать бесплатные голоса или просмотр гостей страницы.\n\n**1.2.** Приложение не должно содержать функций, при работе с которыми пользователь нарушает Правила пользования Социальной Сетью ВКонтакте (https://vk.com/terms(https://vk.com/terms)). \n\u003e Например, приложение для помощи в накрутке лайков — плохая идея.\n\n**1.3.** В Приложении не должно быть ссылок, опасных для пользователей. Все переходы по ссылкам должны быть предсказуемы. \n\u003e Если в Вашем приложении много разных ссылок от пользователей, используйте метод `utils.checkLink`(method/utils.checkLink), чтобы проверить их безопасность.\n\n**1.4.** Приложение не может быть выдано за официальный продукт разработчиков ВКонтакте. В том числе, запрещается задействовать логотип, подарки или стикеры ВКонтакте в оформлении, использовать название ВКонтакте в названии или описании Приложения, если иное не оговорено отдельным дополнительным соглашением. \n\n**1.5.** Нельзя резко изменять суть и название приложения. \n\u003e Если есть такая необходимость, зарегистрируйте новое. Пользователи будут неприятно удивлены, обнаружив у себя в списке какое-то незнакомое приложение.\n\n**1.6.** Нельзя предоставлять возможность скачивать контент (например, аудиозаписи, видеозаписи, изображения, документы и иной контент) с серверов ВКонтакте за рамками предоставляемой Социальной Сетью ВКонтакте функциональности с целью предоставления доступа к контенту в оффлайн-режиме или создания с использованием такого контента автономных хранилищ. \n\u003e Это нарушает интересы Администрации Сайта, пользователей и(или) правообладателей.\n\n**1.7.** Приложение не должно содержать сторонних библиотек, фрагментов кода, не имеющих прямого отношения к его функционированию, в том числе эксплуатирующих вычислительные мощности устройства пользователя без его ведома. \n\u003e Тайком майнить криптовалюту — нельзя. \n\n## 2. Работа с данными\n\nМы трепетно относимся к данным наших пользователей и ожидаем от Вас того же. Приложениям запрещено:\n\n**2.1.** Собирать и хранить пользовательские данные, включая идентификатор пользователя (User ID), в целях, не связанных с функционированием Приложения. Запрашиваемые данные должны использоваться только в контексте приложения. \n\u003e Например, кэшировать идентификаторы друзей пользователя, чтобы быстрее отображать список на мобильном устройстве — можно. Передавать идентификаторы всех пользователей к себе на сервер, чтобы хранить в собственной базе на всякий случай — нельзя.\n\n**2.2.** Передавать любые пользовательские данные, автоматизированно полученные через API (включая User ID), сторонним сервисам (например, рекламным) как напрямую, так и через посредников. \n\n**2.3.** Использовать пользовательские данные в любых рекламных объявлениях. \n\u003e Например, обращаться к пользователю по имени из рекламного баннера. Не надо так.\n\n**2.4.** Данные, полученные через API, в т.ч. методами `newsfeed.search`(method/newsfeed.search), `wall.get`(method/wall.get), `wall.search`(method/wall.search), в т.ч. идентификаторы пользователей (User ID), не могут использоваться в целях передачи или перепродажи, создания аналитических отчётов, скоринга и т.д., напрямую или через посредников, без прямого согласия Администрации сайта. \n\u003e Таким согласием, например, может быть договор с рекламным агентством на использование данных о показах рекламных объявлений в отчётах клиентам.\n\n**2.5.** Доступ к расширенной версии Streaming API для некоммерческих исследований может быть предоставлен на безвозмездной основе по согласованию с Администрацией сайта. Данные, полученные с использованием расширенной версии Streaming API в рамках некоммерческого исследования, запрещено использовать для перепродажи третьим лицам в исходном или обработанном виде (например, в форме аналитического отчёта, баллов скоринга, иных аггрегированных форм). \n\n## 3. Содержание приложений\n\n\n**3.1.** Запрещается нарушать права и интересы третьих лиц. Если в Приложении используются чьи-то торговые марки, копирайты, персонажи и любой иной контент, исключительные права на который принадлежат третьим лицам-правообладателям, это необходимо согласовать с правообладателем — так, чтобы по нашему запросу Вы могли предоставить разрешение на использование этих материалов. \n\u003e Убедитесь в том, что автор не возражает против использования его работы в Вашем приложении.\n\n**3.2.** Запрещается размещать чужие Приложения и разработки в отсутствие заключенного надлежащим образом соглашения с правообладателем, а также полностью копировать функциональность других Приложений. \n\u003e Мы за честную конкуренцию.\n\n**3.3.** Приложение должно содержать информацию о его возрастных ограничениях. \n\u003e Если в Вашем приложении есть контент, который не стоит показывать детям, упомяните об этом. Напоминаем, что законом предусмотрены следующие маркировки: 0+, 6+, 12+, 16+ и 18+.\n\n## 4. Использование платформы\n\n**4.1.** Оповещения, которые Приложение отправляет пользователю, не должны содержать не относящейся к Приложению посторонней информации или спама. \n\u003e Реклама в оповещениях — верный путь к ненависти. Выбирайте другие способы монетизации.\n\n**4.2.** Приложение не должно вызывать какие-либо активные действия в API без ведома пользователей и без их согласия. \n\u003e Пользователь всегда должен знать, что произойдёт после нажатия на кнопку. Уделите особое внимание публикациям на стену и работе с сообщениями. Пользователь не простит Вам запись, опубликованную без его ведома, или случайно удалённый навечно диалог.\n\n**4.3.** Запрещается стимулировать пользователей выполнять публикацию записей на стенах (в том числе на собственной), рассылку приглашений другим пользователям, рассылку заявок в друзья случайным людям и другие действия, затрагивающие прямым или косвенным образом других людей.\n\n\u003e Допустимый для нас вариант — бонусы пользователям, друзья которых установили приложение, награда за вступление в официальное сообщество Приложения и за публикацию контента, создаваемого самими пользователями. \n\u003e Также допускаются одноуровневые партнёрские программы с использованием реферальных ссылок, в которых пригласивший друзей пользователь получает бонус за выполнение целевых действий в приложении. \n\n**4.4.** Приложение, которое использует данные о связях между пользователями ВКонтакте («социальный граф»), полученные с помощью API, должно содержать активные ссылки на профили пользователей на сайте vk.com или в официальном мобильном приложении ВКонтакте (URL-схема vk://). Активная ссылка должна быть доступна при просмотре информации о пользователе приложения на главном экране личного профиля или аналогичного раздела. Отображение ссылки может быть отключено владельцем профиля. Исключение составляют приложения, размещённые на vk.com и в мобильном игровом каталоге, неофициальные клиенты ВКонтакте или приложения, расширяющие функциональность ВКонтакте. \n\n**4.5.** Приложение, содержащее функциональность ленты новостей, должно корректным образом отображать рекламные записи, формировать статистику взаимодействия пользователей с такими записями и отправлять её Сайту с помощью соответствующего метода публичного API. При несоответствии приложения указанным требованиям (Требования к отображению рекламных записей(api/ads/feed)) Сайт оставляет за собой право прекратить доступ Приложения к публичному API или его отдельным составляющим. \n\n**4.6.** Администрация ВКонтакте имеет право без уведомления по собственному усмотрению прекратить или ограничить доступ Приложения к публичному API или его отдельным составляющим без объяснения причин, в частности, в случае нарушения требований настоящего соглашения. \n\n## 5. Лицензия\n\n**5.1.** Размещая приложение на vk.com и в мобильном html5-каталоге, Вы предоставляете ВКонтакте на условиях безвозмездной простой неисключительной лицензии право использования приложения в виде размещения его в свободном доступе и для всеобщего сведения в Социальной Сети без ограничения по территории. \n\n**5.2.** ВКонтакте вправе передавать без ограничения по территории права использования приложения Пользователям посредством их сублицензирования на условиях стандартного Лицензионного соглашения, заключаемого между ВКонтакте и Пользователями посредством размещения ВКонтакте публичной оферты в Социальной Сети. Вы подтверждаете, что ознакомлены с текстом указанного Лицензионного соглашения и не имеете возражений против предоставления ВКонтакте прав использования приложения, размещенного на vk.com, Пользователям на условиях указанного Лицензионного соглашения. Вы предоставляете ВКонтакте право использования приложением, размещенного на vk.com без ограничения по территории следующими способами: \n\n**(а)** доведение приложения до всеобщего сведения в сети Интернет таким образом, что любое лицо может получить доступ к приложению из любого места и в любое время; \n**(б)** рекламирование и продвижение приложения любым способом без ограничений, в т.ч. посредством размещения рекламных материалов, созданных с использованием изображения интерфейса приложения.\n\n**5.3.** Права использования приложения согласно пп. 5.1 и 5.2 выше предоставляются сроком на 5 лет с последующей автоматической пролонгацией данного срока на каждый последующий календарный год, в случае если ни одна из сторон договора не выразит волеизъявление о его досрочном расторжении не позднее, чем за 30 календарных дней до момента такого расторжения. \n\n**5.4.** ВКонтакте не предоставляет никаких дополнительных отчетов об использовании приложения, за исключением согласованного в договоре. \n\n**5.5.** Вы настоящим гарантируете, что:\n\n**(а)** являетесь правообладателем приложения, размещенного Вами на vk.com (либо правообладателем приложения является лицо, дополнительно указанное Вами), \n**(б)** предоставление ВКонтакте прав использования приложения, размещенного на vk.com, в соответствии с настоящим разделом 6 не нарушает и не будет нарушать условия каких-либо Ваших сделок с третьими лицами и/или права третьих лиц, \n**(в)** использование ВКонтакте и/или Вами приложения, размещенного на vk.com, в соответствии с договором не нарушает прав третьих лиц, включая, но не ограничиваясь только этим, авторские права, смежные права, права на товарные знаки и иные средства индивидуализации, а равно личные неимущественные права физических лиц. \n\n## 6. Иные положения\n\n**6.1.** Правила могут изменяться и дополняться по мере необходимости. ВКонтакте рекомендует регулярно проверять условия настоящих Правил на предмет их изменения и/или дополнения. Продолжение размещения приложения в Социальной Сети после внесения изменений и/или дополнений в настоящие Правила означает принятие и согласие с такими изменениями и/или дополнениями. \n\n**6.2.** Размещая приложение ВКонтакте, разработчик принимает Правила размещения рекламы в приложениях(ad-rules), а также Правила размещения магазинов в приложениях(market-rules). \n\nНастоящие Правила являются неотъемлемой частью:\n- Условий размещения приложений на сайте vk.com(app-terms).\n\nРедакция от 26.10.2022},language:ru,variant:public,expireDate:1668437942825,isManuallyExpired:false},/method/messages.getHistory:{type:method,layout:internal,template:/method,contents:{title:messages.getHistory,id:messages.getHistory,description:Возвращает историю сообщений для указанного диалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getHistory,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:927,id:,description:Chat does not exist,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:936,id:,description:Contact not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:offset,description:Смещение, необходимое для выборки определённого подмножества сообщений, должен быть \u003e `0`, если не передан параметр `start_message_id`, и должен быть \u003c `0`, если передан.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество сообщений, которое необходимо получить (но не более 200).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:user_id,description:Идентификатор пользователя, историю переписки с которым необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:peer_id,description:Идентификатор назначения.\n\nДля пользователя:\n* `id` пользователя.\n\nДля групповой беседы:\n* `2000000000` + `id` беседы (недоступно для вызовов от имени сообщества). \n\nДля сообщества:\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:5.38,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_message_id,description:Если значение \u003e `0`, то это идентификатор сообщения, начиная с которого нужно вернуть историю переписки, если передано передано значение `-1`, то к значению параметра `offset` прибавляется количество входящих непрочитанных сообщений в конце диалога (подробности смотрите ниже). ,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:rev,description:`1` — возвращать сообщения в хронологическом порядке. `0` — возвращать сообщения в обратном хронологическом порядке (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:Если указать в качестве этого параметра `1`, то будет возвращена информация о пользователях, являющихся авторами сообщений. По умолчанию `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей профилей, которые необходимо вернуть. Смотрите подробное описание(reference/objects/user).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:Параметр `start_message_id` вместе с `offset` \u003c`0` и `count` \u003e`0` позволяет получить интервал истории сообщений вокруг данного сообщения или вокруг начала отрезка непрочитанных входящих сообщений.\n\nДля `start_message_id`\u003e`0` и к значению параметра `offset` прибавляется количество сообщений, чей идентификатор строго больше данного `start_message_id` (при `offset` равном `0` вернутся сообщения начиная с данного включительно и более старые, `count` штук).\n\nДля `start_message_id``-1` поведение такое же, как при `start_message_id` равном последнему сообщению в истории переписки, не являющемуся входящим непрочитанным (при отсутствии входящих непрочитанных в этом диалоге это совпадает с отсутствием параметра `start_message_id`), то есть к значению `offset` прибавляется количество входящих непрочитанных сообщений в конце истории.,resultDescription:После успешного выполнения возвращает список объектов сообщений(reference/objects/message).\n\nПри переданном `start_message_id` в случае, если не было возвращено последнее сообщение в истории переписки (то есть сколько-то сообщений было пропущено), количество пропущенных сообщений (то есть реальное значение `offset`, которое использовалось для получения интервала истории) будет возвращено в поле `skipped` (вместе с `count` и `items`).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668438014811,isManuallyExpired:false},/method/ads.updateAds:{type:method,layout:internal,template:/method,contents:{title:ads.updateAds,id:ads.updateAds,description:Редактирует рекламные объявления.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/ads.updateAds,redirectTo:,menuId:api_menu,accessRights:ads,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:601,id:,description:Permission denied. You have requested too many actions this day. Try later.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:account_id,description:Идентификатор рекламного кабинета.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:data,description:Сериализованный JSON-массив объектов, описывающих изменения в объявлениях. Описание объектов `ad_edit_specification` см. ниже.\nМаксимальное допустимое количество объявлений, редактируемых с помощью одного запроса — **5**. Если нужно больше, то можно использовать execute(method/execute).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:## `ad_edit_specification`\n\n`ad_id`\n`integer`, обязательный \nИдентификатор редактируемого объявления.\n\n`cpc`\n`number`\nЕсли `cost_type` `0` — цена за переход. Цена указывается в рублях с копейками в дробной части.\n\n`cpm`\n`number`\nЕсли `cost_type` `1` — цена за 1000 показов. Цена указывается в рублях с копейками в дробной части.\n\n`ocpm`\n`number`\nЕсли `cost_type` `3` — цена за действие для oCPM. Цена указывается в рублях с копейками в дробной части.\n\n`impressions_limit`\n`integer`\nЕсли `ad_format` `9` или `11` и `cost_type` `1` — ограничение количества показов данного объявления на одного пользователя.\n\nВозможные значения: `1`, `2`, `3`, `5`, `10`, `15`, `20`.\n\n`impressions_limited`\n`integer`, `0,1`\nЕсли `cost_type` `1` и `impressions_limit` не может быть задан — признак того, что количество показов объявления на одного пользователя ограничено.\n* `0` — нет ограничения;\n* `1` — не более 100 показов на одного пользователя.\n\n`impressions_limit_period`\nЕсли `ad_format` `9` или `11` и `cost_type` `1` — может быть задан период ограничения на количество показов на одного пользователя.\nЗначение задаётся в секундах, должно быть кратно суткам (86400 секунд), максимум 90 суток.\nПри наступлении нового периода счетчик показов сбрасывается.\n* `0` — отключает сброс счётчика показов. `int` (числовое значение).\n\n`ad_platform`\n`integer`, `string`\nРкламные площадки, на которых будет показываться объявление:\n* (если `ad_format` `1` и `cost_type` `0`)\n * `0` — ВКонтакте и сайты-партнёры,\n * `1` — только ВКонтакте.\n* (если `ad_format` _9_ или `ad_format` `11`)\n * `all` — все площадки,\n * `desktop` — полная версия сайта,\n * `mobile` — мобильный сайт и приложения.\n* (если `ad_format` `12`)\n * `all` — все площадки.\n\n`ad_platform_no_wall`\n`integer`, `0,1`\nТолько для `ad_format` `9` или `11`. `1` — не показывать объявление на стенах сообществ (по умолчанию `0`).\nИспользуется только вместе с `ad_platform`. \n\n`ad_platform_no_ad_network`\n`integer`, `0,1`\nТолько для `ad_format` `9` или `11`. `1` — не показывать объявление в рекламной сети (по умолчанию `0`).\nИспользуется только вместе с `ad_platform`. \n\n`publisher_platforms`\n`string`\nТолько для `ad_format` `9` или `11`.\nНа каких площадках будет показываться объявление:\n* `all` — все площадки (по умолчанию),\n* `social` — все соцсети (ВКонтакте и Одноклассники),\n* `vk` — только ВКонтакте.\n\n`day_limit`\n`integer`\nДневной лимит в рублях.\n\n`all_limit`\n`integer`\nОбщий лимит в рублях.\n\n`category1_id`\n`integer` \nИдентификатор тематики или подраздела тематики объявления. Если объявление имеет несколько тематик, то дополнительную можно задать в параметре `category2_id`. См. `ads.getCategories`(method/ads.getCategories).\n\n`category2_id`\n`integer` \nИдентификатор тематики или подраздела тематики объявления.\n\n`age_restriction`\n`integer` \nОтображение отметки возрастного ограничения на объявлении. Возможные значения:\n* `0` — не отображать отметку;\n* `1` — использовать отметку `0+`;\n* `2` — использовать отметку `6+`;\n* `3` — использовать отметку `12+`;\n* `4` — использовать отметку `16+`;\n* `5` — использовать отметку `18+`.\n\n`status`\n`integer`, `0,1`\nСтатус рекламного объявления (`0` — остановлено, `1` — запущено).\n\n`name`\n`string`, от 3 до 60 символов\nНазвание объявления (для использования в рекламном кабинете).\n\n`title`\n`string`\nЗаголовок объявления. Может быть задан только для некоторых рекламных форматов. Строка длиной от 3 до 33 символов; для `ad_format` `11` — до 25 символов.\n\n`description`\n`string\nОписание объявления. Может быть задано только для некоторых рекламных форматов. Строка длиной от 3 до 70 символов; для `ad_format` `11` — до 90 символов.\n\n`link_url`\n`string`\nСсылка на рекламируемый объект в формате `http://yoursite.cоm`или `http://vk.cоm/club1`\n\nЕсли в ссылке содержатся строки `\{ad_id}\` или `\{campaign_id}\`, то они заменяются соответственно на ID объявления и ID кампании в момент перехода пользователя по такой ссылке. Если необходимо обновить ссылку у видеорекламы, то в параметре `video` нужно передать `1`.\n\n`link_domain`\n`string`\nДомен рекламируемого объекта в формате `yoursite.cоm`.\n\n`link_title`\n`string`\nЗаголовок рядом с кнопкой или ссылкой. Может быть задан только для некоторых рекламных форматов. Строка длиной от 3 до 25 символов.\n\n`link_button`\n`string`\nИдентификатор кнопки объявления. Может быть задан только для некоторых рекламных форматов. Список возможных значений(method/ads.getAdsLayout).\n\n`photo`\n`string`\nОсновное изображение. Может быть передано только для некоторых рекламных форматов. В качестве значения должен быть передан результат загрузки изображения на сервер(method/ads.getUploadURL).\n\n`photo_icon`\n`string`\nЛоготип. Может быть передано только для некоторых рекламных форматов. В качестве значения должен быть передан результат загрузки изображения на сервер(method/ads.getUploadURL).\n\n`video`\n`string` \nЕсли `ad_format` `2` или `3` — значение, полученное в результате загрузки видеозаписи на сервер(method/ads.getVideoUploadURL) (`1` — если необходимо обновить `link_url`, не меняя видеозапись).\n\n`repeat_video`\n`integer`, `0,1`\nЗацикливание видео. Возможные значения:\n* `0` — не зацикливать видео,\n* `1` — зацикливать видео.\n\n`disclaimer_medical`\n`integer`, `0,1`\nОтображение предупреждения: «Есть противопоказания. Требуется консультация специалиста».\n* `1` — включить отображение.\n\n`disclaimer_specialist`\n`integer`, `0,1`\nОтображение предупреждения: «Необходима консультация специалистов».\n* `1` — включить отображение.\n\n`disclaimer_supplements`\n`integer`, `0,1`\nОтображение предупреждения: «БАД. Не является лекарственным препаратом».\n* `1` — включить отображение.\n\n`start_time`\n`integer`\nВремя запуска объявления в формате `Unixtime`. Укажите `0` для сброса времени запуска.\n\n`stop_time`\n`integer`\nВремя остановки объявления в формате `unixtime`. Укажите `0` для сброса времени остановки.\n\n`weekly_schedule_hours`\n`array`\nРасписание показа объявления по часам. Массив из семи строк. Каждая из строк соответствует дню недели и содержит последовательность символов `0` или `1`. `0` — не показывать объявление в час, номер которого равен позиции символа. `1` — показывать.\n\n`weekly_schedule_use_holidays`\n`integer`, `0,1`\nИспользовать ли расписание воскресенья в праздничные дни.\n\n`stats_url`\nПиксель внешней статистики. Доступно в избранных кабинетах.\n\n`stats_url2`\nПиксель внешней статистики. Доступно в избранных кабинетах.\n\n`autobidding`\nАвтоматическое управление ценой:\n* `0` — выключено;\n* `1` — включено.\nФлаг, может принимать значения `0` или `1`.\n\n`autobidding_max_cost`\n`integer`, `string`\nМаксимальное ограничение автоматической ставки в рублях с копейками, `0` - снятие ограничения.\n\n**Настройки таргетинга**\nНабор полей, соответствующих настройкам таргетинга. См. описание возможных полей на отдельной странице(method/ads.updateAds).\n\n,resultDescription:Возвращает массив ответов на каждый запрос в массиве `data`. Соответствующий объект в выходном массиве содержит идентификатор изменяемого объявления и, в случае возникновения ошибки, поля `error_code` и `error_desc`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668438251140,isManuallyExpired:false},/community:{type:article,layout:internal,template:/article,contents:{title:Сообщество,id:community,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:community,redirectTo:,menuId:community_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:## Актуальные события\n\n* Грантовая программа Fresh Code 2022(community/events/fresh-code-2022)\n\n## Прошедшие события\n\n* Код Петербурга — 2022(community/events/code-of-petersburg)\n* Mini Design Award — 2022(community/events/mini-design-award)},language:ru,variant:public,expireDate:1668438602510,isManuallyExpired:false},/guide:{type:article,layout:internal,template:/article,contents:{title:Документация,id:guide,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:guide,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Документация\n\n## Создание приложений\n\n### Мини-приложения(mini-apps/overview)\nСоздавайте полезные сервисы на каждый день с помощью кросс-платформенных приложений на базе веб-технологий: HTML, JavaScript, CSS.\n\n### Игры(games/overview)\nУвлекайте миллионы игроков своими идеями. Ни паролей, ни скачиваний — игры мгновенно запускаются прямо из интерфейса ВКонтакте. \n\n### VK Bridge(bridge/overview)\nИспользуйте API ВКонтакте и API операционной системы, установленной на устройстве пользователя, с помощью одной библиотеки.\n\n### Маруся(marusia/getting-started)\nСоздавайте голосовой интерфейс своего продукта с помощью Маруси.\n\n## Бизнес-инструменты\n\n### VK Pay(pay/getting-started)\nПринимайте оплату за товары и услуги — прямо в чатах, сообществах и мини-приложениях, с баланса VK Pay или привязанных к нему карт.\n\n### VK Donut(api/donut/getting-started)\nУправляйте платной подпиской и разнообразными программами лояльности в сообществе.\n\n### Рекламный API(api/ads/getting-started)\nАвтоматически запускайте объявления и целые рекламные кампании, обновляйте аудитории ретаргетинга и получайте статистику.\n\n## Интеграция контента\n\n### Виджеты для сайтов(widgets/overview)\nПредоставьте посетителям сайта возможность авторизовываться через ВКонтакте, добавлять комментарии и плейлисты, общаться в сообщениях.\n\n### Публикации ВКонтакте(api/posts)\nПредложите пользователям делиться ВКонтакте статьями или комментариями с вашего сайта или из приложения.\n\n### Маски(masks/overview)\nСоздавайте маски — развивайте персональный бренд, заявляйте о себе и привлекайте подписчиков на личную страницу или в сообщество.\n\n### Чат-боты(api/bots/getting-started)\nАвтоматизируйте рутинные и похожие задачи с помощью чат-бота ВКонтакте.},language:ru,variant:public,expireDate:1668438682671,isManuallyExpired:false},/widgets/overview:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Все виджеты,id:widgets__overview,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Виджеты для сайтов\n## Авторизация(widgets/auth)\nВиджет позволит пользователю авторизоваться при помощи кнопки **Войти через ВКонтакте** и покажет его друзей, которые заходили на ваш сайт.\n## Закладки(widgets/bookmarks)\nВиджет позволит добавить страницу вашего сайта в блок закладок ВКонтакте.\n## Запись на стене(widgets/post)\nВиджет предоставляет возможность встроить на свой сайт отдельную запись или комментарий пользователя, или сообщества ВКонтакте.\n## Комментарии(widgets/comments)\nВиджет предоставляет возможность за несколько минут установить на сайт полнофункциональный блок для комментирования.\n## Напишите нам(widgets/contact-us)\nВиджет позволяет добавить быстрый и удобный способ связи через сообщения ВКонтакте на ваш сайт.\n## Нравится(widgets/like)\nВиджет позволит пользователям выразить отношение к статье одним кликом или поделиться ссылкой на неё с друзьями.\n## Опрос(widgets/poll)\nВиджет позволит организовать любое голосование на вашем сайте и обеспечить вирусное распространение вашего опроса по всему интернету.\n## Плейлист(widgets/playlist)\nВиджет предоставляет возможность встроить на свой сайт плейлист пользователя или сообщества ВКонтакте.\n## Подписаться на автора(widgets/subscribe)\nВиджет позволит посетителям вашего сайта в один клик подписаться на заданного вами пользователя или группу, а также легко поддерживать информацию об авторах на вашем сайте в актуальном состоянии.\n## Приложение(widgets/app)\nВиджет приложения позволит в один клик добавить на ваш сайт возможность быстро перейти в игру из каталога ВКонтакте.\n## Публикация ссылок(widgets/share)\nВиджет позволит быстро разместить ссылку на материал с вашего сайта на странице ВКонтакте.\n## Разрешить сообщения от сообщества(widgets/allow-messages-from-community)\nВиджет позволит клиентам быстро подписаться на уведомления в личных сообщениях от сообщества, не покидая вашего сайта.\n## Рекомендации(widgets/recommended)\nВиджет позволит посетителям быстро найти самые популярные материалы на вашем сайте. Используются данные виджета **Нравится**.\n## Репортаж(widgets/text-live)\nВиджет позволит добавить на ваш сайт сниппет репортажа из сообщества.\n## Сообщения сообщества(widgets/community-messages)\nВиджет предоставляет возможность общаться с посетителями сайта через Сообщения сообщества.\n## Сообщества(widgets/group)\nВиджет тесно свяжет сайт с группой или официальной страницей ВКонтакте. В виджете отображаются новости сообщества или фотографии участников.\n## Статья(widgets/article)\nВиджет статьи позволит добавить на ваш сайт статью ВКонтакте.\n## Эпизод подкаста(widgets/podcast)\nВиджет позволит добавить на ваш сайт эпизод подкаста.},language:ru,variant:public,expireDate:1668438747796,isManuallyExpired:false},/method/stats.getPostReach:{type:method,layout:internal,template:/method,contents:{title:stats.getPostReach,id:stats.getPostReach,description:Возвращает статистику для записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/stats.getPostReach,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:210,id:,description:Access to walls post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор сообщества — владельца записи. Указывается со знаком «минус».,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:post_ids,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает данные о статистике записи в виде объекта, который содержит следующие поля:\n\n### `reach_subscribers`\n`integer `\nОхват подписчиков. \n\n### `reach_total`\n`integer`\nСуммарный охват. \n \n### `reach_ads`\n`integer`\nРекламный охват (если запись продвигалась с помощью таргетированной рекламы).\n \n### `reach_viral`\n `integer`\nВиральный охват (если запись продвигалась с помощью таргетированной рекламы).\n \n### `links`\n`integer`\nПереходы по ссылке.\n \n### `to_group`\n`integer`\nПереходы в сообщество.\n \n### `join_group`\n`integer`\nВступления в сообщество.\n \n### `report`\n`integer`\nКоличество жалоб на запись.\n \n### `hide`\n`integer`\nКоличество скрывших запись. \n \n### `unsubscribe`\n`integer`\nКоличество отписавшихся участников. ,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668438883323,isManuallyExpired:false},/bridge/VKWebAppAccelerometerStart:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Данные датчиков | VKWebAppAccelerometerStart,id:bridge__VKWebAppAccelerometerStart,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppAccelerometerStart,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppAccelerometerStart\n\n`VKWebAppAccelerometerStart` позволяет приложению получать данные акселерометра, установленного в мобильном устройстве.\n\n## Пример\n\n```JavaScript\nbridge.send(\VKWebAppAccelerometerStart\, {});\n\n```\n\n## Платформы\n\nAndroid, iOS\n\n## Пример (Android)\n\n```JavaScript\nbridge.send(\VKWebAppAccelerometerStart\, {\refresh_rate\: 500});\n\n```\n\n## Параметр (Android)\n\n* `refresh_rate` (`integer`)\n\nПериод обновления данных акселерометра в миллисекундах. Минимальное значение — 20 мс, максимальное — 1000 мс, значение по умолчанию — 1000 мс.\n\n\u003e Период обновления можно задать только для Android-устройств. \n\n## Результат \n\nСобытие `VKWebAppAccelerometerStartResult` отправляется, если отслеживание данных включено и приложение может получать данные акселерометра.\n\n```JSON\n{\n \type\: \VKWebAppAccelerometerStartResult\,\n \data\: {\n \result\: true\n }\n}\n```\n\n### Поля ответа\n\n* `result` (`boolean`)\nВсегда `true`. \n\nПосле этого данные акселерометра отправляются в событии `VKWebAppAccelerometerChanged`. Если приложение не может получать данные акселерометра, генерируется событие `VKWebAppAccelerometerStartFailed` с типом и описанием ошибки.\n\n```JSON\n{ \n \type\: \VKWebAppAccelerometerStartFailed\, \n \data\: {\n \error_type\: \...\\n \error_data\: {\n ...\n }\n }\n}\n```\n\n## Формат данных акселерометра\n\n```JSON\n{\n \type\: \VKWebAppAccelerometerChanged\,\n \data\: {\n \x\: \3.0\,\n \y\: \-1.3\,\n \z\: \0.0\\n }\n}\n```\n\nСобытие `VKWebAppAccelerometerChanged` содержит данные акселерометра. Акселерометр измеряет проекцию кажущегося ускорения (разницы между истинным и гравитационным ускорением). Таким образом определяется положение устройства относительно осей X, Y и Z. Знак числа (положительное или отрицательное) указывает на направление перемещения. \n\n!(1cee804e29a182df781e5f00dec3b26447490dc34975e7ab7a59ab41 \-4623494985644253679\) \n\n### Поля объекта data\n\n* `x` (`number`)\nПроекция кажущегося ускорения на ось X (в м/c2).\n* `y` (`number`)\nПроекция кажущегося ускорения на ось Y (в м/c2). \n* `z` (`number`) \nПроекция кажущегося ускорения на ось Z (в м/c2). \n\n## Песочница\n\nVKWebAppAccelerometerStart(https://vk.cc/c02XVW) \n\n\u003e Только для мобильных устройств!},language:ru,variant:public,expireDate:1668438892295,isManuallyExpired:false},/method/stats:{type:method-list,layout:internal,template:/method-list,contents:{title:stats,id:method_section_stats,description:Методы для работы со статистикой.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/stats,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:Stats,id:stats,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats,type:BASE,isSearchable:false,tokenTypes:,children:{title:stats.get,id:stats.get,description:Возвращает статистику сообщества или приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats.get,type:BASE,isSearchable:false,tokenTypes:},{title:stats.getPostReach,id:stats.getPostReach,description:Возвращает статистику для записи на стене.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stats.getPostReach,type:BASE,isSearchable:false,tokenTypes:},{title:stats.trackVisitor,id:stats.trackVisitor,description:Добавляет данные о текущем сеансе в статистику посещаемости приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,vkui,url:method/stats.trackVisitor,type:BASE,isSearchable:false,tokenTypes:is_standalone}}},language:ru,variant:public,expireDate:1668438900313,isManuallyExpired:false},/method/photos.get:{type:method,layout:internal,template:/method,contents:{title:photos.get,id:photos.get,description:Возвращает список фотографий в альбоме.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.get,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор владельца альбома.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «-» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:album_id,description:Идентификатор альбома. Для служебных альбомов используются следующие идентификаторы:\n* `wall` — фотографии со стены,\n* `profile` — фотографии профиля,\n* `saved` — сохраненные фотографии. Возвращается только с ключом доступа пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_ids,description:Идентификаторы фотографий, информацию о которых необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:rev,description:Порядок сортировки фотографий. Возможные значения:\n* `1` — антихронологический,\n* `0` — хронологический.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — будут возвращены дополнительные поля `likes`, `comments`, `tags`, `can_comment`, `reposts`. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:feed_type,description:Тип новости, получаемый в поле `type` метода `newsfeed.get`(method/newsfeed.get), для получения только загруженных пользователем фотографий, либо только фотографий, на которых он был отмечен. Может принимать значения `photo`, `photo_tag`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:feed,description:Время в формате, который может быть получен методом `newsfeed.get`(method/newsfeed.get) в поле `date`, для получения всех фотографий загруженных пользователем в определённый день либо на которых пользователь был отмечен. Также нужно указать параметр `uid` пользователя, с которым произошло событие.\n\nЗначение должно отличаться от текущего времени не более, чем на месяц.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_sizes,description:`1` — возвращать доступные размеры фотографии в специальном формате(reference/objects/photo-sizes). По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Отступ, необходимый для получения определенного подмножества записей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество записей, которое будет получено.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов фотографий(reference/objects/photo) в поле `items`.\n\nЕсли к фотографии прикреплено местоположение, также возвращаются поля `lat` и `long`, содержащие географические координаты отметки.\n\nЕсли был задан параметр `extended``1`, возвращаются дополнительные поля:\n* `likes` — количество отметок **Мне нравится** и информация о том, поставил ли лайк текущий пользователь,\n* `comments` — количество комментариев к фотографии,\n* `tags` — количество отметок на фотографии,\n* `can_comment` — может ли текущий пользователь комментировать фото (`1` — может, `0` — не может),\n* `reposts` — число репостов фотографии.\n\nЕсли был задан параметр `photo_sizes``1`, вместо полей `width` и `height` возвращаются размеры копий фотографии в специальном формате(reference/objects/photo-sizes).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668438934094,isManuallyExpired:false},/method/photos.getUploadServer:{type:method,layout:internal,template:/method,contents:{title:photos.getUploadServer,id:photos.getUploadServer,description:Возвращает адрес сервера для загрузки фотографий(api/upload#Загрузка%20фотографий%20в%20альбом).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.getUploadServer,redirectTo:,menuId:api_menu,accessRights:photos,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:703,id:,description:You need to enable 2FA for this action,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:album_id,description:Идентификатор альбома.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества, которому принадлежит альбом (если необходимо загрузить фотографию в альбом сообщества).\n\n\u003e Если `group_id` не указан, возвращается адрес для загрузки на стену текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий следующие поля:\n* `upload_url` — адрес для загрузки фотографий(api/upload);\n* `album_id` — идентификатор альбома, в который будет загружена фотография;\n* `user_id` — идентификатор пользователя, от чьего имени будет загружено фото.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668439518680,isManuallyExpired:false},/bridge/VKWebAppShowSubscriptionBox:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Игры | VKWebAppShowSubscriptionBox,id:bridge__VKWebAppShowSubscriptionBox,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppShowSubscriptionBox,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppShowSubscriptionBox\n\n`VKWebAppShowSubscriptionBox` позволяет показать диалоговое окно подписки. Подписка — это регулярные списания голосов со счёта пользователя на счёт игры.\n\n## Пример\n\n```JavaScript\nbridge.send(\VKWebAppShowSubscriptionBox\, {\n \action\: \create\,\n \item\: \item1\\n});\n```\n\n## Платформы\n\nAndroid, Web\n\n## Параметры\n\n* `action` (`string`, обязательный)\nДействие с подпиской. Допустимые значения:\n`create` — создать новую подписку;\n`resume` — возобновить подписку, которая была отменена;\n`cancel` — отменить подписку.\n\n* `item` (`string`, обязательный при создании подписки)\nИдентификатор виртуальной ценности, которая приобретается по подписке. Параметр необходимо передавать, чтобы создать (`create`) подписку.\n\n* `subscription_id` (`string`, обязательный при отмене и возобновлении подписки)\nИдентификатор подписки. Параметр необходимо передавать, чтобы возобновить (`resume`) или отменить (`cancel`) подписку.\n\n## Результат\n\nПосле успешного выполнения генерируется событие `VKWebAppShowSubscriptionBoxResult` c полем `success` (тип `boolean`) — флаг завершения действия.\n\n```JSON\n{\n \type\: \VKWebAppShowSubscriptionBoxResult\,\n \data\: {\n \success\: true\n }\n}\n```\n\nПри ошибке генерируется событие `VKWebAppShowSubscriptionBoxFailed` с кодом (`error_code`) и причиной ошибки (`error_reason`).\n\n```JSON\n{\n \type\: \VKWebAppShowSubscriptionBoxFailed\,\n \data\: {\n \error_type\: \client_error\,\n \error_data\: {\n \error_code\: 4,\n \error_reason\: \User denied\\n }\n }\n}\n```\n\n## Песочница\n\nVKWebAppShowSubscriptionBox(https://vk.cc/c3D0ap)},language:ru,variant:public,expireDate:1668439520564,isManuallyExpired:false},/method/messages.pin:{type:method,layout:internal,template:/method,contents:{title:messages.pin,id:messages.pin,description:Закрепляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.pin,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:925,id:,description:You are not admin of this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:942,id:,description:Cannot pin one-time story,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:970,id:,description:Cannot pin an expiring message,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:peer_id,description:Идентификатор назначения.\n\nДля пользователя:\n\n* `id` пользователя.\n\nДля групповой беседы:\n\n* `2000000000` + `id` беседы.\n\nДля сообщества:\n\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:message_id,description:Идентификатор сообщения, которое нужно закрепить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:conversation_message_id,description:Идентификатор сообщения беседы, которое нужно закрепить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект закрепленного сообщения(reference/objects/pinned-message).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668439744385,isManuallyExpired:false},/method/newsfeed.search:{type:method,layout:internal,template:/method,contents:{title:newsfeed.search,id:newsfeed.search,description:Возвращает результаты поиска по статусам. Новости возвращаются в порядке от более новых к более старым.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/newsfeed.search,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:q,description:Поисковой запрос, например, \New Year\.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1`, если необходимо получить информацию о пользователе или сообществе, разместившем запись. По умолчанию: `0`. ,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Указывает, какое максимальное число записей следует возвращать.\n\n\u003e Обратите внимание — даже при использовании параметра `offset` для получения информации доступны только первые **1000** результатов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:latitude,description:Географическая широта точки, в радиусе от которой необходимо производить поиск, заданная в градусах (от -90 до 90).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:longitude,description:Географическая долгота точки, в радиусе от которой необходимо производить поиск, заданная в градусах (от -180 до 180).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_time,description:Время в формате `unixtime`, начиная с которого следует получить новости для текущего пользователя. Если параметр не задан, то он считается равным значению времени, которое было сутки назад.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:end_time,description:Время в формате `unixtime`, до которого следует получить новости для текущего пользователя. Если параметр не задан, то он считается равным текущему времени.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_id,description:Строковый идентификатор последней полученной записи (возвращается в результатах запроса (`new_from`) для того, чтобы исключить из выборки нового запроса уже полученные записи).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.13,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определенного подмножества результатов поиска.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.13,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_from,description:Идентификатор, необходимый для получения следующей страницы результатов. Значение, необходимое для передачи в этом параметре, возвращается в поле ответа `next_from`.,type:string,minLength:null,maxLength:null,fromVersion:5.13,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для профилей и групп, которые необходимо вернуть. См. описание полей объекта `user`(reference/objects/user) и описание полей объекта `group`(reference/objects/group).\n\nОбратите внимание, этот параметр учитывается только при `extended``1`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успеха возвращает общее количество записей (`total_count`) и массив объектов, каждый из которых содержит поля:\n* `id` — локальный идентификатор записи (для конкретного владельца);\n* `owner_id` — идентификатор владельца стены, на которой размещена запись. Если стена принадлежит сообществу, то данный параметр равен `-gid` (идентификатор сообщества со знаком минус);\n* `from_id` — идентификатор автора записи;\n* `date` — время публикации записи в формате `unixtime`;\n* `text` — текст записи;\n* `comments` — содержит информацию о количестве комментариев к записи.\n\nДля Desktop-приложений дополнительно содержит следующую информацию:\n * может ли текущий пользователь добавить комментарии к записи;\n* `likes` — содержит информацию о числе людей, которым понравилась данная запись.\n\nДля Desktop-приложений дополнительно содержит следующую информацию:\n * понравилась ли запись текущему пользователю;\n * может ли текущий пользователь добавить запись в спиcок **Мне нравится**;\n * может ли текущий пользователь опубликовать у себя запись.\n* `attachments` — находится в записях со стен и содержит массив объектов, которые прикреплены к текущей новости (фотография, ссылка и т.п.). Более подробная информация представлена на странице описания поля `attachments`(reference/objects/video).\n* `geo` — находится в записях со стен, в которых имеется информация о местоположении, содержит поля:\n * `type` — тип отметки;\n * `coordinates` — географические координаты места;\n * `place` — объект с полями:\n * `pid` — идентификатор места;\n * `title` — название места;\n * `latitude` — географическая широта;\n * `longitude` — географическая долгота;\n * `created` — дата добавления;\n * `icon` — значок места;\n * `type` — тип места;\n * `address` — строка с указанием адреса места в городе;\n * `country` — идентификатор страны;\n * `city` — идентификатор города.\n * `showmap` — данный параметр указывается, если местоположение является прикреплённой картой.\n\nВ случае, если передан параметр `extended`, дополнительно будут переданы поля `profiles` и `groups`, содержащие информацию о пользователях(reference/objects/user) и сообществах(reference/objects/group).\n\nКаждый из объектов в массиве `profiles` содержит следующие поля:\n* `id` — идентификатор пользователя;\n* `first_name` — имя пользователя;\n* `last_name` — фамилия пользователя;\n* `photo` — адрес фотографии пользователя размером **50x50px**;\n* `photo_medium_rec` — адрес фотографии пользователя размером **100x100px**;\n* `screen_name` — короткий адрес страницы пользователя (например, andrew или id6492).\n\nКаждый из объектов в массиве `groups` содержит следующие поля:\n* `id` — идентификатор сообщества;\n* `name` — название сообщества;\n* `is_closed` — флаг, определяющий является ли группа закрытой;\n* `photo` — адрес логотипа группы шириной **50px**;\n* `photo_medium` — адрес логотипа группы шириной **100px**;\n* `photo_big` — адрес логотипа группы шириной **200px**;\n* `screen_name` — короткий адрес страницы сообщества (например, apiclub или club1).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668439806970,isManuallyExpired:false},/reference/objects/post-source:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Вспомогательные объекты и наборы значений | Источник записи,id:reference__objects__post-source,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/post-source,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Источник записи\n\nОбъект `post_source`, описывающий способ размещения записи на стене(reference/objects/post), содержит следующие поля:\n\n## `type`\n`string`\nТип источника. Возможные значения:\n* `vk` — запись создана через основной интерфейс сайта https://vk.com/(https://vk.com/);\n* `widget` — запись создана через виджет(widgets/overview) на стороннем сайте;\n* `api` — запись создана приложением через API;\n* `rss` — запись создана посредством импорта RSS-ленты со стороннего сайта;\n* `sms` — запись создана посредством отправки SMS-сообщения на специальный номер.\n\n## `platform`\n`string`\nНазвание платформы, если оно доступно. Возможные значения:\n* `android`;\n* `iphone`;\n* `wphone`.\n\n## `data`\n`string`\nТип действия (только для `type` `vk` или `widget`). Возможные значения:\n* `profile_activity` — изменение статуса под именем пользователя (для `type` `vk`);\n* `profile_photo` — изменение профильной фотографии пользователя (для `type` `vk`);\n* `comments` — виджет комментариев(widgets/comments) (для `type` `widget`);\n* `like` — виджет «Мне нравится»(widgets/like) (для `type` `widget`);\n* `poll` — виджет опросов(widgets/poll) (для `type` `widget`).\n\n## `url`\n`string`\nURL ресурса, с которого была опубликована запись.},language:ru,variant:public,expireDate:1668439918276,isManuallyExpired:false},/reference/objects/photo-sizes:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Вспомогательные объекты и наборы значений | Формат описания размеров фотографии,id:reference__objects__photo-sizes,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/photo-sizes,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Формат описания размеров фотографии\n\nПри использовании параметра `photo_sizes` `1` в методах для работы с фотографиями, в ответе возвращается информация о копиях исходного изображения разных размеров, представленная в виде массива `sizes`, содержащего объекты со следующими полями:\n\n## `url`\n`string`\nURL копии изображения.\n\n## `width`\n`integer`\nШирина копии в пикселах.\n\n## `height`\n`integer`\nВысота копии в пикселах.\n\n## `type`\n`string`\nОбозначение размера и пропорций копии.\n\n## Значения `type` для фотографий\n\nДля фотографий, загруженных на сайт до 2012 года, значения `width` и `height` могут быть недоступны, в этом случае соответствующие поля содержат `0`.\n\n* `s` — Пропорциональная копия изображения с максимальной стороной 75px;\n* `m` — Пропорциональная копия изображения с максимальной стороной 130px;\n* `x` — Пропорциональная копия изображения с максимальной стороной 604px;\n* `o` — Если соотношение \ширина/высота\ исходного изображения меньше или равно 3:2, то пропорциональная копия с максимальной стороной 130px. Если соотношение \ширина/высота\ больше 3:2, то копия обрезанного слева изображения с максимальной стороной 130px и соотношением сторон 3:2.\n* `p` — Если соотношение \ширина/высота\ исходного изображения меньше или равно 3:2, то пропорциональная копия с максимальной стороной 200px. Если соотношение \ширина/высота\ больше 3:2, то копия обрезанного слева и справа изображения с максимальной стороной 200px и соотношением сторон 3:2.\n* `q` — Если соотношение \ширина/высота\ исходного изображения меньше или равно 3:2, то пропорциональная копия с максимальной стороной 320px. Если соотношение \ширина/высота\ больше 3:2, то копия обрезанного слева и справа изображения с максимальной стороной 320px и соотношением сторон 3:2.\n* `r` — Если соотношение \ширина/высота\ исходного изображения меньше или равно 3:2, то пропорциональная копия с максимальной стороной 510px. Если соотношение \ширина/высота\ больше 3:2, то копия обрезанного слева и справа изображения с максимальной стороной 510px и соотношением сторон 3:2\n* `y` — Пропорциональная копия изображения с максимальной стороной 807px;\n* `z` — Пропорциональная копия изображения с максимальным размером 1080x1024;\n* `w`* — Пропорциональная копия изображения с максимальным размером 2560x2048px.\n\n## Значения `type` для документов (поле `preview`)\n\n* `s` — Пропорциональная копия изображения с максимальной стороной 100px;\n* `m` — Пропорциональная копия изображения с максимальной стороной 130px;\n* `x` — Пропорциональная копия изображения с максимальной стороной 604px;\n* `y` — Пропорциональная копия изображения с максимальной стороной 807px;\n* `z` — Пропорциональная копия изображения с максимальным размером 1080x1024px;\n* `o` — Копия изображения с размерами оригинала.\n\n### Пример значений массива `sizes`\n\nИсходная фотография — https://pp.vk.me/c633825/v633825034/736c/ydLOoRmlTQ8.jpg, размер оригинала — 1280x853 px, соотношение \ширина/высота\ — 1.50058617\n\n```JSON\nsizes: {\nsrc: https://pp.vk.me/c633825/v633825034/7369/wbsAsrooqfA.jpg,\nwidth: 130,\nheight: 87,\ntype: m\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736e/SKfi-9SeR0I.jpg,\nwidth: 130,\nheight: 87,\ntype: o\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736e/SKfi-9SeR0I.jpg,\nwidth: 200,\nheight: 133,\ntype: p\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736f/wOXUnCuD68I.jpg,\nwidth: 320,\nheight: 213,\ntype: q\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/7370/vGTSDUiWxMM.jpg,\nwidth: 510,\nheight: 340,\ntype: r\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/7368/VeknQj61GOA.jpg,\nwidth: 75,\nheight: 50,\ntype: s\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736a/zCT2b_SP8tY.jpg,\nwidth: 604,\nheight: 403,\ntype: x\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736b/jhXaGZzKF-0.jpg,\nwidth: 807,\nheight: 538,\ntype: y\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736c/ydLOoRmlTQ8.jpg,\nwidth: 1280,\nheight: 853,\ntype: z\n}({\nsrc: https://pp.vk.me/c633825/v633825034/7369/wbsAsrooqfA.jpg,\nwidth: 130,\nheight: 87,\ntype: m\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736e/SKfi-9SeR0I.jpg,\nwidth: 130,\nheight: 87,\ntype: o\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736e/SKfi-9SeR0I.jpg,\nwidth: 200,\nheight: 133,\ntype: p\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736f/wOXUnCuD68I.jpg,\nwidth: 320,\nheight: 213,\ntype: q\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/7370/vGTSDUiWxMM.jpg,\nwidth: 510,\nheight: 340,\ntype: r\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/7368/VeknQj61GOA.jpg,\nwidth: 75,\nheight: 50,\ntype: s\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736a/zCT2b_SP8tY.jpg,\nwidth: 604,\nheight: 403,\ntype: x\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736b/jhXaGZzKF-0.jpg,\nwidth: 807,\nheight: 538,\ntype: y\n}, {\nsrc: https://pp.vk.me/c633825/v633825034/736c/ydLOoRmlTQ8.jpg,\nwidth: 1280,\nheight: 853,\ntype: z\n})\n```},language:ru,variant:public,expireDate:1668440422518,isManuallyExpired:false},/method/fave.getPages:{type:method,layout:internal,template:/method,contents:{title:fave.getPages,id:fave.getPages,description:Возвращает страницы пользователей и сообществ, добавленных в закладки.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/fave.getPages,redirectTo:,menuId:api_menu,accessRights:ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:offset,description:Смещение относительно первого объекта в закладках пользователя для выборки определенного подмножества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество возвращаемых закладок.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:type,description:Типы объектов, которые необходимо вернуть. Возможные значения:\n* `users` — вернуть только пользователей;\n* `groups` — вернуть только сообщества;\n* `hints` — топ сообществ и пользователей.\n\nЕсли параметр не указан — вернутся объекты пользователей и сообществ, добавленных в закладки, в порядке добавления.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для объектов `user`(reference/objects/user) и `group`(reference/objects/group), которые необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:tag_id,description:Идентификатор метки, закладки отмеченные которой требуется вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668440475566,isManuallyExpired:false},/mini-apps/getting-started:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Первые шаги,id:mini-apps__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Первые шаги\n\n**VK Mini Apps** — это открытая платформа встраиваемых кросс-платформенных приложений, которые расширяют возможности сайта и приложения ВКонтакте. По этой инструкции вы можете создать своё первое мини-приложение.\n\n\u003e Краткая инструкция для опытных пользователей(#Краткая%20инструкция).\n\u003e Видеоуроки и другие полезные материалы(#Что%20дальше).\n\n## Как создать первое мини-приложение\n\nЧтобы познакомиться с платформой и опубликовать первое мини-приложение, вам потребуется:\n\n1. Зарегистрировать мини-приложение ВКонтакте(#Регистрация%20мини-приложения%20ВКонтакте).\n1. Собрать мини-приложение(#Создание%20мини-приложения).\n1. Запустить мини-приложение локально и убедиться, что оно работает(#Запуск%20мини-приложения%20локально).\n1. Запустить мини-приложение внутри ВКонтакте(#Запуск%20мини-приложения%20внутри%20ВКонтакте).\n1. Разместить мини-приложение на хостинге(#Размещение%20мини-приложения%20на%20хостинге).\n\nИнструкция ниже актуальна для любой операционной системы. Для первых шагов знание языка JavaScript не понадобится, но вы должны уметь работать с командной строкой.\n\n\u003e Чтобы использовать библиотеки мини-приложений, установите необходимое программное обеспечение(mini-apps/software-installation).\n\n### Регистрация мини-приложения ВКонтакте\n\nЧтобы зарегистрировать мини-приложение ВКонтакте:\n\n1. Войдите во ВКонтакте под своей учётной записью.\n\n \u003e Чтобы пройти аутентификацию ВКонтакте, вам потребуется мобильное приложение для получения кода подтверждения.\n\n1. Откройте страницу Мои приложения(https://vk.com/apps?actmanage) и нажмите на кнопку **Создать**. Откроется форма Создание приложения(https://vk.com/editapp?actcreate).\n * Укажите название приложения.\n\n \u003e Название приложения может содержать только буквы, цифры, дефисы и пробелы. Название можно изменить в Настройках(mini-apps/management/settings).\n\n * Выберите платформу — **Встраиваемое приложение**.\n * Добавьте описание.\n * Выберите тип — **VK Mini Apps**.\n\n \u003e Какие ещё приложения можно создать?(#Какие%20ещё%20приложения%20можно%20создать?)\n\n * Выберите категорию приложения.\n\n1. Нажмите кнопку **Перейти к настройке приложения**.\n1. Во всплывающем окне **Подтверждение действия**:\n * Нажмите кнопку **Получить код**. На указанный в окне телефон отправится код подтверждения в SMS или в push-уведомлении мобильного приложения ВКонтакте.\n\n \u003e Все ключевые действия с мини-приложением, например создание или удаление, требуется подтверждать с помощью кода из SMS или push-уведомления. В рамках сессии код требуется вводить только один раз.\n\n * Введите полученный код подтверждения.\n * Нажмите кнопку **Отправить код**.\n\n1. На странице **Правила платформы** ознакомьтесь с правилами и нажмите кнопку **Я соглашаюсь с новыми правилами**.\n\nРегистрация приложения завершена. Откроется страница с информацией о приложении и его настройками.\n\n:::carousel\n!altВнешний вид формы создания приложения;titleФорма создания приложения;(5fbe6b90e8269418a222a4427a16debcf343f02b59cbb9926e70606c \-7538548897334511650\)\n!altВнешний вид настроек мини-приложения (раздел Информация);titleНастройки мини-приложения(6798c42252e441d51255f17fb34798bc7117609fa0d138f74f26ea6c \-5172364118786251290\)\n!altВнешний вид настроек мини-приложения (раздел Настройки);titleИдентификатор мини-приложения(cd2047e04d7b80cd08f10959dcfed09887b87f28e3b8aaf8340fa0a8 \-3835700500859875652\)\n:::\n\n### Создание мини-приложения\n\nЧтобы создать мини-приложение с минимальной функциональностью, используйте библиотеку `create-vk-mini-app`(https://www.npmjs.com/package/@vkontakte/create-vk-mini-app). Функциональность получившегося мини-приложения: отображение двух экранов с простой навигацией и кнопкой, которая показывает стикер. Также к проекту уже подключены все необходимые npm-библиотеки(#Библиотеки) и поддержано несколько систем публикации.\n\nЧтобы создать мини-приложение, вам потребуются:\n\n* Платформа Node.js(mini-apps/software-installation).\n* Терминал. Можно использовать редактор кода, в котором есть командная строка. Пример: VS Code(https://code.visualstudio.com/).\n\n1. Перейдите в папку, в которой хотите создать проект своего мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_ПАПКЕ\u003e\n ```\n\n1. Выполните команду, которая создаст проект c именем \u003cMINI_APP_NAME\u003e в вашей папке:\n\n ```sh\n npx @vkontakte/create-vk-mini-app \u003cMINI_APP_NAME\u003e\n ```\n\n \u003e Если не указать название проекта вместо `\u003cMINI_APP_NAME\u003e`, по умолчанию создастся проект `mini-app`.\n \u003e\n \u003e Получаю ошибку на Windows 10 Pro. Что делать?(#После%20выполнения%20команды%20создания%20проекта%20мини-приложения%20на%20Windows%2010%20Pro%20получаю%20ошибку.%20Что%20делать?)\n\n1. В терминале подтвердите скачивание библиотеки @vkontakte/create-vk-mini-app: введите **Y**/**y** или нажмите **Enter**.\n \n \u003e Структура файлов папки проекта после его создания:\n \n ```\n .\n └── mini-app\n ├── node_modules\n ├── public\n ├── src\n ├── package-lock.json\n ├── package.json\n ├── README.md\n └── vk-hosting-config.json\n ```\n\nПроект мини-приложения создан.\n\n\u003e Для корректной работы необходима библиотека VK Bridge(bridge/getting-started) и вызов события инициализации `VKWebAppInit`(bridge/VKWebAppInit) в начале кода мини-приложения. Если не вызвать событие, мини-приложение не будет работать.\n\n### Запуск мини-приложения локально\n\n\u003e Запуск мини-приложения локально потребуется для последующего запуска мини-приложения внутри ВКонтакте(#Запуск%20мини-приложения%20внутри%20ВКонтакте).\n\n1. Перейдите в папку проекта мини-приложения:\n\n ```sh\n cd \u003cMINI_APP_NAME\u003e\n ```\n\n1. Запустите мини-приложение:\n\n ```sh\n npm start\n ```\n\n1. Согласитесь на настройки по умолчанию: введите **Y**/**y** или нажмите **Enter**.\n\n Если всё в порядке, вы получите сообщение:\n \n ```\n Compiled successfully!\n ...\n Local: https://localhost:10888\n On Your Network: https://192.168.1.3:10888\n ```\n\nНа этом этапе мини-приложение представляет собой веб-сервер, работающий на вашем локальном компьютере. Чтобы в этом убедиться, откройте в браузере ссылку: `https://localhost:10888`.\n\n### Запуск мини-приложения внутри ВКонтакте\n\nЧтобы увидеть результат работы мини-приложения, запустите его на своём компьютере и получите ссылку на него. Мы создали библиотеку VK Tunnel(libraries/tunnel), которая берёт на себя все настройки и позволяет отобразить результат работы вашего мини-приложения в интернете.\n\n1. Откройте новое окно терминала и перейдите в папку проекта мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_ПАПКЕ_MINI_APP_NAME\u003e\n ```\n\n1. Установите VK Tunnel:\n\n ```sh\n npm install @vkontakte/vk-tunnel --includedev\n ```\n\n1. Добавьте в файл `package.json` скрипт `tunnel`. Сохраните файл:\n\n ```json\n \scripts\: {\n ...\n \tunnel\: \vk-tunnel --insecure1 --http-protocolhttps --ws-protocolwss --host0.0.0.0 --port10888\\n }\n ```\n\n1. Запустите VK Tunnel:\n\n ```sh\n npm run tunnel\n ```\n\n \u003e * Получаю ошибку `sh: 1: vk-tunnel: Permission denied`. Что делать?(#Получаю%20ошибку%20sh:%201:%20vk-tunnel:%20Permission%20denied.%20Что%20делать?)\n \u003e\n \u003e * Получаю ошибку `Error: Пользователь не является создателем приложения`. Что делать?(#Получаю%20ошибку%20Error:%20Пользователь%20не%20является%20создателем%20приложения.%20Что%20делать?)\n \u003e\n \u003e * Получаю ошибку `Error: connect ECONNREFUSED 127.0.0.1:10888`. Что делать?(#Получаю%20ошибку%20Error:%20connect%20ECONNREFUSED%20127.0.0.1:10888.%20Что%20делать?)\n\n1. В командной строке вы получите ссылку вида: `https://oauth.vk.com/code_auth?stagecheck\u0026codecabbedd`. Откройте её в браузере, чтобы пройти аутентификацию.\n1. Вернитесь в терминал и подтвердите действие в командной строке: введите **Y**/**y** или нажмите **Enter**.\n\n Если всё в порядке и VK Tunnel запущен, вы получите сообщение со ссылкой на мини-приложение:\n\n ```\n open: https://user743784474-nm77vxr2.wormhole.vk-apps.com/\n ```\n\n VK Tunnel отобразил в интернете веб-сервер, работающий на вашем локальном компьютере. После этого можно запустить мини-приложение внутри ВКонтакте.\n\n1. Включите режим разработки(mini-apps/management/settings#Версия%20для%20vk.com) и укажите полученную на предыдущем шаге ссылку (`https://user743784474-nm77vxr2.wormhole.vk-apps.com/`) в поле **URL для разработки**. То же самое можно сделать для мобильной версии браузера или мобильного приложения.\n\n1. Откройте в браузере ссылку вида `vk.com/app\u003cID\u003e`, где `\u003cID\u003e` — это идентификатор вашего мини-приложения(mini-apps/management/settings#ID%20%приложения).\n\nВы запустили своё первое мини-приложение внутри ВКонтакте. Заметьте, что мини-приложение будет работать, только пока оно и VK Tunnel запущены на вашем локальном компьютере. Чтобы мини-приложение работало автономно, вам потребуется разместить его на хостинге.\n \n\u003e Если в браузере отображается ошибка **Bad gateway**, проверьте, что мини-приложение запущено, а если ошибка **Error 1**, — проверьте VK Tunnel.\n\u003e\n\u003e Как поделиться мини-приложением с друзьями?(#Как%20поделиться%20мини-приложением%20с%20друзьями?)\n\nВ конечном итоге вы получили ссылку на мини-приложение внутри ВКонтакте: `vk.com/app51405499`.\n\n:::carousel\n!altВнешний вид мини-приложения, запущенного внутри ВКонтакте;titleВаше первое мини-приложение внутри ВКонтакте;(a752f650fbd7bd532bb5eb97d964490d029aa7fb566bef8660809494 \-3071774343372717263\)\n!altВнешний вид раздела настроек, где нужно указать URL для разработки;titleURL для разработки в настройках мини-приложения;(60b5dc2b6c5bffa295c929af88c87db2a987fa46ee2d6ba73a2b92fe \4911911506553924934\)\n!altОтображение ошибки ВКонтакте, которая появляется, если VK Tunnel не запущен;titleОшибка, которая появляется, если VK Tunnel не запущен;(59025cd5d90d6e9293072b6fb009a4a83895cc0d1a3c3a8d89b72bbe \4886687448175508935\)\n:::\n\n### Размещение мини-приложения на хостинге\n\nНа предыдущем шаге вы запустили мини-приложение на своём локальном компьютере и получили ссылку на него внутри ВКонтакте. Но как только вы закроете окно терминала, мини-приложение прекратит работу.\n\nЧтобы мини-приложение работало автономно, разместите его на хостинге. Мы создали библиотеку `vk-miniapps-deploy`(https://github.com/VKCOM/vk-miniapps-deploy), чтобы вы могли воспользоваться нашим хостингом.\n\n1. Перейдите в каталог проекта:\n\n ```sh\n cd \u003cMINI_APP_NAME\u003e\n ```\n\n1. Установите библиотеку `vk-miniapps-deploy`:\n\n ```sh\n npm install @vkontakte/vk-miniapps-deploy --includedev\n ```\n\n1. Откройте файл `vk-hosting-config.json` в каталоге проекта. В поле `app_id` замените `0` на идентификатор вашего мини-приложения(mini-apps/management/settings#ID%20%приложения), который вы получили при регистрации(#Регистрация%20мини-приложения%20ВКонтакте). Сохраните изменения.\n\n ```JSON\n {\n \static_path\: \build\,\n \app_id\: 51405499,\n \endpoints\: {\n \mobile\: \index.html\,\n \mvk\: \index.html\,\n \web\: \index.html\\n }\n }\n ```\n\n1. Разверните мини-приложение:\n\n ```sh\n npm run deploy\n ```\n\n \u003e Перед деплоем автоматически выполнится команда `npm run build`, соберётся проект, а в каталоге проекта появится файл `build.zip` и каталог `build`.\n\n1. Согласитесь на настройки по умолчанию: введите **Y**/**y** или нажмите **Enter**.\n1. В командной строке вы получите ссылку вида: `https://oauth.vk.com/code_auth?stagecheck\u0026code1c2d2bd`. Откройте её в браузере, чтобы пройти аутентификацию.\n1. Вернитесь в терминал и подтвердите действие в командной строке: введите **Y**/**y** или нажмите **Enter**.\n1. Подтвердите размещение мини-приложения на хостинге: введите код из личных сообщений от Администрации ВКонтакте. Также в push-уведомлении нужно подтвердить автоматическое изменение URL вашего мини-приложения.\n\n \u003e Если мини-приложение не размещается, проверьте, что в поле `app_id` указан корректный идентификатор вашего мини-приложения.\n\n1. Перейдите по ссылке `vk.com/app\u003cid\u003e`, чтобы увидеть работу мини-приложения. Мини-приложение размещено на хостинге ВКонтакте, а ссылка вида: `https://prod-app1-1.pages-ac.vk-apps.com/index.html` появилась в поле **URL** в разделе Настройки(mini-apps/management/settings).\n\n \u003eКак поделиться мини-приложением с друзьями?(#Как%20поделиться%20мини-приложением%20с%20друзьями?)\n\nВаше первое мини-приложение готово к использованию и дальнейшей разработке. Вы можете почитать документацию о функциональности мини-приложений в разделе Что дальше(#Что%20дальше). А теперь коротко.\n\n:::carousel\n!titleРазрешение доступов;(93c5a8485c5c1750ece2022859e7eace493cc5d5c26a9b3728853561 \-26015127783105400\)\n!titleПодтверждение получения доступов;(d2c15d22c141d55b52802259d953a12252dd8605a9666e39ab5d9dc3 \-1684508632926871576\)\n:::\n\n## Краткая инструкция\n\n1. Зарегистрируйте мини-приложение(https://vk.com/editapp?actcreate) и получите его идентификатор(mini-apps/management/settings#ID%20%приложения).\n\n1. Перейдите в папку, в которой хотите создать проект мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_ПАПКЕ\u003e\n ```\n\n1. Создайте проект:\n\n ```sh\n npx @vkontakte/create-vk-mini-app\n ```\n\n1. Перейдите в папку с проектом:\n\n ```sh\n cd mini-app\n ```\n\n1. В файле `vk-hosting-config.json` в поле `app_id` замените `0` на идентификатор мини-приложения(mini-apps/management/settings#ID%20%приложения).\n\n1. Установите библиотеку `vk-miniapps-deploy`:\n\n ```sh\n npm install @vkontakte/vk-miniapps-deploy --includedev\n ```\n\n1. Разверните мини-приложение:\n\n ```sh\n npm run deploy\n ```\n\n1. Откройте ссылку `vk.com/app\u003cID\u003e`.\n\n## Что дальше\n\n### Инструкции\n\n* Если вам необходимо больше информации про первые шаги, посмотрите видеоурок: Часть 1. Первые шаги(https://vk.com/video-147415323_456239333).\n* Если вы готовы разрабатывать собственное приложение, посмотрите видеоурок: Часть 2. Лайвкодинг(https://vk.com/video-166562603_456239049).\n* Если вы ещё не работали с React, рекомендуем почитать официальное руководство(https://ru.reactjs.org/docs/getting-started.html).\n* Если вы уже начали разработку, ознакомьтесь со списком рекомендаций(mini-apps/catalog/moderation) для тех мини-приложений, которые мы размещаем в каталогах.\n\n### Библиотеки\n\n* Библиотека VK Bridge(bridge/getting-started) необходима для взаимодействия с приложением ВКонтакте.\n* Библиотека VKUI(libraries/vkui) позволяет использовать компоненты интерфейса.\n* Библиотека VK Icons(https://vkcom.github.io/icons/) содержит SVG-иконки на все случаи жизни.\n\n\u003e Важно! Библиотеку VK Bridge(bridge/getting-started) необходимо использовать при разработке любого мини-приложения. Остальные библиотеки — не обязательно.\n\n## FAQ\n\n### Не удалось выполнить инструкцию, получаю ошибки. Что делать?\n\nУбедитесь, что вы:\n\n* установили необходимое программное обеспечение(mini-apps/software-installation);\n* используете Node.js 16.x.x(mini-apps/software-installation#Как%20сменить%20версию%20Node.js?).\n\nЕсли всё равно возникают ошибки, поищите ответ в сообществе VK Mini Apps(https://vk.com/vkappsdev).\n\n#### После выполнения команды создания проекта мини-приложения на Windows 10 Pro получаю ошибку. Что делать?\n\nЕсли вы используете операционную систему Windows 10 Pro и после выполнения команды `npx @vkontakte/create-vk-mini-app \u003cMINI_APP_NAME\u003e` вы получили ошибку:\n\n1. Перейдите в созданную папку проекта мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_ПАПКЕ_MINI_APP_NAME\u003e\n ```\n\n1. Установите зависимости Node.js:\n\n ```sh\n npm install\n ```\n\n1. Установите модули из файла `package-lock.json`:\n\n ```sh\n npm ci\n ```\n\nПосле того как вы выполните эти команды, вы сможете продолжить выполнять инструкцию.\n\n#### Получаю ошибку `sh: 1: vk-tunnel: Permission denied`. Что делать?\n\nЕсли вы выполнили команду `npm run tunnel` на Linux и видите ошибку доступа, выдайте права на выполнение исполняемому файлу библиотеки:\n\n```sh\nchmod +x \u003cПОЛНЫЙ_ПУТЬ_ДО_ПРОЕКТА_МИНИ_ПРИЛОЖЕНИЯ\u003e/node_modules/@vkontakte/vk-tunnel/bin/vk-tunnel\n```\n\n#### Получаю ошибку `Error: 5: User authorization failed: invalid session`. Что делать?\n\nЕсли вы выполнили команду `npm run deploy` и видите ошибку авторизации, обновите токен библиотеки:\n\n```sh\nrm ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json\n```\n\n#### Получаю ошибку `Error: Пользователь не является создателем приложения`. Что делать?\n\nЕсли вы выполнили команду `npm run tunnel` и видите ошибку `ERROR: Пользователь не является создателем приложения`, обновите токен утилиты:\n\n```sh\nrm ~/.config/configstore/@vkontakte/vk-tunnel.json\n```\n\n\u003e **Обратите внимание!** Если ошибка сохраняется, убедитесь, что вас добавили в администраторы(mini-apps/management/admin) мини-приложения.\n\n#### Получаю ошибку `Error: connect ECONNREFUSED 127.0.0.1:10888`. Что делать?\n\nУбедитесь, что вы запустили проект:\n\n```sh\nnpm start\n```\n\n### Какие ещё приложения можно создать?\n\nПопробуйте зарегистрировать:\n\n* **Встраиваемое приложение** — вы получите идентификатор мини-приложения, которое можно встроить во фрейм с внешнего сайта. Готовые мини-приложения можно увидеть в наших каталогах: Мини-приложения(https://vk.com/services), Игры(https://vk.com/apps).\n* **Standalone-приложение** — вы получите идентификатор `API_ID` для внешнего сайта, мобильного или десктопного клиента. В интерфейсе такого приложения можно настроить SDK(sdk/overview) и подключить сертификаты для push-уведомлений.\n* **Сайт** — вы получите идентификатор `API_ID` для внешнего сайта и работы с API через сервер. Если вы хотите написать скрипт (например, на PHP), который будет обращаться к API ВКонтакте, выберите именно этот вариант.\n* **Скилл Маруси** — вы получите идентификатор приложения (скилла), которое взаимодействует с голосовым помощником и расширяет его базу навыков.\n\n### Как подключить стили CSS в мини-приложении?\n\nПодключите стили в файле `index.js`:\n\n```JavaScript\nimport ./style.css;\n```\n\nЕсли стили подключены неправильно, в мини-приложении отобразится пустая страница.\n\n### Как поделиться мини-приложением с друзьями?\n\nПо умолчанию мини-приложение видно только его создателю по ссылке `vk.com/app\u003cID\u003e`.\n\nЧтобы открыть мини-приложение всем, зайдите в Настройки(mini-apps/management/settings#Состояние). Измените **Состояние** мини-приложения на **Приложение включено и видно всем**.\n\nЧтобы открыть мини-приложение конкретному пользователю, создайте группу тестировщиков в разделе Тестирование(mini-apps/management/testing).\n\n:::carousel\n!altВнешний вид настроек изменения видимости мини-приложения;titleИзменение видимости мини-приложения;(d2147457140f5b56279ffc636487d04a47ab03646f50b5ca1615668b \-8638521195993000419\)\n!altВнешний вид окна Создание группы тестировщиков;titleСоздание группы тестировщиков;(44206d427845a6db4c18670f78f304b7db975ff579107706bc7c1f16 \-7750303966330206192\)\n:::\n\n### У меня есть постоянная ссылка на мини-приложение, но я хочу продолжить его разрабатывать. Как это сделать?\n\nЧтобы продолжить разработку мини-приложения и иметь ссылку на него, переключитесь в режим разработки и запустите VK Tunnel.\n\n\u003e Запустить мини-приложение внутри ВКонтакте(#Запуск%20мини-приложения%20внутри%20ВКонтакте).\n\n### Как сделать работу мини-приложения корректной на обоих доменах ВКонтакте — vk.com и vk.ru?\n\nПоскольку некоторые разработчики валидируют входящие запросы и указывают в конфигурации мини-приложения адреса надёжных сайтов, не забудьте добавить домен vk.ru в white list. Это нужно, чтобы ваше мини-приложение работало корректно у пользователей, которые запустили его на домене vk.ru.\n\nЕсли в своих мини-приложениях при отправке ответов с сервера вы используете заголовок X-Frame-Options(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options), то рекомендуем внести правки, чтобы поддержать новые значения — vk.ru и m.vk.ru.\n\n### У меня возникли проблемы при разработке мини-приложения в режиме инкогнито\n\nИз-за политик безопасности некоторые браузеры блокируют куки и localStorage в режиме инкогнито. Поэтому некоторые мини-приложения падают при обращении к localStorage через JavaScript. Используйте следующие методы VK Bridge вместо сохранения данных в localStorage:\n\n* `VKWebAppStorageSet`(bridge/VKWebAppStorageSet)\n* `VKWebAppStorageGetKeys`(bridge/VKWebAppStorageGetKeys)\n* `VKWebAppStorageGet`(bridge/VKWebAppStorageGet)},language:ru,variant:public,expireDate:1668441590536,isManuallyExpired:false},/api/community-events/json-schema:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Сообщества и пользователи | События в сообществах,id:api__community-events__json-schema,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/community-events/json-schema,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# События в сообществах\n\nСобытие представляет собой JSON, имеющий следующую структуру:\n```JSON\n{\n \type\: \u003cтип события\u003e,\n \object\: \u003cобъект, инициировавший событие\u003e,\n \group_id\: \u003cID сообщества, в котором произошло событие\u003e\n}\n```\n\nНапример:\n```JSON\n{\n \type\: \group_join\,\n \object\: {\n \user_id\: 1,\n \join_type\: \approved\\n },\n \group_id\: 1\n}\n```\n\nСтруктура объекта в поле `object` зависит от типа уведомления. Ниже перечислены все типы уведомлений и соответствующие им объекты, которые поддерживаются в Callback API(api/callback/getting-started) и Bots Long Poll API(api/bots-long-poll/getting-started).\n\n## Сообщения\n\n#### Тип события:\n\n* `message_new` — входящее сообщение.\n\n#### Формат поля `object`:\n\n* Для версий API ниже 5.103: Личное сообщение(reference/objects/message). \n\n* Для версий API 5.103 и выше: объект, содержащий следующие поля: \n\n* `message` — личное сообщение(reference/objects/message); \n* `client_info` — информация о функциях, доступных пользователю(api/bots/getting-started#Информация%20о%20доступных%20пользователю%20функциях). \n\n#### Тип события:\n\n* `message_reply` — новое исходящее сообщение;\n* `message_edit` — редактирование сообщения.\n\n#### Формат поля `object`:\n\n* Личное сообщение(reference/objects/message)\n\n#### Тип события:\n\n* `message_allow` — подписка на сообщения от сообщества.\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя;\n* `key` (`string`) — параметр, переданный в методе `messages.allowMessagesFromGroup`(method/messages.allowMessagesFromGroup). \n\n#### Тип события:\n\n* `message_deny` — новый запрет сообщений от сообщества.\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя. \n\n#### Тип события:\n\n* `message_typing_state` — статус набора текста.\n\n#### Формат поля `object`:\n\n* `state` (`string`) — состояние статуса набора текста; \n* `from_id` (`integer`) — идентификатор пользователя, который набирает текст; \n* `to_id` (`integer`) — идентификатор сообщества, которому пользователь пишет сообщение. \n\n#### Тип события:\n\n* `message_event` — действие с сообщением. Используется для работы с Callback-кнопками(api/bots/development/keyboard#Callback-кнопки)\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя; \n* `peer_id` (`integer`) — идентификатор диалога со стороны бота; \n* `event_id` (`string`) — случайная строка. Активна в течение минуты, спустя минуту становится недействительной; \n* `payload` (`string`) — дополнительная информация; \n* `conversation_message_id` (`integer`) — идентификатор сообщения в беседе. \n\n## Фотографии\n\n#### Тип события:\n\n* `photo_new` — добавление фотографии\n\n#### Формат поля `object`:\n\n* Объект фотографии(reference/objects/photo)\n\n#### Тип события:\n\n* `photo_comment_new` — добавление комментария к фотографии;\n* `photo_comment_edit` — редактирование комментария к фотографии;\n* `photo_comment_restore` — восстановление комментария к фотографии.\n\n#### Формат поля `object`:\n\nОбъект комментария на стене(reference/objects/comment) с дополнительными полями: \n\n* `photo_id` (`integer`) — идентификатор фотографии; \n* `photo_owner_id` (`integer`) — идентификатор владельца фотографии. \n\n## Аудиозаписи\n\n#### Тип события:\n\n* `audio_new` — добавление аудио.\n\n#### Формат поля `object`:\n\n* Объект аудиозаписи(reference/objects/audio).\n\n## Видеозаписи\n\n#### Тип события:\n\n* `video_new` — добавление видео.\n\n#### Формат поля `object`:\n\n* Объект видеозаписи(reference/objects/video) \n\n#### Тип события:\n\n* `video_comment_new` — комментарий к видео;\n* `video_comment_edit` — редактирование комментария к видео;\n* `video_comment_restore` — восстановление комментария к видео.\n\n#### Формат поля `object`:\n\nОбъект комментария на стене(reference/objects/comment) с дополнительными полями: \n\n* `video_id` (`integer`) — идентификатор видеозаписи; \n* `video_owner_id` (`integer`) — идентификатор владельца видеозаписи. \n\n#### Тип события:\n\n* `video_comment_delete` — удаление комментария к видео\n\n#### Формат поля `object`:\n\n* `owner_id` (`integer`) — идентификатор владельца видео; \n* `id` (`integer`) — идентификатор комментария; \n* `user_id` (`integer`) — идентификатор автора комментария; \n* `deleter_id` (`integer`) — идентификатор пользователя, который удалил комментарий; \n* `video_id` (`integer`) — идентификатор видео. \n\n## Записи на стене\n\n#### Тип события:\n\n* `wall_post_new` — запись на стене;\n* `wall_repost` — репост записи из сообщества.\n\n#### Формат поля `object`:\n\nОбъект записи на стене(reference/objects/post) с дополнительными полями: \n\n* `postponed_id` (`integer`) — идентификатор отложенной записи; \n\nДля записей, размещённых от имени пользователя, `from_id \u003e 0`.\n\n## Комментарии на стене\n\n#### Тип события:\n\n* `wall_reply_new` — добавление комментария на стене;\n* `wall_reply_edit` — редактирование комментария на стене;\n* `wall_reply_restore` — восстановление комментария на стене.\n\n#### Формат поля `object`:\n\nОбъект комментария на стене(reference/objects/comment) с дополнительными полями: \n\n* `post_id` (`integer`) — идентификатор записи; \n* `post_owner_id` (`integer`) — идентификатор владельца записи. \n\n#### Тип события:\n\n* `wall_reply_delete` — удаление комментария на стене.\n\n#### Формат поля `object`:\n\n* `owner_id` (`integer`) — идентификатор владельца стены; \n* `id` (`integer`) — идентификатор комментария; \n* `deleter_id` (`integer`) — идентификатор пользователя, который удалил комментарий; \n* `post_id` (`integer`) — идентификатор записи, к которой был оставлен комментарий. \n\n## Отметки Мне нравится\n\n#### Тип события:\n\n* `like_add` — событие о новой отметке **Мне нравится**.\n\n#### Формат поля `object`:\n\n* `liker_id` — идентификатор пользователя, который поставил отметку. \n* `object_type` — тип материала. \n Возможные значения: \n * `video` — видеозапись; \n * `photo` — фотография; \n * `comment` — комментарий; \n * `note` — заметка; \n * `topic_comment` — комментарий в обсуждении; \n * `photo_comment` — комментарий к фотографии; \n * `video_comment` — комментарий к видеозаписи; \n * `market` — товар; \n * `market_comment` — комментарий к товару. \n* `object_owner_id` — идентификатор владельца материала. \n* `object_id` — идентификатор материала. \n* `thread_reply_id` — идентификатор родительского комментария или записи. \n* `post_id` — идентификатор записи (возвращается для комментария, оставленного под записью). \n\n#### Тип события:\n\n* `like_remove` — событие о снятии отметки **Мне нравится**.\n\n#### Формат поля `object`:\n\n* `liker_id` — идентификатор пользователя, который снял отметку. \n* `object_type` — тип материала. \n Возможные значения: \n * `video` — видеозапись; \n * `photo` — фотография; \n * `comment` — комментарий; \n * `note` — заметка; \n * `topic_comment` — комментарий в обсуждении; \n * `photo_comment` — комментарий к фотографии; \n * `video_comment` — комментарий к видеозаписи; \n * `market` — товар; \n * `market_comment` — комментарий к товару. \n* `object_owner_id` — идентификатор владельца материала. \n* `thread_reply_id` — идентификатор родительского комментария или записи. \n* `post_id` — идентификатор записи (возвращается для комментария, оставленного под записью). \n* `object_id` — идентификатор материала. \n\n## Обсуждения\n\n#### Тип события:\n\n* `board_post_new` — создание комментария в обсуждении;\n* `board_post_edit` — редактирование комментария;\n* `board_post_restore` — восстановление комментария.\n\n#### Формат поля `object`:\n\nОбъект комментария в обсуждении(reference/objects/comment-topic) с дополнительными полями: \n\n- `topic_id` (`integer`) — идентификатор обсуждения; \n- `topic_owner_id` (`integer`) — идентификатор владельца обсуждения. \n\n#### Тип события:\n\n* `board_post_delete` — удаление комментария в обсуждении.\n\n#### Формат поля `object`:\n\n* `topic_owner_id` (`integer`) — идентификатор владельца обсуждения. \n* `topic_id` (`integer`) — идентификатор обсуждения.\n* `id` (`integer`) — идентификатор комментария.\n\n## Товары\n\n#### Тип события:\n\n* `market_comment_new` — новый комментарий к товару;\n* `market_comment_edit` — редактирование комментария к товару;\n* `market_comment_restore` — восстановление комментария к товару.\n\n#### Формат поля `object`:\n\nОбъект комментария на стене(reference/objects/comment) с дополнительными полями: \n\n- `market_owner_id` (`integer`) — идентификатор владельца товара. \n- `item_id` (`integer`) — идентификатор товара. \n\n#### Тип события:\n\n* `market_comment_delete` — удаление комментария к товару.\n\n#### Формат поля `object`:\n\n- `owner_id` (`integer`) — идентификатор владельца товара; \n- `id` (`integer`) — идентификатор комментария; \n- `user_id` (`integer`) — идентификатор автора комментария; \n- `deleter_id` (`integer`) — идентификатор пользователя, который удалил комментарий; \n- `item_id` (`integer`) — идентификатор товара. \n\n#### Тип события:\n\n* `market_order_new` — новый заказ.\nДля того, чтобы включить событие, в настройках сообщества необходимо включить расширенные товары.\n\n#### Формат поля `object`:\n\n* Заказ(reference/objects/market-order).\n\n#### Тип события:\n\n* `market_order_edit` — редактирование заказа.\nДля того, чтобы включить событие, в настройках сообщества необходимо включить расширенные товары.\n\n#### Формат поля `object`:\n\n* Заказ(reference/objects/market-order).\n\n## Пользователи\n\n#### Тип события:\n\n* `group_leave` — удаление участника из сообщества.\n\n#### Формат поля `object`:\n\n- `user_id` (`integer`) — идентификатор пользователя. \n- `self` (`integer`, `0`,`1`) — значение, указывающее, был пользователь удален или вышел самостоятельно. \n\n#### Тип события:\n\n* `group_join` — добавление участника или заявки на вступление в сообщество.\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя;\n* `join_type` (`string`) — указывает, как именно был добавлен участник.\n\nВозможные значения: \n * `join` — пользователь вступил в группу или мероприятие (подписался на публичную страницу);\n * `unsure` — для мероприятий: пользователь выбрал вариант «Возможно, пойду»; \n * `accepted` — пользователь принял приглашение в группу или на мероприятие; \n * `approved` — заявка на вступление в группу/мероприятие была одобрена руководителем сообщества; \n * `request` — пользователь подал заявку на вступление в сообщество. \n\n#### Тип события:\n\n* `user_block` — добавление пользователя в чёрный список.\n\n#### Формат поля `object`:\n\n* `admin_id` (`integer`) — идентификатор администратора, который внёс пользователя в чёрный список; \n* `user_id` (`integer`) — идентификатор пользователя; \n* `unblock_date` (`integer`) — дата разблокировки; \n* `reason` (`integer`) — причина блокировки. Возможные значения: `0` — другое (по умолчанию); `1` — спам; `2` — оскорбление участников; `3` — нецензурные выражения; `4` — сообщения не по теме; \n* `comment` (`string`) — комментарий администратора к блокировке.\n\n#### Тип события:\n\n* `user_unblock` — удаление пользователя из чёрного списка.\n\n#### Формат поля `object`:\n\n* `admin_id` (`integer`) — идентификатор администратора, который убрал пользователя из чёрного списка; \n* `user_id` (`integer`) — идентификатор пользователя; \n* `by_end_date` (`integer`) — дата разблокировки.\n\n## Прочее\n\n#### Тип события:\n\n* poll_vote_new — добавление голоса в публичном опросе.\n\n#### Формат поля `object`:\n\n* owner_id (`integer`) — идентификатор владельца опроса; \n* poll_id (`integer`) — идентификатор опроса; \n* option_id (`integer`) — идентификатор варианта ответа; \n* user_id (`integer`) — идентификатор пользователя; \n\n#### Тип события:\n\n* `group_officers_edit` — редактирование списка руководителей.\n\n#### Формат поля `object`:\n\n- `admin_id` (`integer`) — идентификатор руководителя, который внёс изменения; \n- `user_id` (`integer`) — идентификатор пользователя, чьи полномочия были изменены; \n- `level_old` (`integer`) — старый уровень полномочий; \n- `level_new` (`integer`) — новый уровень полномочий.\n\nПоля `level_old` и `level_new` могут принимать значения: \n\n* `0` — нет полномочий; \n* `1` — модератор; \n* `2` — редактор; \n* `3` — администратор. \n\n#### Тип события:\n\n* `group_change_settings` — изменение настроек сообщества.\n\n#### Формат поля `object`:\n\n* `user_id` — идентификатор пользователя, который внёс изменения; \n* `changes` — описание внесённых изменений. Объект, который содержит следующие поля: \n * `{FIELD}` — название секции или раздела, который был изменён. \n * `{FIELD}` может принимать значения: \n * `title` — название; \n * `description` — описание; \n * `access` — тип группы; \n * `screen_name` — короткий адрес; \n * `public_category` — категория публичной страницы; \n * `public_subcategory` — подкатегория публичной страницы; \n * `age_limits` — возрастные ограничения; \n * `website` — веб-сайт; \n * `enable_{SECTION}` — изменение настроек доступа к разделу. `{SECTION}` может принимать значения: `status_default`, `audio`, `photo`, `video`, `market`. \n * `old_value` — старое значение; \n * `new_value` — новое значение.\n\n#### Тип события:\n\n* `group_change_photo` — изменение главного фото.\n\n#### Формат поля `object`:\n\n* `user_id` — идентификатор пользователя, который внёс изменения; \n* `photo` — объект, описывающий фотографию(reference/objects/photo). \n\n#### Тип события:\n\n* `vkpay_transaction` — платёж через VK Pay.\n\n#### Формат поля `object`:\n\n* `from_id` — идентификатор пользователя-отправителя перевода; \n* `amount` — сумма перевода в тысячных рубля; \n* `description` — комментарий к переводу; \n* `date` — время отправки перевода в `Unixtime`. \n\n#### Тип события:\n\n* `app_payload` — событие в VK Mini Apps.\n\n**Формат поля object:**\n\n- `user_id` — идентификатор пользователя, по действию которого в приложении отправлено событие; \n- `app_id` — идентификатор приложения, из которого было отправлено событие; \n- `payload` — переданные полезные данные; \n- `group_id` — идентификатор сообщества, в которое отправлено уведомление; \n\n## Платные подписки VK Donut\n\n#### Тип события:\n\n* `donut_subscription_create` — создание подписки VK Donut(api/donut/getting-started).\n\n#### Формат поля `object`:\n\n* `amount` (`integer`) — сумма в рублях; \n* `amount_without_fee` (`float`) — сумма без комиссии (в рублях); \n* `user_id` (`integer`) — идентификатор пользователя;\n\n#### Тип события:\n\n* `donut_subscription_prolonged` — продление подписки.\n\n#### Формат поля `object`:\n\n* `amount` (`integer`) — сумма в рублях; \n* `amount_without_fee` (`float`) — сумма без комиссии (в рублях); \n* `user_id` (`integer`) — идентификатор пользователя. \n\n#### Тип события:\n\n* `donut_subscription_expired` — подписка истекла.\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя. \n\n#### Тип события:\n\n* `donut_subscription_cancelled` — отмена подписки.\n\n#### Формат поля `object`:\n\n* `user_id` (`integer`) — идентификатор пользователя. \n\n#### Тип события:\n\n* `donut_subscription_price_changed` — изменение стоимости подписки.\n\n#### Формат поля `object`:\n\n* `amount_old` (`integer`) — старая цена в рублях; \n* `amount_new` (`integer`) — новая цена в рублях; \n* `amount_diff` (`float`) — сумма доплаты в рублях; \n* `amount_diff_without_fee` (`float`) — сумма доплаты без комиссии (в рублях); \n* `user_id` (`integer`) — идентификатор пользователя. \n\n#### Тип события:\n\n* `donut_money_withdraw` — вывод денег.\n\n#### Формат поля `object`:\n\n* `amount` (`float`) — сумма в рублях; \n* `amount_without_fee` (`float`) — сумма без комиссии (в рублях). \n\n#### Тип события:\n\n* `donut_money_withdraw_error` — ошибка вывода денег.\n\n#### Формат поля `object`:\n\n* `reason` (`string`) — причина ошибки.},language:ru,variant:public,expireDate:1668441815999,isManuallyExpired:false},/privacy-policy:{type:article,layout:internal,template:/article,contents:{title:Правила | Типовая политика конфиденциальности,id:privacy-policy,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:privacy-policy,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Типовая политика конфиденциальности\n\n## 1. Основные понятия \n\n**1.1.** **Сайт** – сайт, расположенный в сети Интернет по адресу http://vk.com/.\n**1.2.** **Разработчик** – физическое или юридическое лицо, размещающее приложение на Сайте и использующее его в соответствии с Условиями размещения приложений и Правилами размещения приложений на Сайте. Фамилия, имя и отчество либо наименование Разработчика, а также иная информация о нем указаны в разделе «Информация о разработчике» в окне запуска Приложения и в настройках Приложения.\n**1.3.** **Администрация Сайта** – общество с ограниченной ответственностью «В Контакте», расположенное по адресу: 191024, Санкт-Петербург, ул. Херсонская, д. 12-14, литер А, помещение 1-Н, ОГРН 1079847035179, ИНН 7842349892.\n**1.4.** **Приложение** – программный сервис, размещенный Разработчиком на Сайте в разделе «Приложения», включенный в каталог приложений.\n**1.5.** **Пользователь** – Пользователь Сайта, зарегистрированный в установленном порядке и использующий Приложение.\n**1.6.** **Политика** – настоящая Типовая политика конфиденциальности разработчиков приложений для Сайта.\n\n## 2. Общие положения \n\n**2.1.** Настоящая Политика является официальным типовым документом Разработчиков, и определяет порядок обработки и защиты информации о физических лицах, использующих Приложения. Настоящая Политика не распространяет свое действие на Разработчиков, которые опубликовали и применяют свой собственный документ, определяющий политику в отношении обработки персональных данных Пользователей.\n**2.2.** Целью настоящей Политики является обеспечение надлежащей защиты информации о Пользователях, в том числе их персональных данных, от несанкционированного доступа и разглашения.\n**2.3.** Отношения, связанные со сбором, хранением, распространением и защитой информации о Пользователях, регулируются настоящей Политикой, иными официальными документами Разработчиков и действующим российским законодательством.\n**2.4.** Действующая редакция Политики, являющейся публичным документом, разработана Администрацией Сайта и доступна любому Пользователю сети Интернет при переходе по гипертекстовой ссылке «Политика конфиденциальности разработчика приложения».\nАдминистрация Сайта вправе вносить изменения в настоящую Политику. При внесении изменений в Политику Администрация Сайта размещает новую редакцию Политики на Сайте по постоянному адресу https://dev.vk.com/privacy-policy.\nАдминистрация Сайта рекомендует Пользователям регулярно проверять условия настоящих Правил на предмет их изменения и/или дополнения. Продолжение использования Приложений Пользователем после внесения изменений и/или дополнений в настоящие Правила означает принятие и согласие Пользователя с такими изменениями и/или дополнениями.\n**2.5.** Настоящая Политика разработана и используется в соответствии с Правилами пользования сайтом ВКонтакте, размещенными на Сайте по адресу https://vk.com/terms, а также Правилами защиты информации о Пользователях сайта ВКонтакте, размещенными на Сайте по адресу https://vk.com/privacy.\n**2.6.** Используя Приложения, Пользователь выражает свое согласие с условиями настоящей Политики.\n**2.7.** В случае несогласия Пользователя с условиями настоящей Политики использование Приложений должно быть немедленно прекращено.\n\n## 3. Условия пользования Приложений \n\n**3.1.** Оказывая услуги по использованию Приложений, Разработчик, действуя разумно и добросовестно, считает, что Пользователь:\n* обладает всеми необходимыми правами, позволяющими ему осуществлять запуск и использование Приложений.\n* указывает достоверную информацию о себе в объемах, необходимых для пользования Приложений;\n* осознает, что информация, размещаемая в результате использования Пользователем Приложений, может становиться доступной для других Пользователей Приложений, может быть скопирована и распространена такими Пользователями;\n* осознает, что некоторые виды информации, переданные им другим Пользователям при использовании Приложений, не могут быть удалены самим Пользователем;\n* ознакомлен с настоящей Политикой, выражает свое согласие с ней и принимает на себя указанные в ней права и обязанности.\n**3.2.** Разработчик не проверяет достоверность получаемой (собираемой) информации о Пользователях.\n\n## 4. Цели обработки информации\n\nРазработчик осуществляет обработку информации о Пользователях, в том числе их персональных данных, в целях выполнения обязательств Разработчика перед Пользователями в отношении использования Приложения.\n\n## 5. Состав информации о Пользователях\n\nРазработчик обрабатывает информацию о Пользователях, которая включает в себя:\n**5.1.** Персональные данные Пользователей, предоставляемые с согласия и по поручению Пользователей и необходимые для использования Приложений: имя, фамилию, дату рождения, фотографию профиля, список друзей, а также информацию, размещаемую Пользователем на персональной странице (например, из пунктов: «Cтрана», «Интересы», «Любимая музыка», «Образование» и т. д.);\n**5.2.** Дополнительная информация о Пользователях, предоставляемая Администрацией Сайта с согласия Пользователей, если такая информация необходима для использования Приложения (в частности: фотографии, заметки, аудиозаписи, видеозаписи, предложения, вопросы, сообщества, в которых состоит Пользователь);\n**5.3.** Информация, предоставляемая Пользователями при использовании Приложений (например, никнэйм);\n**5.4.** Информация, которая может быть получена Разработчиком в результате действий Пользователей при использовании Приложений (IP-адреса, cookies, статистика использования приложения и т.д.).\n\n## 6. Обработка персональных данных Пользователей \n\n**6.1.** Обработка персональных данных осуществляется на основе принципов:\nа) законности целей и способов обработки персональных данных и добросовестности;\nб) соответствия целей обработки персональных данных целям, заранее определенным и заявленным при сборе персональных данных, а также полномочиям Разработчиков;\nв) соответствия объема и характера обрабатываемых персональных данных, способов обработки персональных данных целям обработки персональных данных;\nг) недопустимости объединения созданных для несовместимых между собой целей баз данных, содержащих персональные данные.\n### 6.1.1. Условия и цели обработки персональных и иных данных\nРазработчик осуществляет обработку персональных и иных данных Пользователя с его согласия, предусмотренного п. 6.1.2 настоящей Политики, в целях оказания услуг Пользователю по использованию Приложений.\n### 6.1.2. Сбор персональных и иных данных\nПерсональные данные Пользователя и информация, предусмотренные пунктами 5.1, 5.3 настоящей Политики, передаются Разработчику Администрацией Сайта с согласия Пользователя, предоставляемого в форме конклюдентного действия при первом запуске и/или использовании Приложения (в частности, при нажатии соответствующей кнопки (при ее наличии) при первом запуске и/или использовании Приложения).\nДополнительная информация о Пользователе, предусмотренная пунктом 5.2 настоящей Политики, передаются Разработчику Администрацией Сайта с согласия Пользователя, предоставляемого в форме конклюдентного действия в виде нажатия на специальную кнопку «Разрешить», появляющейся при первом запуске и/или использовании Приложения, использование которого предполагает получение доступа к информации, предусмотренной пунктом 5.2 настоящих Правил.\nИнформация, предусмотренная п. 5.4 настоящей Политики, собираются Разработчиком без участия Администрацией Сайта с согласия Пользователя, предоставляемого в форме конклюдентного действия при первом запуске и/или использовании Пользователем Приложения (в частности, при нажатии соответствующей кнопки (при ее наличии) при первом запуске и/или использовании Приложения).\n### 6.1.3. Передача персональных данных\nПерсональные данные Пользователей не передаются каким-либо третьим лицам, за исключением случаев, прямо предусмотренных настоящей Политикой.\nПредоставление персональных данных Пользователей по запросу государственных органов (органов местного самоуправления) осуществляется в порядке, предусмотренном законодательством.\n\n**6.2.** Поскольку Приложения являются одним из средств коммуникации и поддержанием связей со старыми и новыми знакомыми, следующая информация может быть доступна другим Пользователям данного Приложения:\n**6.2.1.** фамилия и имя Пользователя,\n**6.2.2.** профильная фотография Пользователя,\n**6.2.3.** информация об использовании Пользователем Приложения, а также о действиях Пользователя при использовании Приложения.\nПользователям, имеющим на Сайте статус друзей конкретного Пользователя, может передаваться информация о факте использования таким Пользователем Приложения\n**6.3.** Хранение персональных и иных необходимых данных Пользователя осуществляется в течение срока использования Приложения, а после прекращения использования Приложения – в течение необходимого и установленного действующим законодательством Российской Федерации срока.\n\n## 7. Права и обязанности Пользователей\n\n### 7.1. Пользователи вправе:\n**7.1.1.** осуществлять свободный бесплатный доступ к информации о себе посредством запуска используемых ими Приложений на Сайте;\n**7.1.2.** на основании запроса получать от Разработчика информацию, касающуюся обработки его персональных данных.\n\n## 8. Меры по защите информации о Пользователях \n\nРазработчик принимает технические и организационно-правовые меры в целях обеспечения защиты персональных данных Пользователя от неправомерного или случайного доступа к ним, уничтожения, изменения, блокирования, копирования, распространения, а также от иных неправомерных действий. Описание соответствующих технических и организационно-правовых мер содержится в локальных нормативных актах Разработчика.\n\n## 9. Ограничение действий Политики\n\nДействие настоящей Политики не распространяется на действия и интернет-ресурсы третьих лиц.\n\nРазработчик не несет ответственности за действия третьих лиц, получивших в результате использования Приложения доступ к информации о Пользователе, которая, в силу природы Сайта, доступна любому Пользователю сети Интернет. Разработчик рекомендует Пользователям ответственно подходить к решению вопроса об объеме информации о себе, размещаемой на Сайте.\n\n## 10. Обращения Пользователей\n\n**10.1.** Пользователи вправе направлять Разработчику свои запросы, в том числе запросы относительно использования их персональных данных, предусмотренные п. 7.1.2 настоящей Политики, в письменной форме по адресу, указанному в разделе «Настройки» Приложения, или в форме электронного документа, подписанного квалифицированной электронной подписью в соответствии с законодательством Российской Федерации, по адресу электронной почты, указанному в разделе «Настройки» Приложения.\n**10.2.** Запрос, направляемый Пользователем, должен содержать следующую информацию:\n* номер основного документа, удостоверяющего личность Пользователя или его представителя;\n* сведения о дате выдачи указанного документа и выдавшем его органе;\n* сведения, подтверждающие участие Пользователя в отношениях с Разработчиком (в частности, сведения о загрузке приложения на персональную страницу, никнейм, используемый Пользователем при использовании Приложения);\n* подпись Пользователя или его представителя.\n**10.3.** Разработчик обязуется рассмотреть и направить ответ на поступивший запрос Пользователя в течение 30 дней с момента поступления обращения.\n**10.4.** Вся корреспонденция, полученная Разработчиком от Пользователей (обращения в письменной или электронной форме), относится к информации ограниченного доступа и не разглашается без письменного согласия Пользователя. Персональные данные и иная информация о Пользователе, направившем запрос, не могут быть без специального согласия Пользователя использованы иначе, как для ответа по теме полученного запроса или в случаях, прямо предусмотренных законодательством.},language:ru,variant:public,expireDate:1668442055509,isManuallyExpired:false},/api/callback/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Сообщества и пользователи | Callback API,id:api__callback__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/callback/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Callback API\n\n**Callback API** — это инструмент для отслеживания активности пользователей в вашем сообществе ВКонтакте. С его помощью вы можете реализовать, например:\n* Бота для отправки мгновенных ответов на поступающие сообщения.\n* Систему автоматической модерации контента.\n* Сервис для сбора и обработки показателей вовлеченности аудитории.\n\nЧтобы начать использовать Callback API, подключите свой сервер в настройках сообщества (**Управление сообществом** \u0026rarr; **Настройки** \u0026rarr; **Работа с API**). Выберите типы событий, данные о которых требуется получать, например, новые комментарии и новые фотографии.\n\nКогда в сообществе произойдет событие выбранного типа, ВКонтакте отправит на ваш сервер запрос с данными в формате JSON(https://ru.wikipedia.org/wiki/JSON) с основной информацией об объекте, вызвавшем событие (например, добавленный комментарий).\n\n\u003e В ответ на каждое уведомление о событии ваш сервер должен отправить строку `ok`.\n\nВам больше не нужно регулярно повторять запросы к API, чтобы отслеживать обновления — теперь вы будете получать их мгновенно.\n\n## Работа с Callback API\n\n### Подключение Callback API\n\nДля подключения Callback API нужно открыть раздел **Управление сообществом** (**Управление страницей**, если у вас публичная страница), перейти во вкладку **Работа с API**.\n\nДалее необходимо указать и подтвердить конечный адрес сервера, куда будут направлены все запросы. Вы можете подключить до 10 серверов для Callback API, задать каждому из них отдельный набор событий и версию API.\n\nПосле указания адреса сервера и нажатия на кнопку подтвердить на указанный вами адрес отправится запрос с уведомлением типа `confirmation`. Ваш сервер должен вернуть заданную строку.\n\n!(a68caccbce8029cfae9738f670f09c3dbca9a964a1baab43f81111ba \-1995481723350869142\)\n\n\u003e **Обратите внимание:** строка подтверждения меняется время от времени. Если вы добавляете новый сервер или редактируете настройки старого, то необходимо указать новую строку подтверждения. Получить строку подтверждения можно с помощью метода `groups.getCallbackConfirmationCode`(method/groups.getCallbackConfirmationCode). Также ее можно посмотреть в управлении сообществом.\n\u003e\n\u003e Строку подтверждения, которую возвращает метод, можно использовать только для настройки сервера с помощью API. В настройках вашего сообщества на сайте ВКонтакте код будет отличаться.\n\nПосле подтверждения адреса сервера вам станут доступны настройки уведомлений.\n\nВо вкладке **Запросы** вы сможете видеть историю событий и содержимое запросов, отправленных на ваш сервер.\n\n\u003e **Обратите внимание:** после получения уведомления ваш сервер должен возвращать строку `ok` и статус HTTP 200. Если сервер несколько раз подряд вернет ошибку, Callback API временно перестанет отправлять на него уведомления.\n\nДобавлять, удалять и редактировать сервера для Callback API вы также можете с помощью методов секции `groups`(method/groups).\n\n### Удаление сервера\n\nДля удаления сервера вы можете отправить `remove` в ответ на уведомление о любом событии.\n\n## Версия API\n\nВ зависимости от указанной версии объекты в событиях будут иметь разный формат. Ознакомиться с отличиями версий можно на этой странице(reference/versions).\n\n### Секретный ключ\n\nВ поле **Секретный ключ** вы можете указать произвольную строку, которая будет передаваться в уведомлении на ваш сервер в поле `secret`.\n\n### SSL-сертификат\n\nЧтобы гарантировать безопасность передачи данных, мы рекомендуем загрузить SSL-сертификат в настройках Callback API вашего сообщества.\n\nПодробная информация о сертификате приведена ниже.\n\n### Настройка через API\n\nВы можете управлять настройками Callback API в вашем сообществе не только в веб-интерфейсе, но и с помощью методов API:\n* `groups.addCallbackServer`(method/groups.addCallbackServer) — добавляет сервер Callback API в сообщество;\n* `groups.deleteCallbackServer`(method/groups.deleteCallbackServer) — удаляет сервер Callback API;\n* `groups.editCallbackServer`(method/groups.editCallbackServer) — редактирует данные сервера Callback API;\n* `groups.getCallbackConfirmationCode`(method/groups.getCallbackConfirmationCode) — получает код подтверждения для подключения сервера Callback API;\n* `groups.getCallbackServers`(method/groups.getCallbackServers) — получает список подключенных серверов в сообществе;\n* `groups.getCallbackSettings`(method/groups.getCallbackSettings) — получает настройки событий для сервера Callback API;\n* `groups.setCallbackSettings`(method/groups.setCallbackSettings) — устанавливает настройки событий для сервера Callback API.\n\n### Изменение версии API\n\nФормат присылаемых данных(#Формат%20данных) может меняться в зависимости от версии API ВКонтакте(reference/versions). Если формат отличается от ожидаемого, то при обработке входящего сообщения может произойти ошибка.\n\nЧтобы избежать ошибки, укажите ожидаемую версию API ВКонтакте, которую платформа будет использовать для обмена данными с вашим сервером. Указать версию API можно через пользовательский интерфейс ВКонтакте или с помощью методов API.\n\n#### Через пользовательский интерфейс\n\n1. Перейдите на страницу **Управление сообществом**, далее в **Настройки** \u0026rarr; **Работа с API**.\n\n2. Перейдите на вкладку **Callback API** и в **Настройках сервера** выберите версию API.\n\n !altВыбор версии API ВКонтакте;titleВыбор версии API ВКонтакте(32fda8b851331aa7c2d62a7c7d326a454874a658fd3f2ca0a9d5b915 \930945568726932109\)\n\n\u0026#x0d;\u0026#x0a;\u0026nbsp;\u0026#x0d;\u0026#x0a;\n\n#### Через API ВКонтакте\n\nВоспользуйтесь одним из следующих способов:\n\n* Отправьте API-запрос groups.setCallbackSettings(method/groups.setCallbackSettings).\n Укажите желаемую версию API в параметре `api_version` этого запроса. Номер версии указывайте так, как он отображается в пользовательском интерфейсе в выпадающем списке на вкладке **Callback API**.\n\n — либо —\n\n* Передайте желаемый номер версии API в ответ на любой запрос, который пришёл по каналу Сallback API. В ответе используйте строку вида:\n\n `version 5.131`\n\n Обратите внимание на пробел после слова `version`.\n\n Номер версии указывайте так, как он отображается в пользовательском интерфейсе в выпадающем списке на вкладке **Callback API**.\n\n Поддерживается версия `5.50` и более поздние.\n\n### HTTP-заголовки\n\n#### X-Retry-Counter\n\nЗаголовок X-Retry-Counter возвращается, если предыдущая попытка отправки события потерпела неудачу (например, из-за того, что ваш сервер не отправил строку `ok` в ответ на уведомление о событии).\nЗаголовок содержит информацию о количестве неудачных попыток.\nПромежутки времени, через которые событие будет отравлено повторно:\n* первое — через 10 секунд,\n* второе — через 3 минуты,\n* третье — через 10 минут,\n* четвёртое — через 30 минут,\n* пятое — через 1 час.\n\n#### Retry-After\n\nВы можете отправить заголовок Retry-After вместе с HTTP-кодами `410`, `429` или `503` и интервалом времени, через который надо будет повторить запрос. Время укажите в секундах или в формате HTTP-Date(https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Date). Диапазон времени переотправки должен быть меньше 3 часов.\n\n\u003e **Обратите внимание!**\n\u003e Фактическое время переотправки уведомления о событии может оказаться больше указанного.\n\n## Формат данных\n\nКогда происходит событие, вы получаете данные в JSON, имеющем следующую структуру:\n\n```JSON\n{\n \type\: \u003cтип события\u003e,\n \event_id\: \u003cидентификатор события\u003e,\n \v\: \u003cверсия API, для которой сформировано событие\u003e,\n \object\: \u003cобъект, инициировавший событие\u003e,\n \group_id\: \u003cID сообщества, в котором произошло событие\u003e\n}\n```\n\nНапример:\n\n```JSON\n{\n \type\: \group_join\,\n \event_id\: 12345,\n \v\: \:version\,\n \object\: {\n \user_id\: 1,\n \join_type\: \approved\\n },\n \group_id\: 1\n}\n```\n\n### Типы событий\n\nСтруктура объекта в поле `object` зависит от типа уведомления. Полный список событий вы найдёте на этой странице(api/community-events/json-schema).\n\n## Пример использования\n\nВ нашем примере скрипт на PHP обрабатывает уведомления о новом сообщении и отправляет ответ его автору от имени сообщества.\n\n```PHP\n\u003c?php\nif (!isset($_REQUEST)) {\nreturn;\n}\n\n//Строка для подтверждения адреса сервера из настроек Callback API\n$confirmation_token d8v2ve07;\n\n//Ключ доступа сообщества\n$token c0223f775444cf3d58a8a1442ec76a9571c8f58e3e24616d9440f73dc43022bbead9b2e576cb41d09c0a1;\n\n//Получаем и декодируем уведомление\n$data json_decode(file_get_contents(php://input));\n\n//Проверяем, что находится в поле \type\\nswitch ($data-\u003etype) {\n//Если это уведомление для подтверждения адреса...\ncase confirmation:\n//...отправляем строку для подтверждения\necho $confirmation_token;\nbreak;\n\n//Если это уведомление о новом сообщении...\ncase message_new:\n//...получаем id его автора\n$user_id $data-\u003eobject-\u003emessage-\u003efrom_id;\n//затем с помощью users.get получаем данные об авторе\n$user_info json_decode(file_get_contents(\https://api.vk.com/method/users.get?user_ids{$user_id}\u0026access_token{$token}\u0026v5.103\));\n\n//и извлекаем из ответа его имя\n$user_name $user_info-\u003eresponse0-\u003efirst_name;\n\n//С помощью messages.send отправляем ответное сообщение\n$request_params array(\nmessage \u003e \Hello, {$user_name}!\,\npeer_id \u003e $user_id,\naccess_token \u003e $token,\nv \u003e 5.103,\nrandom_id \u003e 0\n);\n\n$get_params http_build_query($request_params);\n\nfile_get_contents(https://api.vk.com/method/messages.send?. $get_params);\n\n//Возвращаем \ok\ серверу Callback API\n\necho(ok);\n\nbreak; \n\n} \n?\u003e\n\n```\n\n## Поддержка в SDK\n\nВы можете работать с Callback API средствами наших SDK:\n* Java SDK(sdk/java),\n* PHP SDK(sdk/php).\n\n## Что такое SSL-сертификат\n\n**SSL** — это протокол, позволяющий защитить запросы, которые принимает ваш сервер, от подмены, перехвата и модификации третьей стороной. Для работы SSL на сервере, который получает запрос, и на клиенте, который его отправляет, должны присутствовать специальные цифровые сертификаты — их наличие (и соответствие друг другу) позволяет установить защищенное (`HTTPS`) соединение. \n\nЗагрузив файл клиентского сертификата (в формате `PKCS#12`, вместе с закрытым ключом) в интерфейсе Callback API(api/callback/getting-started) вашего сообщества и настроив свой сервер для работы с этим сертификатом, вы сможете быть уверены, что уведомление поступило именно от нашего сервиса — не имея ключа от сертификата, подделать такой запрос или перехватить его будет невозможно. Этот механизм называется аутентификацией по сертификату. \n\n\u003e Мы рекомендуем прочитать эти статьи перед началом работы, если ранее вы не имели дела с аутентификацией в web, и пока не знаете, что такое SSL-сертификат:\n\u003e\n\u003e * Различные подходы к аутентификации в web(https://habrahabr.ru/company/dataart/blog/262817/)\n\u003e\n\u003e * SSL сертификаты и их разновидности(https://habrahabr.ru/company/tuthost/blog/150433/)\n\n\nСерверный сертификат должен быть выдан авторизованным центром сертификации — его валидность будет проверяться на стороне ВКонтакте. Клиентский сертификат для Callback API может быть самозаверенным, инструкцию по его созданию мы разместили для вас на этой странице. Вы можете использовать клиентский сертификат с любым уровнем валидации, с нашей стороны нет специфических требований к условиям его выдачи. Необходимо лишь, чтобы ваш сервер поддерживал работу с сертификатом выбранного типа и мог проверить его наличие и соответствие вашим настройкам доступа.\n\nДля создания сертификата вам потребуется использовать OpenSSL. Установить эту программу можно по одной из ссылок с официального сайта(https://wiki.openssl.org/index.php/Binaries). Мы настоятельно рекомендуем вам сгенерировать отдельный сертификат для Callback API и не использовать для этих целей сертификат, созданный для другого сервиса.\n\n### Создание клиентского самоподписанного сертификата в OpenSSL\n\nДля создания сертификата введите такую команду:\n\n```sh\nopenssl req -newkey rsa:2048 -sha256 -nodes -keyout vkapi.key -x509 -days 365 -out vkapi.crt -subj \/CRU/STSaint Petersburg/LSaint Petersburg/OVK API Club/CNvkapi\\n```\n\nВ нашем примере использованы следующие параметры:\n`req` — означает запрос на создание нового сертификата;\n`-newkey rsa:2048` — будет создан новый закрытый RSA-ключ длиной 2048 бита. Длину ключа вы можете настроить по своему усмотрению.\n`-sha256` — используемый алгоритм хеширования(https://ru.wikipedia.org/wiki/SHA-2) (мы рекомендуем использовать именно это значение).\n`-nodes` — указывает, что закрытый ключ шифровать не нужно.\n`-keyout vkapi.key` — указывает, что закрытый ключ нужно сохранить в файле с именем `vkapi.key`.\n`-x509` — указывает, что нужно создать самоподписанный сертификат.\n`-days 365` — указывает период действия вашего сертификата (в данном случае — один год).\n`-out vkapi.crt` — указывает, что сертификат нужно сохранить в файле с именем `vkapi.crt`.\n`-subj \/CRU/STSaint Petersburg/LSaint Petersburg/OVK API Club/CNvkapi\` — данные вашего сертификата:\n* `C` — код страны (состоит из двух букв);\n* `ST` — регион;\n* `L` — город;\n* `O` — название организации;\n* `CN` — Common Name, имя сертификата (для клиентского сертификата может быть произвольным).\n\nВы можете использовать значения из `subj` для дополнительной идентификации сертификата, в этом параметре допустимы произвольные данные. Например, можно проверять на стороне сервера, что в CN передается именно та строка, что была задана вами (в нашем примере — `vkapi`).\n\nПосле выполнения команды в каталоге OpenSSL появятся два файла — `vkapi.key`, содержащий закрытый ключ, и `vkapi.crt`, содержащий сертификат. Необходимо конвертировать их в формат `.p12`.\n\n### Экспорт в PKCS#12\n\nЧтобы конвертировать сертификат в PKCS#12, используйте следующую команду:\n\n```\nopenssl pkcs12 -export -in vkapi.crt -name \Test\ -descert -inkey vkapi.key -out vkapi.p12\n```\n\nПараметры из нашего примера:\n`pkcs12` — означает работу с файлами в PKCS#12;\n`-export` — запрос на экспорт сертификата;\n`-in vkapi.crt` — указывает на входной файл;\n`-name \Test\` — имя пользователя;\n`-descert` — шифрование сертификата в 3DES;\n`-inkey vkapi.key` — указывает имя файла, содержащего закрытый ключ;\n`-out vkapi.p12` — указывает, что результат нужно сохранить в файле с именем `vkapi.p12`.\n\nПосле выполнения команды в каталоге OpenSSL появится файл `vkapi.p12`. Именно его вам нужно загрузить ВКонтакте. Для этого откройте раздел **Управление сообществом** (**Управление страницей**, если у вас публичная страница), далее **Работа с API**, вкладка **Callback API**. Нажмите **Выбрать файл** и выберите файл на вашем компьютере.\n\n### Настройка сервера\n\n\u003e **Обратите внимание!** На вашем сервере должен присутствовать корневой SSL сертификат, подписанный авторизованным центром сертификации. Самоподписанного корневого сертификата недостаточно для работы с Callback API.\n\u003e Получить сертификат можно, например, используя этот сайт: https://letsencrypt.org\n\nТакже вам нужно дополнительно настроить свой сервер, чтобы он умел проводить аутентификацию с использованием клиентского сертификата, который вы создали ранее.\n\nВ Nginx вам достаточно добавить следующие директивы:\n\n```sh\nssl_client_certificate /path/vkapi.crt;\n\nssl_verify_client on;\n\nssl_verify_depth 0;\n```\n\nздесь:\n`ssl_client_certificate` — путь к файлу клиентского сертификата на вашем сервере;\n`ssl_verify_client` — проверять клиентский сертификат;\n`ssl_verify_depth` — глубина проверки цепочки клиентского сертификата.\n\nЕсли ранее вам не доводилось иметь дела с настройкой клиентских сертификатов для своего сервера, мы рекомендуем к прочтению эти статьи:\n\n* Nginx(https://habrahabr.ru/post/213741/),\n* Nginx ngx_http_ssl_module(http://nginx.org/ru/docs/http/ngx_http_ssl_module.html),\n* Apache(https://www.ibm.com/developerworks/ru/library/l-cerfiticate_management_02/).},language:ru,variant:public,expireDate:1668442076861,isManuallyExpired:false},/bridge/VKWebAppTapticImpactOccurred:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Виброотклик (Taptic Engine) | VKWebAppTapticImpactOccurred,id:bridge__VKWebAppTapticImpactOccurred,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppTapticImpactOccurred,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppTapticImpactOccurred\n\n`VKWebAppTapticImpactOccurred` вызывает вибрацию мобильного устройства. В iOS вызывает `impactOccurred`(https://developer.apple.com/documentation/uikit/uiimpactfeedbackgenerator/2374287-impactoccurred) в Taptic Engine.\n\n## Пример\n\n```JavaScript\nbridge.send(VKWebAppTapticImpactOccurred, {\n style: heavy\n })\n .then((data) \u003e { \n if (data.result) {\n // Вибрация вызвана\n }\n })\n .catch((error) \u003e {\n // Ошибка\n console.log(error);\n });\n```\n\n## Платформы\n\nAndroid, iOS\n\n## Параметры\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `style` \u0026#x0d;\u0026#x0a;*обязательное* | `string` | Сила вибрации. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `light` — лёгкая.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `medium` — средняя.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `heavy` — сильная. |\n\n## Результат\n\nПроверить результат можно:\n\n* Используя объект `Promise`(#Объект%20Promise), который возвращается вызовом `bridge.send(...)`.\n\n* С помощью событий(#События) `VKWebAppTapticImpactOccurredResult` и `VKWebAppTapticImpactOccurredFailed`.\n\nПодробнее о проверке результатов при вызовах VK Bridge(bridge/getting-started#Обработка%20результата).\n\nВозможные ошибки:\n\n* `This action cannot be performed in the background`, если мини-приложение или игра запущены в фоновом режиме.\n\n### Объект `Promise`\n\nЕсли обращение к платформе прошло успешно, управление будет передано в `then`-обработчик объекта `Promise`. В качестве ответа платформа возвращает объект со следующим полем:\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `result` | `boolean` | `true`, если вибрация вызвана. |\n\nЕсли при обращении к платформе произошла ошибка, управление передаётся в метод `catch`. В качестве ответа платформа возвращает объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех событий VK Bridge.\n\n### События\n\n#### `VKWebAppTapticImpactOccurredResult`\n\nСигнализирует, что вибрация вызвана. В обработчик события на стороне пользователя передаются следующие данные: \n\n```JavaScript\n{\n detail: {\n type: \VKWebAppTapticImpactOccurredResult\,\n data: {\n result: true\n }\n }\n}\n```\n\nПередаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса(#Объект%20Promise).\n\n#### `VKWebAppTapticImpactOccurredFailed`\n\nИнформирует об ошибке, которая произошла при взаимодействии с платформой.\n\nВ обработчик события на стороне пользователя передаётся объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех методов VK Bridge.\n\n#### Пример обработки событий\n\nСмотрите раздел Обработка событий-результатов(bridge/getting-started#Обработка%20результата).\n},language:ru,variant:public,expireDate:1668442403062,isManuallyExpired:false},/widgets/contact-us:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Напишите нам,id:widgets__contact-us,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/contact-us,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Напишите нам\n\nПри помощи виджета «Напишите нам» вы можете за 5 минут добавить на ваш сайт быстрый и удобный способ связи через сообщения ВКонтакте. Кликнув на виджет, пользователи будут переходить к диалогу и получат возможность задать вопрос, уточнить цену или проконсультироваться об услугах.\n\nИспользуя виджет или короткий адрес vk.me/(короткий адрес пользователя или адрес группы), вы всегда можете быстро поделиться вашими контактами.\n\nНастройте текст виджета, чтобы он максимально точно соответствовал потребностям пользователя. \n\n## Подключение виджета\n\nЧтобы добавить на свой сайт виджет «Напишите нам», выполните эти шаги:\n\nШаг 1. В тег `\u003chead\u003e` на странице вашего сайта добавьте подключение `openapi.js`:\n\n```HTML\n \u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nШаг 2. В тело страницы добавьте элемент `\u003cdiv\u003e`, в котором будут отображаться комментарии, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_contact_us\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.ContactUs(\vk_contact_us\, {}, -20003922);\n\u003c/script\u003e\n```\n\nЭтот код добавляет кнопку для связи с администрацией группы Виджеты ВКонтакте(https://vk.com/club20003922).\n\nЕсли на вашем сайте уже используется Open API(api/open-api/getting-started), добавить виджет ещё проще. Достаточно просто добавить инициализацию виджета.\n\n## Дополнительные настройки\n\nМетод `VK.Widgets.ContactUs` принимает параметры:\n\n* `element_id` (`string`), обязательный параметр — id элемента, который будет являться контейнером кнопки для связи. В нашем конструкторе по умолчанию используется значение `vk_contact_us`.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержат поля:\n * `text` (`string`) — текст надписи на кнопке, максимум `140` символов. По умолчанию: «Напишите нам».\n * `height` (`integer`) — высота кнопки в пикселях. Возможные значения: `18`, `20`, `22`, `24`, `30`. По умолчанию: `24`.\n* `owner_id` (`integer`), обязательный параметр — идентификатор пользователя или сообщества, для которого будет создан виджет. Идентификатор сообщества необходимо указывать со знаком `-` (минус).\n\n## Для сайтов без поддержки JavaScript\n\nЕсли вы не можете выполнять JavaScript-сценарии на вашем сайте, например ваша блог-платформа не поддерживает этой функциональности, вы можете размещать прямую ссылку для связи с группой ВКонтакте. Эта ссылка имеет следующий вид: \n\n\u003e https://vk.me/{адрес_страницы}\n\nКод для её размещения может выглядеть так:\n\n```HTML\n\u003ca href\https://vk.me/club20003922\ target\_blank\\u003eЗадать вопрос\u003c/a\u003e\n```\n\n## Пример использования\n\n```HTML\n\u003cdiv id\vk_contact_us\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.ContactUs(\vk_contact_us\, {text: \Задайте свой вопрос\}, -20003922);\n\u003c/script\u003e\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668442414267,isManuallyExpired:false},/widgets/auth:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Авторизация,id:widgets__auth,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/auth,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Авторизация\n\nС помощью виджета для авторизации вы можете максимально просто предоставить пользователям возможность авторизоваться на вашем ресурсе. Перед авторизацией пользователь сможет увидеть свою фотографию и уже авторизованных друзей.\n\nВиджет поддерживает два вида авторизации:\n\n* Обычный — пользователь будет переадресован на указанный в параметре `authUrl` адрес с полями: `uid`, `first_name`, `last_name`, `photo`, `photo_rec`, `hash`. \n* Динамический — после авторизации будет вызвана функция `onAuth` c объектом `data`, содержащим поля `uid`, `first_name`, `last_name`, `photo`, `photo_rec`, `session`, `hash`, также пользователь будет авторизован в `openApi`.\n\nДля проверки авторизации вы можете использовать полученный параметр `hash`, сравнив его с `md5` подписью от `app_id+user_id+secret_key`, например: `md5(194253766748fTanppCrNSeuYPbA4ENCo)`.\n\nВиджет также может быть использован вместе с другими виджетами(widgets/overview) и Open API(api/open-api/getting-started). \n\n## Подключение виджета\n\nЧтобы добавить на свой сайт виджет авторизации ВКонтакте, выполните эти три шага:\n\nШаг 1. В тег `\u003chead\u003e` на странице вашего сайта добавьте подключение `openapi.js`:\n\n```HTML\n\u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nШаг 2. В тело страницы сайта добавьте код для инициализации Open API:\n\n```HTML\n\u003cscript type\text/javascript\\u003e\n VK.init({\n apiId: ВАШ_API_ID\n });\n\u003c/script\u003e\n```\n\nБолее подробно про инициализацию транспорта вы можете узнать на этой странице(api/open-api/getting-started).\n\nШаг 3. В тело страницы добавьте элемент `DIV`, в котором будут отображаться рекомендации, задайте ему уникальный id, и добавьте в него код инициализации виджета. Например:\n\n```HTML\n\u003cdiv id\vk_auth\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n VK.Widgets.Auth(vk_auth, {});\n\u003c/script\u003e\n```\n\nЭтот код добавляет блок авторизации стандартного вида.\n\nЕсли на вашем сайте уже используется Open API(api/open-api/getting-started), добавить виджет ещё проще. Достаточно просто добавить инициализацию виджета. \n\n## Дополнительные настройки\n\nМетод `VK.Widgets.Auth` принимает два параметра:\n\n* `element_id` (`string`), обязательный параметр — `id` элемента, который будет являться контейнером для виджета.\n* `options` (`object`) — опции блока с виджетом. Объект, который может содержать поля:\n * `width` (`integer`) — ширина блока в пикселах. Минимальное значение: 200.\n * `onAuth` (`function`) — действие, производимое при авторизации (по умолчанию переход на указанный url с необходимыми параметрами).\n * `authUrl` (`string`) — URL, на который нужно перенаправить пользователя после авторизации, если не используется параметр `onAuth`.\n\n## Данные пользователя\n\nПосле авторизации метод `VK.Widgets.Auth` возвращает данные о пользователе в виде `GET`-параметров URL при использовании `authUrl` или в виде параметров функции при использовании `onAuth`. Возвращаются следующие поля:\n\n* `uid` (`integer`) — идентификатор пользователя;\n* `first_name` (`string`) — имя;\n* `last_name` (`string`) — фамилия;\n* `photo` (`string`) — URL фотографии профиля пользователя шириной `200px`;\n* `photo_rec` (`string`) — URL фотографии профиля пользователя шириной `50px`;\n* `hash` (`string`) — служебный параметр, необходимый для проверки авторизации на удаленной стороне.\n\nДля проверки авторизации вы можете использовать полученный параметр `hash`, сравнив его с `md5` подписью от `app_id+user_id+secret_key`, например `md5(667481942537fTanpCrNSeuGPbA4ENCo)`. \n\n## Пример использования\n\n```HTML\n\u003cdiv id\vk_auth\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\nwindow.onload function () {\n VK.init({apiId: 111});\n VK.Widgets.Auth(vk_auth, {});\n}\n\u003c/script\u003e\n\n```\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668442919051,isManuallyExpired:false},/api/stories/getting-started:{type:article,layout:internal,template:/article,contents:{title:API ВКонтакте | Истории | API историй ,id:api__stories__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/stories/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# API историй\n\nСтатистика историй ВКонтакте — 12 миллионов авторов, 71 миллион историй, 4,4 миллиарда просмотров от 46 миллионов пользователей каждый месяц. Загружать истории с помощью API могут любые пользователи и сообщества.\n\n!(d0618ed378f440b275f817e6cce855080d6a77c542f56f07848f6566 \4448781307036623856\)\n\n#### Как работать с API историй\n\nПошаговая инструкция при работе с API Историй ВКонтакте заключает в себе несколько шагов:\n\n1. Авторизуйте пользователя ВКонтакте одним из этих способов(api/access-token/getting-started) или с помощью наших SDK для Android(sdk/android) и iOS(sdk/ios).\n2. Подготовьте историю — фотографию или видео.\n3. Если вы разрабатываете мини-приложение, опубликуйте историю с помощью редактора историй (событие `VKWebAppShowStoryBox`(bridge/VKWebAppShowStoryBox)).\n4. Если вы работаете над другим приложением, размещайте историю с помощью методов секции `Stories`(method/stories). Сначала получите адрес для загрузки с помощью `stories.getPhotoUploadServer`(method/stories.getPhotoUploadServer), затем загрузите фотографию или видео и сохраните историю, воспользовавшись `stories.save`(method/stories.save).\n\nИстория появится в новостях у друзей и подписчиков пользователя в зависимости от настроек приватности. С помощью API(method/stories) можно также управлять историями и следить за количеством просмотров.},language:ru,variant:public,expireDate:1668443259677,isManuallyExpired:false},/method/messages.restore:{type:method,layout:internal,template:/method,contents:{title:messages.restore,id:messages.restore,description:Восстанавливает удаленное сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.restore,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:message_id,description:Идентификатор сообщения, которое нужно восстановить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:messages.delete,id:messages.delete,description:Удаляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.delete,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668443482646,isManuallyExpired:false},/reference/roadmap:{type:article,layout:internal,template:/article,contents:{title:Справочник API | Roadmap,id:reference__roadmap,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/roadmap,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Roadmap\n\nТекущая версия API :version(reference/versions)\n\n\u003e API ВКонтакте регулярно меняется. Мы добавляем новые методы, обновляем структуру объектов и запускаем целые сервисы, призванные дать разработчикам больше свободы в реализации своих задач.\n\u003e \n\u003e Мы стараемся, чтобы изменения никак не сказывались на работоспособности уже отлаженных продуктов, но иногда требуются очень масштабные вмешательства, о которых лучше узнать заранее — и подготовить свое приложение, чтобы оно продолжило стабильно работать в новых условиях.\n\u003e\n\u003e В этом разделе мы рассказываем только о серьёзных изменениях, которые ожидают API ВКонтакте. Подробную историю всех изменений можно найти в разделе Версии API(reference/versions).\n\n## 2022 | Сентябрь\n\n### Отключение Client Credentials Flow\n\nС **17 октября 2022** года нельзя будет получить сервисный ключ с помощью Client Credentials Flow(api/service-token/client-cred-flow). Ключи, уже полученные по этому типу авторизации, перестанут работать.\n\nДля работы с API-методами **`secure`(https://dev.vk.com/method/secure)** необходимо использовать сервисный ключ(mini-apps/management/settings) из настроек приложения.\n\nЧтобы узнать сервисный ключ вашего приложения:\n1. Откройте страницу **Мои приложения** — vk.com/apps?actmanage(https://vk.com/apps?actmanage).\n1. Нажмите **Редактировать** справа от нужного приложения.\n1. В левом меню выберите **Настройки**.\n1. Нажмите на изображение глаза в строке **Сервисный ключ доступа**. \n\n!altСервисный ключ доступа в настройках приложения;titleСервисный ключ доступа в настройках приложения(ec504b11ca6c50a5e268677e72db62d131c27f17cd79663502fd4f7b \-5159710492473460089\)\n\nСрок действия нового сервисного ключа не ограничен. В любой момент можно обновить его в настройках приложения, при этом предыдущий ключ будет аннулирован.\n\nЕсли у вас остались вопросы, напишите в Поддержку(https://vk.com/support?actnew\u0026fromcl_flow).\n\n### Как это работало\n\nДля обращения к API-методам `secure`(method/secure) можно было использовать сервисный ключ, полученный с помощью Client Credentials Flow(https://dev.vk.com/api/service-token/client-cred-flow). Мы отказались от этого способа в рамках программы VK Protect, направленной на повышение безопасности пользовательских данных. Теперь получить ключ можно только в настройках приложения.\n\n\u0026nbsp;\n\n# Архив\n\n## 2020 | Июнь\n\n### Жизненный цикл версий API\n\nОт версии к версии в API меняются названия полей, типы данных, структура объектов. Чтобы корректно обрабатывать в своём приложении ответы от методов API, важно знать, какие данные и в каком виде придут от сервера. Указывая номер версии в своём вызове, вы сообщаете серверу, какой формат данных вы ожидаете получить в ответе.\n\nУ версий API появился жизненный цикл: версия устаревает через 2 года после выхода.\n\n#### Как это работало\n\nПосле отказа от мажорных версий 3.0 и 4.0 многие разработчики перешли на версию 5.0. Но вызовы методов с данной версией не поддерживают новые параметры, а формат ответа может сильно отличаться от ответа на запрос с актуальной версией(reference/versions).\n\nЗапросы к API c версией, жизненный срок которой подошёл к концу, перестают поддерживаться. Сервер вернёт ошибку на запрос к API, в котором указана устаревшая версия.\n\nНеобходимо было обновить вызовы методов, указав версию API 5.81 или новее, и убедиться, что передаются актуальные параметры. \n\u003e\n\u003e С 19 августа 2021 года срок жизни версий ниже 5.41 закончился.\n\u003e\n\u003e С 26 августа 2021 года перестали поддерживаться версии ниже 5.61.\n\u003e\n\u003e С 2 сентября 2021 года прекратилась поддержка версий ниже 5.81.\n\nРекомендуем использовать актуальную версию API — :version.\n\n## 2020 | Март\n\n### Перевод приложений сообществ на VK Mini Apps\n\nПриложения сообществ, запущенные в октябре 2016, значительно расширили функциональность групп и публичных страниц. За три года эта платформа стала неотъемлемой частью бизнес-процессов и решала большинство задач администраторов и подписчиков. \nВ основе приложений сообществ был JavaScript SDK(sdk/javascript). Однако чтобы оставаться на острие технологий и унифицировать разработку всей экосистемы ВКонтакте, мы приняли решение отказаться от JavaScript SDK в пользу VK Bridge(bridge/getting-started).\n\nДля пользователей каталог остался прежним — изменились только технологии внутри приложений.\n\n#### Как это работало\n\nДля работы с платформой приложений сообществ ВКонтакте разработчики использовали JavaScript SDK: скрипт подключался в теге `\u003chead\u003e` страницы с приложением. Пользовательский интерфейс приложения работал через Client API(sdk/javascript).\n\nПосле перехода на VK Mini Apps в каталог для сообществ vk.com/community_apps попадали только приложения, созданные на платформе VK Mini Apps. Приложения, использующие JavaScript SDK, в каталог больше не добавлялись. Приложения, которые интегрированы с платформой через JavaScript SDK, перестали работать. В каталоге размещались только приложения, использующие VK Bridge(bridge/getting-started). \n\nРазработчикам нужно было перевести работу приложений на VK Bridge(bridge/getting-started). \n\nК примеру, если приложение позволяет работать с виджетами приложений сообществ — необходимо было подключить библиотеку VK Bridge и заменить вызовы `showGroupSettingsBox`(sdk/javascript#3.%20showGroupSettingsBox) и `showAppWidgetPreviewBox`(sdk/javascript#20.%20showAppWidgetPreviewBox) на события `VKWebAppGetCommunityToken`(bridge/VKWebAppGetCommunityToken) и `VKWebAppShowCommunityWidgetPreviewBox`(bridge/VKWebAppShowCommunityWidgetPreviewBox) соответственно.\n\nПосле того как приложение полностью переведено на события VK Bridge, нужно было изменить его тип на VK Mini Apps при помощи специальной кнопки в настройках: она была доступна главным администраторам в приложениях старого типа. \n\nЭто позволило приложению остаться в каталоге и сделать переход незаметным для пользователей. Идентификатор приложения и его ключи при этом не менялись. \n !titleБлок смены типа в настройках приложения сообществ;(0875dcd86bda37984e0edf7fdc0c1748a80e6243bfe98fcdbcea96a4 \-4751188998018025500\)\n\n## 2019 | Декабрь\n\n### Отказ от Mobile SDK\n\nDirect Games запускались как эксперимент в августе 2017 года и за два года эксперимент превратился в полноценную платформу. Технологической основой интеграции мобильных HTML5-игр с приложениями ВКонтакте был Mobile SDK, простой `js`-файл, по принципу работы схожий с JavaScript SDK(sdk/javascript). Однако чтобы оставаться на острие технологий и унифицировать разработку всей экосистемы ВКонтакте для HTML5-продуктов, мы приняли решение отказаться от Mobile SDK в пользу VK Bridge(bridge/getting-started).\n\n#### Как это работало\n\nДля интеграции мобильной HTML5-игры с платформой ВКонтакте разработчики использовали Mobile SDK: подключали скрипт в тег `\u003chead\u003e` страницы с игрой. В то же время браузер в мобильных приложениях ВКонтакте уже поддерживал VK Bridge(bridge/getting-started): на его стороне работает транспорт, преобразующий вызовы из Mobile SDK в вызовы VK Bridge(bridge/getting-started).\n\nМодераторы каталога при публикации игр в каталоге не смотрели на технологический механизм интеграции.\n\nМы прекратили принимать в каталог игры, которые интегрированы с Direct Games через Mobile SDK. В каталоге теперь могли быть опубликованы только игры с интеграцией через VK Bridge(bridge/getting-started).\n\n## 2019 | Сентябрь\n\n### Отказ от Flash во встраиваемых приложениях\n\nИгровая индустрия активно развивается, а технологии, популярные у разработчиков несколько лет назад, уступают место новым, более гибким в разработке и предоставляющим пользователям разнообразный опыт и более глубокое погружение в игровой процесс. \n\nFlash был важной вехой развития игровой индустрии, однако веб-технологии движутся в сторону открытых стандартов. Компания Adobe прекратила поддержку Flash в 2020 году: https://theblog.adobe.com/adobe-flash-update/. Все популярные браузеры, такие как Google Chrome, Mozilla и другие, начали отключать возможность использования плагина Flash.\n\nВ 2018 году ВКонтакте закрыл(reference/roadmap) возможность загружать SWF-файлы непосредственно на сайт, а после мы прекратили одобрять в каталог игры на Flash в IFrame.\n\n#### Как это работало\n\nИгры, запускающиеся на vk.com, работали через IFrame, который загружается с домена разработчика, и связывались с социальными механизмами ВКонтакте через JavaScript SDK(sdk/javascript). Команда модераторов игрового каталога не принимала во внимание, на какой технологии работает игра внутри IFrame, Flash это или, например, HTML5.\n\nПосле отказа от Flash новые проекты, созданные на Flash, уже не могли пройти модерацию в каталог. В требованиях для модерации приложений появился пункт, сообщающий, что новые приложения, размещаемые на vk.com, должны работать на открытых технологиях и запускаться без установки пользователями дополнительных плагинов.\n\nМы рекомендовали переходить на открытые технологии: HTML5, WebGL и WebAssembly. Так как эти технологии получали активную поддержку со стороны сообщества разработчиков и создателей игровых движков, таких как Unity, Unreal Engine и PixiJS. Игры, созданные на этих технологиях, не требуют от пользователей дополнительных подтверждений для запуска.\n\nПриложения на Flash, одобренные в каталог до 1 сентября 2019 года, продолжили работать в каталоге, однако предпочтение в продвижении со стороны редакторов было отдано проектам, созданным на нативных веб-технологиях. В начале 2020 года ВКонтакте перестал продвигать Flash-игры в каталоге и стал занижать их позиции в выдаче в каталоге в пользу HTML5-проектов.\n\n## 2019 | Май\n\n### Отказ от мажорных версий API 3.0 и 4.0\n\nОт версии к версии в API меняются названия полей, типы данных в них, структура объектов. Чтобы корректно обрабатывать в своем приложении ответы от методов API, важно наперед знать, какие данные и в каком виде придут от сервера. Задавая номер версии в своем вызове, вы сообщаете серверу, какой формат данных вы ожидаете получить в ответе.\n\nВ 2014 году было запущено глобальное обновление API, затрагивающее почти все методы, объекты и их поля. Но ещё долгое время не могли отказаться от использования устаревших версий, поскольку для нас важно поддерживать совместимость платформы со старыми приложениями, которыми по-прежнему пользуются многие люди. Но необходимость их поддержки накладывает всё большие ограничения на дальнейшее развитие платформы, в связи с чем мы приняли решение отказаться от версий ниже 5.0.\n\n#### Как это работало\n\nПосле отказа версий по умолчанию для сохранения совместимости в приложениях многие разработчики указали версии ниже 5.0. \nНо мажорные версии 3.0 и 4.0 уже были устаревшими, в них не были поддержаны многие типы объектов, а формат ответа у большинства методов совсем не был похож на тот, что пользователи видели в примерах документации. \n\nЗапросы к API c указанной мажорной версией 3.0 и 4.0 перестали поддерживаться. Сервер начал возвращать ошибку на запрос к API, в котором указана версия ниже 5.0.\n\nСтруктура объектов и названия полей в новой мажорной версии почти всегда отличается от предыдущей. \n\nСписок изменений в версиях доступен здесь: reference/versions(reference/versions).\n\n#### Список изменений\n\n* При необходимости прохождения пользователем процедуры валидации аккаунта в standalone-приложении может быть возвращена ошибка **17**.\n* Все списки возвращаются в новом формате, в виде объекта с полями `count` и `items`. \n* Возвращаемые тексты больше не содержат html тегов, вместо `\u003cbr___\u003e` возвращается перенос строки `\\n `.\n* Изменился формат возвращаемых объектов.\n* Изменены параметры методов согласно следующей таблице преобразований:\n\n | Старое название параметра | Название параметра в 5.0 |\n|---|---|\n | `oid` | `owner_id` |\n | `vid` | `video_id` |\n | `uid` | `user_id` |\n | `uids` | `user_ids` |\n | `gid` | `group_id` |\n | `cid` | `comment_id` |\n | `lid` | `list_id` |\n | `aid` | `album_id` или `audio_id` |\n | `aids` | `album_ids` или `audio_ids` |\n | `pids` | `photo_ids` |\n | `pid` | `photo_id` или `page_id` |\n | `gids` | `group_ids` |\n | `last_mid` | `last_message_id` |\n | `mids` | `message_ids` |\n | `mid` | `message_id` |\n | `tid` | `topic_id` |\n | `tids` | `topic_ids` |\n | `nids` | `note_ids` |\n | `did` | `doc_id` |\n\n## 2019 | Февраль\n\n### Ограничение Messages API\n\nОдна из первостепенных задач для нашей команды — сохранить в безопасности личную информацию каждого пользователя. Поэтому мы подробно рассказывали о принципах защиты данных и о том, какую информацию могут использовать сервисы ВКонтакте: vk.com/data_protection.\n\nНаша команда не прекращает работу по усилению защиты персональной информации многомиллионной аудитории ВКонтакте. При этом, конечно, одни из самых чувствительных данных — это личные сообщения. Мы хотим не только дать людям больше уверенности в том, что их информация находится под защитой, но и предотвратить любые намеренные или случайные злоупотребления со стороны тех владельцев сторонних приложений, которые не могут обеспечить приемлемый уровень безопасности и не работают по стандартам нашей команды. \n\nСтремясь предоставить наиболее высокий уровень защиты приватности и хранения личной переписки, мы ограничили сторонним разработчикам доступ к API сообщений пользователей. \n\nЭто изменение не затронуло бот-платформу в сообществах, пользователей веб-версии vk.com и официальных мобильных приложений ВКонтакте.\n\n#### Как это работало\n\nДо этого изменения методы для работы с сообщениями пользователей были доступны любым Standalone-приложениям, использующим авторизацию по схеме Implicit flow(api/access-token/implicit-flow-user). Приложения могли использовать публичные методы API ВКонтакте для отображения, отправки и других действий с сообщениями.\n\nМы сделали методы секции `messages`(method/messages) доступными по умолчанию только с ключом доступа сообщества. \nДля разработки мессенджера достаточно было получить в Поддержке(https://vk.com/support?actnew_api) тестовый доступ, подразумевающий работу методов секции Messages с ключами администраторов Standalone-приложения. Для получения полного доступа к пользовательскому Messages API приложению достаточно было пройти модерацию.\n\n#### Как подготовиться к изменениям\n\nЕсли в вашем приложении используются методы для работы с разделом сообщений пользователя, вам необходимо написать в Поддержку(https://vk.com/support?actnew_api), чтобы обсудить условия дальнейшего сотрудничества. \n\nЧат-ботов, использующих ключ доступа пользователя для взаимодействия с сообщениями, следует перенести на платформу для ботов в сообществах(api/bots/getting-started).\n\nВ случае, если ваше приложение не использует методы секции `messages`(method/messages) — убедитесь, что право доступа(reference/access-rights) `messages` (+4096) не запрашивается в вашем приложении.\n\n## 2018 | Август\n\n### Прекращение поддержки Flash\n\nПриложение на vk.com могло представлять собой веб-страницу, которая открывается во фрейме, а могло быть загружено в виде SWF-файла на сервер ВКонтакте. Такие приложения могли требовать поддержки Flash в браузере пользователя. Но со временем всё больше браузеров, включая Google Chrome, по умолчанию блокировали Flash Player. Сообщество двигалось в сторону использования открытых стандартов и отказа от Flash Player(https://theblog.adobe.com/adobe-flash-update/).\n\n#### Как это работало\n\nМы отказались от поддержки Flash Player. Разработчики больше не могли загрузить новое приложение в виде SWF-файла или обновить существующее. Также мы отказались от поддержки Flash SDK в пользу других SDK.\n\n## 2018 | Февраль\n\n### Bots LongPoll API\n\nЧат-боты в сообществах могли получать события двумя способами: Callback API(api/callback/getting-started) или с помощью обычного LongPoll(api/user-long-poll/getting-started). Для ботов с большой нагрузкой каждый из этих подходов имел определённые недостатки.\n\n#### Как это работало\n\nМы реализовали отдельный LongPoll для чат-ботов. Его отличие от Callback API в том, что вы сами забираете список событий из ВКонтакте, а не наоборот — вам не нужен скрипт на сервере, куда будет приходить каждое случившееся событие. Отличие от обычного LongPoll в том, что Bots LongPoll поддерживает весь набор событий из Callback API, а не только события из переписки. Кроме того, в сравнении обычным LongPoll увеличен максимальный объём выборки хранимых событий.\n\nМы рекомендовали создателям всех чат-ботов, в особенности высоконагруженных, перейти к использованию нового инструмента. Им не пришлось существенно переделывать логику работы с самими событиями — формат объектов остается тем же, что и в Callback API.\n\n## 2018 | Февраль\n\n### Отказ от версии по умолчанию\n\nОт версии к версии в API меняются названия полей, типы данных в них, структура объектов. Чтобы корректно обрабатывать в своем приложении ответы от методов API, важно наперед знать, какие данные и в каком виде придут от сервера. Задавая номер версии в своем вызове, вы сообщаете серверу, какой формат данных вы ожидаете получить в ответе.\n\nЕсли вы не передавали в своем запросе параметр `v`, содержащий номер версии, по умолчанию он считался равным 3.0. Версия 3.0 устарела, в ней не были поддержаны многие типы объектов, а формат ответа у большинства методов совсем не похож на тот, что разработчики видели в примерах документации. \n\nМы долгое время не могли отказаться от использования этой версии по умолчанию, поскольку для нас важно поддерживать совместимость платформы со старыми приложениями, которыми по-прежнему пользуются многие люди.\n\n#### Как это работало\n\nПараметр `v` с номером версии стал обязательным для всех запросов к API. Сервер возвращал ошибку на запрос, в котором не содержится этот параметр.\n\nЕсли разработчики не указывали номер версии (`v`) в своих запросах к API, им необходимо было проверить ожидаемый синтаксис объектов в своём коде. Обязательно нужно включать в каждый свой запрос параметр `v` с указанием номера версии.\nСтруктура объектов и названия полей в версии 5.0 почти всегда отличаются от используемых в 3.0.\n\nСписок изменений в последних версиях доступен здесь: reference/versions(reference/versions).\n\n## 2017 | Июнь\n\n### Streaming API и ограничения API для поиска\n\nАктуальные лимиты на методы:\n`newsfeed.search`(newsfeed.search) — 1000 вызовов в сутки;\n`wall.search`(wall.search) — 1000 вызовов в сутки;\n`wall.get`(wall.get) — 5000 вызовов в сутки.\n\nПри указании версии 5.74 возвращается новая ошибка — 29: **Rate limit reached(reference/errors)**.\n\n#### Как это работало\n\nAPI для поиска среди публичных данных ВКонтакте предоставлялся на общих условиях, мы никак не регламентировали его использование в коммерческих целях.\n\nНаша платформа привлекала всё больше разработчиков, в том числе, сервисов, которые активно использовали API для поиска. Нагрузка на инфраструктуру сайта постоянно росла, и это не всегда было оправданно — например, в задаче получения новых записей по ключевому слову большая часть запросов к существующим методам API оказывалась избыточной. \n\nС другой стороны, к сожалению, мы сталкивались со злоупотреблениями со стороны разработчиков, которые пытались обойти ограничения платформы не совсем честными способами.\n\nМы предложили более эффективное решение для сервисов, которым нужны большие объёмы данных. Streaming API — это инструмент для получения новых данных из поиска без необходимости совершать множество отдельных запросов.\n\nМы выделили три категории потребителей API для поиска:\n* Мобильные и игровые приложения для ВКонтакте. Например, пользователь мобильного приложения, который хочет просмотреть все новости по выбранному хештегу.\n* НКО. Например, донорская организация, которая хочет изучить общественное мнение, или научный сотрудник, использующий данные для диссертации.\n* Коммерческие сервисы. Например, компания, которая продаёт услугу анализа упоминаний бренда в социальных сетях.\n\nДля первой категории ничего не изменилось. Пользователи приложений, как и прежде, могли искать новости и записи по ключевым словам или хэштегам.\n\nДля НКО и независимых исследований мы предоставили отдельный бесплатный инструмент — Streaming API. С его помощью они смогли получать выборку данных из ВКонтакте по поисковому запросу. \n\nДля коммерческих структур мы предложили расширенную версию Streaming API, которая включает 100% публичных данных, удовлетворяющих поисковому запросу.\n\nКроме того, мы пересмотрели частотные и количественные лимиты на вызовы методов `newsfeed.search`(newsfeed.search), `wall.search`(wall.search), `wall.get`(wall.get) таким образом, чтобы снизить нагрузку на платформу. Ужесточение лимитов происходило поэтапно, первое изменение было запланировано на 7 июня 2017 года.\n\nИзменения не затронули тех, кто разрабатывал мобильное или игровое приложение с упором на социальное взаимодействие. Такие разработчики могли использовать методы `newsfeed.search`(newsfeed.search), `wall.search`(wall.search) и `wall.get`(wall.get) в обычном объёме, это никак не повлияло на пользователей.\n\nЕсли разработчики занимались некоммерческими исследованиями, нужно было перейти к использованию Streaming API вместо работы с перечисленными методами API, поскольку их использование в таких целях стало невозможным.\n\nЕсли число запросов к API не укладывалось в новые лимиты, нужно было написать в Поддержку(https://vk.com/support?actnew_api), чтобы обсудить условия дальнейшего сотрудничества. Это мог быть доступ к расширенной версии Streaming API или более мощному решению для анализа данных ВКонтакте.\n\n## 2017 | Апрель\n\n### Новый сервисный ключ доступа\n\nС апреля 2017 года сервисный ключ доступа обязателен для работы с этими методами (не включая методы секции `secure`(method/secure)):\n* `newsfeed.search`(newsfeed.search);\n* `wall.search`(wall.search). \n\nС мая 2018 года сервисный ключ доступа обязателен для работы с этими методами:\n* `users.get`(users.get);\n* `wall.getComments`(wall.getComments);\n* `friends.get`(friends.get);\n* `groups.getMembers`(groups.getMembers);\n* `likes.getList`(likes.getList).\n\nС 14 мая 2018 года сервисный ключ доступа обязателен для работы со всеми методами.\n\n#### Как это работало\n\nНекоторые методы API не требуют авторизации. Например, `users.get`(users.get) — достаточно указать параметры самого метода и не передавать ключ доступа, сервер вернёт корректный ответ. Такие методы называются открытыми.\n\nВ то же время методы секции `secure`(method/secure) требуют использования специального ключа доступа, который необходимо получать отдельным запросом к oauth.vk.com, и передачи в запросе защищенного ключа приложения (`client_secret`).\n\nС апреля 2017 года для использования открытых методов и методов `secure`(method/secure) сервисный ключ стал обязательным. Нет необходимости делать отдельный запрос к oauth.vk.com, чтобы получить его. Срок действия ключа не ограничен, но в любой момент его можно обновить, при этом предыдущий ключ будет аннулирован.\n\nЕсли в приложении используются открытые методы, необходимо изменить связанную с ними логику таким образом, чтобы в запросах передавался параметр `access_token`, содержащий сервисный ключ доступа. Получить или обновить его можно в разделе редактирования приложения.\n\nСервисный ключ доступа идентифицирует приложение. Все запросы к API, совершённые с использованием ключа доступа, считаются совершёнными от имени вашего приложения. Сервисный ключ доступа можно использовать только для запросов с серверной стороны приложения, его нельзя передавать и хранить на клиенте. На запросы без ключа доступа сервер возвращает сообщение об ошибке.\n\n## 2016 | Декабрь\n\n### Отключение публичного API для аудио\n\nС 16 декабря 2016 года мы отключаем публичный API для работы с аудиозаписями. Существующие методы секции `audio` будут недоступны для вызова, кроме методов для загрузки аудиофайлов.\n\n\u003e Ожидаемая дата изменений: 16 декабря 2016 года.\n\n**Аудиозаписи** — один из популярных сервисов ВКонтакте. Возможность слушать любимую музыку очень важна для наших пользователей. Мы хотим сохранить эту возможность и продолжить развитие аудиораздела.\n\nC 2011 года мы начали переход к легальному использованию контента правообладателей. Сотрудничество с крупнейшими студиями позволяет ВКонтакте размещать эксклюзивные композиции, анонсировать новые альбомы исполнителей и улучшать сервис в целом.\n\nПри этом мы вынуждены брать на себя определённые обязательства в том, что касается борьбы с нарушением авторских прав. Это означает, что ВКонтакте не может сохранить публичный API аудиозаписей для приложений сторонних разработчиков в его текущем виде.\n\nЭто изменение не затронет пользователей веб-версии vk.com и официальных мобильных приложений ВКонтакте. Более того, в ближайшем будущем мы планируем активно совершенствовать аудиораздел в собственных продуктах.\n\n#### Как это работало\n\nМетоды для работы с аудиозаписями пользователей и сообществ (`audio`) доступны для любых приложений, использующих публичный API ВКонтакте. В ответ на запрос сервер отправляет информацию о композиции, включая название, имя исполнителя, ссылку на mp3-файл. Приложение использует эти данные для отображения, воспроизведения и других действий с аудиозаписями.\n\n#### Как подготовиться к изменениям\n\nЕсли в вашем приложении используются методы для работы с аудио, необходимо отключить связанную с ними логику. Сервер API будет возвращать сообщение об ошибке в ответ на такие запросы.\n\nМы понимаем, что в результате ваше приложение может полностью перестать работать или лишиться значительной части своих возможностей. И в абсолютном большинстве случаев мы не сможем предложить альтернативу.},language:ru,variant:public,expireDate:1668443552769,isManuallyExpired:false},/api/bots/development/keyboard:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Чат-боты | Разработка | Клавиатура,id:api__bots__development__keyboard,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/bots/development/keyboard,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Клавиатура\n\n## Подключение\n\nЧтобы включить клавиатуры в сообществе, перейдите в **Управление сообществом** → **Сообщения** → **Настройки для бота** и включите **Возможности ботов**. Там же можно добавить кнопку **Начать**. \n\n## Кнопка «Начать»\n\nЕсли она включена, и у пользователя еще нет переписки с сообществом, мы показываем кнопку «Начать», которая отправляет команду `start`. Payload(#Отправка%20клавиатуры) этого сообщения будет выглядеть так: \n\n```\n{\command\:\start\}\n```\n\n## Внешний вид\n\nКлавиатура представляет собой массив массивов, то есть таблицу, у которой ячейки — это кнопки. У всех кнопок в рамках одной строки одинаковый размер, и они заполняют 100% ширины. Высота всех кнопок — константа. Текст отображается по центру кнопки и обрезается, если не помещается полностью при текущем размере экрана. \n\n### Стандартное отображение\n\nПо умолчанию, если не передан параметр `inline`, клавиатура показывается под полем ввода в диалоге с пользователем. Максимальный размер стандартной клавиатуры — 5 × 10. Максимальное количество клавиш: 40. \n\n!(23da71d33405de08fec50d8805eb69fbf7024196a16dad3d328de21b \616200134238115590\)\n\n### Inline-отображение\n\nКлавиатура может отображаться внутри сообщения — это inline-отображение. Чтобы включить его, передайте параметр inline в объект клавиатуры. Её максимальный размер составит 5 × 6. Максимальное количество клавиш: 10. \n\n!(ea51b7f45bf0a0d0c1d393d5990e6e51728c00ddb5ab984134578f1a \6537326869192998723\)\n\n## Структура данных\n\n### `one_time`\n`bool`\nСкрывать ли клавиатуру после первого использования. Параметр срабатывает только для кнопок, отправляющих сообщение (поле `type` - `text, location`) Для `type` равных `open_app`, `vk_pay` параметр игнорируется. \nВозможные значения:\n* `true` — клавиатура будет скрыта при нажатии на кнопку с типом `text` или `location`;\n* `false` — клавиатура не скрывается; \n\n### `buttons`\n\n`array`\nМассив массивов с кнопками. \n\n### `inline`\n\n`bool`\nДолжна ли клавиатура отображаться внутри сообщения. Возможные значения:\n* `true` — клавиатура отображается внутри сообщения. Параметр `one_time` при этом не поддерживается;\n* `false` — стандартное отображение клавиатуры.\n\n### `action`\n\n`object`\nОбъект, описывающий тип действия и его параметры. Поля объекта зависят от значения параметра `type` и описаны в таблице ниже.\n\n### `color`\n\n`string`\nЦвет кнопки. Параметр используется только для кнопок с `type`: `text` и `callback`. Возможные значения:\n* `primary` — синяя кнопка, обозначает основное действие. `#5181B8` \n* `secondary` — обычная белая кнопка. `#FFFFFF` \n* `negative` — опасное действие, или отрицательное действие (отклонить, удалить и тд). `#E64646` \n* `positive` — согласиться, подтвердить. `#4BB34B`\n\nПоля объекта `action` в зависимости от типа кнопки.\n\n### `Text`\n\nТекстовая кнопка. Отправляет сообщение c текстом, указанным в `label`. Поля текстовой кнопки:\n* `type` (`string`) — для текстовой кнопки имеет значение `text`;\n* `label` (`string`) — текст кнопки. Будет отправлен пользователем в диалог с сообществом/беседу при нажатии;\n* `payload` (`string`) — дополнительная информация. Вернется в событии(api/community-events/json-schema) `message_new` в одноименном поле. Максимум 255 символов.\n\n### `Open Link`\n\nОткрывает указанную ссылку. Поля:\n* `type` (`string`) — для кнопки открытия ссылки имеет значение `open_link`;\n* `link` (`url`) — ссылка, которую необходимо открыть по нажатию на кнопку;\n* `label` (`string`) — текст кнопки;\n* `payload` (`string`) — дополнительная информация. В кнопках, не отправляющих текст, передается для совместимости со старыми клиентами. Максимум 255 символов.\n\n### `Location`\n\n По нажатию отправляет местоположение в диалог с ботом/беседу. Эта кнопка всегда занимает всю ширину клавиатуры. Поля:\n* `type` (`string`) — для кнопки местоположения имеет значение `location`;\n* `payload` (`string`) — дополнительная информация. Вернется в событии(api/community-events/json-schema) `message_new` в одноименном поле. Максимум 255 символов.\n\n\n### `VK Pay`\n\nОткрывает окно оплаты VK Pay с предопределёнными параметрами. Кнопка называется «Оплатить через VK pay», VK pay отображается как логотип. Эта кнопка всегда занимает всю ширину клавиатуры. Поля:\n* `type` (`string`) — для кнопки вызова платежного окна имеет значение `vkpay`;\n* `payload` (`string`) — дополнительная информация. В кнопках, не отправляющих текст, передается для совместимости со старыми клиентами. Максимум 255 символов.\n* `hash` (`string`) — строка, содержащая параметры платежа VK Pay(pay/getting-started) и идентификатор приложения в параметре `aid` , разделенные `\u0026`. Пример: `actiontransfer-to-group\u0026group_id1\u0026aid10`.\n\n### `VK Apps`\n\nОткрывает указанное приложение VK Apps. Эта кнопка всегда занимает всю ширину клавиатуры. Поля:\n* `type` (`string`) — для кнопки открытия сервиса имеет значение `open_app`;\n* `app_id` (`int`) — идентификатор вызываемого приложения с типом VK Apps. \n* `owner_id` (`int`) — идентификатор сообщества, в котором установлено приложение, если требуется открыть в контексте сообщества;\n* `payload` (`string`) — дополнительная информация. В кнопках, не отправляющих текст, передается для совместимости со старыми клиентами. Максимум 255 символов.\n* `label` (`string`) — название приложения, указанное на кнопке. \n* `hash` (`string`) — хеш для навигации в приложении, будет передан в строке параметров запуска после символа `#`.\n\n### `Callback`\n\nПозволяет без отправки сообщения от пользователя получить уведомление о нажатии на кнопку и выполнить необходимое действие. Поля:\n* `type` (`string`) — для callback-кнопки имеет значение `callback`;\n* `label` (`string`) — текст кнопки. \n* `payload` (`string`) — дополнительная информация. В кнопках, не отправляющих текст, передаётся для совместимости со старыми клиентами. Максимум 255 символов. Подробнее читайте в разделе Callback-кнопки(api/bots/development/keyboard#Callback-кнопки).\n\n### Пример клавиатуры в JSON\n\n```JSON\n{ \n \one_time\:false,\n \buttons\: \n \n { \n \action\:{ \n \type\:\location\,\n \payload\:\{\\\button\\\: \\\1\\\}\\n }\n }\n ,\n \n { \n \action\:{ \n \type\:\open_app\,\n \app_id\:6232540,\n \owner_id\:-157525928,\n \hash\:\123\,\n \label\:\LiveWidget\\n }\n }\n ,\n \n { \n \action\:{ \n \type\:\vkpay\,\n \hash\:\actiontransfer-to-group\u0026group_id181108510\u0026aid10\\n }\n }\n ,\n \n { \n \action\:{ \n \type\:\text\,\n \payload\:\{\\\button\\\: \\\1\\\}\,\n \label\:\Red\\n },\n \color\:\negative\\n },\n { \n \action\:{ \n \type\:\text\,\n \payload\:\{\\\button\\\: \\\2\\\}\,\n \label\:\Green\\n },\n \color\:\positive\\n },\n { \n \action\:{ \n \type\:\text\,\n \payload\:\{\\\button\\\: \\\2\\\}\,\n \label\:\Blue\\n },\n \color\:\primary\\n },\n { \n \action\:{ \n \type\:\text\,\n \payload\:\{\\\button\\\: \\\2\\\}\,\n \label\:\White\\n },\n \color\:\secondary\\n }\n \n \n}\n```\n\n## Отправка клавиатуры\n\nJSON-объект клавиатуры передается строкой в параметре `keyboard` в методе `messages.send`(method/messages.send) с последней версией API. \n\nКак только пользователь нажимает на одну из кнопок клавиатуры, отправляется сообщение с текстом из поля `label`. Если задан параметр `payload`, он дополнительно придет в callback API. \n\n\u003e **Важное замечание**: чтобы получать параметр `payload`, нужно поднять версию callback API до 5.69 или выше. Параметр `payload` нужно передавать в формате JSON.\n\n## Пример события в Callback API\n\n```JSON\n{\n \type\: \message_new\,\n \object\: {\n \id\: 41,\n \date\: 1526898082,\n \out\: 0,\n \user_id\: 163176673,\n \read_state\: 0,\n \title\: \\,\n \body\: \Blue\,\n \payload\: \{\\\button\\\:\\\4\\\}\\n },\n \group_id\: 1\n}\n```\n\nТакже, если клавиатура была определена с флагом `one_time`, она сразу же скрывается. Если нет, остается как была и пользователь может отправить еще сколько угодно команд.\nЧтобы убрать у пользователя клавиатуру, необходимо отправить сообщение с пустым параметром `buttons`:\n\n```JSON\n{\buttons\:,\one_time\:true}\n```\n\n## Callback-кнопки\n\nCallback-кнопки — тип кнопок, который работает в стандартном и в inline-отображении клавиатур ботов.\n\nCallback-кнопки позволяют боту получать уведомление о нажатиях на кнопки без отправки сообщения от пользователя, после чего выполнять необходимое действие: редактировать сообщение, показывать текстовую информацию, отправлять новую клавиатуру, открывать ссылку и т. д.\n\n### Примеры использования\n\n* Реализация основного меню бота: после нажатия на callback-кнопку на клавиатуре бот обновляет её, выполняя переход на уровень глубже по вложенности меню. При этом пользователю не нужно отправлять боту дополнительное сообщение.\n* Редактирование сообщения: пользователь нажимает на callback-кнопку в inline-клавиатуре из сообщения, выбирая категорию блюда в меню, — бот редактирует сообщение, предлагая блюда из этой категории. Пользователь при этом не отправляет боту сообщение.\n* Отправка результата действия: пользователь нажимает на callback-кнопку, например «Пополнить баланс», которая совершает определённое действие. После его успешного выполнения бот показывает пользователю информацию «Баланс пополнен» при помощи snackbar. Отправка сообщения при этом не требуется.\n\n### Принцип работы\n\n```JSON\n{\n action: {\n type: \callback\,\n payload: \{}\, // максимум 255 символов\n label: \Нажми меня\\n }\n}\n```\n* пользователь нажимает на клавишу;\n* бот получает новое событие `message_event` в Callback или LongPoll API:\n```JSON\n{\n \conversation_message_id\: 1234,\n \user_id\: 612512941, // id пользователя, который нажал на кнопку\n \peer_id\: 2000000094, // id диалога со стороны бота\n \event_id\: \feleyinek\, // Случайная строка. Активна в течение минуты, спустя минуту становится недействительной\n \payload\: \{}\\n}\n```\n* бот формирует запрос к API, используя метод `messages.sendMessageEventAnswer`(method/messages.sendMessageEventAnswer);\n* клиент пользователя получает ответ от бота и выполняет нужное действие.\n\n### Действие после нажатия на кнопку\n\nБот отправляет `event_data` — объект действия, которое должно произойти после нажатия на кнопку.\n```JSON\n{\n \type\: \show_snackbar\,\n \text\: \Покажи исчезающее сообщение на экране\\n }\n```\nМетод `messages.sendMessageEventAnswer`(method/messages.sendMessageEventAnswer) можно выполнить только один раз за нажатие на клавишу. \n\n### Типы действий\n\n1. `show_snackbar` — показать исчезающее сообщение.\n Содержит поле `text` — текст, который нужно вывести (максимум 90 символов). Snackbar показывается в течение 10 секунд и автоматически скрывается, при этом у пользователя есть возможность смахнуть его с экрана.\n !(de951d983e604c2aabe128a8e5e1ccb37de792b2b582d9ca221db1dc \-3563741600283602501\)\n2. `open_link` — открыть ссылку. Осуществляется переход по указанному адресу.\n ```JSON\n {\n type: \open_link\,\n link: url\n }\n ```\n3. `open_app` — открыть VK Mini App. Происходит переход в мини-приложение.\n ```JSON\n {\n type: \open_app\,\n app_id: int,\n owner_id: int | null,\n hash: string\n }\n ```\n### Внешний вид\n\nCallback-кнопки выглядят так же, как и обычные кнопки, и поддерживают все стили. После нажатия на кнопку на время выполнения действия возникает индикатор загрузки.\n!(2ded1e4a35c7dae08f9d64009478dee14f2498cd1876683b67a36bcf \-532726193596602097\)\n\n### Обработка ошибок\n\nЕсли в формате объекта клавиатуры есть ошибки, `messages.send`(method/messages.send) вернёт ошибку `911. Keyboard format is invalid`.},language:ru,variant:public,expireDate:1668443631837,isManuallyExpired:false},/reference/json-schema:{type:article,layout:internal,template:/article,contents:{title:Справочник API | JSON-схема,id:reference__json-schema,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/json-schema,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# JSON-схема\n\n**JSON Schema** — это распространенный стандарт описания структуры данных. Спецификация стандарта и популярные сценарии его использования доступны на ресурсе http://json-schema.org/.\n\nСхема создана для описания JSON-данных, но и сама она при этом является JSON-объектом. С помощью ключевых слов в схеме создаются правила валидации структуры объекта и типов его полей.\n\nРассмотрим простой пример.\n\nУ каждого пользователя ВКонтакте есть идентификатор `id` (число), имя `first_name` (строка) и фамилия `last_name` (строка). В API эти данные представлены в виде объекта с набором соответствующих полей. В JSON объект выглядит вот так:\n\n```JSON\n{\n \id\: 210700286,\n \first_name\: \Lindsey\,\n \last_name\: \Stirling\\n}\n```\n\nJSON-схема, описывающая этот объект:\n\n```JSON\n {\n \type\: \object\,\n \properties\: {\n \id\: {\n \type\: \integer\,\n \description\: \User ID\\n },\n \first_name\: {\n \type\: \string\,\n \description\: \User first name\\n },\n \last_name\: {\n \type\: \string\,\n \description\: \User last name\\n }\n },\n \required\: \n \id\,\n \first_name\,\n \last_name\\n ,\n \additionalProperties\: false\n}\n```\nКлючевое слово `required` задает перечень обязательных полей. Если хотя бы одно из перечисленных полей будет отсутствовать, объект не пройдет валидацию по такой схеме.\n\nКлючевое слово `additionalProperties` задает возможность наличия дополнительных полей у объекта. В нашем случае дополнительные поля запрещены (при их наличии объект не пройдет валидацию по схеме).\n\nПерейдем к более сложной структуре.\n\nВызовем метод `users.get`(method/users.get) с параметрами `user_ids210700286,297428682` и `v5.52`.\nВ ответе сервер вернет JSON:\n\n```JSON\n{\n \response\: \n {\n \id\: 210700286,\n \first_name\: \Lindsey\,\n \last_name\: \Stirling\\n },\n {\n \id\: 297428682,\n \first_name\: \Jared\,\n \last_name\: \Leto\\n }\n \n}\n```\n\nЭто объект с единственным полем `response`, которое, в свою очередь, содержит массив объектов с базовой информацией о пользователе ВКонтакте. Вложенный объект содержит все те же три поля: `id` — численное значение, идентификатор пользователя; `first_name` — строковое значение, имя пользователя; `last_name` — строковое значение, фамилия пользователя.\n\nJSON-схема для этого объекта выглядит так:\n\n```JSON\n {\n \type\: \object\,\n \properties\: {\n \response\: {\n \type\: \array\,\n \items\: {\n \type\: \object\,\n \properties\: {\n \id\: {\n \type\: \integer\,\n \description\: \User ID\\n },\n \first_name\: {\n \type\: \string\,\n \description\: \User first name\\n },\n \last_name\: {\n \type\: \string\,\n \description\: \User last name\\n }\n },\n \required\: \n \id\,\n \first_name\,\n \last_name\\n \n }\n }\n }\n}\n```\n\n## Структура\n\nРепозиторий включает в себя 4 `.json` файла.\n\n### `methods.json`\n\nОписывает все методы API(method). Например, метод `users.get`(method/users.get):\n\n```JSON\n{\n \name\: \users.get\,\n \description\: \Returns detailed information on users.\,\n \access_token_type\: \n \user\,\n \group\,\n \service\\n ,\n \parameters\: \n {\n \name\: \user_ids\,\n \description\: \User IDs or screen names (screen_name). By default, current user ID.\,\n \type\: \array\,\n \items\: {\n \type\: \string\\n },\n \maxItems\: 1000\n },\n {\n \name\: \fields\,\n \description\: \Profile fields to return. Sample values: nickname, screen_name, sex, bdate (birthdate), city, country, timezone, photo, photo_medium, photo_big, has_mobile, contacts, education, online, counters, relation, last_seen, activity, can_write_private_message, can_see_all_posts, can_post, universities, can_invite_to_chats\,\n \type\: \array\,\n \items\: {\n \$ref\: \objects.json#/definitions/users_fields\\n }\n },\n {\n \name\: \name_case\,\n \description\: \Case for declension of user name and surname: nom — nominative (default), gen — genitive , dat — dative, acc — accusative , ins — instrumental , abl — prepositional\,\n \type\: \string\,\n \enum\: \n \nom\,\n \gen\,\n \dat\,\n \acc\,\n \ins\,\n \abl\\n ,\n \enumNames\: \n \nominative\,\n \genitive\,\n \dative\,\n \accusative\,\n \instrumental\,\n \prepositional\\n \n }\n ,\n \responses\: {\n \response\: {\n \$ref\: \responses.json#/definitions/users_get_response\\n }\n }\n }\n```\n\n### `objects.json`\n\nОписывает формат объектов, приходящих в ответах от методов. Например, объект `audio_audio`:\n\n```JSON\n{\n \audio_audio\: {\n \type\: \object\,\n \properties\: {\n \access_key\: {\n \type\: \string\,\n \description\: \Access key for the audio\\n },\n \artist\: {\n \type\: \string\,\n \description\: \Artist name\\n },\n \id\: {\n \type\: \integer\,\n \description\: \Audio ID\,\n \minimum\: 0\n },\n \owner_id\: {\n \type\: \integer\,\n \description\: \Audio owners ID\\n },\n \title\: {\n \type\: \string\,\n \description\: \Title\\n },\n \url\: {\n \type\: \string\,\n \format\: \uri\,\n \description\: \URL of mp3 file\\n },\n \duration\: {\n \type\: \integer\,\n \description\: \Duration in seconds\,\n \minimum\: 0\n },\n \date\: {\n \type\: \integer\,\n \description\: \Date when uploaded\,\n \minimum\: 0\n },\n \album_id\: {\n \type\: \integer\,\n \description\: \Album ID\,\n \minimum\: 0\n },\n \genre_id\: {\n \type\: \integer\,\n \description\: \Genre ID\,\n \minimum\: 0\n },\n \performer\: {\n \type\: \string\,\n \description\: \Performer name\\n }\n },\n \required\: \n \id\,\n \owner_id\,\n \duration\,\n \artist\,\n \title\\n ,\n \additionalProperties\: false\n }\n}\n```\n\nНазвание объекта состоит из названия секции, методы которой возвращают этот объект, и названия самого объекта после знака подчеркивания.\n\n### `responses.json`\n\nОписывает формат ответов методов. Например, ответ метода `account.getProfileInfo`(method/account.getProfileInfo):\n\n```JSON\n{\n\account_getProfileInfo_response\: {\n \type\: \object\,\n \properties\: {\n \response\: {\n \$ref\: \objects.json#/definitions/account_user_settings\\n }\n },\n \required\: \n \response\\n ,\n \additionalProperties\: false\n }\n}\n```\n\n### `schema.json`\n\nОписывает дополнительные сущности, которые используются в схеме, такие как `method`, `error`, `parameter` и прочие. Это необходимо, чтобы расширить возможности JSON-схемы, придерживаясь спецификации. Например, у нас используется сущность `error`:\n\n```JSON\n{\n \error\: {\n \type\: \object\,\n \properties\: {\n \code\: {\n \type\: \integer\,\n \description\: \Error code\,\n \minimum\: 0\n },\n \description\: {\n \type\: \string\,\n \description\: \Error description\\n },\n \subcodes\: {\n \type\: \array\,\n \items\: {\n \$ref\: \#/definitions/error_subcode\\n },\n \description\: \Array of error subcodes\\n },\n \global\: {\n \type\: \boolean\,\n \default\: false\n },\n \disabled\: {\n \type\: \boolean\,\n \default\: false\n },\n \deprecated_from_version\: {\n \$ref\: \#/definitions/deprecated_from_version\\n },\n \from_version\: {\n \$ref\: \#/definitions/from_version\\n }\n },\n \required\: \n \code\,\n \description\\n ,\n \additionalProperties\: false\n }\n}\n```\n\nРазделение на файлы необходимо только для удобства ручного поиска данных. Использовать их по отдельности бессмысленно, поскольку каждая схема ссылается на все остальные.\n\n## Использование\n\nНа основе схемы можно создавать SDK для API на любой платформе. Вы можете работать только с одной секцией методов или использовать их все, чтобы реализовать полнофункциональный клиент.\n\nСхема позволяет работать с кодогенераторами, такой подход дает вам возможность уделить больше времени внутренней логике вашего приложения, сэкономив ресурсы на изучении формата данных API.\n\nПример SDK, реализованного на основе схемы, вы можете найти на этой странице(sdk/java).\n\nЕсли ранее вы не были знакомы с нашим API, мы бы советовали также прочитать это руководство(api/getting-started) перед началом работы.},language:ru,variant:public,expireDate:1668444087921,isManuallyExpired:false},/api/ads/getting-started:{type:article,layout:internal,template:/article,contents:{title:API ВКонтакте | Реклама | Рекламный API,id:api__ads__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/ads/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Рекламный API\n\n## Что это такое?\n\nАвтоматизируйте работу с таргетированной рекламой ВКонтакте с помощью методов API — создавайте креативы, запускайте объявления и целые рекламные кампании, редактируйте настройки и получайте статистику. \n\nВозможности рекламного API:\n\n* создание и редактирование кампаний и объявлений;\n* автоматизированная выгрузка статистики;\n* управление и обновление аудиторий ретаргетинга;\n* добавление клиентов, наблюдателей и администраторов в рекламный кабинет.\n\n\n## Работа с API\n\nПеред вызовом методов API необходимо получить ключ доступа пользователя с помощью Implicit Flow(api/access-token/implicit-flow-user) или Authorization Code Flow(api/access-token/authcode-flow-user). После этого вы сможете выполнять любые запросы к API по стандартной схеме взаимодействия(api/api-requests).\n\n\u003e **Важно:** перед началом работы с рекламным API ознакомьтесь с ограничениями и рекомендациями.\n\nВыбирайте нужные методы для работы в зависимости от задач — здесь(method/ads) мы собрали методы, которые пригодятся для работы с рекламой. \n\nПри работе иногда могут возникать ошибки, но не стоит их бояться. Понять, что пошло не так, поможет список ошибок(reference/errors).\n\n## Готовые инструменты\n\nИспользуйте готовые решения наших партнеров для быстрой настройки и автоматизации рекламы:\n\n* Active Traffic(https://www.activetraffic.ru/) — массовое создание и настройка объявлений, аналитика и статистика, автоматические тактики.\n* Aori(https://aori.ru/) — единая платформа для управления рекламой с простым интерфейсом.\n* Atuko(https://atuko.ru) — массовое создание и редактирование рекламных кампаний с помощью Excel-генератора, подключение сторонней аналитики, массовое копирование и перенос кампаний из одного аккаунта в другой, гибкая настройка и выгрузка отчетов.\n* eLama(https://elama.ru/tools/) — калькулятор выгодной ставки за клик, быстрый конструктор креативов, импорт лидов.\n* ERESH(https://eresh.zemedia.ru/) — устраняет рутину при подготовке и управлении кампаниями: помогает с медиапланом, с расчётом бюджета. Сегментирует объявления, управляет ставками, показывает расширенную статистику.\n* Kairos(https://kairos.zemedia.ru/) — управляет кампаниями. Позволяет сделать максимальный выкуп горячей аудитории, достичь заданного охвата или заданного расхода бюджета к дедлайну. Рентабелен для месячных бюджетов от 300 тыс. рублей.\n* Marylin(https://mymarilyn.ru/) — оптимизация рекламных кампаний, управление ставками под заданные KPI, автоматизация рутинных процессов.\n* Plarin(https://www.plarin.net/) — массовое редактирование объявлений. Библиотека шаблонов креативов, их массовое создание. Оптимизация ставок, автоматическая сегментация, графические отчёты.},language:ru,variant:public,expireDate:1668444637808,isManuallyExpired:false},/method/wall.post:{type:method,layout:internal,template:/method,contents:{title:wall.post,id:wall.post,description:Позволяет создать запись на стене, предложить запись на стене публичной страницы, опубликовать существующую отложенную запись.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.post,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:214,id:,description:Access to adding post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:219,id:,description:Advertisement post was recently added,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:220,id:,description:Too many recipients,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:222,id:,description:Hyperlinks are forbidden,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:224,id:,description:Too many ads posts,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:225,id:,description:Donut is disabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, на стене которого должна быть опубликована запись.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «-» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:friends_only,description:`1` — запись будет доступна только друзьям, `0` — всем пользователям. По умолчанию публикуемые записи доступны всем пользователям.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:from_group,description:Данный параметр учитывается, если `owner_id` \u003c `0` (запись публикуется на стене группы). `1` — запись будет опубликована от имени группы, `0` — запись будет опубликована от имени пользователя (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:message,description:Текст сообщения (является обязательным, если не задан параметр `attachments`).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:attachments,description:Объект или несколько объектов, приложенных к записи.\nК записи можно приложить медиа или ссылку на внешнюю страницу. Если объектов несколько, их нужно указать через запятую «,».\n\nФормат описания медиа-приложения:\n\n```\n\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e\n```\n\n`\u003ctype\u003e` — тип медиа-приложения:\n* `photo` — фотография; \n* `video` — видеозапись;\n* `audio` — аудиозапись; \n* `doc` — документ;\n* `page` — wiki-страница;\n* `note` — заметка;\n* `poll` — опрос;\n* `album` — альбом;\n* `market` — товар;\n* `market_album` — подборка товаров;\n* `audio_playlist` — плейлист с аудио.\n\n`\u003cowner_id\u003e` — идентификатор владельца медиа-приложения (обратите внимание, если объект находится в сообществе, значение должно быть отрицательным числом). \n\n`\u003cmedia_id\u003e` — идентификатор медиа-приложения.\n\nФормат описания ссылки:\n\n```\n\u003cprotocol\u003e\u003cURL\u003e\n```\n\n`\u003cprotocol\u003e` — протокол HTTP или HTTPS.\n`\u003cURL\u003e` — оставшаяся часть URL.\n\nФормат для перечисления объектов:\n\n```\n\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e,\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e,\u003cprotocol\u003cURL\u003e\n```\n\nОбратите внимание, можно указать несколько медиа-приложений, но только одну ссылку. Если указать больше одной ссылки, будет возвращена ошибка. \n\nПримеры:\n\n```\nphoto100172_166443618,photo-1_265827614\n```\n\n```\nphoto66748_265827614,https://example.ru\n```\n\n```\nhttps://example.ru\n```\n\nПараметр `attachments` является обязательным, если не задано значение `message`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:services,description:Список сервисов или сайтов, на которые необходимо экспортировать запись, в случае если пользователь настроил соответствующую опцию. Например, `twitter`, `facebook`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:signed,description:`1` — у записи, размещенной от имени сообщества, будет добавлена подпись (имя пользователя, разместившего запись), `0` — подписи добавлено не будет. Параметр учитывается только при публикации на стене сообщества и указании параметра `from_group`. По умолчанию подпись не добавляется.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:publish_date,description:Дата публикации записи в формате `unixtime`. Если параметр указан, публикация записи будет отложена до указанного времени.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:lat,description:Географическая широта отметки, заданная в градусах (от -90 до 90).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:long,description:Географическая долгота отметки, заданная в градусах (от -180 до 180).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:place_id,description:Идентификатор места, в котором отмечен пользователь.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:post_id,description:Идентификатор записи, которую необходимо опубликовать. Данный параметр используется для публикации отложенных записей и предложенных новостей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:guid,description:Уникальный идентификатор, предназначенный для предотвращения повторной отправки одинаковой записи. Действует в течение одного часа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:mark_as_ads,description:`1` — у записи, размещенной от имени сообщества, будет добавлена метка **Это реклама**, `0` — метки добавлено не будет. В сутки может быть опубликовано не более пяти рекламных записей, из которых не более трёх — вне Биржи ВКонтакте.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:close_comments,description:`1` — комментарии к записи отключены,\n`0` — комментарии к записи включены.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:donut_paid_duration,description:Период времени в течение которого запись будет доступна для донов — платных подписчиков VK Donut. Возможные значения:\n* `-1` — исключительно для донов;\n* `86400` — на 1 день;\n* `172800` — на 2 дня;\n* `259200` — на 3 дня;\n* `345600` — на 4 дня;\n* `432000` — на 5 дней;\n* `518400` — на 6 дней;\n* `604800` — на 7 дней.,type:string,minLength:null,maxLength:null,fromVersion:5.125,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:mute_notifications,description:`1` — уведомления к записи отключены;\n`0` — уведомления к записи включены.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:copyright,description:Источник материала. Поддерживаются внешние и внутренние ссылки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:topic_id,description:,type:string,minLength:null,maxLength:null,fromVersion:5.109,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:При публикации отложенной записи все параметры, кроме `owner_id` и `post_id`, игнорируются.,resultDescription:После успешного выполнения возвращает идентификатор созданной записи (`post_id`).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668445225843,isManuallyExpired:false},/reference/objects/audio-genres:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Вспомогательные объекты и наборы значений | Жанры аудиозаписей,id:reference__objects__audio-genres,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/audio-genres,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Жанры аудиозаписей\n\nЖанр возвращается в виде числа в поле `genre` при получении информации об аудиозаписи(reference/objects/audio). Поле `genre` может содержать следующие значения:\n\n* `1` — Rock;\n* `2` — Pop;\n* `3` — Rap \u0026 Hip-Hop;\n* `4` — Easy Listening;\n* `5` — House \u0026 Dance;\n* `6` — Instrumental;\n* `7` — Metal;\n* `21` — Alternative;\n* `8` — Dubstep;\n* `1001` — Jazz \u0026 Blues;\n* `10` — Drum \u0026 Bass;\n* `11` — Trance;\n* `12` — Chanson;\n* `13` — Ethnic;\n* `14` — Acoustic \u0026 Vocal;\n* `15` — Reggae;\n* `16` — Classical;\n* `17` — Indie Pop;\n* `19` — Speech;\n* `22` — Electropop \u0026 Disco;\n* `18` — Other.\n\nВы можете редактировать жанр, используя метод Аудиозапись(method/audio.edit).},language:ru,variant:public,expireDate:1668445357807,isManuallyExpired:false},/support:{type:article,layout:internal,template:/article,contents:{title:Поддержка,id:support,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:support,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Поддержка\n\n## База знаний и обратная связь\n\nЕсли у вас возникли вопросы или появились идеи по работе с API ВКонтакте или созданию игр и мини-приложений, если вы обнаружили неточность в документации — напишите нам:\n\n\u003e * Задать вопрос по документации и порталу для разработчиков(https://vk.com/support?actnew\u0026fromdev_documentation)\n\u003e\n\u003e * Задать вопрос по API(https://vk.com/support?actnew_api)\n\u003e\n\u003e * Задать вопрос по мини-приложениям(https://vk.com/support?actnew\u0026frommini_apps)\n\u003e\n\u003e * Задать вопрос по играм(https://vk.com/support?actnew_app)\n\u003e\n\u003e **Задать любой другой вопрос** Поддержке(https://vk.com/support?acthome)\n\nДля ускорения рассмотрения укажите:\n\n1. идентификатор приложения;\n1. адрес страницы, на которой возникает ошибка;\n1. содержимое запроса к API, с которым возникают неполадки;\n1. содержимое ответа сервера на запрос, с которым возникают неполадки.\n\n## Баг-трекер\n\n\u003e * Следить за исправлением ошибок и добавлять баг-репорты(http://vk.com/bugs)\n\nВ баг-трекере можно отслеживать текущий статус обнаруженных ошибок в работе платформы. Целесообразно добавлять баг-репорты только в тех случаях, когда проблема носит устойчивый характер и стабильно воспроизводится. Если вы не уверены, что проблема связана с ошибкой платформы, сомневаетесь в правильности своего кода, настроек приложения и прочих условий, или если проблему невозможно воспроизвести стабильно — пожалуйста, обращайтесь в Поддержку(https://vk.com/support?acthome). \n\n## Официальные сообщества ВКонтакте\n\n\u003e * Сообщество API ВКонтакте(https://vk.com/apiclub)\n\u003e * Клуб разработчиков мини-приложений(https://vk.com/vkappsdev) \n\u003e * Клуб разработчиков игр(https://vk.com/devclub)},language:ru,variant:public,expireDate:1668445723909,isManuallyExpired:false},/pay/getting-started:{type:article,layout:internal,template:/article,contents:{title:VK Pay | Быстрый старт,id:pay__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:pay/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Быстрый старт\n\nЧтобы оплачивать товары и услуги с помощью VK Pay, пользователь привязывает к VK Pay одну или несколько банковских карт, а затем расплачивается с помощью кошелька или привязанной карты — без ввода реквизитов и дополнительных шагов. \n\nВам будет удобно принимать оплату через VK Pay, если вы:\n* разрабатываете сервис на платформе VK Mini Apps(mini-apps/getting-started),\n* создаёте чат-бота(api/bots/overview),\n* предлагаете товары или услуги в сообществе ВКонтакте или на стороннем сайте. \n\n## Приём оплаты на счёт физического лица\n\nДеньги будут приходить на ваш личный счёт VK Pay. \n\nИ у вас, и у отправителя средств должен быть расширенный статус VK Pay(https://vk.com/faq17873). Чтобы получить его, нужно указать данные паспорта и ещё одного документа на выбор — ИНН или СНИЛС. Это требование 115-ФЗ для всех банков и электронных кошельков. Все сведения передаются напрямую в ЕСИА (Единую систему идентификации и аутентификации) и защищены законом 152-ФЗ «О персональных данных». \n\n#### Параметры платежа\n\nПараметры платежа VK Pay зависят от типа `action`. Ниже представлены все возможные типы, используемые в VK Mini Apps(mini-apps/getting-started), клавиатуре ботов(api/bots/getting-started) и на сайтах.\n\n* Платёж в пользу сообщества с заданной суммой `action` (`string`) — pay-to-group\n * `amount` (`integer`) — сумма платежа в рублях. Минимальное значение — `1`, обязательный параметр;\n * `description` (`string`) — описание платежа;\n * `data` (`object`) — словарь с произвольными параметрами;\n * `group_id` (`integer`) — идентификатор сообщества, обязательный параметр.\n* Платёж с заданной суммой пользователю `action` (`string`) — pay-to-user\n * `amount` (`integer`) — сумма платежа в рублях. Минимальное значение — `1`;\n * `description` (`string`) — описание платежа; \n * `user_id` (`integer`) — идентификатор пользователя, обязательный параметр.\n* Перевод сообществу произвольной суммы `action` (`string`) — transfer-to-group` \n * `group_id` (`integer`) — идентификатор сообщества, обязательный параметр;\n * `description` (`string`) — описание платежа.\n* Перевод пользователю произвольной суммы `action` (`string`) — transfer-to-user` \n * `user_id` (`integer`) — идентификатор пользователя, обязательный параметр;\n * `description` (`string`) — описание платежа.\n\n## Приём оплаты на счёт юридического лица\n\nДеньги будут приходить на ваш расчётный счёт. \n\nОтправитель средств не обязан проходить идентификацию, вам не потребуется расширенный статус VK Pay. Однако нужно заключить договор с провайдером платёжных операций VK Pay — РНКО «Деньги.Мэйл.Ру». Заполнить анкету на подключение вашего юридического лица можно здесь(https://vk.cc/9CJwZW). \n\n#### Параметры платежа\n\n**Платёж в пользу мерчанта** — платёж приложению, на расчетный счёт юридического лица. Подробная документация доступна в разделе Платёжная форма VK Pay(pay/payment-form).},language:ru,variant:public,expireDate:1668446402864,isManuallyExpired:false},/api/captcha-error:{type:article,layout:internal,template:/article,contents:{title:Использование API | Обработка ошибок | Ошибка с Captcha,id:api__captcha-error,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/captcha-error,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Ошибка с Captcha\n\nЕсли какое-либо действие (например, отправка сообщения) выполняется пользователем слишком часто, то запрос к API может возвращать ошибку `\Captcha needed\`. При этом пользователю понадобится ввести код с изображения и отправить запрос повторно с передачей введенного кода Captcha(https://ru.wikipedia.org/wiki/CAPTCHA) в параметрах запроса.\n```JSON\n{\n \error_code\: 14,\n \error_msg\: \Captcha needed\\n}\n```\nЕсли возникает данная ошибка, то в сообщении об ошибке передаются также следующие параметры:\n* `captcha_sid` — идентификатор `captcha`.\n* `captcha_img` — ссылка на изображение, которое нужно показать пользователю, чтобы он ввел текст с этого изображения.\n\nВ этом случае следует запросить пользователя ввести текст с изображения `captcha_img` и повторить запрос, добавив в него параметры:\n* `captcha_sid` — полученный идентификатор\n* `captcha_key` — текст, который ввел пользователь\n## Пример ошибки\n```JSON\n{\n \error\:\n {\n \error_code\:14,\n \error_msg\:\Captcha needed\,\n \request_params\:\n {\n \key\:\oauth\,\n \value\:\1\\n },{\n \key\:\method\,\n \value\:\captcha.force\\n },{\n \key\:\uids\,\n \value\:\66748\\n },{\n \key\:\access_token\,\n \value\:\b9b5151856dcc745d785a6b604295d30888a827a37763198888d8b7f5271a4d8a049fefbaeed791b2882\\n }, \n \captcha_sid\:\239633676097\,\n \captcha_img\:\http:\\/\\/api.vk.com\\/captcha.php?sid239633676097\u0026s1\\n }\n}\n```},language:ru,variant:public,expireDate:1668446841737,isManuallyExpired:false},/method/messages.getConversationMembers:{type:method,layout:internal,template:/method,contents:{title:messages.getConversationMembers,id:messages.getConversationMembers,description:Позволяет получить список участников беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getConversationMembers,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:917,id:,description:You dont have access to this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:peer_id,description:Идентификатор назначения.\n\nДля пользователя:\n* `id` пользователя.\n\nДля групповой беседы:\n\n* `2000000000` + `id` беседы.\n\nДля сообщества:\n\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:,type:string,minLength:null,maxLength:null,fromVersion:5.154,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:,type:string,minLength:null,maxLength:null,fromVersion:5.154,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:возвращать поля profiles и groups в ответе.,type:string,minLength:null,maxLength:null,fromVersion:5.144,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Дополнительные поля пользователей(reference/objects/user) и сообществ(reference/objects/group), которые необходимо вернуть в ответе.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, который содержит следующие поля:\n\n`count`\n`integer`\nЧисло участников беседы.\n\n`items`\n`array`\nУчастники беседы. Массив объектов, каждый из которых содержит поля: \n* `member_id` (`integer`) — идентификатор участника беседы; \n* `invited_by` (`integer`) — идентификатор пользователя, который пригласил участника;\n* `join_date` (`integer`) — дата добавления в беседу;\n* `is_admin` (`boolean`) — является ли пользователь администратором; \n* `can_kick` (`boolean`) — может ли текущий пользователь исключить участника.\n\n`profiles` \n`array`\nМассив объектов пользователей(reference/objects/user).\n\n`groups`\n`array`\nМассив объектов сообществ(reference/objects/group).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668446924013,isManuallyExpired:false},/method/groups:{type:method-list,layout:internal,template:/method-list,contents:{title:groups,id:method_section_groups,description:Методы для работы с сообществами.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/groups,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:Groups,id:groups,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups,type:BASE,isSearchable:false,tokenTypes:,children:{title:groups.addAddress,id:groups.addAddress,description:Позволяет добавить адрес в сообщество.\nСписок адресов может быть получен методом `groups.getAddresses`(method/groups.getAddresses).\n\n\u003e Для того, чтобы воспользоваться этим методом, вы должны быть администратором сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.addCallbackServer,id:groups.addCallbackServer,description:Добавляет сервер для Callback API(api/callback/getting-started) в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.addLink,id:groups.addLink,description:Позволяет добавлять ссылки в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.addLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.approveRequest,id:groups.approveRequest,description:Позволяет одобрить заявку в группу от пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.approveRequest,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.ban,id:groups.ban,description:Добавляет пользователя или группу в черный список сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.ban,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.create,id:groups.create,description:Создает новое сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.create,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.deleteAddress,id:groups.deleteAddress,description:Удаляет адрес сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.deleteCallbackServer,id:groups.deleteCallbackServer,description:Удаляет сервер для Callback API(api/callback/getting-started) из сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.deleteLink,id:groups.deleteLink,description:Позволяет удалить ссылки из сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.deleteLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.disableOnline,id:groups.disableOnline,description:Выключает статус «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.disableOnline,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.edit,id:groups.edit,description:Редактирует сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.edit,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editAddress,id:groups.editAddress,description:Позволяет отредактировать адрес в сообществе.\nСписок адресов может быть получен методом `groups.getAddresses`(method/groups.getAddresses).\n\n\u003e Для того, чтобы воспользоваться этим методом, вы должны быть администратором сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editAddress,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editCallbackServer,id:groups.editCallbackServer,description:Редактирует данные сервера для Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editCallbackServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.editLink,id:groups.editLink,description:Позволяет редактировать ссылки в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.editManager,id:groups.editManager,description:Позволяет назначить/разжаловать руководителя в сообществе или изменить уровень его полномочий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editManager,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.editPlace,id:groups.editPlace,description:Позволяет редактировать информацию о месте группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.editPlace,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.enableOnline,id:groups.enableOnline,description:Включает статус «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.enableOnline,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.get,id:groups.get,description:Возвращает список сообществ указанного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.get,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getAddresses,id:groups.getAddresses,description:Возвращает адрес указанного сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getAddresses,type:BASE,isSearchable:false,tokenTypes:allow_from_server},{title:groups.getBanned,id:groups.getBanned,description:Возвращает список забаненных пользователей и сообществ в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getBanned,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getById,id:groups.getById,description:Возвращает информацию о заданном сообществе или о нескольких сообществах.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getById,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.getCallbackConfirmationCode,id:groups.getCallbackConfirmationCode,description:Позволяет получить строку, необходимую для подтверждения адреса сервера в Callback API(api/callback/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackConfirmationCode,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackServerSettings,id:groups.getCallbackServerSettings,description:Позволяет получить информацию о настройках сервера для получения уведомлений Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackServerSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackServers,id:groups.getCallbackServers,description:Получает информацию о серверах для Callback API(api/callback/getting-started) в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackServers,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCallbackSettings,id:groups.getCallbackSettings,description:Позволяет получить настройки уведомлений Callback API(api/callback/getting-started) для сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getCallbackSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getCatalog,id:groups.getCatalog,description:Возвращает список сообществ выбранной категории каталога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getCatalog,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getCatalogInfo,id:groups.getCatalogInfo,description:Возвращает список категорий для каталога сообществ.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getCatalogInfo,type:BASE,isSearchable:false,tokenTypes:},{title:groups.getInvitedUsers,id:groups.getInvitedUsers,description:Возвращает список пользователей, которые были приглашены в группу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getInvitedUsers,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getInvites,id:groups.getInvites,description:Данный метод возвращает список приглашений в сообщества и встречи текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getInvites,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getLongPollServer,id:groups.getLongPollServer,description:Возвращает данные для подключения к Bots Longpoll API(api/bots-long-poll/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getLongPollServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getLongPollSettings,id:groups.getLongPollSettings,description:Получает настройки Bots Longpoll API для сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getLongPollSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getMembers,id:groups.getMembers,description:Возвращает список участников сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getMembers,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.getOnlineStatus,id:groups.getOnlineStatus,description:Получает информацию о статусе «онлайн» в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getOnlineStatus,type:BASE,isSearchable:false,tokenTypes:group_access},{title:groups.getRequests,id:groups.getRequests,description:Возвращает список заявок на вступление в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getRequests,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getSettings,id:groups.getSettings,description:Позволяет получать данные, необходимые для отображения страницы редактирования данных сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getSettings,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.getTagList,id:groups.getTagList,description:Возвращает список тегов сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getTagList,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.getTokenPermissions,id:groups.getTokenPermissions,description:Возвращает настройки прав для ключа доступа сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.getTokenPermissions,type:BASE,isSearchable:false,tokenTypes:group_access_only},{title:groups.invite,id:groups.invite,description:Позволяет приглашать друзей в группу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.invite,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.isMember,id:groups.isMember,description:Возвращает информацию о том, является ли пользователь участником сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.isMember,type:BASE,isSearchable:false,tokenTypes:allow_from_server,group_access},{title:groups.join,id:groups.join,description:Данный метод позволяет вступить в группу, публичную страницу, а также подтвердить участие во встрече.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.join,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.leave,id:groups.leave,description:Позволяет покинуть сообщество или отклонить приглашение в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.leave,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.removeUser,id:groups.removeUser,description:Позволяет исключить пользователя из группы или отклонить заявку на вступление.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.removeUser,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.reorderLink,id:groups.reorderLink,description:Позволяет менять местоположение ссылки в списке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.reorderLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:groups.search,id:groups.search,description:Осуществляет поиск сообществ по заданной подстроке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/groups.search,type:BASE,isSearchable:false,tokenTypes:},{title:groups.setCallbackSettings,id:groups.setCallbackSettings,description:Позволяет задать настройки уведомлений о событиях в Callback API(api/callback/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setCallbackSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setLongPollSettings,id:groups.setLongPollSettings,description:Задаёт настройки для Bots Long Poll API в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setLongPollSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setSettings,id:groups.setSettings,description:Устанавливает настройки сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setSettings,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.setUserNote,id:groups.setUserNote,description:Позволяет создать или отредактировать заметку о пользователе в рамках переписки пользователя с сообществом,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.setUserNote,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagAdd,id:groups.tagAdd,description:Позволяет добавить новый тег в сообщество.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagAdd,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagBind,id:groups.tagBind,description:Позволяет «привязывать» и «отвязывать» теги сообщества к беседам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagBind,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagDelete,id:groups.tagDelete,description:Позволяет удалить тег сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagDelete,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.tagUpdate,id:groups.tagUpdate,description:Позволяет переименовать существующий тег.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.tagUpdate,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:groups.toggleMarket,id:groups.toggleMarket,description:Переключает функционал раздела «Товаров» в выбранной группе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups,url:method/groups.toggleMarket,type:BASE,isSearchable:false,tokenTypes:},{title:groups.unban,id:groups.unban,description:Убирает пользователя или группу из черного списка сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.unban,type:BASE,isSearchable:false,tokenTypes:is_standalone}}},language:ru,variant:public,expireDate:1668446927026,isManuallyExpired:false},/method/stories:{type:method-list,layout:internal,template:/method-list,contents:{title:stories,id:method_section_stories,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:method/stories,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:Stories,id:stories,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stories,type:BASE,isSearchable:false,tokenTypes:,children:{title:stories.banOwner,id:stories.banOwner,description:Позволяет скрыть из ленты новостей истории от выбранных источников.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.banOwner,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.delete,id:stories.delete,description:Удаляет историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.delete,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.get,id:stories.get,description:Возвращает истории, доступные для текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.get,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getBanned,id:stories.getBanned,description:Возвращает список источников историй, скрытых из ленты текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getBanned,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.getById,id:stories.getById,description:Возвращает информацию об истории по её идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,vkui,url:method/stories.getById,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getDetailedStats,id:stories.getDetailedStats,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getDetailedStats,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:stories.getPhotoUploadServer,id:stories.getPhotoUploadServer,description:Позволяет получить адрес для загрузки истории с фотографией(api/upload).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getPhotoUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getReplies,id:stories.getReplies,description:Позволяет получить ответы на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getReplies,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getStats,id:stories.getStats,description:Возвращает статистику истории.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getStats,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getVideoUploadServer,id:stories.getVideoUploadServer,description:Позволяет получить адрес для загрузки видеозаписи в историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getVideoUploadServer,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.getViewers,id:stories.getViewers,description:Возвращает список пользователей, просмотревших историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.getViewers,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.hideAllReplies,id:stories.hideAllReplies,description:Скрывает все ответы автора за последние сутки на истории текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.hideAllReplies,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:stories.hideReply,id:stories.hideReply,description:Скрывает ответ на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.hideReply,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:stories.save,id:stories.save,description:Сохраняет историю. В **upload_results** нужно передать строку, которую возвращает stories.getPhotoUploadServer(method/stories.getPhotoUploadServer) или stories.getVideoUploadServer(method/stories.getVideoUploadServer),isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.save,type:BASE,isSearchable:false,tokenTypes:group_access,vk_apps,is_standalone},{title:stories.search,id:stories.search,description:Возвращает результаты поиска по историям.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:stories,url:method/stories.search,type:BASE,isSearchable:false,tokenTypes:},{title:stories.sendInteraction,id:stories.sendInteraction,description:Отправляет фидбек на историю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/stories.sendInteraction,type:BASE,isSearchable:false,tokenTypes:secure},{title:stories.unbanOwner,id:stories.unbanOwner,description:Позволяет вернуть пользователя или сообщество в список отображаемых историй в ленте.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:ex,stories,url:method/stories.unbanOwner,type:BASE,isSearchable:false,tokenTypes:is_standalone}}},language:ru,variant:public,expireDate:1668446978690,isManuallyExpired:false},/community/events/mini-design-award:{type:article,layout:internal,template:/article,contents:{title:Сообщество | Архив | Mini Design Award — 2022,id:community__events__mini-design-award,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:community/events/mini-design-award,redirectTo:,menuId:community_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Mini Design Award — 2022\n\n\u003e Сроки проведения: с 1 по 15 июля 2022 года.\n\nЧтобы принять участи в конкурсе Mini Design Award, с 1 по 15 июля отправьте нам уже готовый сервис через специальную форму(https://vk.cc/mda2022) и узнайте, как хороший дизайн мини-приложения(mini-apps/overview) влияет на его метрики.\nМы будем оценивать все работы по следующим критериям:\n\n* Качество UX-дизайна.\n* Качество UI-дизайна.\n* Работоспособность мини-приложения.\n\nЧто получат участники конкурса: \n\n* 1-е место — набор продукции с символикой ВКонтакте и уникальной толстовкой и 10 000 рублей на рекламное продвижение ВКонтакте.\n* 2-е место – набор продукции с символикой ВКонтакте с уникальной толстовкой и 5 000 рублей на рекламное продвижение.\n* 3-е место – набор продукции с символикой ВКонтакте и 2 500 рублей на рекламное продвижение.\n\nКроме того, авторы работ, занявшие первые 10 мест, получат анимированную Lottie-иконку, а 3 последних места — полную разработку дизайна от нашей команды.\n\nИтоги конкурса(https://vk.com/wall-166562603_4442) смотрите в сообществе VK Mini Apps.},language:ru,variant:public,expireDate:1668447016602,isManuallyExpired:false},/games/promotion/ad:{type:article,layout:internal,template:/article,contents:{title:Игры | Продвижение | Рекламные методы,id:games__promotion__ad,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:games/promotion/ad,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:\n# Рекламные объявления\n\nЧтобы привлечь пользователей в игру, воспользуйтесь рекламной платформой ВКонтакте. Создайте рекламное объявление и запустите показ за несколько простых шагов.\n\n## Как это работает\n\n* Чтобы создать объявление, настроить рекламную кампанию и запустить показы, используйте рекламный кабинет ВКонтакте(https://vk.com/faq11844).\n\n Процесс создания пошаговый: выберите подходящее оформление, придумайте содержание, укажите параметры целевой аудитории, цену продвижения, места размещения и запустите рекламу. Основные этапы рассмотрены ниже(#Как%20запустить%20рекламу%20игры).\u0026#x0d;\u0026#x0a;\u0026nbsp;\n\n* В зависимости от формата реклама может появляться ВКонтакте среди записей сообществ, в ленте пользователей, в клипах и историях.\n\n Рекламу можно показывать на всех платформах или ограничиться только мобильными устройствами или десктопной версией сайта. Помимо ВКонтакте, рекламу можно показывать и на других площадках: Одноклассники, Почта Mail.ru, Юла, Авито. Подробнее о размещении(#Шаг%206.%20Выберите%20места%20размещения)\u0026#x0d;\u0026#x0a;\u0026nbsp;\n\n* ВКонтакте использует специальные алгоритмы, чтобы показывать таргетированную рекламу. Рекламные объявления увидят именно те пользователи, чьи интересы соответствуют характеристикам аудитории, заданным в настройках объявления.\n\n* Оплата будет списываться с вашего счёта за показ объявлений или за переходы по объявлению.\n\nПолную информацию о работе рекламной платформы вы можете найти в Справке по рекламе(https://vk.com/support?acthome_ads).\n\n## Перед созданием объявления\n\n* Опубликуйте игру в каталоге(games/catalog/moderation). Создавать рекламные кампании для игры можно только после её публикации.\n\n* Продумайте формат объявления. В некоторых случаях хорошо работает красочная картинка и небольшой текст, в других — краткий видеоролик из игры.\n\n* Убедитесь, что создаваемое объявление соответствует правилам размещения рекламных объявлений(https://vk.com/ads?actoffice_help\u0026terms1). Объявления, нарушающие правила, не пройдут модерацию.\n\n\n## Как запустить рекламу игры\n\n### Шаг 1. Войдите в рекламный кабинет и создайте объявление\n\nВойдите в рекламный кабинет, используя ваш аккаунт ВКонтакте.\n\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;⯈\u0026nbsp; https://vk.com/ads(https://vk.com/ads)\n\nЕсли у вас нет созданных рекламных кампаний, после входа вы увидите экран создания нового объявления.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\new-ad-screen.png --\u003e\n!altЭкран создания нового рекламного объявления;titleЭкран создания нового рекламного объявления(672c2bff48d1b66618ee46282c6a2a144e3b975a15bc9640aea9c063 \8879551098487572187\)\n\nЕсли же у вас есть рекламные кампании, вы увидите их список. Нажмите на кнопку **Создать объявление**.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\create-ad-button.png --\u003e\n!altКнопка «Создать объявление»;titleКнопка «Создать объявление»(3242df88c9bc9f3b4cc7c5dcd2cde21dc039497cc7b4921112f93a3c \1343010149217473367\)\n\nПоявится экран создания нового рекламного объявления.\n\n### Шаг 2. Выберите цель и формат\n\n1. Выберите цель — результат, которого вы хотите добиться. Это поможет рекламной платформе показывать объявление так, чтобы вы получили от продвижения максимум. Для продвижения игры выберите одну из этих целей:\n\n \u003c!-- exclusions\\_images\\mini-apps\\promotion\\select-goal.png --\u003e\n !altЦели для продвижения игры;titleЦели для продвижения игры(d543567125e118e6791fcd518a5173d664d696d484aeb8ea20f3eb56 \8820704566888279171\)\n\n2. Выберите подходящий формат рекламного объявления. Доступные форматы зависят от цели, выбранной на предыдущем шаге. При необходимости измените цель наверху страницы.\n\n \u003c!-- exclusions\\_images\\games\\promotion\\select-ad-format.png --\u003e\n !altВыберите формат рекламного объявления;titleВыберите формат рекламного объявления(aa26d12fe0be73aadd98d42dac9bb8fa258b935e218156383be977aa \8498974710708546315\)\n\n Подробнее о доступных форматах — в разделе Форматы рекламы ВКонтакте(https://vk.com/faq12104).\n\n3. Укажите параметры объявления. Они различны для каждого из форматов. Следуйте инструкциям на экране.\n\n Например, если вы выбрали **Универсальная запись**, нажмите на кнопку **Создать**, чтобы ввести текст и загрузить изображение для нового объявления. Если у вас уже есть созданная рекламная запись, нажмите на ссылку **выбрать существующую** чтобы указать её URL.\n\n \u003c!-- exclusions\\_images\\games\\promotion\\create-ad-example.png --\u003e\n !altПример создания объявления «Универсальная запись»;titleПример создания объявления «Универсальная запись»(86bf2b252d485f4112d912e5446f9bfc67065085cdebcbb596b0a530 \1566002994603199974\)\n\n ВКонтакте предъявляет требования к длине текста, форматам и разрешению видео и изображений, а также к размеру файлов, прикрепляемых к объявлениям. Детальные технические требования(https://vk.com/faq11936) к объявлениям разных форматов вы можете найти в Справке по рекламе(https://vk.com/support?acthome_ads).\n\nЧтобы изменить содержимое объявление после создания, нажмите на кнопку **Редактировать запись**. Чтобы поменять формат или цель, нажмите на кнопку **Изменить**.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\edit-buttons.png --\u003e\n!altКнопки «Редактировать» и «Изменить»;titleКнопки «Редактировать» и «Изменить»(ff50f85c01328e6a00086b42576d892cfd2a585fbc4e77a5e88c74be \-8263522539251045557\)\n\n### Шаг 3. Выберите целевую аудиторию\n\nЧтобы показывать рекламу только тем, кого она может заинтересовать, настройте параметры таргетинга — выбора желаемой целевой аудитории. ВКонтакте доступно более 20 видов параметров: от самых простых вроде пола, возраста, географии и интересов — до тонких настроек, таких как типы устройств, с которых пользователи выходят в сеть.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\audience-settings.png --\u003e\n!altНастройка параметров целевой аудитории;titleНастройка параметров целевой аудитории(a91193cfbe0cf9577ff07f86deb0a37fb2b717ae49769bc714a30f92 \1295695458885448508\)\n\nВоспользуйтесь параметрами **Интересы** в разделе **Настройки целевой аудитории**. Так вы сможете охватить пользователей, которые могут интересоваться играми.\n\nВ некоторых случаях, например когда у вас уже есть сообщество с публикациями, ВКонтакте предлагает автоматическую настройку параметров **Интересы**. Мы рекомендуем воспользоваться этой возможностью.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\audience-interests-automatic-setting.png --\u003e\n!altРежим автоматического подбора интересов целевой аудитории;titleРежим автоматического подбора интересов целевой аудитории(5fac91ee5b2c3997868351612f3cfa62bcc5038becc30c07f0446e92 \-4647666659443080475\)\n\nЕсли автоматическая настройка недоступна или вы не хотите её использовать, укажите характеристики аудитории самостоятельно.\n\n* **Интересы и поведение**. Укажите в этом параметре `Компьютерные игры`. Так вашу рекламу увидят пользователи, которые в последнее время интересовались играми ВКонтакте, посещали тематические сообщества и переходили на внешние сайты, связанные с играми.\n\n \u003c!-- exclusions\\_images\\mini-apps\\promotion\\audience-interests-and-behavior-setting.png --\u003e\n !altПараметры «Интересы и поведение»;titleПараметры «Интересы и поведение»(0e382c07299ade603c67549b7d4803bd0f7dc20bee2dd9e093930cdc \-6752171930872937703\)\n\n* **Подписчики сообществ**. Укажите в этом параметре сообщества, связанные с играми похожего жанра. Так вы привлечёте в игру пользователей, которые уже интересуются схожими играми.\n\n \u003c!-- exclusions\\_images\\mini-apps\\promotion\\audience-subscribers-setting.png --\u003e\n !altПараметры «Подписчики сообществ»;titleПараметры «Подписчики сообществ»(b7385ed844ba1ebdb420bbc8e974eb9ccadea90e2568c94e8c4b67f8 \4235761061493833200\)\n\n* **Ключевые фразы**. Укажите фразы, которые пользователи вводят при поиске товаров или услуг. С помощью этого параметра можно точнее определить аудиторию. Главное — подобрать подходящие запросы. Подумайте, при вводе каких фраз вы хотели бы видеть рекламу своей игры?\n\n \u003c!-- exclusions\\_images\\mini-apps\\promotion\\audience-keyphrases-setting.png --\u003e\n !altПараметры «Ключевые фразы»;titleПараметры «Ключевые фразы»(381b4281fefde5faffe4f136277c501bd29202a2ef907ccce83427e4 \-8743162523207971143\)\n\n \u003e **Совет.** Посмотрите рекомендации по подбору ключевых фраз(https://vk.com/faq17091) в Справке по рекламе.\n\nВКонтакте предлагает и другие настройки для более точного определения целевой аудитории. Например, можно выбрать пользователей каких-либо приложений, посетителей сайтов, фанатов какого-либо музыканта, владельцев определённых моделей мобильных устройств. Просмотрите доступные критерии на странице, чтобы точнее определить охват.\n\n#### Рекомендации по указанию интересов целевой аудитории\n\n* Перечисленные выше параметры — отдельные настройки. Каждый из них делает рекламу более нацеленной на соответствующий сегмент аудитории. В большинстве случаев не стоит использовать их все сразу в одном объявлении, чтобы не сокращать целевую аудиторию слишком сильно.\n\n С другой стороны, слишком большая аудитория может снизить эффективность рекламной кампании, так как пользователи будут игнорировать объявление. Важно найти баланс.\n\n Мы рекомендуем создать несколько объявлений с разными стратегиями продвижения в рамках одной кампании и с помощью статистики(https://vk.com/faq11935) выбрать наиболее эффективную.\n\n* Для более точных настроек в каждом поле можно ввести формулу(https://vk.com/faq16165) с операторами `И`, `ИЛИ`, `НЕ` или указать сегмент(https://vk.com/faq16453) целевой аудитории (задать пересечение). Чтобы активировать эти режимы, воспользуйтесь кнопками справа от полей ввода.\n\n \u003c!-- exclusions\\_images\\mini-apps\\promotion\\audience-additional-settings.png --\u003e\n !altДополнительные режимы для более тонких настроек;titleДополнительные режимы для более тонких настроек(d437051bb5ca0e05d175e4f9b5f68cbf9fe1aa062253c0fe44b5b15b \-1314254678789743544\)\n\n* Оценку размеров аудитории можно увидеть справа на странице. Это значение обновляется динамически при изменении параметров целевой аудитории и помогает понять, насколько сильно параметры сужают или увеличивают охват.\n\n \u003c!-- exclusions\\_images\\games\\promotion\\audience-estimate.png --\u003e\n !altОценка размеров целевой аудитории в рекламном кабинете;titleОценка размеров целевой аудитории в рекламном кабинете(4da0eb488491fbc3eba3754b0dec4d8f26389043204f38a49f66d612 \-1722782733326844403\)\n\n\u003e **Совет.** Почитайте о настройке целевой аудитории(https://vk.com/faq11837) в Справке по рекламе.\n\n### Шаг 4. Укажите рекламную кампанию\n\nУкажите рекламную кампанию, в которую будет добавлено новое объявление. Кампании(https://vk.com/faq12090) используются для группировки и управления объявлениями.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\ad-campaign.png --\u003e\n!altВыбор рекламной кампании;titleВыбор рекламной кампании(4bdbc129a3a0935034bd7f08ed513b9ca916503521220eab18824f28 \6975042129171239238\)\n\n### Шаг 5. Настройте цену продвижения\n\nВ зависимости от выбранной цели(#Шаг%202.%20Выберите%20цель%20и%20формат) оплата производится за показы рекламы(https://vk.com/faq12057) или за переходы по объявлению(https://vk.com/faq12057). Вы вносите денежные средства на счёт рекламного кабинета, с которого производятся периодические списания.\n\n#### Желаемая ставка\n\nВ настройках объявления вы можете выставить желаемую ставку. Это стоимость показа или перехода по рекламе в зависимости от выбранной цели.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\manual-price-setting.png --\u003e\n!altРучная настройка цены продвижения;titleРучная настройка цены продвижения(fa0f9b3b723017d679c2377376b4aa2b533b66de7300724b6480c80c \-229910865661669577\)\n\n#### Как работает ставка\n\nПеред показом рекламы ВКонтакте проводит автоматический аукцион(https://vk.com/faq11886) среди предложений. Побеждает объявление с самой высокой ставкой. Это не значит, что всегда будет показываться только реклама от самых богатых клиентов. Из-за высокой частоты показов внимание пользователей достанется и объявлениям с более низкими ставками. Просто они побеждают в аукционах реже. Подробности работы аукциона(https://vk.com/faq11886).\n\n#### Автоматическое управление ставкой\n\nЧтобы продвижение было эффективным, мы рекомендуем использовать автоматическое управление ценой. \n\n\u003c!-- exclusions\\_images\\games\\promotion\\automatic-price-control.png --\u003e\n!altАвтоматическая настройка цены продвижения;titleАвтоматическая настройка цены продвижения(998cc7effdcc84c589fe7fe9d4fae2e3b6e7ecf068bf621289585f7c \-2967015584037327504\)\n\nВ этом случае будет работать специальный алгоритм, который следит за ситуацией на аукционе и сам подбирает стоимость за показ так, чтобы рекламная кампания достигала желаемого результата. Траты по объявлению ограничиваются обязательным дневным лимитом(https://vk.com/faq11933), что не позволяет вам выйти за рамки бюджета. Подробнее об автоматическом управлении ценой(https://vk.com/faq16659).\n\n#### Прогноз стоимости рекламы\n\nРекламный кабинет показывает приблизительную стоимость продвижения. Это поможет вам лучше спланировать бюджет и настройки объявления.\n\n\u003c!-- exclusions\\_images\\games\\promotion\\promotion-price-estimation.png --\u003e\n!altОценка цены продвижения;titleОценка цены продвижения(b5763d38cf4cd0de5cd19ce47d263bd96d0cf1efa6b7a654251c03b3 \-1292951829894199632\)\n\n### Шаг 6. Выберите места размещения\n\nВ настройках объявления вы также можете указать одну или несколько платформ и площадок для показа(https://vk.com/faq19359), а также установить ограничения показа. В большинстве случаев вы можете включить автоматический выбор мест размещения.\n\n:::carousel\n\u003c!-- exclusions\\_images\\games\\promotion\\place-settings-manual.png --\u003e\n!altВыбор мест размещения (ручной режим);titleВыбор мест размещения (ручной режим)(64dc057d832e09b83b057d63e83e5aaf29d6afadbe4ad59fe3c853ad \-4430761108113590205\)\n\u003c!-- exclusions\\_images\\games\\promotion\\place-settings-automatic.png --\u003e\n!altВыбор мест размещения (автоматический режим);titleВыбор мест размещения (автоматический режим)(ff509b88006ba00e09123e748f63e0ab66c12c7e08af0280d8b80782 \5864848468305760431\)\n:::\n\n\u003e **Важно!** При использовании площадок размещения, отличных от ВКонтакте, помните, что у пользователя может не быть аккаунта ВКонтакте или он может быть не авторизован. В этом случае при переходе по объявлению пользователь увидит страницу, где надо будет войти ВКонтакте перед запуском игры. Это может уменьшить конверсию, так как пользователи, как правило, не ожидают дополнительных действий.\n\u003e\n\u003e Если вам нужна реклама игры на других площадках помимо ВКонтакте, отредактируйте объявление или открываемую страницу так, чтобы они чётко давали понять, что игра работает ВКонтакте.\n\u003e\n\u003e Если пользователь не вошёл ВКонтакте, при открытии игры в браузере он увидит страницу с описанием и скриншотами. Вы можете указать их в настройках игры в разделе **Информация**.\n\n### Шаг 7. Запустите рекламу\n\n1. После настройки всех параметров нажмите на кнопку **Создать объявление** внизу страницы:\n\n \u003c!-- exclusions\\_images\\games\\promotion\\create-ad-button-final-step.png --\u003e\n !altСоздание объявления;titleСоздание объявления(30869f8b30736468bea113cb5f12b775fffb7085108adf3fa35df533 \-4238671560263511478\)\n\n Рекламный кабинет покажет экран с параметрами созданного объявления.\n\n2. Нажмите на кнопку **Запустить**. Ваше объявление отправится на проверку модераторам.\n\n \u003c!-- exclusions\\_images\\games\\promotion\\start-ad-button.png --\u003e\n !altЭкран с параметрами объявления;titleЭкран с параметрами объявления(cd45694c658979c586cda2b2850acbd257355cee57aac5e78813969e \3879745807769666221\)\n\n Проверка обычно занимает несколько часов. После чего объявление начнёт показываться пользователям.\n\n Для запуска объявления требуется, чтобы кампания тоже была запущена.\n\nПодробнее о запуске рекламы и модерации — Управление рекламой(https://vk.com/faq11844). Вопросы, связанные с модерацией, можно задавать в беседе ВКонтакте для бизнеса(https://vk.me/business).\n\n## Что дальше\n\n* Чтобы понять, как работает реклама и достигает ли она поставленных результатов, анализируйте статистику и отслеживайте расходы в рекламном кабинете. Подробности — в разделе Анализ и статистика рекламных кампаний(https://vk.com/faq11935) в Справке по рекламе.\n\n* Оптимизируйте рекламную кампанию по результатам анализа, чтобы достигать результатов быстрее и при меньших затратах. Смотрите раздел Оптимизация и эффективность(https://vk.com/faq12102).\n\n* Уточняйте параметры целевой аудитории, создавайте новые объявления, чтобы удержать тех пользователей, кто уже запускал вашу игру, посещал сообщество или заходил на сайт. Подробнее — в разделе Ретаргетинг(https://vk.com/faq12106).\n\n## Дополнительная информация и поддержка\n\n* Справка по рекламе(https://vk.com/support?acthome_ads) содержит подробную информацию о работе с рекламной платформой и ответы на часто задаваемые вопросы(https://vk.com/faq12155).\n\n* Если у вас есть вопросы, связанные с работой рекламной платформы, кабинета или модерацией объявлений, напишите в беседу ВКонтакте для бизнеса(https://vk.me/business).\n\n## Советы по настройке рекламных объявлений\n\nНиже несколько примеров и советов по настройке рекламы и выбору форматов.\n\n#### Желаемый результат: увеличение охвата\n\n| Параметр | Описание |\n| --- | --- |\n| **Цель и формат** | Одна из следующих комбинаций:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Показы рекламного объявления** \u0026rarr; **Карусель**\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Показы рекламного объявления** \u0026rarr; **Реклама в клипах и историях** |\n| **Содержание** | Рассказ о персонажах или прохождении игры. Нужны яркие и запоминающиеся образы, которые помогут сделать игру узнаваемой. |\n| **Целевая\u0026nbsp;аудитория** | Выбирайте критерии, по которым можно собрать максимально широкую и вместе с тем релевантную аудиторию: пол, интересы и возраст. |\n\n#### Желаемый результат: рост продаж в игре\n\n| Параметр | Описание |\n| --- | --- |\n| **Цель и формат** | Одна из следующих комбинаций:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Переходы по рекламе** \u0026rarr; **Карусель**\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Переходы по рекламе** \u0026rarr; **Запись с кнопкой** |\n| **Содержание** | В объявлении должно быть больше конкретной информации о бонусах и специальных предложениях. |\n| **Целевая\u0026nbsp;аудитория** | Одна или несколько следующих категорий:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Текущие игроки.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Пользователи, которые уже совершали покупки в игре.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Пользователи, которые выбирали похожие по жанру игры. |\n\n#### Желаемый результат: новые игроки\n\n| Параметр | Описание |\n| --- | --- |\n| **Цель и формат** | Одна из следующих комбинаций:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Переходы по рекламе** \u0026rarr; **Запись c кнопкой**\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Переходы по рекламе** \u0026rarr; **Универсальная запись**\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; **Переходы по рекламе** \u0026rarr; **Карусель** |\n| **Содержание** | Динамичные и эффектные материалы с мотивирующим текстом. |\n| **Целевая\u0026nbsp;аудитория** | Пользователи, которые интересуются играми подобного жанра. Например, пользователи, которые посещают сайты или сообщества похожих игр или пользователи, уже играющие в похожие по жанру игры.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;В настройках не забудьте исключить текущих игроков, чтобы не тратить рекламный бюджет на уже привлечённую аудиторию.|\n\nЧтобы узнать больше о рекламных возможностях ВКонтакте для игр, подпишитесь на сообщество ВКонтакте для бизнеса(https://vk.com/business).\n\n## Материалы по теме\n\n* Форматы рекламы ВКонтакте(https://vk.com/faq12104)\n* Технические требования к объявлениям(https://vk.com/faq11936)\n* Справка по рекламе(https://vk.com/support?acthome_ads)\n},language:ru,variant:public,expireDate:1668447083179,isManuallyExpired:false},/method/market.add:{type:method,layout:internal,template:/method,contents:{title:market.add,id:market.add,description:Добавляет новый товар.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.add,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:205,id:,description:Access denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1405,id:,description:Too many items,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1408,id:,description:Item has bad links in description,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1416,id:,description:Variant not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1417,id:,description:Property not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1425,id:,description:Grouping must have two or more items,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1426,id:,description:Item must have distinct properties,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1433,id:,description:Invalid image crop format,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1434,id:,description:Crop bottom right corner is outside of the image,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1435,id:,description:Crop size is less than the minimum,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1438,id:,description:Market not enabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор владельца товара.\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «`-`» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:name,description:Название товара. Ограничение по длине считается в кодировке `cp1251`.,type:string,minLength:4,maxLength:100,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:description,description:Описание товара.,type:string,minLength:10,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:category_id,description:Идентификатор категории товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:price,description:Цена товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:old_price,description:Старая цена товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:deleted,description:Статус товара (`1` — товар удалён, `0` — товар не удалён).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:main_photo_id,description:Идентификатор фотографии обложки товара.\n\nФотография должна быть загружена с помощью метода `photos.getMarketUploadServer`(method/photos.getMarketUploadServer), передав параметр `main_photo`. См. подробную информацию(api/upload#Загрузка%20фотографии%20для%20товара) о загрузке фотографии товаров.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_ids,description:Идентификаторы дополнительных фотографий товара.\n\nФотография должна быть загружена с помощью метода `photos.getMarketUploadServer`(method/photos.getMarketUploadServer). См. подробную информацию(api/upload#Загрузка%20фотографии%20для%20товара) о загрузке фотографии товаров.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:url,description:Ссылка на сайт товара.,type:string,minLength:0,maxLength:320,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:dimension_width,description:Ширина в миллиметрах.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:dimension_height,description:Высота в миллиметрах.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:dimension_length,description:Глубина в миллиметрах.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:weight,description:Вес в граммах.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sku,description:Артикул товара, произвольная строка.,type:string,minLength:null,maxLength:50,fromVersion:5.131,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает идентификатор добавленного товара.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447086828,isManuallyExpired:false},/method/market.getOrderById:{type:method,layout:internal,template:/method,contents:{title:market.getOrderById,id:market.getOrderById,description:Возвращает заказ по идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.getOrderById,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:group_access,children:,text:\n,errors:,parameters:{name:user_id,description:Идентификатор пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:order_id,description:Идентификатор заказа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект заказа(reference/objects/market-order).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447087027,isManuallyExpired:false},/method/market.addToAlbum:{type:method,layout:internal,template:/method,contents:{title:market.addToAlbum,id:market.addToAlbum,description:Добавляет товар в одну или несколько выбранных подборок.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.addToAlbum,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:1402,id:,description:Album not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1403,id:,description:Item not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1404,id:,description:Item already added to album,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1406,id:,description:Too many items in album,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1438,id:,description:Market not enabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор владельца товара.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «`-`» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:item_id,description:Идентификатор товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:item_ids,description:Идентификаторы товаров, если нужно добавить сразу несколько.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:album_ids,description:Идентификаторы подборок, в которые нужно добавить товар.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447087591,isManuallyExpired:false},/bridge/VKWebAppGetConfig:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Общие события | VKWebAppGetConfig,id:bridge__VKWebAppGetConfig,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppGetConfig,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppGetConfig\n\n`VKWebAppGetConfig` получает информацию о конфигурации используемого мини-приложения или игры (информацию о родительском приложении, в котором открыто мини-приложение или игра).\n\n## Пример\n\n```JavaScript\nbridge.send(VKWebAppGetConfig)\n .then((data) \u003e { \n if (data.api_host) {\n // Информация получена\n }\n })\n .catch((error) \u003e {\n // Ошибка\n console.log(error);\n });\n```\n\n\u003e **Совет.** Используйте это событие, если вам нужно получить конфигурацию до вызова события `VKWebAppInit`(bridge/VKWebAppInit). В остальных случаях используйте стандартный способ получения конфигурации — подпишитесь на событие `VKWebAppUpdateConfig`(bridge/VKWebAppUpdateConfig).\n\n## Платформы\n\nAndroid, iOS, Mobile Web, Web\n\n## Параметры\n\n —\n\n## Результат\n\nПроверить результат можно:\n\n* Используя объект `Promise`(#Объект%20Promise), который возвращается вызовом `bridge.send(...)`.\n\n* С помощью события(#События) `VKWebAppGetConfigResult`.\n\nПодробнее о проверке результатов при вызовах VK Bridge(bridge/getting-started#Обработка%20результата).\n\n### Объект `Promise`\n\nЕсли обращение к платформе прошло успешно, управление будет передано в `then`-обработчик объекта `Promise`. В качестве ответа платформа возвращает объект со следующими полями:\n\n| Поле | Тип | Платформа | Значение |\n|---|---|---|---|\n| `api_host` | `string` | Mobile Web, Web | API-хост для вызовов, не использующих VK Bridge. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `api.vk.com`\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `api.vk.ru` |\n|`app` | `string` | Android, iOS | Тип клиента. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `vkclient` — приложение ВКонтакте.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `vkme` — мессенджер ВКонтакте. |\n|`app_id` | `string` | Android, iOS, Mobile Web, Web | Идентификатор приложения, которому соответствует нативное мобильное приложение ВКонтакте. |\n|`appearance` | `string` | Android, iOS, Mobile Web, Web | Тема мини-приложения или игры. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `light`— светлая тема.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `dark` — тёмная тема. |\n|`insets` | `string` | iOS | Текущие отступы, которые необходимо выдержать от края экрана до контента (если показана клавиатура, её высота будет в bottom-инсете). |\n|`gaid` | `string` | Android, iOS | Google Advertising ID(https://developer.android.com/training/articles/ad-id). |\n|`sak_version` | `string` | Android, iOS | Версия SuperAppKit. |\n|`scheme` | `string` | Android, iOS, Mobile Web, Web | Цветовая схема мини-приложения или игры. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `space_gray` — тёмная схема мобильного приложения и мобильной версии сайта.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `bright_light` — светлая схема мобильного приложения и мобильной версии сайта.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `vkcom_light` — светлая схема десктопной версии сайта.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `vkcom_dark` — тёмная схема десктопной версии сайта. |\n|`start_time` | `integer` | Android, iOS | Время и дата открытия модального экрана (Unix Timestamp(https://www.unixtimestamp.com/)). Передаётся только при открытии модального экрана. |\n|`viewport_height` | `integer` | Mobile Web, Web | Высота родительского окна мини-приложения или игры. |\n|`viewport_width` | `integer` | Mobile Web, Web | Ширина родительского окна мини-приложения или игры. |\n|`is_layer` | `boolean` | Web | Поле приходит, если мини-приложение или игра открыты в слое. |\n\nЕсли при обращении к платформе произошла ошибка, управление передаётся в метод `catch`. В качестве ответа платформа возвращает объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех событий VK Bridge.\n\n### События\n\n#### `VKWebAppGetConfigResult`\n\nСигнализирует, что информация получена. В обработчик события на стороне пользователя передаются следующие данные: \n\n```JavaScript\n{\n detail: {\n type: \VKWebAppGetConfigResult\,\n data: {\n api_host: \api.vk.com\,\n app_id: \8142709\,\n appearance: \light\,\n scheme: \vkcom_light\,\n viewport_height: 680,\n viewport_width: 1258\n }\n }\n}\n```\n\nПередаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса(#Объект%20Promise).\n\n#### `VKWebAppGetConfigFailed`\n\nИнформирует об ошибке, которая произошла при взаимодействии с платформой.\n\nВ обработчик события на стороне пользователя передаётся объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех методов VK Bridge.\n\n#### Пример обработки событий\n\nСмотрите раздел Обработка событий-результатов(bridge/getting-started#Обработка%20результата).\n},language:ru,variant:public,expireDate:1668447098567,isManuallyExpired:false},/method/pages.clearCache:{type:method,layout:internal,template:/method,contents:{title:pages.clearCache,id:pages.clearCache,description:Позволяет очистить кеш отдельных внешних страниц, которые могут быть прикреплены к записям ВКонтакте. После очистки кеша при последующем прикреплении ссылки к записи, данные о странице будут обновлены.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/pages.clearCache,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:url,description:Адрес страницы, закешированную версию которой необходимо очистить. ,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:При удачной очистке кеша – метод возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447116269,isManuallyExpired:false},/method/account.getAppPermissions:{type:method,layout:internal,template:/method,contents:{title:account.getAppPermissions,id:account.getAppPermissions,description:Получает настройки текущего пользователя в данном приложении.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/account.getAppPermissions,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:user_id,description:идентификатор пользователя, информацию о настройках которого необходимо получить. По умолчанию — текущий пользователь.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает битовую маску настроек текущего пользователя в данном приложении. \n\n### Пример\n\nЕсли Вы хотите получить права на **Доступ к друзьям** и **Доступ к статусам пользователя**, то Ваша битовая маска будет равна: `2 + 1024 1026`. \n\nЕсли, имея битовую маску `1026`, Вы хотите проверить, имеет ли она доступ к друзьям — Вы можете сделать `1026 \u0026 2`. Например: `alert(1026 \u0026 2);`\n\nСм. Список возможных настроек прав доступа(reference/access-rights).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447119251,isManuallyExpired:false},/method/apps.addUsersToTestingGroup:{type:method,layout:internal,template:/method,contents:{title:apps.addUsersToTestingGroup,id:apps.addUsersToTestingGroup,description:Метод добавляет указанных пользователей в группу тестировщиков мини-приложения.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/apps.addUsersToTestingGroup,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:secure,children:,text:\n,errors:,parameters:{name:user_ids,description:**Обязательный параметр**. Идентификаторы пользователей, которые входят в группу тестировщиков, перечисленные через запятую (например, `\11, 13\`).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:**Обязательный параметр**. Идентификатор группы тестировщиков.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Метод возвращает `1`, если пользователи добавлены в группу тестировщиков, и `0` в случае ошибки.\n\n```JSON\n{\n \response\:1\n}\n```\n\nВозможные ошибки:\n\n* `Not found` — группа тестировщиков не существует;\n* `Out of limits` — количество пользователей в группе превышает 1000.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447138678,isManuallyExpired:false},/method/board.fixTopic:{type:method,layout:internal,template:/method,contents:{title:board.fixTopic,id:board.fixTopic,description:Закрепляет тему в списке обсуждений группы (такая тема при любой сортировке выводится выше остальных).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/board.fixTopic,redirectTo:,menuId:api_menu,accessRights:groups_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:group_id,description:идентификатор сообщества, в котором размещено обсуждение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:topic_id,description:идентификатор обсуждения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:board.unfixTopic,id:board.unfixTopic,description:Отменяет прикрепление темы в списке обсуждений группы (тема будет выводиться согласно выбранной сортировке).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.unfixTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},{title:board.addTopic,id:board.addTopic,description:Создает новую тему в списке обсуждений группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.addTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447141459,isManuallyExpired:false},/method/docs.add:{type:method,layout:internal,template:/method,contents:{title:docs.add,id:docs.add,description:Копирует документ в документы текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/docs.add,redirectTo:,menuId:api_menu,accessRights:docs,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, которому принадлежит документ.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком `«-»` — например, `owner_id-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:doc_id,description:Идентификатор документа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:access_key,description:Ключ доступа документа. Этот параметр следует передать, если вместе с остальными данными о документе было возвращено поле `access_key`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает идентификатор созданного документа.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447144239,isManuallyExpired:false},/method/fave.setTags:{type:method,layout:internal,template:/method,contents:{title:fave.setTags,id:fave.setTags,description:Устанавливает метку выбранному объекту в списке закладок.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/fave.setTags,redirectTo:,menuId:api_menu,accessRights:ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:104,id:,description:Not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:3800,id:,description:Cant set AliExpress tag to this type of object,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:item_type,description:Тип объекта, которому необходимо присвоить метку. Возможные значения:\n* `post` — запись на стене;\n* `video` — видеозапись;\n* `product` — товар;\n* `article` — статья;\n* `link` — ссылка.\n\nДля работы с объектами пользователя или сообщества используйте метод `fave.setPageTags`(method/fave.setPageTags).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:item_owner_id,description:Идентификатор владельца объекта, которому требуется присвоить метку.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «`-`» — например, `owner_id-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:item_id,description:Идентификатор объекта.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:tag_ids,description:Идентификатор метки, которую требуется присвоить объекту.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:link_id,description:Идентификатор ссылки, которой требуется присвоить метку.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:link_url,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447150335,isManuallyExpired:false},/method/messages.getById:{type:method,layout:internal,template:/method,contents:{title:messages.getById,id:messages.getById,description:Возвращает сообщения по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getById,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:message_ids,description:Идентификаторы сообщений. Максимум 100 идентификаторов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:preview_length,description:Количество символов, по которому нужно обрезать сообщение. Укажите `0`, если вы не хотите обрезать сообщение (по умолчанию сообщения не обрезаются).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — возвращать дополнительные поля.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для пользователей(reference/objects/user) и сообществ(reference/objects/group).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов, описывающих сообщения(reference/objects/message), в поле `items`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447170194,isManuallyExpired:false},/method/messages.getChatPreview:{type:method,layout:internal,template:/method,contents:{title:messages.getChatPreview,id:messages.getChatPreview,description:Получает данные для превью чата с приглашением по ссылке.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getChatPreview,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:901,id:,description:Cant send messages for users without permission,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:917,id:,description:You dont have access to this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:peer_id,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:link,description:Ссылка-приглашение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список полей профилей, данные о которых нужно получить. Полный список смотрите на этой странице(reference/objects/user).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, который содержит следующие поля:\n`preview`\n`object`\nИнформация о чате. Объект, который содержит поля:\n* `admin_id` (`object`) — идентификатор создателя чата; \n* `members` (`array`) — массив идентификаторов участников чата; \n* `title` (`string`) — название чата; \n* `photo` (`object`) — обложка чата. Объект, который содержит поля: \n * `photo_50` (`string`) — URL копии фотографии с шириной 50 px; \n * `photo_100` (`string`) — URL копии фотографии с шириной 100 px;\n * `photo_200` (`string`) — URL копии фотографии с шириной 200px.\n * `local_id` (`integer`) — идентификатор чата для текущего пользователя.\n \n`profiles`\n`array`\nМассив объектов пользователей(reference/objects/user); \n\n`groups`\n`array`\nМассив объектов сообществ(reference/objects/group); \n\n`emails`\n`array`\nМассив объектов, описывающих e-mail. Каждый из объектов содержит поля: \n* `id` (`integer`) — идентификатор e-mail; \n* `address` (`string`) — адрес e-mail.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:{title:5.84,id:version/5.84,description:Метод messages.getChatPreview(messages.getChatPreview) теперь возвращает максимум 5 участников из чата. Метод messages.getConversationMembers(messages.getConversationMembers) возвращает поле **can_kick** (boolean) для участников беседы.\n\nВ объекте записи на стене(reference/objects/post) для комментариев могут вернуться поля **can_close** (boolean) и **can_open** (boolean).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447170456,isManuallyExpired:false},/method/notes.edit:{type:method,layout:internal,template:/method,contents:{title:notes.edit,id:notes.edit,description:Редактирует заметку текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/notes.edit,redirectTo:,menuId:api_menu,accessRights:notes,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:180,id:,description:Note not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:note_id,description:Идентификатор заметки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:title,description:Заголовок заметки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:text,description:Текст заметки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:privacy,description:Уровень доступа к заметке. \nВозможные значения:\n* `0` — все пользователи, \n* `1` — только друзья, \n* `2` — друзья и друзья друзей, \n* `3` — только пользователь.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.30,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:comment_privacy,description:Уровень доступа к комментированию заметки.\nВозможные значения:\n* `0` — все пользователи, \n* `1` — только друзья, \n* `2` — друзья и друзья друзей, \n* `3` — только пользователь.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.30,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:privacy_view,description:Настройки приватности просмотра заметки в специальном формате(api/privacy).,type:string,minLength:null,maxLength:null,fromVersion:5.30,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:privacy_comment,description:Настройки приватности комментирования заметки в специальном формате(api/privacy).,type:string,minLength:null,maxLength:null,fromVersion:5.30,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:notes.add,id:notes.add,description:Создает новую заметку у текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.add,type:BASE,isSearchable:false,tokenTypes:,children:},{title:notes.delete,id:notes.delete,description:Удаляет заметку текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:notes,url:method/notes.delete,type:BASE,isSearchable:false,tokenTypes:,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447179499,isManuallyExpired:false},/method/photos.reportComment:{type:method,layout:internal,template:/method,contents:{title:photos.reportComment,id:photos.reportComment,description:Позволяет пожаловаться на комментарий к фотографии.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.reportComment,redirectTo:,menuId:api_menu,accessRights:photos_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор владельца фотографии к которой оставлен комментарий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:comment_id,description:Идентификатор комментария.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:reason,description:Причина жалобы:\n* `0` — спам;\n* `1` — детская порнография;\n* `2` — экстремизм;\n* `3` — насилие;\n* `4` — пропаганда наркотиков;\n* `5` — материал для взрослых;\n* `6` — оскорбление.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447189679,isManuallyExpired:false},/method/secure.setUserLevel:{type:method,layout:internal,template:/method,contents:{title:secure.setUserLevel,id:secure.setUserLevel,description:Устанавливает игровой уровень пользователя в приложении, который смогут увидеть его друзья.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/secure.setUserLevel,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:secure,children:,text:\n,errors:,parameters:{name:levels,description:Позволяет указывать уровни нескольким пользователям за один запрос. \n\nЗначение следует указывать в следующем формате: \n\n```\nuser_id1:level1,user_id2:level2\n```\n\nПример: \n\n```\n66748:6,6492:2\n```\n\nВ случае, если указан этот параметр, параметры `level` и `user_id` не учитываются. Метод принимает не более 200 значений за один запрос.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:user_id,description:Идентификатор пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:level,description:Значение уровня.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает `1` в случае успешной установки уровня. \n\n\u003e Обратите внимание, при попытке установить уровень ниже текущего, ответ будет содержать сообщение об ошибке «Access denied: no activity from user for last 3 days», значение уровня изменено не будет.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:true}},language:ru,variant:public,expireDate:1668447195592,isManuallyExpired:false},/method/stories.hideAllReplies:{type:method,layout:internal,template:/method,contents:{title:stories.hideAllReplies,id:stories.hideAllReplies,description:Скрывает все ответы автора за последние сутки на истории текущего пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/stories.hideAllReplies,redirectTo:,menuId:api_menu,accessRights:ex,stories,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор пользователя, ответы от которого нужно скрыть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447201537,isManuallyExpired:false},/method/video.getComments:{type:method,layout:internal,template:/method,contents:{title:video.getComments,id:video.getComments,description:Возвращает список комментариев к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/video.getComments,redirectTo:,menuId:api_menu,accessRights:video,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:801,id:,description:Comments for this video are closed,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, которому принадлежит видеозапись.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «-» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:video_id,description:Идентификатор видеозаписи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:need_likes,description:`1` — будет возвращено дополнительное поле `likes`. По умолчанию поле `likes` не возвращается.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_comment_id,description:Идентификатор комментария, начиная с которого нужно вернуть список (подробности см. ниже).,type:string,minLength:null,maxLength:null,fromVersion:5.33,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определенного подмножества комментариев. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество комментариев, информацию о которых необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sort,description:Порядок сортировки комментариев. Возможные значения:\n* `asc` — от старых к новым;\n* `desc` — от новых к старым.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — в ответе будут возвращены дополнительные поля `profiles` и `groups`, содержащие информацию о пользователях и сообществах. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:Если был передан параметр `start_comment_id`, будет найдена позиция комментария в списке (или ближайший к нему более ранний). Начиная с этой позиции будет возвращено `count` комментариев. Смещение `offset` в этом случае будет отсчитываться от этой позиции (оно может быть отрицательным).,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов комментариев в поле `items`. Каждый объект, описывающий комментарий, содержит следующие поля:\n* `id` — идентификатор комментария;\n* `from_id` — идентификатор автора комментария;\n* `date` — дата добавления комментария в формате `unixtime`;\n* `text` — текст комментария;\n* `likes` — информация об отметках **Нравится** текущего комментария (если был задан параметр `need_likes`), объект с полями:\n * `count` — число пользователей, которым понравился комментарий,\n * `user_likes` — наличие отметки **Нравится** от текущего пользователя (`1` — есть, `0` — нет),\n * `can_like` — информация о том, может ли текущий пользователь поставить отметку **Нравится** (`1` — может, `0` — не может). \n\nЕсли был задан параметр `extended``1`, возвращает число результатов в поле `count`, отдельно массив объектов комментариев в поле `items`, пользователей(reference/objects/user) в поле `profiles` и сообществ(reference/objects/group\n) в поле `groups`.\n\nЕсли был передан параметр `start_comment_id`, будет также возвращено поле `real_offset` – итоговое смещение данного подмножества комментариев (оно может быть отрицательным, если был указан отрицательный `offset`).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447206088,isManuallyExpired:false},/method/video.getTags:{type:method,layout:internal,template:/method,contents:{title:video.getTags,id:video.getTags,description:Возвращает список отметок на видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/video.getTags,redirectTo:,menuId:api_menu,accessRights:video,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:owner_id,description:идентификатор владельца видеозаписи (пользователь или сообщество). По умолчанию — идентификатор текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:video_id,description:идентификатор видеозаписи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает массив объектов tag, каждый из которых содержит следующие поля:\n*user_id — идентификатор пользователя, которому соответствует отметка;\n*tag_id — идентификатор отметки;\n*placer_id — идентификатор пользователя, сделавшего отметку;\n*tagged_name — название отметки;\n*date — дата добавления отметки в формате unixtime;\n*viewed — статус отметки (1 — подтвержденная, 0 — неподтвержденная).,evalHash:,shouldHideConsole:false,linkedMethods:{title:video.getNewTags,id:video.getNewTags,description:Возвращает список видеозаписей, на которых есть непросмотренные отметки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.getNewTags,type:BASE,isSearchable:false,tokenTypes:,children:},{title:video.putTag,id:video.putTag,description:Добавляет отметку на видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video,url:method/video.putTag,type:BASE,isSearchable:false,tokenTypes:,children:},linkedVersions:{title:5.21,id:version/5.21,description:Поле **uid** в ответе метода **video.getTags** заменено на **user_id**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},consoleResult:{},properties:{isDeprecated:true}},language:ru,variant:public,expireDate:1668447206242,isManuallyExpired:false},/method/video.reportComment:{type:method,layout:internal,template:/method,contents:{title:video.reportComment,id:video.reportComment,description:Позволяет пожаловаться на комментарий к видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/video.reportComment,redirectTo:,menuId:api_menu,accessRights:video_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор владельца видеозаписи, к которой оставлен комментарий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:comment_id,description:Идентификатор комментария.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:reason,description:Тип жалобы. Возможные значения:\n* `0` — это спам; \n* `1` — детская порнография;\n* `2` — экстремизм;\n* `3` — насилие;\n* `4` — пропаганда наркотиков;\n* `5` — материал для взрослых;\n* `6` — оскорбление.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:video.report,id:video.report,description:Позволяет пожаловаться на видеозапись.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:video_ex,url:method/video.report,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447207719,isManuallyExpired:false},/method/wall.pin:{type:method,layout:internal,template:/method,contents:{title:wall.pin,id:wall.pin,description:Закрепляет запись на стене (запись будет отображаться выше остальных).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.pin,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, на стене которого находится запись. \n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком `«-»` — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:post_id,description:Идентификатор записи на стене.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447211936,isManuallyExpired:false},/method/wall.reportComment:{type:method,layout:internal,template:/method,contents:{title:wall.reportComment,id:wall.reportComment,description:Позволяет пожаловаться на комментарий к записи.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.reportComment,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, которому принадлежит комментарий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:comment_id,description:Идентификатор комментария.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:reason,description:Причина жалобы:\n* `0` — спам;\n* `1` — детская порнография;\n* `2` — экстремизм;\n* `3` — насилие;\n* `4` — пропаганда наркотиков;\n* `5` — материал для взрослых;\n* `6` — оскорбление;\n* `8` — призывы к суициду.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447212414,isManuallyExpired:false},/method/market.editOrder:{type:method,layout:internal,template:/method,contents:{title:market.editOrder,id:market.editOrder,description:Редактирует заказ.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.editOrder,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:group_access,children:,text:\n,errors:{title:1427,id:,description:Cart is empty,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1429,id:,description:Specify width, length, height and weight all together,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1430,id:,description:VK Pay status can not be changed,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1456,id:,description:Order status is invalid,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:user_id,description:Идентификатор пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:order_id,description:Идентификатор заказа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:merchant_comment,description:Комментарий продавца.,type:string,minLength:null,maxLength:800,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:status,description:Статус заказа. Возможные значения:\n\n* `0` - новый;\n* `1` - согласуется;\n* `2` - собирается;\n* `3` - доставляется;\n* `4` - выполнен;\n* `5` - отменен;\n* `6` - возвращен.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:track_number,description:Трек-номер.,type:string,minLength:null,maxLength:60,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:payment_status,description:Статус платежа. Возможные значения:\n\n* `not_paid` - не оплачен;\n* `paid` - оплачен;\n* `returned` - возвращен.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:delivery_price,description:Стоимость доставки.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:width,description:Ширина.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:length,description:Длина.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:height,description:Высота.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:weight,description:Вес.,type:string,minLength:null,maxLength:null,fromVersion:5.130,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:comment_for_user,description:Комментарий для пользователя.,type:string,minLength:null,maxLength:400,fromVersion:5.139,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:receipt_link,description:Ссылка на электронный чек.,type:string,minLength:null,maxLength:400,fromVersion:5.159,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447214865,isManuallyExpired:false},/reference/version/5.124:{type:version,layout:internal,template:/single-version,contents:{title:5.124,id:version/5.124,description:В методе groups.get(groups.get) в объекте market приходит поле **type** (string), которое может иметь значения _basic_ и _advanced_ в зависимости от типа магазина. Поле приходит, если в группе включен раздел \Товары\.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.124,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447215514,isManuallyExpired:false},/method/messages.search:{type:method,layout:internal,template:/method,contents:{title:messages.search,id:messages.search,description:Возвращает список найденных личных сообщений текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.search,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:q,description:Подстрока, по которой будет производиться поиск.,type:string,minLength:null,maxLength:9000,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:peer_id,description:Фильтр по идентификатору назначения для поиска по отдельному диалогу.\n\nДля пользователя:\n\n* `id` пользователя.\n\nДля групповой беседы:\n\n* `2000000000` + `id` беседы.\n\nДля сообщества:\n\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:date,description:Дата в формате DDMMYYYY — если параметр задан, в ответе будут только сообщения, отправленные до указанной даты.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:preview_length,description:Количество символов, по которому нужно обрезать сообщение. Укажите `0`, если Вы не хотите обрезать сообщение. (по умолчанию сообщения не обрезаются).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определенного подмножества сообщений из списка найденных.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество сообщений, которое необходимо получить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — возвращать дополнительные поля для пользователей(reference/objects/user) и сообществ(reference/objects/group). В ответе будет содержаться массив объектов бесед(reference/objects/conversation).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для пользователей(reference/objects/user) и сообществ(reference/objects/group).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов, описывающих личные сообщения(reference/objects/message), в поле `items`.\n\nОбратите внимание, даже при использовании параметра `offset` максимальное число доступных результатов — **10000**.\n\nЕсли `extended``1`, в поле `items` возвращается массив объектов бесед(reference/objects/conversation). Дополнительно возвращаются массивы `profiles` и `groups`, содержащие объекты пользователей(reference/objects/user) и сообществ(reference/objects/group).,evalHash:,shouldHideConsole:false,linkedMethods:{title:messages.get,id:messages.get,description:Возвращает список входящих личных сообщений текущего пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.get,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},{title:messages.searchDialogs,id:messages.searchDialogs,description:Возвращает список найденных диалогов текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.searchDialogs,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},linkedVersions:{title:5.86,id:version/5.86,description:Метод messages.search(messages.search) при использовании параметра **extended** _1_ возвращает массив объектов бесед(reference/objects/conversation).\n\nИзменения в методе stats.get(stats.get):\n* Входные параметры **date_from** и **date_to** устарели, вместо них используются **timestamp_from** и **timestamp_to** — целые числа, представляющее собой время в Unixtime.\n* Появился входной параметр **stats_groups**, который позволяет фильтровать по отдельным блокам в статистике. Возможные значения: _visitors_, _reach_, _activity_.\n* В ответе поля **period_from** и **period_to** являются целыми числами и так же представляют собой время в Unixtime.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447226450,isManuallyExpired:false},/method/messages.getConversations:{type:method,layout:internal,template:/method,contents:{title:messages.getConversations,id:messages.getConversations,description:Возвращает список бесед пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getConversations,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:917,id:,description:You dont have access to this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:927,id:,description:Chat does not exist,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:936,id:,description:Contact not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:974,id:,description:Folder not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:offset,description:Смещение, необходимое для выборки определенного подмножества бесед.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество бесед, которое необходимо получить (но не более 200).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:filter,description:Типы бесед, которые нужно вернуть, перечисленные через запятую. \nМожет принимать следующие значения:\n* `all ` — все беседы;\n* `important ` — беседы, отмеченные важными (доступно только в сообщениях сообществ);\n* `unanswered ` — беседы, отмеченные непрочтенными (доступно только в сообщениях сообществ);\n* `unread ` — беседы, в которых есть непрочтенные сообщения.\n\nПо умолчанию будут возвращены все беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:Если указать в качестве этого параметра 1, то будет возвращена информация о пользователях и сообществах. ,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_message_id,description:Идентификатор сообщения, начиная с которого нужно вернуть историю переписки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для пользователей(reference/objects/user) и сообществ(reference/objects/group).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (доступно с токеном сообщества).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, который содержит следующие поля:\n\n`count`\n`integer`\nЧисло результатов.\n\n`items`\n`array`\nБеседы. Массив объектов, каждый из которых содержит поля: \n* `conversation` (`object`) — объект беседы(reference/objects/conversation). \n* `last_message` (`object`) — объект, описывающий последнее сообщение в беседе(reference/objects/message).\n\n`unread_count`\n`integer`\nЧисло непрочитанных бесед.\n\n`profiles`\n`array`\nМассив объектов пользователей(reference/objects/user).\n\n`groups`\n`array`\nМассив объектов сообществ(reference/objects/group).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447227856,isManuallyExpired:false},/method/messages.markAsAnsweredConversation:{type:method,layout:internal,template:/method,contents:{title:messages.markAsAnsweredConversation,id:messages.markAsAnsweredConversation,description:Помечает беседу как отвеченную либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.markAsAnsweredConversation,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:peer_id,description:Идентификатор беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:answered,description:`1` - беседа отмечена отвеченной, `0` - неотвеченной.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447230313,isManuallyExpired:false},/reference/version/5.76:{type:version,layout:internal,template:/single-version,contents:{title:5.76,id:version/5.76,description:Прекращение поддержки ответов в XML формате.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.76,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447231443,isManuallyExpired:false},/method/account.getInfo:{type:method,layout:internal,template:/method,contents:{title:account.getInfo,id:account.getInfo,description:Возвращает информацию о текущем аккаунте.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/account.getInfo,redirectTo:,menuId:api_menu,accessRights:ex,vkui,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:fields,description:Cписок полей, которые необходимо вернуть. Возможные значения:\n* `country`;\n* `https_required`;\n* `own_posts_default`;\n* `no_wall_replies`;\n* `intro`;\n* `lang`.\nПо умолчанию будут возвращены все поля.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:\n,resultDescription:Метод возвращает объект, содержащий следующие поля:\n\n`country`\n`string`\nСтроковой код страны, определенный по IP адресу, с которого сделан запрос. \n \n`https_required` \n`integer`, `0`, `1`\nИнформация о том, включено ли безопасное соединение для аккаунта. `1` — включено, `0` — не включено. \n\n`2fa_required`\n`integer`, `0`, `1`\nИнформация о том, включена ли двухфакторная аутентификация для аккаунта. `1` — включена, `0` — не включена. \n\n`own_posts_default`\n`integer`, `0`, `1`\nИнформация о том, показываются ли по умолчанию на стене только записи пользователя. `1` — да, `0` — нет. \n\n`no_wall_replies`\n`integer`, `0`, `1`\nИнформация о том, отключено ли комментирование записей на стене. `1` — да, `0` — нет. \n\n`intro`\n`integer`, `0`, `1`\nИнформация о том, прошел ли пользователь обучение по использованию приложения. \n\n`lang`\n`integer`\nИдентификатор текущего языка пользователя. \n\n\n,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447238522,isManuallyExpired:false},/reference/version/5.59:{type:version,layout:internal,template:/single-version,contents:{title:5.59,id:version/5.59,description:Обновлены требования к размерам изображений в рекламных объявлениях. Подробнее см. на этой странице(method/ads.getUploadURL).,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.59,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447238766,isManuallyExpired:false},/reference/version/5.44:{type:version,layout:internal,template:/single-version,contents:{title:5.44,id:version/5.44,description:Методы **docs.get**, **docs.getById** возвращают поле **preview** вместо полей **photo_100**, **photo_130**. Метод **messages.searchDialogs** возвращает сообщества в результате поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.44,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447241979,isManuallyExpired:false},/reference/version/5.39:{type:version,layout:internal,template:/single-version,contents:{title:5.39,id:version/5.39,description:Для медиавложений(reference/objects/attachments-wall) с типом **link** возвращаются поля **caption**, **is_external**, **product**, **application**, **rating** и **button**.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.39,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447242734,isManuallyExpired:false},/reference/version/5.38:{type:version,layout:internal,template:/single-version,contents:{title:5.38,id:version/5.38,description:Методы **apps.get** и **apps.getCatalog** возвращают объект для полей **screenshots**. Добавлены поля **in_read**, **out_read** в ответы методов **messages.getDialogs** и **messages.getHistory**.\nДобавлен параметр **peer_id** для методов **messages.send**, **messages.sendSticker**, **messages.deleteDialog**, **messages.setActivity** и **messages.getHistory**.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.38,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447242991,isManuallyExpired:false},/reference/version/5.36:{type:version,layout:internal,template:/single-version,contents:{title:5.36,id:version/5.36,description:Добавлены параметры **app_ids**, **return_friends**. Добавлены поля **installed**, ** screenshots**.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.36,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447243221,isManuallyExpired:false},/method/newsfeed.getComments:{type:method,layout:internal,template:/method,contents:{title:newsfeed.getComments,id:newsfeed.getComments,description:Возвращает данные, необходимые для показа раздела комментариев в новостях пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/newsfeed.getComments,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:from,description:Значение, полученное в поле `new_from` при последней загрузке новостей. Помогает избавляться от дубликатов при реализации автоподгрузки.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.13,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Указывает, какое максимальное число новостей следует возвращать, но не более `100`. По умолчанию `30`. Для автоподгрузки вы можете использовать возвращаемый данным методом параметр `new_offset`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:filters,description:Перечисленные через запятую типы объектов, изменения комментариев к которым нужно вернуть. В данный момент поддерживаются следующие списки новостей:\n* `post` — новые комментарии к записям со стен;\n* `photo` — новые комментарии к фотографиям;\n* `video` — новые комментарии к видеозаписям;\n* `topic` — новые сообщения в обсуждениях;\n* `market` — новые комментарии к товарам;\n* `note` — новые комментарии к заметкам.\n\nЕсли параметр не задан, то будут получены все возможные списки новостей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:reposts,description:Идентификатор объекта, комментарии к репостам которого необходимо вернуть, например `wall1_45486`. Если указан данный параметр, параметр `filters` указывать необязательно.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_time,description:Время в формате `unixtime`, начиная с которого следует получить новости для текущего пользователя. Если параметр не задан, то он считается равным значению времени, которое было сутки назад.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:end_time,description:Время в формате `unixtime`, до которого следует получить новости для текущего пользователя. Если параметр не задан, то он считается равным текущему времени.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:last_comments,description:`1` — возвращать последние комментарии к записям. `0` — не возвращать последние комментарии.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.23,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:last_comments_count,description:Количество комментариев к записям, которые нужно получить.,type:string,minLength:null,maxLength:null,fromVersion:5.23,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_from,description:Идентификатор, необходимый для получения следующей страницы результатов. Значение, необходимое для передачи в этом параметре, возвращается в поле ответа `next_from`.,type:string,minLength:null,maxLength:null,fromVersion:5.13,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей профилей, которые необходимо вернуть. См. подробное описание(reference/objects/user).\nДоступные значения: \n* `sex`\n* `bdate`\n* `city` \n* `country` \n* `photo_50` \n* `photo_100` \n* `photo_200_orig`\n* `photo_200`\n* `photo_400_orig` \n* `photo_max` \n* `photo_max_orig` \n* `online` \n* `online_mobile` \n* `domain` \n* `has_mobile` \n* `contacts` \n* `connections` \n* `site` \n* `education` \n* `universities` \n* `schools` \n* `can_post` \n* `can_see_all_posts` \n* `can_see_audio` \n* `can_write_private_message` \n* `status` \n* `last_seen` \n* `common_count` \n* `relation` \n* `relatives` \n* `counters` \n* `screen_name` \n* `maiden_name` \n* `timezone` \n* `occupation` \n* `activities` \n* `interests` \n* `music` \n* `movies` \n* `tv` \n* `books` \n* `games` \n* `about`\n* `quotes`,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успеха возвращает объект, содержащий поля:\n* `items` — содержит массив новостей для текущего пользователя;\n* `profiles` — содержит информацию о пользователях, которые находятся в списке новостей;\n* `groups` — содержит информацию о группах, которые находятся в списке новостей;\n* `next_from` — содержит текстовое поле, которое необходимо передать при подгрузке следующего блока обсуждений. \n\n### Описание поля `items`\n\nПоле `items ` содержит массив объектов, каждый из которых соответствует одной новости в ленте. Каждый из объектов содержит поля:\n* `type ` — тип списка новости, соответствующий одному из значений параметра `filters`;\n* `source_id ` — идентификатор источника новости (положительный — новость пользователя, отрицательный — новость сообщества)\n* `date` — время публикации новости в формате `unixtime`;\n* `post_id` — находится в записях со стен и содержит идентификатор записи на стене владельца;\n* `copy_owner_id` — находится в записях со стен, если сообщение является копией сообщения с чужой стены, и содержит идентификатор владельца стены, у которого было скопировано сообщение;\n* `copy_post_id` — находится в записях со стен, если сообщение является копией сообщения с чужой стены, и содержит идентификатор скопированного сообщения на стене его владельца;\n* `text` — находится в записях со стен и содержит текст записи. \n* `comments` — находится в записях со стен и содержит информацию о комментариях к записи, содержит поля:\n * `count` — количество комментариев,\n * `can_post` — информация о том, может ли текущий пользователь комментировать запись ( `1 ` — может, `0 ` — не может);\n* `likes` — находится в записях со стен и содержит информацию о числе людей, которым понравилась данная запись, содержит поля:\n * `count` — число пользователей, которым понравилась запись,\n * `user_likes` — наличие отметки **«Мне нравится»** от текущего пользователя ( `1 ` — есть, `0 ` — нет),\n * `can_like` — информация о том, может ли текущий пользователь поставить отметку **«Мне нравится»** ( `1 ` — может, `0 ` — не может),\n * `can_publish` — информация о том, может ли текущий пользователь сделать репост записи ( `1 ` — может, `0 ` — не может);\n* `attachment` — находится в записях со стен и содержит объект, который присоединен к текущей новости (фотография, ссылка и т.п.). Более подробная информация представлена на странице Описание поля `attachment`(reference/objects/video).\n* `geo` — находится в записях со стен, в которых имеется информация о местоположении, содержит поля:\n * `place_id` — идентификатор места;\n * `title` — название места;\n * `type` — тип места;\n * `country_id` — идентификатор страны;\n * `city_id` — идентификатор города;\n * `address` — строка с указанием адреса места в городе;\n * `showmap` — данный параметр указывается, если местоположение является прикреплённой картой.\n* `photos`, `photo_tags`, `notes`, `friends` — находятся в объектах соответствующих типов (кроме записей со стен) и содержат информацию о количестве объектов и до 5 последних объектов, связанных с данной новостью.\n\nКаждый из элементов массива в полях `photos` и `photo_tags` содержит поля:\n * `id` — идентификатор фотографии;\n * `owner_id` — идентификатор владельца фотографии;\n * `album_id` — идентификатор альбома;\n * `photo` — адреса различных размеров изображений для фотографии (75, 130, 604, 807, 1280, 2560 px)\n\nКаждый из элементов массива в поле `notes ` содержит поля:\n * `id` — идентификатор заметки;\n * `owner_id` — идентификатор владельца заметки;\n * `title` — заголовок заметки;\n * `ncom` — количество комментариев к заметке. \n\nКаждый из элементов массива в поле `friends ` содержит единственное поле\n * `uid` — идентификатор пользователя.\n\n### Описание поля `profiles`\n\nПоле `profiles` содержит массив объектов с информацией о данных пользователей, которые присутствуют в новостях. \nКаждый из объектов содержит поля:\n* `id` — идентификатор пользователя;\n* `first_name` — имя пользователя;\n* `last_name` — фамилия пользователя;\n* `photo` — адрес фотографии пользователя размером **50x50px**.\n\n### Описание поля `groups`\n\nПоле `groups` содержит массив объектов с информацией о сообществах, которые присутствуют в новостях. Каждый из объектов содержит поля:\n* `id` — идентификатор сообщества;\n* `name` — название сообщества;\n* `photo` — адрес логотипа группы шириной **50px**.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447245472,isManuallyExpired:false},/reference/version/5.17:{type:version,layout:internal,template:/single-version,contents:{title:5.17,id:version/5.17,description:Новые типы упоминаний в **notifications.get**: **mention_comment_photo** и **mention_comment_video**.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.17,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447247377,isManuallyExpired:false},/reference/version/4.91:{type:version,layout:internal,template:/single-version,contents:{title:4.91,id:version/4.91,description:Изменено значение возвращаемого поля uid, теперь это отправитель сообщения.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/4.91,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668447252628,isManuallyExpired:false},/masks/effects/facemodel:{type:article,layout:internal,template:/article,contents:{title:Маски | Создание | Список эффектов | facemodel,id:masks__development__effects__facemodel,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:masks/effects/facemodel,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# facemodel\n\n## Об эффекте\n\n**facemodel** служит для наложения текстуры на поверхность лица. В этом его отличие от эффекта `patch`(masks/effects/patch), который добавляет плоскость с текстурой в маску.\n\nНакладываемая на лицо текстура \u0026mdash; это изображение в формате PNG, созданное из шаблона развёртки лицевой модели(https://mask.vk.me/template/facemodel.png). Скачайте файл шаблона и заполните его.\n\n\u003e **Совет:** разместите файл с текстурой в подпапке `Textures` папки, содержащей файлы маски. \n\n\n## Пример \n\n```JSON\n{\n \preview\: \Icon.png\,\n \effects\: \n {\n \name\: \facemodel\,\n \texture\: \Textures/texture-file.png\,\n \eyes\: false,\n \mouth\: false\n }\n \n}\n```\n\n## Параметры эффекта\n\n| Параметр | Описание |\n| --------- | ------------------------------------------------------------ |\n| `name` | Название эффекта. Должно быть `\facemodel\`.\u0026#x0d;\u0026#x0a;Тип данных: `string`. |\n| `texture` | Путь к файлу текстуры либо набор параметров текстуры.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Если текстура представляет собой статичное изображение, то укажите в параметре путь к .png файлу текстуры. Путь нужно указать относительно конфигурационного файла `mask.json`, например, `\texture\: \Textures/texture-file.png\`.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Если необходимы сложные режимы наложения текстуры, манипуляции с alpha-каналом или анимация, то вам нужно объявить `texture` как набор параметров и использовать их для задания свойств наложения. Подробное описание см. в разделе Параметры texture(#Параметры%20texture).\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Если этот параметр не указан или при загрузке текстуры произошла ошибка, то будет использована \u0026laquo;шахматная\u0026raquo; бело-серая заливка.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Тип данных: `string` или `obj`. |\n| `eyes` | Указывает, включает ли маска полигоны глаз (`true`) или нет (`false`). Значение по умолчанию: `false`.\u0026#x0d;\u0026#x0a;Тип данных: `bool`. |\n| `mouth` | Указывает, включает ли маска полигоны рта (`true`) или нет (`false`). Значение по умолчанию: `false`.\u0026#x0d;\u0026#x0a;Тип данных: `bool`. |\n\n## Параметры `texture`\n\n```JSON\n{\n \preview\: \Icon.png\,\n \effects\: \n {\n \name\: \facemodel\,\n \texture\: {\n \texture\: \Textures/texture-file.png\,\n \color\: \n 1,\n 1,\n 1,\n 0.75\n ,\n \blend_mode\: \Multiply\,\n \UseAlphaMask\: true\n }\n }\n \n}\n```\n\n| Параметр | Описание |\n| -------------- | ------------------------------------------------------------ |\n| `texture` | Путь к .png файлу текстуры относительно конфигурационного файла `mask.json`, например, `\texture\: \Textures/texture-file.png\`. Если параметр `texture` не указан или при загрузке текстуры произошла ошибка, то будет использована \u0026laquo;шахматная\u0026raquo; бело-серая заливка. Тип данных: `string`. |\n| `blend_mode` | Способ наложения текстуры на изображение за ней (фон). Допустимые значения:\u0026#x0d;\u0026#x0a; \u0026bullet; `\replace\` — текстура непрозрачна, ее alpha-канал не используется.\u0026#x0d;\u0026#x0a; \u0026bullet; `\alpha\` — смешивание фона с текстурой, используя alpha-канал текстуры. Это значение используется по умолчанию.\u0026#x0d;\u0026#x0a; \u0026bullet; `\add\` — результирующий цвет пикселя в изображения равен сумме цвета фона и текстуры (alpha-канал не используется).\u0026#x0d;\u0026#x0a; \u0026bullet; `\addalpha\` — результирующий цвет пикселя равен сумме фона и текстуры, при комбинировании учитывается значения alpha-канала текстуры.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Также можно использовать один из следующих расширенных режимов наложения. Названия совпадают с терминами, которые обычно используют графические редакторы:\u0026#x0d;\u0026#x0a; \u0026bull; `\Multiply\` – умножение цветов;\u0026#x0d;\u0026#x0a; \u0026bull; `\Lighten\` – замена светлым;\u0026#x0d;\u0026#x0a; \u0026bull; `\Darken\` – замена тёмным;\u0026#x0d;\u0026#x0a; \u0026bull; `\LinearLight\` – линейное затемнение;\u0026#x0d;\u0026#x0a; \u0026bull; `\Screen\` – режим ширмы;\u0026#x0d;\u0026#x0a; \u0026bull; `\Overlay\` – перекрытие;\u0026#x0d;\u0026#x0a; \u0026bull; `\SoftLight\` – мягкий свет;\u0026#x0d;\u0026#x0a; \u0026bull; `\SoftLight2\` – мягкий свет (еще один вариант);\u0026#x0d;\u0026#x0a; \u0026bull; `\ColorDodge\` – осветление основы;\u0026#x0d;\u0026#x0a; \u0026bull; `\ColorBurn\` – затемнение основы;\u0026#x0d;\u0026#x0a; \u0026bull; `\VividLight\` – яркий свет;\u0026#x0d;\u0026#x0a; \u0026bull; `\PinLight\` – точечный свет;\u0026#x0d;\u0026#x0a; \u0026bull; `\HardMix\` – жесткий свет;\u0026#x0d;\u0026#x0a; \u0026bull; `\Difference\` – разница;\u0026#x0d;\u0026#x0a; \u0026bull; `\Exclusion\` – исключение;\u0026#x0d;\u0026#x0a; \u0026bull; `\Hue\` – цветовой тон;\u0026#x0d;\u0026#x0a; \u0026bull; `\Saturаtion\` – насыщенность;\u0026#x0d;\u0026#x0a; \u0026bull; `\Color\` – цветность;\u0026#x0d;\u0026#x0a; \u0026bull; `\Luminosity\` – свечение.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Значение по умолчанию: `\alpha\`.\u0026#x0d;\u0026#x0a;Тип параметра: `string`.|\n| `color` | Коэффициенты RGBA, которые применяются к точкам накладываемой текстуры. Чем выше коэффициент, тем сильнее представлен цветовой канал текстуры. `0.0` соответствует отключению цветового канала, `1.0` \u0026mdash; то же значение, которое используется в текстуре. Для усиления канала используйте значения больше `1.0`. По умолчанию используется `\color\: 1.0, 1.0, 1.0, 1.0`.\u0026#x0d;\u0026#x0a;Тип данных: `array\u003cfloat\u003e4`. |\n| `auto_mirror` | Указывает, надо ли автоматически отрисовывать текстуру зеркально в случае, когда изображение поступает с задней камеры: `true` (отзеркаливать) или `false` (текстура остаётся без изменений). Параметр важен для текстур, содержащих логотип или текст.\u0026#x0d;\u0026#x0a;Тип данных: `bool`. |\n| `u_transform` | Используется для UV-преобразования координат текстуры. Значение по умолчанию: `\u_transform\: 1.0, 0.0, 0.0`. Примеры использования рассмотрены ниже в разделе Преобразование UV-координат(#Преобразование%20UV-координат).\u0026#x0d;\u0026#x0a;Тип данных: `array\u003cfloat\u003e3`. |\n| `v_transform` | Используется для UV-преобразования координат текстуры. Значение по умолчанию: `\v_transform\: 0.0, 1.0, 0.0`. Примеры использования рассмотрены ниже в разделе Преобразование UV-координат(#Преобразование%20UV-координат).\u0026#x0d;\u0026#x0a;Тип данных: `array\u003cfloat\u003e3`. |\n| `animation` | Набор параметров, описывающих анимацию накладываемой текстуры. Присутствие этих параметров в `texture` сигнализирует движку масок, что текстура является анимированной, то есть состоящей из нескольких кадров, хранящихся в отдельных .png файлах и воспроизводящихся последовательно. Настройки анимации описаны в разделе animation(#Параметры%20animation).\u0026#x0d;\u0026#x0a;Тип данных: `obj`. |\n\n##### Преобразование UV-координат\n\n* Зеркальное отображение относительно вертикальной оси: `\u_transform\ : -1.0, 0.0, 1.0`\n\n* Зеркальное отображение относительно горизонтальной оси: `\v_transform\ : 0.0, -1.0, 1.0`\n\n* Поворот на 90 градусов по часовой стрелке: `\u_transform\ : 0.0, 1.0, 0.0, \v_transform\ : 1.0, 0.0, 0.0`\n\n* Поворот на 180 градусов: `\u_transform\ : -1.0, 0.0, 1.0, \v_transform\ : 0.0, -1.0, 1.0`\n\n* Поворот на 90 градусов против часовой стрелки: `\u_transform\ : 0.0, -1.0, 1.0, \v_transform\ : -1.0, 0.0, 1.0`\n\n## Параметры `animation`\n\n```JSON\n{\n \preview\: \Icon.png\,\n \effects\: \n {\n \name\: \facemodel\,\n \texture\: {\n \texture\: \Textures/frame.png\,\n \blend_mode\: \Multiply\,\n \UseAlphaMask\: true,\n \animation\: {\n \type\: \once\,\n \timeline\: \n 50,\n 50,\n 50,\n 100\n \n }\n }\n }\n \n}\n```\n\n| Параметр | Описание |\n| --------------- | ------------------------------------------------------------ |\n| `type` | Тип воспроизведения. Возможное значение \u0026mdash; одна из следующих строковых констант:\u0026#x0d;\u0026#x0a; \u0026bull; `\once\` \u0026mdash; однократное проигрывание, потом остановка на 1 кадре, или\u0026#x0d;\u0026#x0a; \u0026bull; `\loop\` – зацикленное проигрывание. По умолчанию используется `\loop\`.\u0026#x0d;\u0026#x0a;Тип данных: `string`. |\n| `trigger_start` | Событие для запуска анимации:\u0026#x0d;\u0026#x0a; \u0026bull; `\mouth_open\` \u0026mdash; открытие рта;\u0026#x0d;\u0026#x0a; \u0026bull; `\mouth_close\` \u0026mdash; закрытие рта;\u0026#x0d;\u0026#x0a; \u0026bull; `\face_found\` \u0026mdash; начало трекинга лица;\u0026#x0d;\u0026#x0a; \u0026bull; `\face_lost\` \u0026mdash; потеря трекинга лица;\u0026#x0d;\u0026#x0a; \u0026bull; `\tap\` \u0026mdash; касание экрана.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;До запуска анимации триггером, текстура будет отображать первый кадр.\u0026#x0d;\u0026#x0a;Тип данных: `string`. |\n| `trigger_stop` | Событие для остановки анимации: \u0026#x0d;\u0026#x0a; \u0026bull; `\mouth_open\` \u0026mdash; открытие рта;\u0026#x0d;\u0026#x0a; \u0026bull; `\mouth_close\` \u0026mdash; закрытие рта;\u0026#x0d;\u0026#x0a; \u0026bull; `\face_found\` \u0026mdash; начало трекинга лица;\u0026#x0d;\u0026#x0a; \u0026bull; `\face_lost\` \u0026mdash; потеря трекинга лица;\u0026#x0d;\u0026#x0a; \u0026bull; `\tap\` \u0026mdash; касание экрана.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;Тип данных: `string`. |\n| `fps` | Число кадров в секунду при отображении анимации, другими словами, это скорость воспроизведения.\u0026#x0d;\u0026#x0a;Тип данных: `int`. |\n| `timeline` | Ещё один параметр, который указывает скорость воспроизведения. Задаётся в виде массива, например, `\timeline\: 200, 100, 40,` где каждый элемент \u0026mdash; это длительность воспроизведения соответствующего кадра в миллисекундах. В приведённом примере первый кадр будет показан в течение 200 миллисекунд, второй \u0026mdash; 100 миллисекунд, а третий и остальные кадры (если они есть) будут иметь длительность 40 миллисекунд. Число элементов должно быть равно или меньше количества кадров.\u0026#x0d;\u0026#x0a;Тип данных: `array\u003cint\u003e`. |\n| `timeline_ex` | Параметр, который даёт возможность задать произвольный порядок следования кадров и указать длительность воспроизведения каждого кадра. См. примеры (#Примеры%20использования%20timeline_ex) ниже.\u0026#x0d;\u0026#x0a;Обратите внимание, что при использовании параметра `timeline_ex` проигрывается только заданная последовательность кадров (при использовании `timeline` проигрываются все доступные кадры).\u0026#x0d;\u0026#x0a;Тип данных: `array\u003cint или array\u003cint\u003e2\u003e`. |\n\n\u003e **Важно!** Параметры `fps`, `timeline` и `timeline_ex` дают возможность настроить скорость воспроизведения различными способами. Используйте только один из них. \n\n#### Задание кадров\n\nПараметр `texture` указывает на PNG изображение первого кадра (в нашем примере, это `\frame.png\`). Последующие кадры должны иметь подобное имя файла и числовой индекс (1, 2, 3 и так далее). Например, анимация из примера выше, содержащая 4 кадра, будет состоять из такой последовательности файлов:\n\n* frame.png - Имя файла в `texture`, первый кадр.\n* frame**1**.png - Второй кадр.\n* frame**2**.png - Третий кадр.\n* frame**3**.png - Четвертый кадр.\n\nПри использовании параметров `fps` или `timeline` кадры воспроизводятся последовательно в порядке возрастания индексов. Чтобы переопределить порядок, используйте параметр `timeline_ex`. \n\n#### Примеры использования `timeline_ex`\n\n* `\timeline_ex\ : 50, 50, 60` \u0026mdash; проиграет 1-ый в течение 50 миллисекунд, 2-ой кадры \u0026mdash; столько же, а 3-ий \u0026mdash; в течение 60 миллисекунд. Остальные кадры проиграны не будут, так как при использовании `timeline_ex` проигрывается только заданная последовательность кадров (в этом его отличие от `\timeline\`).\n\n* `\timeline_ex\ : 50, 50, 5, 100, 40, 40, 0, 900, 100` \u0026mdash; проиграет следующую последовательность:\n\n - 1-й кадр, 50 миллисекунд;\n - 2-й кадр, 50 миллисекунд;\n - 6-й кадр, 100 миллисекунд (6-ому кадру соответствует индекс 5);\n - 7-й кадр, 40 миллисекунд (обратите внимание, что после прыжка на 6-ой кадр, проигрывание продолжится с 7-го кадра. При этом специально указывать 7-ой кадр не нужно);\n - 8-й кадр, 40 миллисекунд;\n - 1-й кадр, 900 миллисекунд (опять прыжок);\n - 2-й кадр, 100 миллисекунд (после прыжка на 1-ый кадр проигрывание продолжится со 2-го кадра).\n\nОбратите внимание, что первый кадр имеет индекс `0`, второй \u0026mdash; `1`, и так далее.\n\n## Ссылки по теме\n\nЭффекты(masks/effects/overview)\n\nЭффект patch(masks/effects/patch)},language:ru,variant:public,expireDate:1668447280102,isManuallyExpired:false},/method/groups.ban:{type:method,layout:internal,template:/method,contents:{title:groups.ban,id:groups.ban,description:Добавляет пользователя или группу в черный список сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/groups.ban,redirectTo:,menuId:api_menu,accessRights:groups_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:group_id,description:Идентификатор сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:owner_id,description:Идентификатор пользователя или сообщества, которое будет добавлено в черный список.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком `«-»` — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1),type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:end_date,description:Дата завершения срока действия бана в формате `unixtime`. Максимальный возможный срок окончания бана, который можно указать, — один год с его начала. Если параметр не указан, пользователь будет заблокирован навсегда.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:reason,description:Причина бана:\n* `0` — другое (по умолчанию);\n* `1` — спам;\n* `2` — оскорбление участников;\n* `3` — нецензурные выражения;\n* `4` — сообщения не по теме.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:comment,description:Текст комментария к бану.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:comment_visible,description:`1` – текст комментария будет отображаться пользователю.\n`0` – текст комментария не доступен пользователю (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447297002,isManuallyExpired:false},/reference/objects/doc:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Медиаконтент и вложения | Файл,id:reference__objects__doc,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/doc,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Файл\n\nОбъект, описывающий файл, содержит следующие поля:\n\n## `id`\n`integer`\nИдентификатор файла.\n\n## `owner_id`\n`integer`\nИдентификатор пользователя, загрузившего файл.\n\n## `title`\n`string`\nНазвание файла.\n\n## `size`\n`integer`\nРазмер файла в байтах.\n\n## `ext`\n`string`\nРасширение файла.\n\n## `url`\n`string`\nАдрес файла, по которому его можно загрузить.\n\n## `date`\n`integer`\nДата добавления в формате Unixtime. \n\n## `type`\n`integer`\nТип файла. Возможные значения:\n* `1` — текстовые документы;\n* `2` — архивы;\n* `3` — gif;\n* `4` — изображения;\n* `5` — аудио;\n* `6` — видео;\n* `7` — электронные книги;\n* `8` — неизвестно.\n\n## `preview`\n`object`\nИнформация для предварительного просмотра файла. Может содержать следующие поля:\n* `photo` (`object`) — изображения для предпросмотра. Содержит единственное поле:\n * `sizes` (`array`) — массив копий изображения в разных размерах. Подробное описание структуры вы найдёте на этой странице(reference/objects/photo-sizes).\n* `graffiti` (`object`) — данные о граффити. Содержит следующие поля:\n * `src` (`string`) — URL файла с граффити;\n * `width` (`integer`) — ширина изображения в px;\n * `height` (`integer`) — высота изображения в px.\n* `audio_message` — данные об аудиосообщении. Объект, который содержит следующие поля:\n * `duration` (`integer`) — длительность аудиосообщения в секундах;\n * `waveform` (`array`) — массив значений (`integer`) для визуального отображения звука;\n * `link_ogg` (`string`) — URL .ogg-файла;\n * `link_mp3` (`string`) — URL .mp3-файла.\n\n},language:ru,variant:public,expireDate:1668447298176,isManuallyExpired:false},/api/access-token/authcode-flow-user:{type:article,layout:internal,template:/article,contents:{title:Использование API | Ключ доступа | Authorization Code Flow для получения ключа доступа пользователя,id:api__access-token__authcode-flow-user,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/access-token/authcode-flow-user,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Authorization Code Flow для получения ключа доступа пользователя\n\nИспользуйте Authorization Code Flow для вызова методов API ВКонтакте с серверной части вашего приложения (например, из PHP). Ключ доступа, полученный таким способом, не привязан к IP-адресу, но набор прав, которые может получить приложение, ограничен из соображений безопасности.\n\n## Открытие диалога авторизации\n\nНеобходимо перенаправить браузер пользователя по адресу\n`https://oauth.vk.com/authorize`(https://oauth.vk.com/authorize), передав следующие параметры:\n\n* `client_id` (**обязательный**) — идентификатор вашего приложения. \n* `redirect_uri` (**обязательный**) — адрес, на который будет передан `code` (домен указанного адреса должен соответствовать основному домену в настройках приложения и перечисленным значениям в списке доверенных `redirect uri`, адреса сравниваются вплоть до `path`-части). \n* `display` — указывает тип отображения страницы авторизации. Поддерживаются следующие варианты: \n * `page` — форма авторизации в отдельном окне; \n * `popup` — всплывающее окно; \n * `mobile` — авторизация для мобильных устройств (без использования Javascript) Если пользователь авторизуется с мобильного устройства, будет использован тип `mobile`. \n* `scope` – битовая маска настроек доступа приложения(reference/access-rights), которые необходимо проверить при авторизации пользователя и запросить отсутствующие. \n* `response_type` — тип ответа, который вы хотите получить (укажите `code`). \n* `state` — произвольная строка, которая будет возвращена вместе с результатом авторизации. \n\nПример запроса:\n\n```\nhttps://oauth.vk.com/authorize?client_id1\u0026displaypage\u0026redirect_urihttp://example.com/callback\u0026scopefriends\u0026response_typecode\u0026v:version\n```\n\nЕсли пользователь не вошел на сайт, то в диалоговом окне ему будет предложено ввести свой логин и пароль. \n\n## Разрешение прав доступа\n\nПосле успешного входа на сайт пользователю будет предложено авторизовать приложение, разрешив доступ к необходимым настройкам, запрошенным при помощи параметра `scope`. Полный список настроек доступен в разделе прав доступа приложений(reference/access-rights). \n\nОбратите внимание, что некоторые права доступа(reference/access-rights) пользователя из списка (например, `messages`) могут быть запрошены только Standalone-приложением — что означает необходимость использования Implicit Flow(api/access-token/implicit-flow-user) для запроса таких прав. \n\n## Получение code\n\nПосле успешной авторизации приложения браузер пользователя будет перенаправлен по адресу `redirect_uri`, указанному при открытии диалога авторизации. При этом код для получения ключа доступа `code` будет передан как `GET`-параметр: \n\n```\nREDIRECT_URI?code7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a \n```\n\nПараметр `code` может быть использован в течение 1 часа для получения ключа доступа к API `access_token` с вашего сервера. \n\nВ случае возникновения ошибки браузер пользователя будет перенаправлен с кодом и описанием ошибки: \n\n```\nREDIRECT_URI?errorinvalid_request\u0026error_descriptionInvalid+display+parameter \n```\n\n## Получение access_token\n\nДля получения `access_token` необходимо выполнить запрос с вашего сервера на https://oauth.vk.com/access_token(https://oauth.vk.com/access_token), передав следующие параметры:\n\n* `client_id` (**обязательный**) — идентификатор вашего приложения. \n* `client_secret` (**обязательный**) — защищенный ключ вашего приложения (указан в настройках приложения). \n* `redirect_uri` (**обязательный**) — URL, который использовался при получении `code` на первом этапе авторизации. Должен быть аналогичен переданному при авторизации. \n* `code` (**обязательный**) — временный код, полученный после прохождения авторизации. \n\nПример запроса:\n\n```\nhttps://oauth.vk.com/access_token?client_id1\u0026client_secretH2Pk8htyFD8024mZaPHm\u0026redirect_urihttp://mysite.ru\u0026code7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a\n```\n\nВ результате выполнения данного запроса ваш сервер получит вновь созданный `access_token`. Вместе с `access_token` серверу возвращается время жизни ключа `expires_in` в секундах. `expires_in` содержит `0`, если токен бессрочный (при использовании `scope` `offline`). Процедуру авторизации приложения необходимо повторять в случае истечения срока действия `access_token`, смены пользователем своего логина или пароля или удаления приложения из настроек. \n\n```JSON\n{\n \access_token\: \533bacf01e11f55b536a565b57531ac114461ae8736d6506a3\,\n \expires_in\: 43200,\n \user_id\: 66748\n}\n```\n\nЕсли у пользователя указан email, а приложением были запрошены соответствующие права(reference/access-rights), сервер также вернет `email` пользователя. \n\nВ случае ошибки будут переданы параметры `error` и `error_description`.\n\n```JSON\n{\n \error\: \invalid_grant\,\n \error_description\: \Code is expired.\\n}\n```},language:ru,variant:public,expireDate:1668447422934,isManuallyExpired:false},/mini-apps/software-installation:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Разработка | Установка ПО,id:mini-apps__software-installation,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/software-installation,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Установка ПО\n\nЧтобы библиотеки ВКонтакте работали корректно, установите программное обеспечение:\n\n* Node.js 16.x.x(#Установка%20Node.js).\n* Python 3.x(#Установка%20Python).\n* C++(#Установка%20C++) (только для Linux и Windows).\n\n## Установка Node.js\n\nНеобходима именно 16 мажорная версия Node.js.\n\n### macOS\n\nУстановите Node.js, например с помощью менеджера пакетов brew(https://nodejs.org/en/download/package-manager/#macos):\n\n```sh\nbrew install node@16\n```\n\n### Linux\n\nПример команд для установки Node.js с помощью cURL и менеджера пакетов nvm:\n\n```sh\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash\nsource ~/.bashrc\nnvm list-remote\nnvm install v16.15.0\n```\n\n### Windows 10\n\n1. Скачайте установщик Node.js 16.x.x(https://nodejs.org/download/release/latest-v16.x/).\n1. Запустите установщик.\n1. Выполните шаги по установке.\n1. Перезагрузите компьютер.\n\n## Установка Python\n\nНеобходима именно 3 мажорная версия Python.\n\n### macOS\n\n```sh\nbrew install python@3.9\n```\n\n### Linux (Ubuntu)\n\n```sh\nsudo apt install python3.9\n```\n\n### Windows 10\n\n1. Перейдите на страницу пакета Python 3.x в Microsoft Store(https://www.microsoft.com/en-us/p/python-310/9pjpw5ldxlz5).\n1. Нажмите кнопку **Get in Store app**.\n1. Нажмите кнопку **Открыть приложение \Microsoft Store\**.\n1. Нажмите **Получить** и **Установить**.\n1. Перезагрузите компьютер.\n\n## Установка C++\n\n\u003e Если вы создаёте мини-приложение на Linux или Windows, установите С++ по этой инструкции.\n\n### Linux (Ubuntu)\n\nУстановите инструменты компилятора C/C++, например GCC(https://gcc.gnu.org/):\n\n```sh\nsudo apt -y install build-essential\n```\n\n### Windows 10\n\nУстановите компоненты C/C++ с помощью Visual Studio:\n\n1. Скачайте установщик Visual Studio(https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?skuBuildTools).\n1. Запустите установщик.\n1. Установите флажок **Разработка классических приложений на C++**.\n1. Нажмите кнопку **Установить**. Дождитесь окончания установки.\n1. Откройте командную строку и выполните команду:\n\n ```sh\n npm config set msvs_version 2017\n ```\n\n## FAQ\n\n### Как сменить версию Node.js на 16?\n\nЧтобы сменить версию Node.js на macOS, выполните команды:\n\n```sh\nbrew unlink node\nbrew link --overwrite node@16\n```\n\nИногда после смены версии требуется добавить Node.js в переменные окружения:\n\n```sh\necho export PATH\/usr/local/opt/node@16/bin:$PATH\ \u003e\u003e ~/.zshrc\n```\n\nЧтобы сменить версию Node.js на Linux, выполните команду:\n\n```sh\nnvm install v16.15.0\n```\n\nЧтобы убедиться, что смена прошла успешно, проверьте номер версии:\n\n```sh\nnode -v\n```\n\n### Что такое NPM?\n\nNPM — менеджер пакетов, который автоматически устанавливается вместе с Node.js. Если вы уже установили Node.js, устанавливать NPM отдельно не нужно. Рекомендуем почитать про NPM и NPX в официальной документации(https://docs.npmjs.com/about-npm).\n\n### Зачем устанавливать C++?\n\nМодули, написанные на С++, используются в библиотеках ВКонтакте. Для компиляции кода на C++ используется node-gyp(https://github.com/nodejs/node-gyp), который устанавливается вместе с Node.js и может вызывать ошибки, если C++ не установлен.},language:ru,variant:public,expireDate:1668447472590,isManuallyExpired:false},/method/messages.sendMessageEventAnswer:{type:method,layout:internal,template:/method,contents:{title:messages.sendMessageEventAnswer,id:messages.sendMessageEventAnswer,description:Отправляет событие с действием, которое произойдет при нажатии на callback-кнопку.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.sendMessageEventAnswer,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,user_access_hidden,is_standalone,children:,text:\n,errors:,parameters:{name:event_id,description:Случайная строка, которая возвращается в событии `message_event`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:user_id,description:Идентификатор пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:peer_id,description:Идентификатор диалога со стороны сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:event_data,description:Объект действия, которое должно произойти после нажатия на кнопку.,type:string,minLength:null,maxLength:1000,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668447802831,isManuallyExpired:false},/mini-apps/glossary:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Глоссарий,id:mini-apps__glossary,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/glossary,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Глоссарий\n\n## Адрес обратного вызова\n\n**Адрес обратного вызова(mini-apps/management/payments#Адрес%20обратного%20вызова)** — это адрес веб-сервера, который может отвечать на запросы сервера ВКонтакте.\n\n## Виртуальная ценность\n\n**Виртуальная ценность** — это виртуальный товар или функциональность, которые пользователь может использовать для собственных нужд только в виртуальном мире. Виртуальный — не значит «всё, что куплено в интернете». Подписка на платный контент (фильмы, музыка) или пожертвования (VK Donut) относятся к физическим, а не виртуальным ценностям.\n\n## Физические ценности\n\n**Физические ценности** (Physical Goods или PhG) — это товары или услуги, которые можно использовать в реальном мире. Например, покупка одежды, товаров для дома, заказ еды или такси и т. п.\n\n## Голос\n\n**Голос** — это универсальная условная единица для приобретения платных возможностей приложений ВКонтакте, а также подарков и стикеров. Голоса можно купить(https://vk.com/settings?actpayments) за рубли (например, через VK Pay(pay/getting-started)), но обменять их можно только на виртуальные ценности.\n\n## Счёт приложения\n\n**Счёт приложения** — это внутренний счётчик голосов, полученных приложением. Чтобы увидеть, сколько голосов на счёте, откройте Мои приложения(https://vk.com/apps?actmanage) → **Редактировать** → **Платежи** (поле **Текущий баланс**).},language:ru,variant:public,expireDate:1668448115102,isManuallyExpired:false},/method/downloadedGames:{type:method-list,layout:internal,template:/method-list,contents:{title:downloadedGames,id:method_section_downloadedGames,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:method/downloadedGames,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:DownloadedGames,id:downloadedGames,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/downloadedGames,type:BASE,isSearchable:false,tokenTypes:,children:{title:downloadedGames.getPaidStatus,id:downloadedGames.getPaidStatus,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/downloadedGames.getPaidStatus,type:BASE,isSearchable:false,tokenTypes:}}},language:ru,variant:public,expireDate:1668448184527,isManuallyExpired:false},/method/groups.unban:{type:method,layout:internal,template:/method,contents:{title:groups.unban,id:groups.unban,description:Убирает пользователя или группу из черного списка сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/groups.unban,redirectTo:,menuId:api_menu,accessRights:groups_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:group_id,description:Идентификатор сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:owner_id,description:Идентификатор пользователя или группы, которого нужно убрать из черного списка.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:groups.ban,id:groups.ban,description:Добавляет пользователя или группу в черный список сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.ban,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},{title:groups.getBanned,id:groups.getBanned,description:Возвращает список забаненных пользователей и сообществ в сообществе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/groups.getBanned,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668448184906,isManuallyExpired:false},/method/fave.getVideos:{type:method,layout:internal,template:/method,contents:{title:fave.getVideos,id:fave.getVideos,description:Возвращает список видеозаписей, на которых текущий пользователь поставил отметку «Мне нравится».,isHidden:false,isDirectAccess:null,canEdit:null,path:method/fave.getVideos,redirectTo:,menuId:api_menu,accessRights:friends_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:offset,description:Смещение, необходимое для выборки определенного подмножества видеозаписей. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество видеозаписей, информацию о которых необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — в ответе будут возвращены дополнительные поля `profiles` и `groups`, содержащие информацию о пользователях и сообществах. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов видеозаписей(reference/objects/video) в поле `items`.\n\nЕсли был задан параметр `extended1`, возвращает число результатов в поле `count`, отдельно массив объектов видеозаписей(reference/objects/video) в поле `items`, пользователей(reference/objects/user) в поле `profiles` и сообществ(reference/objects/group) в поле `groups`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:true}},language:ru,variant:public,expireDate:1668448185532,isManuallyExpired:false},/method/board.createComment:{type:method,layout:internal,template:/method,contents:{title:board.createComment,id:board.createComment,description:Добавляет новый комментарий в обсуждении.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/board.createComment,redirectTo:,menuId:api_menu,accessRights:groups_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:group_id,description:Идентификатор сообщества, в котором находится обсуждение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:topic_id,description:Идентификатор темы, в которой необходимо оставить комментарий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:message,description:Текст комментария. Обязательный параметр, если не передано значение `attachments`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:attachments,description:Список объектов, приложенных к комментарию и разделённых символом `«,»`. Поле `attachments` представляется в формате:\n\n```\n\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e,\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e\n```\n\n`\u003ctype\u003e` — тип медиа-вложения:\n* `photo` — фотография;\n* `video` — видеозапись;\n* `audio` — аудиозапись;\n* `doc` — документ;\n\n`\u003cowner_id\u003e` — идентификатор владельца медиа-вложения;\n`\u003cmedia_id\u003e` — идентификатор медиа-вложения.\n\nНапример:\n```\nphoto100172_166443618,photo66748_265827614\n```,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:from_group,description:`1` — сообщение будет опубликовано от имени группы, `0` — сообщение будет опубликовано от имени пользователя (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sticker_id,description:Идентификатор стикера.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:guid,description:Уникальный идентификатор, предназначенный для предотвращения повторной отправки одинакового комментария.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успеха возвращает идентификатор созданного комментария.,evalHash:,shouldHideConsole:false,linkedMethods:{title:board.editComment,id:board.editComment,description:Редактирует одно из сообщений в обсуждении сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.editComment,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},{title:board.deleteComment,id:board.deleteComment,description:Удаляет сообщение темы в обсуждениях сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.deleteComment,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668449126267,isManuallyExpired:false},/method/groups.getById:{type:method,layout:internal,template:/method,contents:{title:groups.getById,id:groups.getById,description:Возвращает информацию о заданном сообществе или о нескольких сообществах.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/groups.getById,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,group_access,children:,text:\n,errors:,parameters:{name:group_ids,description:Идентификаторы или короткие имена сообществ. Максимальное число идентификаторов — 500.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Иидентификатор или короткое имя сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей, которые необходимо вернуть. Например: \n* `activity`;\n* `ban_info`;\n* `can_post`;\n* `can_see_all_posts`;\n* `city`;\n* `contacts`;\n* `counters`;\n* `country`;\n* `cover`;\n* `description`;\n* `finish_date`;\n* `fixed_post`;\n* `links`;\n* `market`;\n* `members_count`;\n* `place`;\n* `site`;\n* `start_date`;\n* `status`;\n* `verified`;\n* `wiki_page`.\n\nПолный список полей доступен на этой странице(reference/objects/group). \n\n\u003e Обратите внимание, для получения некоторых полей требуется право доступа `groups`. Подробнее смотрите описание полей объекта `group`(reference/objects/group).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает массив объектов(reference/objects/group), описывающих сообщества.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668449495720,isManuallyExpired:false},/reference/objects/link:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Медиаконтент и вложения | Прикреплённая ссылка,id:reference__objects__link,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/link,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Прикреплённая ссылка\n\nОбъект, описывающий прикреплённую ссылку в сообщении, комментарии или записи на стене, содержит следующие поля:\n\n## `url`\n`string`\nURL ссылки.\n\n## `title`\n`string`\nЗаголовок ссылки.\n\n## `caption`\n`string`\nПодпись ссылки (если имеется).\n\n## `description`\n`string`\nОписание ссылки.\n\n## `photo`\n`object`\nИзображение превью, объект фотографии(reference/objects/photo) (если имеется).\n\n## `product`\n`object`\nИнформация о продукте (если имеется). Поле возвращается для ссылок на магазины, например, AliExpress. Объект с единственным полем `price` (`object`), которое описано на отдельной странице(reference/objects).\n\n## `button`\n`object`\nИнформация о кнопке для перехода (если имеется). Объект описан на отдельной странице(reference/objects).\n\n## `preview_page`\n`string`\nИдентификатор вики-страницы с контентом для предпросмотра содержимого страницы. Возвращается в формате `\owner_id_page_id\`.\n\n## `preview_url`\n`string`\nURL страницы с контентом для предпросмотра содержимого страницы. \n\n\n\n## Для версий API от 5.37 до 5.39\n\n### `url`\n`string`\nURL ссылки.\n\n### `title`\n`string`\nЗаголовок ссылки.\n\n### `description`\n`string`\nОписание ссылки.\n\n### `photo`\n`object`\nИзображение превью, объект фотографии(reference/objects/photo) (если имеется).\n\n### `preview_page`\n`string`\nИдентификатор вики-страницы с контентом для предпросмотра содержимого страницы. Возвращается в формате `\owner_id_page_id\`.\n\n### `preview_url`\n`string`\nURL страницы с контентом для предпросмотра содержимого страницы. \n\n# Для версий API ниже 5.37\n\n### `url`\n`string`\nURL ссылки.\n\n### `title`\n`string`\nЗаголовок ссылки.\n\n### `description`\n`string`\nОписание ссылки.\n\n### `image_src`\n`string`\nURL изображения для превью ссылки.\n\n### `preview_page`\n`string`\nИдентификатор вики-страницы с контентом для предпросмотра содержимого страницы. Возвращается в формате `\owner_id`_`page_id\`.\n\n### `preview_url`\n`string`\nURL страницы с контентом для предпросмотра содержимого страницы.},language:ru,variant:public,expireDate:1668449726721,isManuallyExpired:false},/method/utils.getShortLink:{type:method,layout:internal,template:/method,contents:{title:utils.getShortLink,id:utils.getShortLink,description:Позволяет получить URL, сокращённый с помощью vk.cc.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/utils.getShortLink,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:group_access,allow_from_server,children:,text:\n,errors:,parameters:{name:url,description:URL, для которого необходимо получить сокращённый вариант.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:private,description:`1` — статистика ссылки приватная. \n`0` — статистика ссылки общедоступная.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, содержащий следующие поля:\n\n### `short_url`\n`string` \nСокращённая ссылка.\n\n### `access_key`\n`string`\nКлюч для доступа к приватной статистике ссылки.\n \n### `key`\n `string`\n Содержательная часть ссылки (после «vk.cc»).\n \n### `url`\n `string`\n Оригинальный URL. ,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668450481888,isManuallyExpired:false},/method/messages.send:{type:method,layout:internal,template:/method,contents:{title:messages.send,id:messages.send,description:Отправляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.send,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:104,id:,description:Not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:900,id:,description:Cant send messages for users from blacklist,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:901,id:,description:Cant send messages for users without permission,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:902,id:,description:Cant send messages to this user due to their privacy settings,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:911,id:,description:Keyboard format is invalid,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:912,id:,description:This is a chat bot feature, change this status in settings,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:913,id:,description:Too many forwarded messages,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:914,id:,description:Message is too long,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:917,id:,description:You dont have access to this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:921,id:,description:Cant forward these messages,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:922,id:,description:You left this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:925,id:,description:You are not admin of this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:936,id:,description:Contact not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:940,id:,description:Too many posts in messages,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:943,id:,description:Cannot use this intent,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:944,id:,description:Limits overflow for this intent,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:945,id:,description:Chat was disabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:946,id:,description:Chat not supported,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:950,id:,description:Cant send message, reply timed out,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:962,id:,description:You cant access donut chat without subscription,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:969,id:,description:Message cannot be forwarded,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:user_id,description:Идентификатор пользователя, которому отправляется сообщение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:random_id,description:Число в пределах `int32` — уникальный (в привязке к API_ID и ID отправителя) идентификатор, предназначенный для предотвращения повторной отправки одинакового сообщения. Сохраняется вместе с сообщением и доступен в истории сообщений. \n\nПереданный в запросе `random_id` используется для проверки уникальности, проверяя в заданном диалоге сообщения за последний час (но не более 100 последних сообщений).,type:string,minLength:null,maxLength:null,fromVersion:5.45,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:peer_id,description:Идентификатор назначения.\n\nДля пользователя:\n\n* `id` пользователя.\n\nДля групповой беседы:\n\n* `2000000000` + `id` беседы.\n\nДля сообщества:\n\n* `-id` сообщества.,type:string,minLength:null,maxLength:null,fromVersion:5.38,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:peer_ids,description:Идентификаторы получателей сообщения (при необходимости отправить сообщение сразу нескольким пользователям). Доступно только для ключа доступа сообщества. Максимальное количество идентификаторов: 100.,type:string,minLength:null,maxLength:null,fromVersion:5.81,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:domain,description:Короткий адрес пользователя (например, `illarionov`).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:chat_id,description:Идентификатор беседы, к которой будет относиться сообщение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:user_ids,description:Идентификаторы получателей сообщения (при необходимости отправить сообщение сразу нескольким пользователям). Доступно только для ключа доступа сообщества. Максимальное количество идентификаторов: 100.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.138,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:message,description:Текст личного сообщения. Обязательный параметр, если не задан параметр `attachment`.,type:string,minLength:null,maxLength:9000,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:guid,description:Уникальный идентификатор, предназначенный для предотвращения повторной отправки одинакового сообщения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.46,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:lat,description:Географическая широта (от -90 до 90).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:long,description:Географическая долгота (от -180 до 180).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:attachment,description:Медиавложения к личному сообщению, перечисленные через запятую. Каждое прикрепление представлено в формате:\n\n```\n\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e\n```\n\n`\u003ctype\u003e` — тип медиавложения:\n* `photo` — фотография;\n* `video` — видеозапись;\n* `audio` — аудиозапись;\n* `doc` — документ;\n* `wall` — запись на стене;\n* `market` — товар;\n* `poll` — опрос.\n\n`\u003cowner_id\u003e` — идентификатор владельца медиавложения (обратите внимание, если объект находится в сообществе, этот параметр должен быть отрицательным).\n`\u003cmedia_id\u003e` — идентификатор медиавложения.\n\nНапример:\n\n```\nphoto100172_166443618\n```\n\nПараметр является обязательным, если не задан параметр `message`.\n\nВ случае, если прикрепляется объект, принадлежащий другому пользователю следует добавлять к вложению его access_key(reference/objects) в формате `\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e_\u003caccess_key\u003e`, Например:\n\n```\nvideo85635407_165186811_69dff3de4372ae9b6e\n```,type:string,minLength:null,maxLength:9000,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:reply_to,description:Идентификатор сообщения, на которое требуется ответить.,type:string,minLength:null,maxLength:null,fromVersion:5.92,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:forward_messages,description:Идентификаторы пересылаемых сообщений, перечисленные через запятую. Перечисленные сообщения отправителя будут отображаться в теле письма у получателя. Не более 100 значений на верхнем уровне, максимальный уровень вложенности — 45, максимальное количество пересылаемых сообщений — 500. \n\nНапример:\n\n```\n123,431,544\n```,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:forward,description:JSON-объект со следующими полями:\n* `owner_id` — владелец сообщений. Стоит передавать, если вы хотите переслать сообщения из сообщества в диалог;\n* `peer_id` — идентификатор места, из которого необходимо переслать сообщения;\n* `conversation_message_ids` — массив `conversation_message_id` сообщений, которые необходимо переслать. В массив `conversation_message_ids` можно передать сообщения:\n * находящиеся в личном диалоге с ботом;\n * являющиеся исходящими сообщениями бота;\n * написанными после того, как бот вступил в беседу и появился доступ к сообщениям.\n* `message_ids` — массив id сообщений;\n* `is_reply` — ответ на сообщения. Стоит передавать, если вы хотите ответить на сообщения в том чате, в котором находятся сообщения. При этом в `conversation_message_ids` или `message_ids` должен находиться только один элемент.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sticker_id,description:Идентификатор стикера.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:keyboard,description:Объект, описывающий клавиатуру бота(api/bots/development/keyboard).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:template,description:Объект, описывающий шаблон сообщения(api/bots/development/messages#Шаблоны%20сообщений).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:payload,description:Полезная нагрузка.,type:string,minLength:null,maxLength:1000,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:content_source,description:Объект в формате JSON, описывающий источник пользовательского контента для чат-ботов(api/bots/development/messages#Сообщения%20с%20пользовательским%20контентом).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:dont_parse_links,description:`1` — не создавать сниппет ссылки из сообщения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:disable_mentions,description:`1` - отключить уведомление об упоминании в сообщении.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:intent,description:Строка, описывающая интенты.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:subscribe_id,description:Параметр зарезервирован для использования в будущем. Число, которое будет использоваться для работы с интентами.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:\n,resultDescription:После успешного выполнения возвращает идентификатор отправленного сообщения.\nЕсли передан параметр `peer_ids`, возвращает массив объектов, каждый из которых содержит поля:\n* `peer_id` — идентификатор назначения;\n* `message_id` — идентификатор сообщения;\n* `conversation_message_id` — идентификатор сообщения в диалоге;\n* `error` — сообщение об ошибке, если сообщение не было доставлено получателю.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668451053231,isManuallyExpired:false},/method/wall.getById:{type:method,layout:internal,template:/method,contents:{title:wall.getById,id:wall.getById,description:Возвращает список записей со стен пользователей или сообществ по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/wall.getById,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:posts,description:Перечисленные через запятую идентификаторы, которые представляют собой идущие через знак подчеркивания ID владельцев стен и ID самих записей на стене. Максимум 100 идентификаторов.\n\nПример значения `posts`:\n\n```\n93388_21539,93388_20904,-1_340364\n```,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — в ответе будут возвращены дополнительные поля `profiles` и `groups`, содержащие информацию о пользователях и сообществах. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:copy_history_depth,description:Определяет размер массива `copy_history`, возвращаемого в ответе, если запись является репостом записи с другой стены. \n\nНапример, `copy_history_depth``1` — `copy_history` будет содержать один элемент с информацией о записи, прямым репостом которой является текущая.\n`copy_history_depth``2` — `copy_history` будет содержать два элемента, добавляется информация о записи, репостом которой является первый элемент, и так далее (при условии, что иерархия репостов требуемой глубины для текущей записи существует).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей для профилей и групп, которые необходимо вернуть. См. описание полей объекта user(reference/objects/user) и описание полей объекта `group`(reference/objects/group).\nОбратите внимание, этот параметр учитывается только при `extended``1`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:\n,resultDescription:После успешного выполнения возвращает объект, содержащий массив объектов записей на стене(reference/objects/post).\n\nЕсли был задан параметр `extended``1`, возвращает отдельно массив объектов записей на стене(reference/objects/post) в поле `items`, пользователей(reference/objects/user) в поле `profiles` и сообществ(reference/objects/group) в поле `groups`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668451192880,isManuallyExpired:false},/games/monetization/ad:{type:article,layout:internal,template:/article,contents:{title:Игры | Монетизация | Реклама в играх,id:games__monetization__ad,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:games/monetization/ad,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:\nИнформация о показах рекламы в играх ВКонтакте переехала.\nНовый адрес:\n\ndev.vk.com/games/monetization/ad/overview(https://dev.vk.com/games/monetization/ad/overview)},language:ru,variant:public,expireDate:1668451472333,isManuallyExpired:false},/bridge/getting-started:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Быстрый старт,id:bridge__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Первые шаги\n\n**Библиотека VK Bridge** позволяет приложениям (мини-приложениям и играм) использовать API ВКонтакте и API операционной системы, установленной на устройствах пользователей. Библиотека служит для отправки и получения событий.\n\nБиблиотека является мостом между приложениями, работающими на стороне пользователя, и клиентской частью ВКонтакте (десктопной версией сайта, мобильной версией сайта или мобильным приложением). Именно они обмениваются данными с серверами ВКонтакте, а библиотека работает как посредник на стороне пользователя.\n\n\u003e Если ранее вы не работали с API ВКонтакте, рекомендуем прочитать раздел Использование API(api/getting-started).\n\u003e\n\u003e Если ранее вы не работали с React, советуем ознакомиться с документацией к библиотеке(https://ru.reactjs.org/tutorial/tutorial.html).\nNPM: `vk-bridge`(https://www.npmjs.com/package/@vkontakte/vk-bridge)\n\nGitHub: `vk-bridge`(https://github.com/VKCOM/vk-bridge)\n\n## Как использовать библиотеку VK Bridge\n\nЧтобы использовать библиотеку:\n\n1. Создайте проект мини-приложения.\n1. Подключите VK Bridge(#Подключение%20VK%20Bridge).\n1. Вызовите событие VK Bridge(#Вызов%20события%20VK%20Bridge).\n1. Обработайте вернувшийся результат:\n * Метод `bridge.send`(#Метод%20bridge.send).\n * Метод `bridge.subscribe`(#Метод%20bridge.subscribe).\n\nИнструкция ниже актуальна для любой операционной системы. Для первых шагов потребуется знание языка JavaScript и умение работать с командной строкой.\n\n## Подключение VK Bridge\n\n\u003e Если вы используете библиотеку для создания шаблона(mini-apps/getting-started#Создание%20мини-приложения), отдельно подключать библиотеку VK Bridge не нужно.\n\nМы рекомендуем отправлять сообщение как можно раньше при запуске мини-приложения. В идеале — после выполнения минимума начальных действий и до массовой загрузки ресурсов. Допустимый интервал — 30 секунд после старта.\n\n\u003e **Обратите внимание!** В коде приложения обязательно нужно вызывать событие инициализации `VKWebAppInit`(bridge/VKWebAppInit), иначе приложение не запустится.\n\n### Через пакет NPM\n\n1. Перейдите в созданный проект мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_МИНИ_ПРИЛОЖЕНИЮ\u003e\n ```\n\n1. Установите библиотеку:\n\n ```sh\n npm install @vkontakte/vk-bridge || yarn add @vkontakte/vk-bridge\n ```\n\n1. Инициализируйте VK Bridge в файле `index.js`:\n\n ```JavaScript\n import bridge from @vkontakte/vk-bridge;\n\n // Отправляет событие инициализации нативному клиенту\n bridge.send(\VKWebAppInit\); \n ```\n\n### Включение скрипта в HTML-код страницы\n\nЭтот способ подходит, если вы не используете менеджеры пакетов, такие как `npm` или `yarn`, для создания своего HTML-приложения.\n\n1. В код каждой HTML-страницы, где вы будете вызывать библиотеку, добавьте ссылку на файл `browser.min.js`.\n\n \u003e В репозитории VK Bridge этот файл находится в папке `dist`. Мы рекомендуем ссылаться на копию файла, расположенную на сервисе unpkg.com(https://unpkg.com). В этом случае вы автоматически будете получать последнюю версию библиотеки и вам не нужно будет самостоятельно следить за выходом её обновлений.\n\n ```HTML\n \u003cscript src\https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js\\u003e\u003c/script\u003e\n ```\n\n1. В коде каждой HTML-страницы, где вы будете вызывать библиотеку, инициализируйте VK Bridge:\n\n ```HTML\n \u003cscript\u003e\n // Отправляет событие инициализации нативному клиенту\n vkBridge.send(VKWebAppInit);\n \u003c/script\u003e\n ```\n\n\nОбратите внимание, что когда вы включаете .js-файл библиотеки в HTML-код своих страниц, то в JavaScript-коде надо использовать имя объекта `vkBridge`, а не `bridge`.\n\n## Вызов события VK Bridge\n\nИспользуйте события объекта `bridge`:\n\n```JavaScript\n// Подписывается на события, отправленные нативным клиентом\nbridge.subscribe((e) \u003e console.log(e)); \n \n// Отправляет событие нативному клиенту\nbridge.send(\VKWebAppInit\, {}); \n \n// Проверяет, поддерживается ли событие на текущей платформе\nif (bridge.supports(\VKWebAppResizeWindow\)) {\n bridge.send(\VKWebAppResizeWindow\, {\width\: 800, \height\: 1000});\n}\n```\n\n\u003e Список всех событий VK Bridge(bridge/overview).\n\n## Обработка результата\n\n### Метод `bridge.send`\n\nПри использовании метода `bridge.send` вернётся промис. Работа с промисами не требует подключения дополнительных библиотек.\n\n```JavaScript\n// Отправка события\nbridge.send(VKWebAppGetEmail)\n .then((data) \u003e {\n if (data.result) {\n // Обработка события в случае успеха\n console.log(data.email);\n } else {\n // Ошибка\n }\n })\n .catch((error) \u003e {\n // Обработка события в случае ошибки\n console.log(error);\n });\n```\n\n\u003e Подробнее о промисах:\n\u003e\n\u003e * developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise(https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n\u003e\n\u003e * learn.javascript.ru/promise(http://learn.javascript.ru/promise)\n\n### Метод `bridge.subscribe`\n\nПри использовании метода `bridge.subscribe` в общем случае вернётся событие:\n\n* c постфиксом `Result`, если метод выполнился успешно;\n* с постфиксом `Failed`, если метод выполнился с ошибкой.\n\n\u003e **Обратите внимание!** Также бывают события с другими постфиксами. Они подробно описаны в разделе конкретного события.\n\n```JavaScript\n// Подписывается на события, отправленные нативным клиентом\nbridge.subscribe(event \u003e {\n if (!event.detail) {\n return;\n }\n\n switch(event.detail.type) {\n case VKWebAppOpenCodeReaderResult:\n if (event.detail.data.result) {\n // Обработка события в случае успеха\n console.log(event.detail.data.result);\n } else {\n // Ошибка\n }\n break;\n case VKWebAppOpenCodeReaderFailed:\n // Обработка события в случае ошибки\n console.log(event.detail.data.error_type, event.detail.data.error_data); \n break;\n }\n});\n```\n\n## Обработка ошибок VK Bridge\n\nПри работе с VK Bridge в ответе могут возвращаться ошибки в объекте `data`.\n\n```JSON\n{\n \type\: \EventNameFailed\, \n \data\: { \n \error_type\: \...\,\n \error_data\: {}\n } \n}\n```\n\n### `\data\`\n\n| Параметр | Тип | Описание |\n|---|---|---|\n|`error_type` | `string` | Тип ошибки. Возможные значения:\u0026#x0d;\u0026#x0a;\u0026nbsp;\u0026nbsp; \u0026bullet; `client_error` — ошибки, возникающие на клиенте;\u0026#x0d;\u0026#x0a;\u0026nbsp;\u0026nbsp; \u0026bullet; `api_error` — ошибки API;\u0026#x0d;\u0026#x0a;\u0026nbsp;\u0026nbsp; \u0026bullet; `auth_error` — ошибки авторизации. |\n|`error_data` | `object` | Дополнительные данные ошибки, которые зависят от `error_type`. См. описание ниже. |\n|`request_id` | `integer` | Информация, которая используется для внутренних целей: успешного выполнения или отклонения промиса. |\n\n### `\error_type\: \client_error\`\n\nК этому типу относятся ошибки, связанные с некорректным синтаксисом событий VK Bridge. Параметры объекта `error_data`:\n\n| Параметр | Тип | Описание |\n|---|---|---|\n|`error_code` | `integer` | Код ошибки. См. список возможных значений в таблице ниже. |\n|`error_reason` | `string` | Описание ошибки. |\n|`error_description` | `string` | **Необязательное поле**. Детальное описание ошибки. |\n\n| Код ошибки (`error_code`) | Описание (`error_reason`) |\n|---|---|\n|1 | Unknown error |\n|2 | Missing required params |\n|3 | Connection lost |\n|4 | User denied |\n|5 | Invalid params |\n|6 | Unsupported platform |\n|7 | No device permission |\n|8 | Need user permission |\n|9 | This action cannot be performed in the background |\n|10 | Requests limit reached |\n|11 | Access denied |\n|12 | Uninitialized App |\n|13 | Custom error for every handler |\n\n### `\error_type\: \api_error\`\n\nК этому типу относятся ошибки, перечисленные на странице Возвращаемые ошибки(reference/errors) или в описании метода. Параметры объекта `error_data`:\n\n| Параметр | Тип | Описание |\n|---|---|---|\n|`error_code` | `integer` | Код ошибки. |\n|`error_msg` | `string` | Описание ошибки. |\n|`request_params` | `array` | Массив, содержащий параметры запроса к API. |\n\n### `\error_type\: \auth_error\`\n\nК этому типу относятся ошибки, которые возвращаются в ходе авторизации. Параметры объекта `error_data`:\n\n| Параметр | Тип | Описание |\n|---|---|---|\n|`error` | `integer` | Код ошибки. |\n|`error_reason` | `string` | Описание ошибки. |\n|`error_description` | `array` | **Необязательное поле**. Детальное описание ошибки. |},language:ru,variant:public,expireDate:1668451693629,isManuallyExpired:false},/method/groups.getMembers:{type:method,layout:internal,template:/method,contents:{title:groups.getMembers,id:groups.getMembers,description:Возвращает список участников сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/groups.getMembers,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,group_access,children:,text:\n,errors:{title:125,id:,description:Invalid group id,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:group_id,description:Идентификатор или короткое имя сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sort,description:Сортировка, с которой необходимо вернуть список участников. Может принимать значения:\n* `id_asc` — в порядке возрастания ID;\n* `id_desc` — в порядке убывания ID;\n* `time_asc` — в хронологическом порядке по вступлению в сообщество;\n* `time_desc` — в антихронологическом порядке по вступлению в сообщество. \nСортировка по `time_asc` и `time_desc` возможна только при вызове от модератора сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определённого подмножества участников. По умолчанию `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество участников сообщества, информацию о которых необходимо получить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей, которые необходимо вернуть. \nДоступные значения: \n* `bdate`;\n* `can_post`;\n* `can_see_all_posts`;\n* `can_see_audio`;\n* `can_write_private_message`;\n* `city`;\n* `common_count`;\n* `connections`;\n* `contacts`;\n* `country`;\n* `domain`;\n* `education`;\n* `has_mobile`;\n* `last_seen`;\n* `lists`;\n* `online`;\n* `online_mobile`;\n* `photo_100`;\n* `photo_200`;\n* `photo_200_orig`; \n* `photo_400_orig`;\n* `photo_50`;\n* `photo_max`;\n* `photo_max_orig`;\n* `relation`;\n* `relatives`;\n* `schools`;\n* `sex`;\n* `site`;\n* `status`;\n* `universities`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:filter,description:* `friends` — будут возвращены только друзья в этом сообществе.\n* `unsure` — будут возвращены пользователи, которые выбрали «Возможно пойду» (если сообщество относится к мероприятиям).\n* `managers` — будут возвращены только руководители сообщества (доступно при запросе с передачей `access_token` от имени администратора сообщества).\n* `donut` — будут возвращены только доны (пользователи, у которых есть платная подписка VK Donut).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` (`integer`) и массив идентификаторов пользователей в поле `items` (`integer`).\n\nЕсли был передан параметр `filter``managers`, возвращается дополнительное поле `role` (`string`), которое содержит уровень полномочий руководителя:\n* `advertiser` — рекламодатель;\n* `moderator` — модератор;\n* `editor` — редактор;\n* `administrator` — администратор;\n* `creator` — создатель сообщества.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668452019117,isManuallyExpired:false},/method/messages.getRecentStickers:{type:method,layout:internal,template:/method,contents:{title:messages.getRecentStickers,id:messages.getRecentStickers,description:Возвращает список последних использованных стикеров.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getRecentStickers,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:,parametersCommonDescription:,resultDescription:Метод возвращает объект, содержащий следующие поля:\n* `base_url` – базовый URL для стикеров;\n* `sticker_ids` – массив идентификаторов последних использованных стикеров.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668452034002,isManuallyExpired:false},/reference:{type:article,layout:internal,template:/article,contents:{title:API,id:reference,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# API\n\n### Ключ доступа(api/access-token/getting-started)\nАвторизация на базе протокола OAuth.\n\n### Права доступа(reference/access-rights)\nПрава доступа, которые потребуются, чтобы использовать методы API.\n\n### Формат запросов(api/api-requests)\nФормат HTTP-запроса для вызова методов API.\n\n### Коды ошибок(reference/errors)\nКоды и сообщения, которые возвращаются в ответах API.\n\n### JSON-схема(reference/json-schema)\nСхема позволяет создать SDK для API на любой платформе.\n\n### Объекты(reference/objects)\nОбъекты используются в методах и группах методов.\n\n### Состояние API(reference/state)\nНаглядные данные о работоспособности API.\n\n### Методы API(method)\nМетоды для работы с данными ВКонтакте.},language:ru,variant:public,expireDate:1668454733165,isManuallyExpired:false},/api/api-requests:{type:article,layout:internal,template:/article,contents:{title:Использование API | Формат запросов,id:api__api-requests,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/api-requests,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Формат запросов\n\n## Синтаксис запроса\n\nЧтобы обратиться к методу API ВКонтакте, нужно выполнить `POST` или `GET` запрос вида:\n\n```\nhttps://api.vk.com/method/METHOD?PARAMS\u0026access_tokenTOKEN\u0026vV\n```\n\nОн состоит из нескольких частей:\n* `METHOD` (**обязательно**) — название метода API(method), к которому вы хотите обратиться. \n \u003e **Обратите внимание:** имя метода чувствительно к регистру.\n* `PARAMS` (**не обязательно**) — входные параметры соответствующего метода API, последовательность пар `namevalue`, разделенных амперсандом. Список параметров указан на странице с описанием метода.\n* `TOKEN` (**обязательно**) — ключ доступа(api/access-token/getting-started).\n* `V` (**обязательно**) — используемая версия API. Использование этого параметра применяет некоторые изменения в формате ответа различных методов. Сейчас актуальная версия API(reference/versions) — :version. Этот параметр следует передавать со всеми запросами.\n\nПараметры могут передаваться как методом `GET`, так и `POST`. Если вы будете передавать большие данные (больше 2 килобайт), следует использовать `POST` и формат `FormData`.\n\nНапример, вызовем метод `users.get`(method/users.get) для пользователя с идентификатором `210700286`:\n\n```\nhttps://api.vk.com/method/users.get?user_ids210700286\u0026fieldsbdate\u0026access_token533bacf01e11f55b536a565b57531ac114461ae8736d6506a3\u0026v:version\n```\n\nВ ответ на такой запрос вы получите ответ в формате JSON:\n\n```JSON\n{\n \response\: \n {\n \id\: 210700286,\n \first_name\: \Lindsey\,\n \last_name\: \Stirling\,\n \bdate\: \21.9.1986\\n }\n \n}\n```\n\n## Общие параметры\n\nКаждый метод API имеет собственный набор входных параметров. Помимо этого, существуют общие параметры, которые могут быть использованы во всех методах:\n* `lang` — определяет язык, на котором будут возвращаться различные данные, например, названия стран и городов. Может содержать строковое обозначение языка или его идентификатор (получить идентификатор языка пользователя вы можете методом `account.getInfo`(method/account.getInfo)). Кириллические имена будут автоматически транслитерированы в латиницу для всех языков, кроме русского, украинского и белорусского.\n* `ru` (`0`) — русский,\n* `uk` (`1`) — украинский,\n* `be` (`2`) — белорусский,\n* `en` (`3`) — английский,\n* `es` (`4`) — испанский,\n* `fi` (`5`) — финский,\n* `de` (`6`) — немецкий,\n* `it` (`7`) — итальянский.\n* `test_mode1` — тестовый режим, позволяет выполнять запросы из нативного приложения без его включения на всех пользователей.\n\n## Ограничения и рекомендации\n\n### Частотные ограничения\n\nК методам API ВКонтакте (за исключением методов из секций `secure`(method/secure) и `ads`(method/ads)) с ключом доступа пользователя можно обращаться не чаще **3** раз в секунду. Для ключа доступа сообщества ограничение составляет **20** запросов в секунду. Если логика вашего приложения подразумевает вызов нескольких методов подряд, имеет смысл обратить внимание на метод `execute`(method/execute). Он позволяет совершить до **25** обращений к разным методам в рамках одного запроса.\n\nДля сервисного ключа доступа лимиты такие:\n\n| Кол-во пользователей приложения | Частотный лимит (кол-во запросов в секунду) |\n| ----------- | ----------- |\n| до 10 000 | 5 |\n| до 100 000 | 20 |\n| до 500 000 | 40 |\n| до 1 млн | 50 |\n| больше 1 млн | 60 |\n\nДля методов секции `ads`(method/ads) действуют собственные ограничения(method/ads#Ограничения%20на%20вызов%20методов%20рекламного%20API).\n\nМаксимальное число обращений к методам секции `secure`(method/secure) зависит от числа пользователей, установивших приложение. Если приложение установило меньше 10 000 человек, то можно совершать 5 запросов в секунду, до 100 000 — 8 запросов, до 1 000 000 — 20 запросов, больше 1 млн. — 35 запросов в секунду.\n\nЕсли вы превысите частотное ограничение, сервер вернет ошибку с кодом `6: \Too many requests per second.\`.\n\n### Количественные ограничения\n\nПомимо ограничений на частоту обращений, существуют и количественные ограничения на вызов однотипных методов. По понятным причинам, мы не предоставляем информацию о точных лимитах.\n\nПосле превышения количественного лимита доступ к конкретному методу может требовать ввода капчи (см. `captcha_error`(api/captcha-error)), а также может быть временно ограничен (в таком случае сервер не возвращает ответ на вызов конкретного метода, но без проблем обрабатывает любые другие запросы).\n\n## Примеры\n\n### Кроссдоменный запрос с использованием JSONP\n\nЗапросы к API ВКонтакте могут быть выполнены из браузера со страниц сторонних сайтов или IFrame приложений(sdk/overview).\n\nЧтобы осуществлять кроссдоменные запросы к API, вы можете использовать протокол JSONP(https://ru.wikipedia.org/wiki/JSONP). Для этого необходимо подключать к документу скрипт с адресом запроса в `src`. Запрос должен содержать дополнительный параметр `callback` c именем функции, которая будет вызвана при получении результата.\n\nНапример:\n\n```HTML\n\u003chtml\u003e\n \u003ctitle\u003eJSONP\u003c/title\u003e\n \u003chead\u003e\u003c/head\u003e\n \u003cbody\u003e\n \u003cscript type\text/javascript\\u003e\n var script document.createElement(SCRIPT);\n script.src \https://api.vk.com/method/users.get?user_ids210700286\u0026fieldsbdate\u0026v:version\u0026callbackcallbackFunc\;\n document.getElementsByTagName(\head\)0.appendChild(script);\n function callbackFunc(result) {\n alert(result.response0.first_name)\n }\n \u003c/script\u003e\n \u003c/body\u003e\n\u003c/html\u003e\n```\n\nВ нашем примере после загрузки документа вызывается метод `users.get`(method/users.get), а после получения ответа от сервера управление передается функции `callbackFunc()`, которая выводит содержимое поля `first_name` из ответа во всплывающем окне.\n\n### Запрос из PHP\n\n```PHP\n\u003c?php\n$user_id 210700286;\n$request_params array(\n user_id \u003e $user_id,\n fields \u003e bdate,\n v \u003e 5.52,\n access_token \u003e 533bacf01e11f55b536a565b57531ac114461ae8736d6506a3\n);\n$get_params http_build_query($request_params);\n$result json_decode(file_get_contents(https://api.vk.com/method/users.get? . $get_params));\necho ($result-\u003eresponse0\n -\u003ebdate);\n?\u003e\n```\n\nВ нашем примере скрипт выводит дату рождения пользователя (`bdate`), полученную обращением к методу `users.get`(method/users.get).\n\n### Запрос с использованием Open API\n\nOpen API(api/open-api/getting-started) — JS-библиотека для упрощения работы с API ВКонтакте на внешних сайтах.\n\n```HTML\n\u003cscript type\text/javascript\\u003e\n VK.Api.call(users.get, { user_ids: 210700286, fields: bdate }, function(r) {\n if(r.response) {\n alert(r.response0.bdate);\n }\n });\n\u003c/script\u003e\n```},language:ru,variant:public,expireDate:1668455097567,isManuallyExpired:false},/method/messages.getDialogs:{type:method,layout:internal,template:/method,contents:{title:messages.getDialogs,id:messages.getDialogs,description:Возвращает список диалогов текущего пользователя или сообщества.\nАктуальный метод: `messages.getConversations`(method/messages.getConversations).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getDialogs,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:offset,description:Смещение, необходимое для выборки определённого подмножества диалогов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество диалогов, которое необходимо получить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:start_message_id,description:Идентификатор сообщения, начиная с которого нужно вернуть список диалогов (подробности смотрите ниже).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:preview_length,description:Количество символов, по которому нужно обрезать сообщение. Укажите `0`, если вы не хотите обрезать сообщение (по умолчанию сообщения не обрезаются).\n\nОбратите внимание, текст обрезается по словам, точное число символов может не совпадать с указанным значением.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:unread,description:`1` — вернуть только диалоги, в которых есть непрочитанные входящие сообщения. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:5.14,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:important,description:`1` — вернуть диалоги с пометкой «Важные» (для сообщений сообществ).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:unanswered,description:`1` — вернуть диалоги с пометкой «Неотвеченные» (для сообщений сообществ).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:user_id,description:Идентификатор пользователя, последнее сообщение в переписке с которым необходимо вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:5.14,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:Если был передан параметр `start_message_id`, будет найдена позиция диалога в списке, идентификатор последнего сообщения которого равен `start_message_id` (или ближайший к нему более ранний). Начиная с этой позиции будет возвращено `count` диалогов. Смещение `offset` в этом случае будет отсчитываться от этой позиции (оно может быть отрицательным).,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов, описывающих диалоги, в поле `items`. Если у пользователя есть непрочитанные диалоги и параметр `unread``0`, будет возвращено поле `unread_dialogs`, содержащее количество непрочитанных диалогов.\n\nОбъект, описывающий диалог, содержит следующие поля:\n* `unread` — количество непрочитанных сообщений (если все сообщения прочитаны, поле не возвращается);\n* `message` — объект, описывающий личное сообщение(reference/objects/message);\n* `in_read` — идентификатор последнего сообщения, прочитанного текущим пользователем;\n* `out_read` — идентификатор последнего сообщения, прочитанного собеседником.\n\nЕсли был передан параметр `start_message_id`, будет также возвращено поле `real_offset` — итоговое смещение данного подмножества диалогов (оно может быть отрицательным, если был указан отрицательный `offset`).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:true}},language:ru,variant:public,expireDate:1668455163878,isManuallyExpired:false},/api/payments/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Платежи | Платёжный API | Быстрый старт,id:api__payments__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/payments/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Быстрый старт\n\n**Платёжный API** — это API для работы с платёжной системой в играх и мини-приложениях. Он нужен, чтобы продавать в приложении виртуальные товары или услуги. \n\nПользователь оплачивает покупки внутренней валютой ВКонтакте (голосами), но для удобства стоимость товара отображается в рублях.\n\n!titleДиалоговое окно платежа в приложении.(6bdd0b4f3e1eb1e9b339105672c7472128d9b3aa284d76f8c3c9799b \-708128452752560712\)\n\nВ этом руководстве мы расскажем, как подключить платёжную систему в вашем приложении ВКонтакте.\n\n## Платежи ВКонтакте\n\n\u003e Для платежей за товары и услуги используйте VK Pay(pay/getting-started).\n\nПодойдёт для платежей в чат-ботах, сообществах ВКонтакте, сервисах VK Mini Apps и на сторонних сайтах. Оплата происходит с баланса VK Pay или привязанных к нему банковских карт.\n\n\u003e Для платежей в играх и мини-приложениях используйте голоса.\n\nГолоса — универсальная платёжная единица ВКонтакте, которая используется для оплаты виртуальных товаров. Пользователи могут пополнить свой виртуальный счёт голосами с помощью банковских карт, электронных кошельков, СМС и другими способами. \n\nПользователь оплачивает покупки в игре или мини-приложении внутренней валютой ВКонтакте (голосами) следующим образом:\n1. Пользователь выбирает виртуальный товар в приложении.\n2. С его личного баланса списывается число голосов, равное стоимости покупки.\n3. Счёт приложения пополняется на стоимость покупки.\n\n## Подготовка серверной части \n\nВ первую очередь нужно реализовать на вашем сервере скрипт для обработки уведомлений от платёжной системы ВКонтакте(api/payments/notifications/overview). Такое уведомление представляет собой `POST`-запрос с заданной структурой данных. Ваш сервер должен уметь своевременно отправлять ответ с запрошенной информацией. Например, это могут быть данные о товаре, который хочет купить пользователь в вашем приложении.\n\n## Настройки платежей в приложении \n\nОткройте страницу редактирования вашего приложения и перейдите на вкладку **Платежи**. Здесь нужно указать адрес обратного вызова (URL на вашем сервере, где размещён скрипт обработки уведомлений). Чтобы проводить оплату в тестовом режиме(#Тестовый%20режим), в поле **Тестировщики платежей** выберите пользователей, которые будут тестировать платёжную систему.\n\nПока приложение не прошло модерацию, в нём доступны только тестовые платежи.\n\n## Вызов диалогового окна \n\nПользователь выбирает виртуальный товар или подписку в приложении, после этого открывается диалоговое окно ВКонтакте с описанием и стоимостью. Можно подтвердить покупку или отменить её. Если на балансе недостаточно голосов, будет предложено пополнить его одним из доступных способов.\n\n!titleДиалоговое окно платежа в приложении;(d1be181ea82a0a515a5476d52cb862a79143548e587b81e2a0db94cb \-2162674972032947764\)\n\nЧтобы показать диалоговое окно, используйте метод `showOrderBox`(sdk/javascript#showOrderBox) или `showSubscriptionBox`(sdk/javascript#showSubscriptionBox) из Client API. \n\nТиповой JS-код для открытия окна:\n\n```JavaScript\nfunction order() {\n const params {\n type: item,\n item: item_25new\n };\n\n VK.callMethod(showOrderBox, params);\n}\n```\n\nПосле успешной оплаты товара приложению будет отправлено событие `onOrderSuccess` с идентификатором заказа. \n\n**Внимание!** Это событие нельзя использовать для принятия решения о предоставлении пользователю виртуального товара. Проверяйте специальное уведомление `order_status_change`(api/payments/notifications/order-status-change), которое отправляется на ваш сервер.\n\n### Диалоговое окно платежа\n\nЭтот диалог показывается пользователю после выбора виртуального товара на странице приложения.\n\n!titleДиалоговое окно платежа в приложении.(d1be181ea82a0a515a5476d52cb862a79143548e587b81e2a0db94cb \-2162674972032947764\)\n\n#### Параметры `showOrderBox`\n\nЧтобы показать диалоговое окно платежа, используйте метод `showOrderBox`(sdk/javascript#showOrderBox) из Client API. Он принимает следующие параметры:\n\n### `type` \n\n`string`\n\n Тип заказа. Возможные значения: \n `votes` — окно для ввода голосов на счёт приложения; \n `offers` — окно со списком специальных предложений (офферов), которые могут быть использованы пользователем для получения голосов; \n `item` — покупка товара. \n\n### `votes` \n\n`integer`\n\nКоличество голосов для ввода на счёт приложения (для `type votes`). \n\n### `offer_id` \n\n`integer`\n\nИдентификатор рекламной акции (для `type offers`). \n\n### `currency` \n\n`integer`, `0`,`1`\n\n`1` — стоимость специальных предложений будет отображена в валюте приложения(#Платежи%20в%20валюте%20приложения) (для `type offers`). \n\n### `item` \n\n`string`\n\nНаименование товара, которое будет отправлено в уведомлении `get_item` (для `type item`). Строка длиной до 64 символов. Например, `item_25new`. \n\n#### События\n\nПосле завершения оплаты в зависимости от результата в обработчик отправляется одно из трёх событий:\n\n | Название | Параметры | Описание |\n|---|---|---|\n | `onOrderCancel` | — | Пользователь отменил покупку. |\n | `onOrderSuccess` | `orderId` (`integer`) | Покупка закончилась успешно. \n `orderId` — идентификатор заказа. Подробную информацию об обработке платежных уведомлений вы можете найти на этой странице(api/payments/notifications/overview). |\n | `onOrderFail` | `errorCode` (`integer`)| Покупка закончилась неуспешно. \n `errorCode` — код ошибки. Подробную информацию об ошибках платежных уведомлений вы можете найти на этой странице(api/payments/notifications/overview#Формат%20ответа%20в%20случае%20ошибки). |\n\n#### Пример кода на JavaScript \n\n```JavaScript\n\u003cscript type\text/javascript\\u003e\n\n// Функция order() отображает окно для покупки товара с наименованием \item_25new\. \n// Названия платёжных событий пишутся в контейнер с id\callbacks\.\n\n function order() {\n var params {\n type: item,\n item: item_25new\n };\n VK.callMethod(showOrderBox, params);\n }\n\n var callbacksResults document.getElementById(callbacks);\n\n VK.addCallback(onOrderSuccess, function(order_id) {\n callbacksResults.innerHTML + \u003cbr /\u003eonOrderSuccess +order_id;\n });\n VK.addCallback(onOrderFail, function() {\n callbacksResults.innerHTML + \u003cbr /\u003eonOrderFail;\n });\n VK.addCallback(onOrderCancel, function() {\n callbacksResults.innerHTML + \u003cbr /\u003eonOrderCancel;\n });\n\u003c/script\u003e\n```\n\n### Диалоговое окно подписки\n\n#### Параметры `showSubscriptionBox`\n\nЧтобы показать диалоговое окно подписки, нужно вызвать метод `showSubscriptionBox`(sdk/javascript#showSubscriptionBox) из Client API. Вторым аргументом передайте `action` — действие, которое необходимо совершить. Возможные значения:\n* `create` — приобрести подписку;\n* `resume` — возобновить подписку;\n* `cancel` — отменить подписку.\n\nМетод `showSubscriptionBox` принимает следующие параметры:\n\n### `item` \n\n`string`\n\nНаименование подписки, которое будет отправлено в уведомлении `get_subscription`(api/payments/notifications/get-subscription). Строка длиной до 64 символов. Например: `subscription_25new` (для `action create`). \n\n### `subscription_id` \n\n`integer`\n\nИдентификатор подписки (для `action resume, cancel`). \n\n#### События\n\nПосле завершения оплаты в зависимости от результата в обработчик отправляется одно из трёх событий:\n\n | Название | Параметры | Описание |\n|---|---|---|\n | `onSubscriptionCancel` | — | Пользователь отменил покупку. |\n | `onSubscriptionSuccess` | `subscription_id` (`integer`) | Покупка закончилась успешно. \n`subscription_id` — идентификатор подписки. Подробную информацию об обработке платежных уведомлений вы можете найти на этой странице(api/payments/notifications/overview). |\n | `onSubscriptionFail` | `errorCode` (`integer`)| Покупка закончилась неуспешно. \n `errorCode` — код ошибки. Подробную информацию об ошибках платежных уведомлений вы можете найти на этой странице(api/payments/notifications/overview#Формат%20ответа%20в%20случае%20ошибки). |\n\n\u003e Обратите внимание — в тестовом режиме подписка 5 раз автоматически продлевается раз в 10 минут (для `period month`) и раз в 2 минуты для других значений `period`. После этого подписка автоматически отменяется.\n\n#### Пример кода на JavaScript\n\n```JavaScript\n\u003cscript type\text/javascript\\u003e\n function order() {\n VK.callMethod(showSubscriptionBox, create, {item: subscription1});\n }\n\n var callbacksResults document.getElementById(callbacks);\n\n VK.addCallback(onSubscriptionSuccess, function(subscription_id) {\n callbacksResults.innerHTML + \u003cbr /\u003eonSubscriptionSuccess +subscription_id;\n });\n VK.addCallback(onSubscriptionFail, function() {\n callbacksResults.innerHTML + \u003cbr /\u003eonSubscriptionFail;\n });\n VK.addCallback(onSubscriptionCancel, function() {\n callbacksResults.innerHTML + \u003cbr /\u003eonSubscriptionCancel;\n });\n\u003c/script\u003e\n```\n\nФункция `order` позволяет отобразить пользователю окно для покупки товара с наименованием `subscription_25new`. Названия произошедших платёжных событий пишутся в контейнер с `id\callbacks\`.\n\n## Тестовый режим\n\nТестовый режим позволяет тестировать функциональность покупки товаров и перевода голосов в приложениях без реальной передачи голосов. \n\nТестовый режим необходимо использовать пока ваше приложение не прошло проверку администрацией ВКонтакте. Платежи осуществляются в «боевом» режиме сразу после прохождения процедуры проверки приложения.\n\nДля осуществления платежей в тестовом режиме необходимо добавить всех пользователей, совершающих тестовые платежи, в специальный список в настройках приложения (поле **Тестировщики платежей**).\n\n!(33327db1023a46d0548612a270d8330ee0e7e4678ca689697daefe49 \4424661819184374092\)\n\nВ тестовом режиме к параметру `notification_type` добавляется суффикс `_test`. Таким образом, уведомления будут называться `get_item_test`, `order_status_change_test`, `get_subscription_test`, `subscription_status_change ` соответственно (см. Платёжные уведомления(api/payments/notifications/overview)).\n\nПри этом идентификаторы заказов в тестовом режиме – параметры `order_id` у уведомлений – могут пересекаться с идентификаторами заказов в рабочем режиме.\n\nОбратите внимание — в тестовом режиме подписка 5 раз автоматически продлевается раз в 10 минут (для `period month`) и раз в 2 минуты для других значений `period`. После этого подписка автоматически отменяется. Уведомления приходят только при изменении статуса подписки, в случае продления уведомления не приходят. Подробнее см. Изменение статуса подписки(api/payments/notifications/subscription-status-change).\n\n## Модерация приложения \n\nЕсли ваше приложение ещё не отправлялось на проверку и не размещено в общем каталоге, самое время сделать это. Иначе пользователи не смогут оплатить что-либо в нём.\nПосле проверки вы можете убрать себя из списка тестировщиков платежей в настройках приложения, чтобы начать осуществлять платежи в боевом режиме.\n\nЧтобы приложение успешно прошло модерацию, убедитесь, что оно соответствует Правилам.\n\n## Методы `orders` \n\nМетод API `orders.get`(method/orders.get) позволяет получить список заказов с их текущими статусами. \nЧтобы отменить заказ, используйте метод `orders.changeState`(method/orders.changeState), передав идентификатор заказа и новый статус заказа `refund`. Голоса вернутся на баланс пользователя. На балансе приложения должно быть достаточно голосов для возврата. Весь список методов секции `orders` можно посмотреть здесь(method/orders).},language:ru,variant:public,expireDate:1668455455875,isManuallyExpired:false},/method/messages.deleteChatPhoto:{type:method,layout:internal,template:/method,contents:{title:messages.deleteChatPhoto,id:messages.deleteChatPhoto,description:Позволяет удалить фотографию мультидиалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.deleteChatPhoto,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:925,id:,description:You are not admin of this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:945,id:,description:Chat was disabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:chat_id,description:Идентификатор беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий следующие поля:\n* `message_id` — идентификатор отправленного системного сообщения;\n* `chat` — объект мультидиалога(reference/objects/chat).,evalHash:,shouldHideConsole:false,linkedMethods:{title:messages.setChatPhoto,id:messages.setChatPhoto,description:Позволяет установить фотографию мультидиалога, загруженную с помощью метода.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.setChatPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668456306904,isManuallyExpired:false},/mini-apps/development/community-apps:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Разработка | Приложения сообществ,id:mini-apps__development__community-apps,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/development/community-apps,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Приложения сообществ\n\n\u003e **Обратите внимание!** Сейчас в каталог приложений для сообществ(https://vk.com/community_apps) могут попасть только мини-приложения(mini-apps/overview).\n\nЧтобы разместить мини-приложение в каталоге для сообществ, ознакомьтесь с рекомендациями и правилами(mini-apps/catalog/getting-started).\n\nВы можете добавить максимум 5 мини-приложений в одно сообщество.\n\n## Что это такое\n\nМини-приложения в сообществах — это приложения с типом **VK Mini Apps**, которые можно запускать со страницы сообщества или по прямой ссылке. Они работают на платформах:\n\n* в мобильном приложении (Android, iOS);\n* в мобильной версии сайта (m.vk.com(https://m.vk.com));\n* в десктопной версии сайта (vk.com(https://vk.com)).\n\nВстроенные в сообщества приложения помогут реализовать новые возможности в вашем сообществе, например:\n\n* добавить форму для записи на услугу;\n* создать лендинг для подписчиков сообщества;\n* оформить страницу для пожертвований;\n* создать список для регулярных рассылок сообщений вашим подписчикам.\n\n:::carousel\n!(5c147927faebc48af410038c83cd8c910e9d2086173772334ea389d9 \7549445654306859681\)\n!(f9a7a6ac7d8dbda2614f86c6db9b7cc845eb2f119bed9fcf594d0b4a \-4873758069321321535\)\n!(daded053f981b4b266094a67db1b86ccaacb37bb32342889eefd47b1 \8926493480533850685\)\n:::\n\nВ специальном каталоге(https://vk.com/community_apps) находятся мини-приложения, которые прошли модерацию и могут быть установлены в сообществе.\n\nЧтобы попасть в каталог, отправьте заявку из раздела Модерация(mini-apps/management/moderation). В ней опишите приложение и добавьте ссылку на сообщество, в котором мини-приложение установлено и настроено. Перед отправкой убедитесь, что приложение соответствует Правилам размещения приложений в сообществе(community-apps-rules).\n\n## Преднастройка мини-приложения\n\nЧтобы установить в сообществе мини-приложение, которое вы разрабатываете, разрешите его установку в сообществах(mini-apps/management/information#Разрешить%20установку%20в%20сообществах). \n\n## Добавление в сообщество\n\nПосле добавления мини-приложение появится в блоке **Меню** сообщества.\n\n### Через настройки сообщества\n\n1. Зайдите в сообщество, где вы являетесь администратором.\n1. Откройте вкладку **Управление**.\n1. Перейдите на вкладку **Приложения**.\n1. Выберите мини-приложение, которое вы хотите добавить в сообщество:\n\n * В блоке **Приложения для любых задач**.\n\n !altВнешний вид блока Приложения для любых задач;titleПриложения для любых задач;(f2d35aa184b1e6303a2795bd98efaeee7299f86d1a571c10d075cee3 \1183478377586133759\)\n\n * В блоке **Мои приложения**.\n\n !altВнешний вид блока Мои приложения;titleМои приложения;(d80ce915cfff7f4db0f3ba183656565f0f43a7c5e9814adee86230e8 \353602952134533897\)\n\n1. Нажмите на ссылку **Добавить**.\n1. Во всплывающем окне **Добавление приложения в сообщество** нажмите кнопку **Добавить**.\n \n !altВнешний вид окна Добавление приложения в сообщество;titleДобавление приложения в сообщество;(3d48fec5f6700ed9b54b32cec8c513d088a9718759d4674529798d42 \-7521365641297331695\)\n\n1. Или, если вы перешли в каталог всех приложений для любых задач, во всплывающем окне **Добавление приложения в сообщество** выберите сообщества и нажмите кнопку **Добавить**.\n\n !altВнешний вид окна Добавление приложения в сообщество;titleДобавление приложения в сообщество;(31be267b1ba5e885679d78240d785b769808bb8a7d69b1d7c12ca18a \5196899519290641998\)\n\n### Через специальную ссылку\n\nПользователи могут устанавливать ваше мини-приложение в своих сообществах по специальной ссылке. Для этого нужно: \n\n1. Открыть в браузере ссылку вида: `https://vk.com/add_community_app.php?aidAID`, где `AID` — идентификатор мини-приложения(mini-apps/management/settings#ID%20приложения).\n1. Выбрать сообщество.\n1. Нажать кнопку **Добавить**.\n\n### Через VK Bridge\n\nЧтобы вызвать окно добавления мини-приложения в сообщество, используйте событие VKWebAppAddToCommunity(bridge/VKWebAppAddToCommunity).\n\n### Через настройки мини-приложения\n\n\u003e **Обратите внимание!** Не все мини-приложения из каталога сообществ находятся в каталоге мини-приложений.\n\n1. Откройте десктопную версию ВКонтакте.\n1. Перейдите в раздел **Сервисы**.\n1. Выберите мини-приложение и нажмите кнопку **•••**.\n1. Нажмите кнопку **Добавить в сообщество**.\n1. Во всплывающем окне **Добавление приложения в сообщество** выберите сообщества и нажмите кнопку **Добавить**.\n\n !altВнешний вид окна Добавление приложения в сообщество;titleДобавление приложения в сообщество;(31be267b1ba5e885679d78240d785b769808bb8a7d69b1d7c12ca18a \5196899519290641998\)\n\n## Настройка мини-приложения в сообществе\n\n1. Зайдите в сообщество.\n1. Откройте вкладку **Управление**.\n1. Перейдите на вкладку **Приложения**.\n1. В блоке **Приложения сообщества** выберите мини-приложение:\n * Нажмите на ссылку **Изменить**.\n * В поле **Кому доступно** выберите область видимости мини-приложения в соообществе.\n * В поле **Сниппет** выберите название кнопки в сниппете мини-приложения в сообществе.\n * В поле **Название приложения** введите название мини-приложения в сниппете сообщества.\n\n !altВнешний вид сниппета мини-приложения в записи сообщества;titleСниппет мини-приложения в записи сообщества;(93e75e3bde305e3cc41b48e9432fb95c9751259645fbb38cb81516ce \4136249381120582766\)\n\n## Удаление из сообщества\n\n1. Зайдите в сообщество.\n1. Откройте вкладку **Управление**.\n1. Перейдите на вкладку **Приложения**.\n1. В блоке **Приложения сообщества** выберите мини-приложение:\n * Нажмите на ссылку **Изменить**.\n * Нажмите на ссылку **Удалить приложение**.\n \n !altВнешний вид блока Приложения сообщества;titleПриложения сообщества;(7954df5728c829a968a250e041df8deb5fd0ac0934137c8938402176 \-6477063358612808144\)\n \n1. Во всплывающем окне подтвердите удаление.\n\n## Рекомендации\n\nМы собрали рекомендации, которые помогут улучшить ваше мини-приложение в сообществе.\n\n### Главная страница\n\nЕсли мини-приложение рассчитано на установку в сообществе, при запуске вне контекста сообщества (при отсутствии параметра запуска `vk_group_id`(mini-apps/development/launch-params#vk_group_id)) правильно покажите главную страницу с описанием приложения и кнопкой для его установки (`https://vk.com/add_community_app.php?aid{ID приложения}`).\n\nПримеры приложений с главной страницей:\n\n* Spycat — виджеты для продаж(https://vk.com/app5686299)\n* Виджет в сообществе(https://vk.com/app6244292)\n\nЕсли мини-приложение запускается в контексте сообщества (ссылка вида `vk.com/app{ИДЕНТИФИКАТОР_МИНИ_ПРИЛОЖЕНИЯ}_-{ИДЕНТИФИКАТОР_СООБЩЕСТВА}`), отлавливайте параметр запуска `vk_group_id`(mini-apps/development/launch-params#vk_group_id) и отображайте релевантный контент для текущего пользователя в зависимости от его роли в сообществе.\n\n### Разграничение доступа\n\nПри каждом запуске мини-приложения в сообществе среди дополнительных параметров запуска передаётся роль пользователя в сообществе (`vk_viewer_group_role`(mini-apps/development/launch-params#vk_viewer_group_role)).\n\nЗная роль пользователя, вы можете разграничивать доступ к функциям мини-приложения:\n\n* Показывать настройки приложения только администраторам сообщества.\n* Открыть некоторые функции только для редакторов или модераторов сообщества.\n* Показывать определённый контент только для подписчиков сообщества.\n\n\u003e **Обратите внимание!** Ограничение доступа к части функциональности до того, как пользователь подпишется на сообщество, запрещено.\n\n### Сниппеты\n\nИспользование сниппетов(mini-apps/management/information#Настройки%20сниппета) позволяет сделать ссылку на мини-приложение персонализированной.\n\n### Сообщения сообщества\n\nЕсли вашему приложению нужно о чём-то уведомлять пользователя уже после того, как он вышел из приложения, можно использовать сообщения сообщества.\n\nОтправлять сообщения можно как пользователям, так и администраторам сообществ. Например: мини-приложение может отправлять сообщение каждому, кто заполнил форму, и уведомлять администратора сообщества о новой заявке.\n\nК сообщению можно прикреплять изображения, документы, видео, аудио и точку на карте. \n\n\u003e Подробнее о сообщениях сообществ.(widgets/community-messages)\n\n### Виджеты\n\nВиджет представляет собой блок данных, отрисованный в соответствии с формальным описанием, которое предоставляет мини-приложение сообщества.\n\nРазместите в нём часть информации из приложения, пользователь увидит её прямо на странице сообщества. Выберите подходящий шаблон в зависимости от ваших потребностей.\n\nСодержимое виджета можно обновлять. Если информация в мини-приложении часто меняется, вы можете поддерживать актуальную информацию и в виджете.\n\nПримеры мини-приложений, которые позволяют добавить виджет в сообщество:\n\n* Виджет в сообществе(https://vk.com/app6244292)\n* Spycat — виджеты для продаж(https://vk.com/app5686299)\n* Конструктор виджетов(https://vk.com/widgets_constructor)\n* LiveWidget(https://vk.com/community_apps?wapp6232540)\n\n\u003e Подробнее о виджетах сообществ.(api/community-apps-widgets/getting-started)\n\nЧтобы добавить виджет мини-приложения в сообщество:\n\n1. Добавьте мини-приложение в сообщество(mini-apps/development/community-apps#Добавление%20в%20сообщество).\n1. Откройте свое сообщество.\n1. В блоке **Меню** выберите мини-приложение и откройте его.\n1. Следуйте указаниям мини-приложения.\n\n## Материалы по теме\n\nМы рекомендуем прочитать:\n\n* Техническую документацию(mini-apps/getting-started) — инструкции о том, как создать свое мини-приложение. \n* Руководство по виджетам сообществ(widgets/overview). \n* API ВКонтакте(api/getting-started) — если вы ранее не работали с API ВКонтакте, перед началом работы мы рекомендуем узнать об основных принципах его использования. \n* JavaScript SDK(sdk/javascript) — подробное руководство по использованию JavaScript SDK в iframe-приложениях. \n* Client API(sdk/javascript#Работа%20с%20Client%20API) — руководство по использованию методов Client API для работы с пользовательским интерфейсом в iframe-приложениях.},language:ru,variant:public,expireDate:1668456421674,isManuallyExpired:false},/reference/objects/attachments-message:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Медиаконтент и вложения | Медиавложения в личных сообщениях,id:reference__objects__attachments-message,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/attachments-message,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Медиавложения в личных сообщениях\n\nИнформация о медиавложениях в личных сообщениях возвращается в виде массива `attachments`. Каждый элемент массива представляет собой объект с двумя полями. Первое поле — `type` (`string`) содержит тип вложения (`photo`,`video`,`audio` и т.д.). Название второго поля совпадает со значением, переданным в `type`. Второе поле содержит объект, представляющий медиавложение. Структура объекта в этом поле зависит от его типа.\n\nПример объекта `attachments` для двух вложений (фото и аудио):\n\n```JSON\n\n {\n \type\: \photo\,\n \photo\: \u003cобъект photo\u003e\n },\n {\n \type\: \audio\,\n \audio\: \u003cобъект audio\u003e\n }\n\n```\n\nКаждый объект может содержать дополнительное поле `access_key` — ключ доступа к контенту. Описание поля `access_key` вы можете найти на этой странице(reference/objects).\n\n## Фотография (`type photo`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/photo).\n\n## Видеозапись (`type video`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/video). \n\n## Аудиозапись (`type audio`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/audio). \n\n## Документ (`type doc`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/doc). \n\n## Ссылка (`type link`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/link). \n\n## Товар (`type market`)\n\n\u003e Возвращается для версии 5.52 и выше.\n\nОписание полей объекта находится на отдельной странице(reference/objects/market-item).\n\n## Подборка товаров (`type market_album`)\n\n\u003e Возвращается для версии 5.52 и выше.\n\nОписание полей объекта находится на отдельной странице(reference/objects/market-album).\n\n## Запись на стене (`type wall`)\n\nВо вложении возвращается объект записи на стене(reference/objects/post). Обратите внимание, вместо поля `owner_id` возвращается `to_id`.\n\n## Комментарий на стене (`type wall_reply`)\n\nВо вложении возвращается объект комментария на стене(reference/objects/comment) с дополнительными полями:\n* `post_id`(`integer`) — идентификатор записи, к которой оставлен комментарий;\n* `owner_id`(`integer`) — идентификатор владельца стены, на которой оставлен комментарий.\n\n## Стикер (`type sticker`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/sticker).\n\n## Подарок (`typegift`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/gift).},language:ru,variant:public,expireDate:1668456593610,isManuallyExpired:false},/method/friends.add:{type:method,layout:internal,template:/method,contents:{title:friends.add,id:friends.add,description:Одобряет или создаёт заявку на добавление в друзья.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/friends.add,redirectTo:,menuId:api_menu,accessRights:friends_ex,deny_service_user,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:174,id:,description:Cannot add user himself as friend,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:175,id:,description:Cannot add this user to friends as they have put you on their blacklist,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:176,id:,description:Cannot add this user to friends as you put him on blacklist,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:177,id:,description:Cannot add this user to friends as user not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:user_id,description:Идентификатор пользователя, которому необходимо отправить заявку, либо заявку от которого необходимо одобрить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:text,description:Текст сопроводительного сообщения для заявки на добавление в друзья. Максимальная длина сообщения — 500 символов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:follow,description:`1`, если необходимо отклонить входящую заявку (оставить пользователя в подписчиках).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает одно из следующих значений:\n* `1` — заявка на добавление данного пользователя в друзья отправлена;\n* `2` — заявка на добавление в друзья от данного пользователя одобрена;\n* `4` — повторная отправка заявки.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668457846262,isManuallyExpired:false},/marusia/media-api:{type:article,layout:internal,template:/article,contents:{title:Маруся | Загрузка изображений и аудио по API,id:marusia__media-api,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:marusia/media-api,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Загрузка изображений и аудио по API\n\nВы можете загрузить сразу несколько медиаобъектов в скилл с помощью API ВКонтакте.\nВ примерах ниже вместо `\u003cтокена\u003e` вставьте сервисный ключ навыка доступа (без `\u003c\u003e` и пробелов).\n\n\u003e Для каждого запроса необходимо передавать два обязательных GET-параметра — это `access_token` (сервисный ключ доступа, его можно найти в настройках навыка), а также версию API ВКонтакте (`v`).\n\n## Изображения\n\n**API ВКонтакте** позволяет загружать изображения в навык, получать список изображений, а также удалять их.\n\n## Загрузка изображений\n\nДля отправки изображения необходимо выполнить три шага.\n\n## Шаг 1. \nОтправьте запрос на метод `marusia.getPictureUploadLink` для получения URL: на него вы будете отправлять изображения.\n\nЗапрос:\n\n```HTTP\nPOST https://api.vk.com/method/marusia.getPictureUploadLink?access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n\n```JSON\n{\n \response\: {\n \picture_upload_link\: \https://pu.vk.com/c234121/ss2010/upload.php?actapp_screenshot\u0026aid-16\u0026ajx1\u0026gid0\u0026hashb43e3baca73373d08a3e8ac66f99d8fd\u0026mid90066639\u0026new_format1\u0026rhash03ed22e093d4b2366257785086fc8da9\u0026upldr1\u0026vk1\u0026is_photo_field_not_encoded1\\n }\n}\n```\n\n\u003e Обратите внимание: у полученного URL могут быть заэкранированы слеши: это зависит от того, откуда вы отправляете запрос.\n\nЕсли в ответе приходит ошибка 411, необходимо к запросу добавить заголовок `Content-Length: 0`. \n\n## Шаг 2.\nНа URL, полученный в предыдущем шаге, необходимо отправить параметр `photo` в `Multipart/form-data`.\n\n\u003e Изображение должно соответствовать ограничениям: \n— Высота не менее 600px. \n— Соотношение сторон не более 2 к 1.\n\nЗапрос:\n\n```HTTP\nPOST https://pu.vk.com/c858104/ss2172/upload.php?actapp_scree....\u0026access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n\n```JSON\n{\n \server\: 858104,\n \photo\: {\n \photo\: \8c898989bax\,\n \sizes\: ,\n \kid\: \a7bc17c3492250924d59144e2524ae49\,\n \debug\: \xhh\,\n \sizes2\: \n \n \s\,\n \c05b6d242486c8dd2de2538bea8f954376b21e8ba385749ac4a352a9\,\n \3133735005714502404\,\n 13,\n 20\n ,\n \n \m\,\n \696d523da8c247878046e9f70039156d26f90a06bf7acd899142b942\,\n \6792623139398814908\,\n 19,\n 30\n ,\n \n \x\,\n \f8f18c11b027a74aaea6bde8492f5550e5423227c5532629f6bae84a\,\n \-3921371898281439808\,\n 32,\n 50\n ,\n \n \j\,\n \7732ec955c63ebb442f2749794c8682c0ea3d51d02500f0336438c68\,\n \5085758620333666671\,\n 117,\n 180\n ,\n \n \n\,\n \4083055e4bf7843055d7249b7491736252f5e4cab2b4d8ceb88a3607\,\n \-4682247448013995680\,\n 294,\n 452\n ,\n \n \h\,\n \2cde5a93483c5d08b358802bd865e2def06dd81d3d7a63f71a5e3d72\,\n \5899037737013541562\,\n 489,\n 752\n \n ,\n \urls\: ,\n \urls2\: \n \wFttJCSGyN0t4lOL6o-VQ3ayHoujhXSaxKNSqQ/BNPRa2JDfSs.jpg\,\n \aW1SPajCR4eARun3ADkVbSb5Cga_es2JkUK5Qg/vAz3pME-RF4.jpg\,\n \-PGMEbAnp0qupr3oSS9VUOVCMifFUyYp9rroSg/wE286gh9lMk.jpg\,\n \dzLslVxj67RC8nSXlMhoLA6j1R0CUA8DNkOMaA/b3FeCoU-lEY.jpg\,\n \QIMFXkv3hDBV1ySbdJFzYlL15MqytNjOuIo2Bw/YIGl7sBQBb8.jpg\,\n \LN5ak0g8XQizWIAr2GXi3vBt2B09emP3Gl49cg/uvpQP5GX3VE.jpg\\n \n },\n \aid\: -16,\n \hash\: \9d67a9376c7dd74a0b5f4dd1154f37e7\,\n \message_code\: 2\n}\n```\n\n## Шаг 3.\nОтправьте запрос на метод `marusia.savePicture` c параметрами `server`, `hash`, `photo` (все эти параметры отдаются на втором шаге) в `Multipart/form-data`.\n\nЗапрос:\n\n```HTTP\nhttps://api.vk.com/method/marusia.savePicture?access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет: \n\n```JSON\n{ \n \response\: { \n \app_id\: 7605734, \n \photo_id\: 457239021 \n } \n} \n```\n\n\u003e Параметр photo должен начинаться с `{\photo\:“`.\nПараметр `photo` не должен содержать пробелов! \n\nРезультат: После этого изображение можно будет увидеть в настройках скилла, а также вызвав метод `marusia.getPictures`.\n\n## Получение списка изображений\n\nЗапрос:\n\n```HTTP\nhttps://api.vk.com/method/marusia.getPictures?access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n\n```JSON\n{ \n{ \n \response\: { \n \count\: 9, \n \items\: \n { \n \id\: 457239018, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239019, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239023, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239024, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239025, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239026, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239027, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239028, \n \owner_id\: -1007865247 \n }, \n { \n \id\: 457239029, \n \owner_id\: -1007865247 \n } \n \n } \n} \n```\n\n## Удаление изображений\n\nЗапрос:\n\n```HTTP\nhttps://api.vk.com/method/marusia.deletePicture?access_token\u003cтокен\u003e\u0026v:version\u0026id{id изображения}\n```\n\nОтвет: \n\n```JSON\n{ \n \response\: 1 \n} \n```\n\n## Аудио\n\nAPI ВКонтакте позволяет загружать аудио, получать список аудиозаписей для навыка, а также удалять их.\n\n### Загрузка аудио\nДля загрузки аудио необходимо пройти три шага: \n\nШаг 1. Получение URL для отправки `audio`.\nДля получения URL необходимо отправить запрос на `https://api.vk.com/method/marusia.getAudioUploadLink`(https://api.vk.com/method/marusia.getAudioUploadLink).\n\nЗапрос:\n```HTTP\nPOST https://api.vk.com/method/marusia.getAudioUploadLink?access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n\n```JSON\n{\n \response\: {\n \audio_upload_link\: \https://pu.vk.com/audio-uploader/upload?tokeneyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MjU1OTkxMzEsInZrX3VzZXJfaWQiOjYxMTE0NDU1N30.H-Do-YoUZ7p9QhhKTqSCQM8BzlHWYFN-tHbf5A0B7vs\\n }\n}\n```\n\n\u003e Обратите внимание: ссылка может иметь экранирование слешей. \n\nШаг 2. Необходимо отправить запрос на URL, полученный из шага 1, с полем `file` типа `Multipart/form-data`, с аудиозаписью в формате MP3 длиной не более 5 минут и весом не более 5 Мбайт.\n\nЗапрос:\n\n```HTTP\nPOST https://pu.vk.com/audio-uploader/upload?tokeneyJ0eXAiOiJKV1QiLCJh...\u0026access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n\n```JSON\n{\n \sha\: \ef5efd14ea195a4fbd5670086043251683f4c141bde4d6938f88cebd\,\n \secret\: \4309510164227614130\,\n \meta\: {\n \album\: \YouTube Audio Library\,\n \artist\: \Kevin MacLeod\,\n \bitrate\: \320\,\n \duration\: \27\,\n \genre\: \12\,\n \kad\: \055555552aaab75575dfcd397fcef5af\,\n \md5\: \7d096faa043d3354fa1c35da0ab9bd88\,\n \md5_data_size\: \1087737\,\n \samplerate\: \44100\,\n \title\: \Impact Moderato\\n },\n \hash\: \677bd345193dd2e360c85f88485b7523\,\n \server\: \808515\,\n \user_id\: 611144557,\n \request_id\: \d33a0f583de646c6a0c6f6dd959fbd78\\n}\n```\n\nВ ответе будет полная метаинформация об аудиозаписи.\n\nШаг 3. Необходимо отправить запрос на URL для сохранения аудиозаписи на https://api.vk.com/method/marusia.createAudio(https://api.vk.com/method/marusia.createAudio).\n\nЭтот метод принимает стандартные параметры для запросов, а также `audio_meta` — это полный ответ API ВКонтакте из второго шага со всеми полями. \n\nЗапрос:\n\n```HTTP\nPOST https://api.vk.com/method/marusia.createAudio?access_token\u003cтокен\u003e\u0026v:version\u0026audio_meta\u003cсюда нужно скопировать ПОЛНЫЙ ответ из второго шага\u003e \n```\n\nОтвет: \n\n```JSON\n{ \n \response\: { \n \id\: 456239073, \n \title\: \Impact Moderato\ \n } \n} \n```\n\nВ ответе мы получим id аудиозаписи и её название.\n\n\u003e После загрузки аудио его можно увидеть в разделе аудиозаписей в настройках навыка ВКонтакте.\n\n## Получение списка аудиозаписей\n\nЗапрос:\n\n```HTTP\nPOST https://api.vk.com/method/marusia.getAudios?access_token\u003cтокен\u003e\u0026v:version\n```\n\nОтвет:\n```JSON\n{ \n \response\: { \n \count\: 3, \n \audios\: \n { \n \id\: 456239073, \n \title\: \Impact Moderato\, \n \owner_id\: -2000512004 \n }, \n { \n \id\: 456239072, \n \title\: \Impact Moderato\, \n \owner_id\: -2000512004 \n }, \n { \n \id\: 456239071, \n \title\: \Impact Moderato\, \n \owner_id\: -2000512004 \n } \n \n } \n} \n```\n\n## Удаление аудиозаписи\n\nЗапрос:\n\n```HTTP\nPOST https://api.vk.com/method/marusia.deleteAudio?access_token\u003cтокен\u003e\u0026v:version\u0026id{id аудиозаписи}\n```\n\nОтвет:\n\n```JSON\n{ \n \response\: 1 \n} \n```\n\n\u003e Обратите внимание: в запросе передаётся именно `audio_id` аудиозаписи, т. е. положительное число, например, `456 239 071`.},language:ru,variant:public,expireDate:1668458126541,isManuallyExpired:false},/mini-apps/monetization/ads:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Монетизация | Реклама,id:mini-apps__monetization__ad,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/monetization/ads,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Реклама в мини-приложениях\n\nЧтобы размещать рекламу и получать выплаты, нужно зарегистрироваться в системе AppsCentrum(https://appscentrum.com/).\n\nРеклама, размещаемая в мини-приложении (тексты и изображения), должна соответствовать:\n\n* правилам размещения рекламы в мини-приложениях(ad-rules);\n* правилам пользования сайтом ВКонтакте(https://vk.com/terms);\n* законодательству РФ, в частности Федеральному закону от 13.03.2006 No. 38-ФЗ «О рекламе»(http://www.consultant.ru/document/cons_doc_LAW_58968/).\n\n\n\u003e **Важно!** Рекламный контент, который вы встраиваете с помощью событий VK Bridge, проходит проверку на соответствие правилам площадки на стороне поставщика рекламы. Размещая такую рекламу, вы не нарушите правила.\n\u003e\n\u003e Если же вы решили самостоятельно разместить рекламу в мини-приложении, помните, что она должна соответствовать правилам, перечисленным выше. Если рекламный контент не будет соответствовать этим правилам, вы получите предупреждение, а ваше мини-приложение может быть заблокировано.\n\n\nВ мини-приложениях можно использовать:\n\n* рекламу за вознаграждение(#Реклама%20за%20вознаграждение),\n* рекламу между экранами(#Реклама%20между%20экранами),\n* рекламные баннеры(#Рекламные%20баннеры).\n\n\n## Реклама за вознаграждение\n\n\n\u003e **Важно!** Чтобы встроить рекламу за вознаграждение или рекламу между экранами, используйте библиотеку VK Bridge(mini-apps/bridge). Чтобы добавить баннеры, нужно использовать компоненты VKUI(libraries/vkui).\n\n**Реклама за вознаграждение** (rewarded ads) — ролик, после просмотра которого до конца пользователь должен получить вознаграждение, не выходящее за рамки взаимодействия с мини-приложением (например, некоторое количество виртуальной валюты).\n\nПоказывать рекламу за вознаграждение можно только в том случае, если пользователь нажмёт на кнопку вызова такой рекламы и подтвердит, что готов к просмотру. В сообщении пользователю нужно обязательно указать, какое именно вознаграждение он получит.\n\n!titleПример рекламы за вознаграждение;(3e86e8048493fa7ce4245c1c4b28c19b710de00a667f14dd0186e298 \1928546955004749401\)\n\n\u003e **Важно!** Иногда вместо видеоролика при запросе рекламы за вознаграждение может появиться статичное изображение с меньшим таймером. Это корректное поведение. Так происходит лишь в тех случаях, когда для конкретного пользователя, который запросил рекламу за вознаграждение, не было найдено подходящих объявлений из этой категории.\n\n## Реклама между экранами\n\n**Реклама между экранами** (interstitial) — статичное изображение или короткий видеоролик, который можно отображать без вызова со стороны пользователя, но только в момент перехода от одного экрана приложения к другому (например, перед новым уровнем игры).\n\n!titleПример рекламы между экранами;(d1664ec5a05101976da7cd6b87142829cee65ccbe47f7fc4489157bb \223229786315365646\)\n\n## Рекламные баннеры\n\n**Рекламные баннеры** — это статичные блоки таргетированной рекламы. Баннер может содержать текст, кнопку и одно изображение.\n\n!titleПример рекламного баннера;(b0693bafd64a0020147168a9fba2b4fcbce24cb453a1e19bc0fadea4 \6670196928109031007\)\n\nВ одном мини-приложении можно разместить не больше трёх блоков с рекламными баннерами. В каждом блоке — максимум четыре объявления одновременно.\n\n## Как добавить рекламу в мини-приложение\n\n### Реклама за вознаграждение и реклама между экранами\n\n1. Вызовите событие `VKWebAppCheckNativeAds`(bridge/VKWebAppCheckNativeAds), чтобы проверить, готова ли к показу реклама на стороне рекламной сети.\n2. Если реклама готова, вызовите событие `VKWebAppShowNativeAds`(bridge/VKWebAppShowNativeAds), чтобы показать её пользователю.\n\nПример для рекламы за вознаграждение\n\n```JavaScript\n bridge.send(\VKWebAppCheckNativeAds\, {\ad_format\: \reward\});\n\n bridge.send(\VKWebAppShowNativeAds\, {ad_format:\reward\})\n .then(data \u003e console.log(data.result))\n .catch(error \u003e console.log(error));\n```\n\nПример для рекламы между экранами\n\n```JavaScript\n bridge.send(\VKWebAppCheckNativeAds\, {\ad_format\: \interstitial\});\n\n bridge.send(\VKWebAppShowNativeAds\, {ad_format:\interstitial\})\n .then(data \u003e console.log(data.result))\n .catch(error \u003e console.log(error));\n```\n\n### Рекламный баннер\n\nДобавить в баннер в мини-приложение можно с помощью VKUI(https://vkcom.github.io/VKUI/#/About).\n\n1. Подключите библиотеки VKUI и VK Icons по инструкции(https://vk.cc/cclids). Убедитесь, что установлена версия VKUI не ниже **3.5.7**. Пример команды установки:\n\n ```Shell\n npm install @vkontakte/vkui @vkontakte/icons\n ```\n\n2. Подключите стили VKUI. Для этого в проекте своего приложения откройте файл `index.js` и добавьте команду:\n\n ```JavaScript\n import \@vkontakte/vkui/dist/vkui.css\;\n ```\n2. Подключите компонент `PromoBanner`(https://vk.cc/cclinC).\n\n ```JavaScript\n import { PromoBanner } from @vkontakte/vkui;\n ```\n\n3. Вызовите событие `VKWebAppGetAds`(bridge/VKWebAppGetAds). В ответе промиса вы получите данные рекламного баннера. Передайте полученные данные в компонент `PromoBanner`(https://vk.cc/cclinC) вашего приложения через свойство `bannerData`.\n\n ```JavaScript\n const Banner () \u003e {\n const bannerData, setBannerData useState({});\n \n useEffect(() \u003e {\n bridge.send(\VKWebAppGetAds\).then((bannerInfo) \u003e {\n setBannerData(bannerInfo);\n });\n }, );\n\n if (!bannerData) {\n return null;\n }\n \n return \u003cPromoBanner bannerData{bannerData} /\u003e;\n }\n ```\n\n## Статистика\n\nОтслеживать статистику показов рекламы и размер доходов можно в личном кабинете AppsCentrum(https://appscentrum.com/limits). Выберите интересующий вид встроенной рекламы и откройте раздел **Статистика**.\n\n!altЛичный кабинет AppsCentrum;titleЛичный кабинет AppsCentrum(b1b2f7db56d859015b997bf02773b525dd2ac6647ea050bb8f81a68d \3337678652729416115\)\n\n## Получение выплат\n\nЗаработанные деньги поступят на ваш аккаунт в течение 70 дней после окончания отчётного периода (месяца), во время которого они были начислены. Обратите внимание: в личном кабинете AppsCentrum(https://appscentrum.com/) информация обо всех форматах находится на вкладке **Медиареклама**.\n\nПосле того как деньги появятся на аккаунте, вы сможете получить выплату любым удобным способом (на банковскую карту, через перевод на счёт или электронный кошелёк). Указать реквизиты для выплат, а также ознакомиться с более подробной информацией о тарифах и лимитах можно в личном кабинете(https://appscentrum.com/limits).\n\nВопросы о выплатах и рекламе можно задать службе поддержки в личном кабинете AppsCentrum(https://appscentrum.com/support/new) или в письме по адресу: info@appscentrum.com.},language:ru,variant:public,expireDate:1668458127071,isManuallyExpired:false},/reference/versions:{type:versions,layout:internal,template:/versions,contents:{title:Версии API,id:versions,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/versions,redirectTo:,menuId:api_menu,accessRights:,url:,type:versions,isSearchable:false,tokenTypes:,children:{title:5.131,id:version/5.131,description:В методах market.add(market.add), market.edit(market.edit) добавлено поле **sku** — артикул товара;\nВ методах market.getOrderItems(market.getOrderItems), market.getOrderById(market.getOrderById) и market.get(market.get), в объект _item_, добалено поле **sku**, обозначающее артикул товара;\nВ методе market.getOrderItems(market.getOrderItems) добавлен новый опциональный параметр **user_id**. При этом метод сохраняет предыдущую логику поведения при отсутствии указания **user_id**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.131,type:version,isSearchable:false,tokenTypes:},{title:5.130,id:version/5.130,description:В методе market.editOrder(market.editOrder) добавлены поля, которые может изменять администратор сообщества: **delivery_price** — стоимость доставки;\n**track_number** — трек-номер;\n**payment_status** — статус оплаты.\n\nТак же появились новые поля для редактирования габаритов и веса заказа:\n**width** — ширина;\n**length** — длина;\n**height** — высота;\n**weight** — вес. \n\nТакже поле **merchant_comment** теперь сохраняет комментарий продавца.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.130,type:version,isSearchable:false,tokenTypes:},{title:5.126,id:version/5.126,description:В объекте товара(reference/objects/market-item), в объекте цены возвращается old_amount_text с текстовым представлением старой цены.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.126,type:version,isSearchable:false,tokenTypes:},{title:5.125,id:version/5.125,description:Появились методы для работы с VK Donut:\ndonut.isDon(donut.isDon)\ndonut.getFriends(donut.getFriends)\ndonut.getSubscription(donut.getSubscription)\ndonut.getSubscriptions(donut.getSubscriptions)\n\nВ объекте записи(reference/objects/post) появилась информация о VK Donut.\nВ объекте комментария(reference/objects/comment) появилась информация о VK Donut.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.125,type:version,isSearchable:false,tokenTypes:},{title:5.124,id:version/5.124,description:В методе groups.get(groups.get) в объекте market приходит поле **type** (string), которое может иметь значения _basic_ и _advanced_ в зависимости от типа магазина. Поле приходит, если в группе включен раздел \Товары\.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.124,type:version,isSearchable:false,tokenTypes:},{title:5.122,id:version/5.122,description:В объекте товара поля **date** и **views_count** теперь возвращаются только администратору группы, которой принадлежит товар.\n\nВ объекте заказа(_objects_market_order) информация о доставке и заказчике вынесена из основного объекта в новые подобъекты: **delivery** и **recepient**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.122,type:version,isSearchable:false,tokenTypes:},{title:5.120,id:version/5.120,description:В объекте товара(reference/objects/market-item) появился объект **dimensions** – габариты и вес товара. Возвращаются, если они были указаны при редактировании или сохранении товара.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.120,type:version,isSearchable:false,tokenTypes:},{title:5.118,id:version/5.118,description:stories.save(stories.save):\nизменен процесс загрузки историй. Начиная с этой версии, у методов stories.getPhotoUploadServer(stories.getPhotoUploadServer) и stories.getVideoUploadServer(stories.getVideoUploadServer) в ответе upload-сервера будет только один параметр **upload_result** (string). Для сохранения загруженных историй нужно дополнительно вызвать stories.save(stories.save), передав туда полученный ранее **upload_result**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.118,type:version,isSearchable:false,tokenTypes:},{title:5.115,id:version/5.115,description:В stories.getViewers(stories.getViewers) изменился ответ: в **items** теперь возвращается массив объектов. В объекте есть следующие поля: **is_liked** (bool) и **user_id** (int).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.115,type:version,isSearchable:false,tokenTypes:},{title:5.114,id:version/5.114,description:В пересланных сообщениях и ответах теперь возвращается payload.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.114,type:version,isSearchable:false,tokenTypes:},{title:5.113,id:version/5.113,description:В методах stories.get(stories.get), stories.getReplies(stories.getReplies), stories.search(stories.search) возвращается новый формат ленты историй. Вместо массива массивов историй, теперь — массив объектов блока ленты историй(reference/objects/story-feed-item).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.113,type:version,isSearchable:false,tokenTypes:},{title:5.111,id:version/5.111,description:В объекте сообщения появилось поле template(api/bots/development/messages).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.111,type:version,isSearchable:false,tokenTypes:},{title:5.110,id:version/5.110,description:Формат ответа storage.get(storage.get) для одного ключа **key** изменился, теперь возвращается объект того же типа, что и при передаче **keys**.\n\nВ объекте **market**, который возвращает groups.getSettings(groups.getSettings), появилось поле **can_message** integer1,0(1,0), определяющее, что у сообщества включены сообщения.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.110,type:version,isSearchable:false,tokenTypes:},{title:5.107,id:version/5.107,description:Клавиатуры бесед больше не приходят в объекте сообщения(reference/objects/message).\nВ объекте сообщения(reference/objects/message) в поле **keyboard** стали приходить inline-клавиатуры.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.107,type:version,isSearchable:false,tokenTypes:},{title:5.106,id:version/5.106,description:В объекте товара(reference/objects/market-item) возвращается новое поле **old_amount** (string) внутри объекта **price** — содержит старую стоимость товара.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.106,type:version,isSearchable:false,tokenTypes:},{title:5.105,id:version/5.105,description:ads.getStatistics(ads.getStatistics) - из ответа убрано поле **goals**, вместо него возвращается поле **lead_form_sends**. \n\napps.getActivity(apps.getActivity) - для типа **achievement** появляется новый объект **media**, содержащий по ключу **images** картинки для данной ачивки. Если картинок нет, то поле **media** будет отсутствовать. \n\napps.get(apps.get) и объект приложения(reference/objects/app) добавлены 2 новых поля:\n**mobile_controls_type** и **mobile_view_support_type**, которые описывают, как отображаются элементы управления для игр в вебвью в нативных клиентах. \n\n**mobile_controls_type** _0_ — чёрная полоска над областью с игрой;\n**mobile_controls_type** _1_ — прозрачный элемент управления поверх области с игрой;\n**mobile_controls_type** _2_ — только для vk apps, без контроллов.\n\n**mobile_view_support_type** _0_ — игра не использует нижнюю часть экрана на iPhoneX, черная полоса есть.\n**mobile_view_support_type** _1_ — игра использует нижнюю часть экрана на iPhoneX, черной полосы нет.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.105,type:version,isSearchable:false,tokenTypes:},{title:5.104,id:version/5.104,description:В объекте groups(reference/objects/group) поле **app_buttons** не возвращается, если в группе включено меню.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.104,type:version,isSearchable:false,tokenTypes:},{title:version/4.104,id:version/4.104,description:Новый формат прикрепления photos_list.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.104,type:version,isSearchable:false,tokenTypes:},{title:5.103,id:version/5.103,description:Для метода ads.getPostsReach(ads.getPostsReach) изменилось поведение при ошибках, они будут возвращаться для каждого объявления отдельно. \nМетод ads.getAdsPostsReach(ads.getAdsPostsReach) отключён, вместо него следует использовать ads.getPostsReach(ads.getPostsReach).\n\nПоддержка новых типов клавиш в клавиатуре ботов.\n\nВ Callback API и LongPoll API у события message_new вместо { object: message } будет приходить { object: { message, client_info } }.\nВ client_info(vk.com/dev/bots_docs?f2.3.%20%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F%20%D0%BE%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D1%85%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8E%20%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%D1%85) содержится информация о клиенте полезная для формирования сообщений ботами.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.103,type:version,isSearchable:false,tokenTypes:},{title:5.102,id:version/5.102,description:В методах секции messages(messages) доступен аттач-история(reference/objects/story-feed-item).\n\nСообщения, которые не влезают в Bots Long Poll API или Callback API будут обрезаны и иметь пометку **is_cropped**. В случае обрезания остается одно пересланное сообщение или ответ и только одно вложение на каждое сообщение.\n\nДля методов ads.createTargetGroup(ads.createTargetGroup) и ads.updateTargetGroup(ads.updateTargetGroup) параметр **lifetime** станет обязательным. Параметр будет принимать значения от 1 до 720.\n\nИстории в stories.get(stories.get) в рамках одного автора приходят в хронологическом порядке. Раньше приходили в обратном.\n\nДобавлен параметр **clickable_stickers** в методы stories.getPhotoUploadServer(stories.getPhotoUploadServer) и stories.getVideoUploadServer(stories.getVideoUploadServer)\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.102,type:version,isSearchable:false,tokenTypes:},{title:5.101,id:version/5.101,description:Методы работы со стеной возвращают новый аттач-сниппет для событий с типом **events(reference/objects/video)**\n\n\nОбложки в объекте видео(reference/objects/video) теперь передаются в полях _image_ и _first_frame_ в виде массивов объектов video_image(reference/objects/video-image).\n\nОбложки в объекте альбома видео(reference/objects/video-album-full) теперь передается в поле _image_ в виде массива объектов video_image(reference/objects/video-image).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.101,type:version,isSearchable:false,tokenTypes:},{title:5.100,id:version/5.100,description:Параметры **limit**, **count** и **offset** в методе messages.deleteConversation(messages.deleteConversation) объявлены устаревшими.\n\nМетод wall.edit(wall.edit) в случае успеха возвращает **post_id** — идентификатор отредактированного поста.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.100,type:version,isSearchable:false,tokenTypes:},{title:5.95,id:version/5.95,description:В методах wall.getComments(wall.getComments), market.getComments(market.getComments), , video.getComments(video.getComments), board.getComments(board.getComments) граффити вынесен в отдельный тип attach.\n\nМетоды market.add(market.add), market.edit(market.edit) принимают параметр url. Объект market теперь может возвращать url и button_title.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.95,type:version,isSearchable:false,tokenTypes:},{title:5.93,id:version/5.93,description:Метод wall.createComment(wall.createComment) возвращает новую ошибку 222\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.93,type:version,isSearchable:false,tokenTypes:},{title:5.92,id:version/5.92,description:Метод wall.getComments(wall.getComments) возвращает новые поля: **comment_id** (integer), **current_level_count** (integer).\nМетод wall.createComment(wall.createComment) возвращает новое поле **parents_stack** (array).\nДобавлен метод wall.getComment(wall.getComment).\n\nВ объекте комментария к записи на стене(reference/objects/comment) возвращаются новые поля **parents_stack** (array), **thread** (object). Может возвращаться поле **deleted** (boolean), говорящее о том, что комментарий был удалён.\n\nВ объекте сообщения(reference/objects/message) разделены ответы и пересланные сообщения (**reply_message** и **fwd_messages**).\n\nВ объектах записи на стене(reference/objects/post), видеозаписи(reference/objects/video), товара(reference/objects/market-item) может возвращаться поле **is_favorite** (boolean).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.92,type:version,isSearchable:false,tokenTypes:},{title:5.90,id:version/5.90,description:Метод account.getBanned(account.getBanned) возвращает поля **profiles** (array) и **groups** (array) с данными пользователей(reference/objects/user) и сообществ(reference/objects/group).\n\nНовый формат ответа метода docs.save(docs.save).\n\nПараметр **random_id** в методе messages.send(messages.send) обязателен.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.90,type:version,isSearchable:false,tokenTypes:},{title:5.89,id:version/5.89,description:В объекте пользователя(reference/objects/user) добавлены новые обязательные поля:\n* **is_closed** (boolean) — включена ли приватность профиля;\n* **can_access_closed** (boolean) — есть ли у текущего пользователя возможность видеть профиль пользователя при **is_closed** _true_.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.89,type:version,isSearchable:false,tokenTypes:},{title:5.88,id:version/5.88,description:Метод messages.removeChatUser(messages.removeChatUser) возвращает ошибку \935: User not found in chat\, если пользователя нет в чате.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.88,type:version,isSearchable:false,tokenTypes:},{title:5.87,id:version/5.87,description:В объекте сообщества(reference/objects/group) у поля **wall** поменялись значения. Для пабликов возвращаются значения:\n* _2_ – стена ограничена (было _1_);\n* _3_ – стена закрытая (было _0_).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.87,type:version,isSearchable:false,tokenTypes:},{title:5.86,id:version/5.86,description:Метод messages.search(messages.search) при использовании параметра **extended** _1_ возвращает массив объектов бесед(reference/objects/conversation).\n\nИзменения в методе stats.get(stats.get):\n* Входные параметры **date_from** и **date_to** устарели, вместо них используются **timestamp_from** и **timestamp_to** — целые числа, представляющее собой время в Unixtime.\n* Появился входной параметр **stats_groups**, который позволяет фильтровать по отдельным блокам в статистике. Возможные значения: _visitors_, _reach_, _activity_.\n* В ответе поля **period_from** и **period_to** являются целыми числами и так же представляют собой время в Unixtime.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.86,type:version,isSearchable:false,tokenTypes:},{title:5.85,id:version/5.85,description:В объекте приложения(reference/objects/app) в поле **type** приходят новые значения.\n* _app_ — социальное приложение\n* _game_ — игра\n* _site_ — подключенный сайт\n* _standalone_ — отдельное приложение (для мобильного устройства)\n* _vk_app_ — VK App приложение\n* _community_app_ - приложение сообщества\n* _html5_game_ - HTML5 игра\n\nВ объекте приложения больше не приходит поле **is_html5_app**.\n\nМетод messages.getConversationMembers(messages.getConversationMembers) возвращает новую ошибку 917.\n\nИзменения в API опросов:\n* Новый формат объекта опроса(reference/objects/poll).\n* Метод polls.create(polls.create) поддерживает новые параметры для опросов с мультивыбором и фоном.\n\nВ методе groups.getLongPollServer(groups.getLongPollServer) изменился тип поля **ts** — теперь это string, а не integer.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.85,type:version,isSearchable:false,tokenTypes:},{title:5.84,id:version/5.84,description:Метод messages.getChatPreview(messages.getChatPreview) теперь возвращает максимум 5 участников из чата. Метод messages.getConversationMembers(messages.getConversationMembers) возвращает поле **can_kick** (boolean) для участников беседы.\n\nВ объекте записи на стене(reference/objects/post) для комментариев могут вернуться поля **can_close** (boolean) и **can_open** (boolean).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.84,type:version,isSearchable:false,tokenTypes:},{title:5.83,id:version/5.83,description:В объекте сообщения(reference/objects/message) могут приходить вложения с типами **graffiti** и **audio_message**. В объекте беседы(reference/objects/conversation) возвращается поле **acl**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.83,type:version,isSearchable:false,tokenTypes:},{title:5.82,id:version/5.82,description:В объекте беседы(reference/objects/conversation) возвращается новое поле **is_group_channel** (boolean) для каналов сообществ. Метод stories.get(stories.get) возвращает истории в реверсивном порядке.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.82,type:version,isSearchable:false,tokenTypes:},{title:5.81,id:version/5.81,description:Метод messages.removeChatUser(messages.removeChatUser) принимает новый параметр **member_id** (integer). В Callback API и Bots Longpoll добавлено новое событие(api/events/overview) — платёж через VK Pay.\n\nМетод messages.deleteConversation(messages.deleteConversation) в ответе возвращает поле **last_deleted_id**, содержащее идентификатор последнего удалённого сообщения.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.81,type:version,isSearchable:false,tokenTypes:},{title:5.80,id:version/5.80,description:Новый API для сообщений. Изменился объект message(reference/objects/message), а также появился объект conversation(reference/objects/conversation) и связанные с ним методы messages.getConversations(messages.getConversations), messages.getConversationsById(messages.getConversationsById), messages.getConversationMembers(messages.getConversationMembers) и messages.searchConversations(messages.searchConversations), messages.getByConversationMessageId(messages.getByConversationMessageId).\n\nmessages.getDialogs(messages.getDialogs), messages.getChat(messages.getChat), messages.getChatUsers(messages.getChatUsers), messages.get(messages.get), messages.searchDialogs(messages.searchDialogs) объявлены устаревшими и больше обновляться не будут.\n\nmessages.markAsRead(messages.markAsRead) больше не поддерживает параметр **message_ids**\n\nИ несколько методов переехало. Старые названия будут перенаправлять на новую версию.\nmessages.markAsImportantDialog(messages.markAsImportantDialog) → messages.markAsImportantConversation(messages.markAsImportantConversation), messages.markAsAnsweredDialog(messages.markAsAnsweredDialog) → messages.markAsAnsweredConversation(messages.markAsAnsweredConversation), \nmessages.deleteDialog(messages.deleteDialog) → messages.deleteConversation(messages.deleteConversation).\n\n\nМетод secure.sendSMSNotification(secure.sendSMSNotification) отправляет несколько сообщений. Изменился формат ответа.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.80,type:version,isSearchable:false,tokenTypes:},{title:5.78,id:version/5.78,description:Метод groups.getSettings(groups.getSettings) возвращает поле **events**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.78,type:version,isSearchable:false,tokenTypes:},{title:5.77,id:version/5.77,description:Новый формат объекта photo(reference/objects/photo).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.77,type:version,isSearchable:false,tokenTypes:},{title:5.76,id:version/5.76,description:Прекращение поддержки ответов в XML формате.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.76,type:version,isSearchable:false,tokenTypes:},{title:5.75,id:version/5.75,description:Новый формат(reference/objects/stats-format) ответа в методе stats.get(stats.get).\n\nВ настройках Callback-сервера и Long Poll API появилась возможность указывать **версию API**. От нее зависит формат получаемых событий.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.75,type:version,isSearchable:false,tokenTypes:},{title:5.74,id:version/5.74,description:Новый формат стикеров(reference/objects/sticker).\n\nМетод с docs.search(docs.search) с параметром **search_own** перестает возвращать массив **local**. Вместо этого в **items** сначала возвращаются документы пользователя, а потом документы из глобального поиска.\n\nПоявилась новая ошибка: ошибка 29: Rate limit reached(reference/errors)\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.74,type:version,isSearchable:false,tokenTypes:},{title:5.73,id:version/5.73,description:В объекте post(reference/objects/post) возвращается поле **access_key**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.73,type:version,isSearchable:false,tokenTypes:},{title:5.71,id:version/5.71,description:Метод groups.getBanned(groups.getBanned) возвращает информацию о сообществах из чёрного списка.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.71,type:version,isSearchable:false,tokenTypes:},{title:5.70,id:version/5.70,description:В поле **action** объекта сообщения(reference/objects/message) может возвращаться значение _chat_invite_user_by_link_.\n\nВ объекте сообщения(reference/objects/message) добавлено поле **update_time**.\n\nМетоды wall.post(wall.post), wall.editAdsStealth(wall.editAdsStealth), wall.edit(wall.edit), wall.repost(wall.repost) могут возвращать новую ошибку 224 — превышен лимит рекламных записей.\n\nВ Callback API добавлено новое событие — **message_edit**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.70,type:version,isSearchable:false,tokenTypes:},{title:5.69,id:version/5.69,description:Метод messages.getLongPollHistory(messages.getLongPollHistory) возвращает информацию о сообществах в отдельном массиве **groups**. \n\nМетоды newsfeed.search(newsfeed.search) и search.getHints(search.getHints) возвращают в ответе поле **suggested_queries** с подсказками для поиска. \n\nМетод messages.send(messages.send) может вернуть новые ошибки 913 и 921.\n\nМетод friends.getRequests(friends.getRequests) возвращает новое поле **count_unread**.\n\nМетод search.getHints(search.getHints) принимает новый параметр **offset**.\n\nВ объекте пользователя(reference/objects/user) и сообщества(reference/objects/group) может возвращаться дополнительное поле **trending** («огонёк»).\n\nВ поле **action** объекта сообщения(reference/objects/message) могут возвращаться значения _chat_pin_message_/_chat_unpin_message_.\n\nВ Callback API(api/callback/getting-started) добавлены новые события — добавление пользователя в черный список и удаление из него, **user_block** и **user_unblock**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.69,type:version,isSearchable:false,tokenTypes:},{title:5.68,id:version/5.68,description:В объекте записи на стене(reference/objects/post) добавлено поле **groups_can_post** с информацией о том, могут ли сообщества комментировать запись.\nМетод messages.send(messages.send) возвращает массив статусов отправки при использовании параметра **user_ids** и вызове с ключом доступа сообщества.\nМетоды groups.getCallbackServerSettings(groups.getCallbackServerSettings), groups.setCallbackServerSettings(groups.setCallbackServerSettings) и groups.setCallbackServer(groups.setCallbackServer) устарели. \nВ методах groups.setCallbackSettings(groups.setCallbackSettings), groups.getCallbackSettings(groups.getCallbackSettings) добавлен параметр **server_id**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.68,type:version,isSearchable:false,tokenTypes:},{title:5.67,id:version/5.67,description:Метод wall.createComment(wall.createComment) поддерживает идентификатор группы в параметре **from_group**.\n\nВ объекте chat(reference/objects/chat), если массив **users** пустой, то он не возвращается.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.67,type:version,isSearchable:false,tokenTypes:},{title:5.66,id:version/5.66,description:В методе auth.signup(auth.signup) добавлен обязательный параметр **birthday**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.66,type:version,isSearchable:false,tokenTypes:},{title:5.65,id:version/5.65,description:Методы Аудиозапись(/audio.getAlbums), Аудиозапись(/audio.addAlbum), Аудиозапись(/audio.editAlbum), Аудиозапись(/audio.addAlbum), Аудиозапись(/audio.deleteAlbum) и Аудиозапись(/audio.moveToAlbum) устарели.\n\nВ методе auth.restore(auth.restore) добавлен обязательный параметр **last_name**.\nВ методе messages.getLongPollServer(messages.getLongPollServer) добавлен параметр **lp_version**.\nМетод ads.getCategories(ads.getCategories) возвращает результат в новом формате.\nМетод wall.edit(wall.edit) больше нельзя использовать для редактирования промопоста, вместо него нужно использовать метод wall.editAdsStealth(wall.editAdsStealth).\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.65,type:version,isSearchable:false,tokenTypes:},{title:5.64,id:version/5.64,description:Метод messages.getDialogs(messages.getDialogs) возвращает поля **unanswered** и **important** для сообщений сообществ.\n\nМетод groups.getCallbackSettings(groups.getCallbackSettings) возвращает поле **wall_repost**, настройка уведомления о репосте.\n\nМетод video.save(video.save) возвращает ошибку 15, если используется параметр **wallpost** _1_, и приложение не запрашивало права доступа **wall**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.64,type:version,isSearchable:false,tokenTypes:},{title:5.63,id:version/5.63,description:В объектах, описывающих запись на стене(reference/objects/post), добавлено поле **views**, в котором находится информация о количестве просмотров поста.\n\nПоддержка параметра **fields** в методах wall.getComments(wall.getComments) и video.getComments(video.getComments).\n\nСокращенная ссылка в методе utils.getShortLink(utils.getShortLink) возвращается в новом формате с полями:\n* **access_key** — ключ для доступа к приватной статистике ссылки;\n* **key** — содержательная часть ссылки (после \vk.cc\);\n* **url** — оригинальный URL.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.63,type:version,isSearchable:false,tokenTypes:},{title:5.62,id:version/5.62,description:Метод messages.getHistoryAttachments(messages.getHistoryAttachments) возвращает поле **message_id** для вложений. Добавлено новое значение семейного положения (_8_ — «в гражданском браке») в объекте пользователя(reference/objects/user).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.62,type:version,isSearchable:false,tokenTypes:},{title:5.61,id:version/5.61,description:В объекте сообщества(reference/objects/group) возвращается новое поле **cover**. Метод account.getCounters(account.getCounters) принимает в параметре **filter** новое значение _friends_suggestions_. В методе pages.get(pages.get) добавлена проверка на наличие прав администратора для использования параметра **need_source**.\n\n,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.61,type:version,isSearchable:false,tokenTypes:},{title:5.60,id:version/5.60,description:Метод account.getInfo(account.getInfo) возвращает дополнительное поле **2fa_required** для аккаунтов с включенной 2FA. В методе добавлено ограничение на параметр **feed** (не более месяца с текущей даты).\n\nДля вложений с типом _link_ поле **button** возвращается с новой структурой: reference/objects/button(reference/objects/button).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.60,type:version,isSearchable:false,tokenTypes:},{title:5.59,id:version/5.59,description:Обновлены требования к размерам изображений в рекламных объявлениях. Подробнее см. на этой странице(method/ads.getUploadURL).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.59,type:version,isSearchable:false,tokenTypes:},{title:5.58,id:version/5.58,description:В объектах, описывающих сообщество(reference/objects/group), добавлено поле **is_messages_blocked**.\n\nВ Callback API добавлены два новых события — **message_allow** и **message_deny**. Метод groups.setCallbackSettings(groups.setCallbackSettings) принимает два новых параметра, а метод groups.getCallbackSettings(groups.getCallbackSettings) возвращает два новых поля, соответственно.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.58,type:version,isSearchable:false,tokenTypes:},{title:5.57,id:version/5.57,description:В объекте приложения(objects/app) изменились названия полей и размеры изображений иконок и баннеров.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.57,type:version,isSearchable:false,tokenTypes:},{title:5.56,id:version/5.56,description:**HTTPS-only(reference/roadmap)**. Делать запросы к api.vk.com с этой версии можно только по протоколу https.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.56,type:version,isSearchable:false,tokenTypes:},{title:5.54,id:version/5.54,description:В объектах, описывающих сообщество(reference/objects/group), поле **finish_date** не возвращается, если дата окончания не задана (ранее возвращалось значение по умолчанию, равное **start_date** + 2 часа).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.54,type:version,isSearchable:false,tokenTypes:},{title:5.53,id:version/5.53,description:В объектах, описывающих сообщество(reference/objects/group), поля **can_message, ban_info, can_post, can_upload_doc, can_upload_video, can_see_all_posts, can_create_topic, is_favorite, is_hidden_from_feed** возвращаются только для запросов с передачей **access_token**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.53,type:version,isSearchable:false,tokenTypes:},{title:5.52,id:version/5.52,description:В медиавложениях сообщений(reference/objects/attachments-message) и записей(reference/objects/attachments-wall) возвращаются объекты с типами **market** и **market_album**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.52,type:version,isSearchable:false,tokenTypes:},{title:5.50,id:version/5.50,description:В методе ads.getAds(ads.getAds): возвращаемое поле **impressions_limit** было разделено на два поля: **impressions_limit** и **impressions_limited**, изменено возвращаемое поле **ad_platform**, убрано возвращаемое поле **disclaimer**, добавлены поля **disclaimer_medical**, **disclaimer_specialist**, **disclaimer_supplements**.\nВ методах ads.createAds(ads.createAds) и ads.updateAds(ads.updateAds): параметр **impressions_limit** в ad_specification был разделён на два параметра: **impressions_limit** и **impressions_limited**, изменён параметр **ad_platform** из ad_specification, убран параметр **disclaimer** из ad_specification, добавлены параметры **disclaimer_medical**, **disclaimer_specialist**, **disclaimer_supplements** в ad_specification.\nВ методе ads.createAds(ads.createAds): параметр **ad_format** в ad_specification стал обязательным.\nВ методе ads.getUploadURL(ads.getUploadURL): параметр **ad_format** стал обязательным.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.50,type:version,isSearchable:false,tokenTypes:},{title:5.49,id:version/5.49,description:Метод **account.setInfo** принимает универсальные параметры **name** и **value** вместо раздельных параметров.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.49,type:version,isSearchable:false,tokenTypes:},{title:5.48,id:version/5.48,description:В методе **messages.getHistory** можно передавать параметр **rev** вместе с **start_message_id** и **start_message_id** равный 0. Метод **friends.edit** возвращает ошибку _Code: 100, Message: invalid list_ids_ если указан неправильный **list_ids**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.48,type:version,isSearchable:false,tokenTypes:},{title:5.46,id:version/5.46,description:Методы **messages.send** и **messages.sendSticker** принимают параметр **random_id** вместо **guid**. Метод **account.getPushSettings** возвращает поле **peer_id** вместо **chat_id** и **user_id**. Метод **account.setSilenceMode** принимает параметр **peer_id** вместо **chat_id** и **user_id**. Метод **messages.getHistoryAttachments** возвращает товары, записи со стены и комментарии в виде ссылок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.46,type:version,isSearchable:false,tokenTypes:},{title:5.45,id:version/5.45,description:Для медиавложений(reference/objects/attachments-message) в сообщениях с типом link возвращаются поля caption, is_external, product, application, rating и button.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.45,type:version,isSearchable:false,tokenTypes:},{title:5.44,id:version/5.44,description:Методы **docs.get**, **docs.getById** возвращают поле **preview** вместо полей **photo_100**, **photo_130**. Метод **messages.searchDialogs** возвращает сообщества в результате поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.44,type:version,isSearchable:false,tokenTypes:},{title:5.43,id:version/5.43,description:Параметры **out**, **time_offset**, **filters** в методе **messages.get** могут быть только положительными.\nПараметр **message_ids** стал обязательным в методе **messages.getById**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.43,type:version,isSearchable:false,tokenTypes:},{title:5.42,id:version/5.42,description:Метод **gifts.get** может вернуть отрицательный **from_id**. Метод **notifications.get** возвращает уведомления об упоминаниях в описаниях фотографий.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.42,type:version,isSearchable:false,tokenTypes:},{title:5.41,id:version/5.41,description:Метод **notifications.get** возвращает уведомления о новых ответах к комментариям в товарах. Метод **newsfeed.getComments** возвращает комментарии к товарам. Методы **wall.get**, **wall.search**, **wall.getById** возвращают **market_album** в медиа-вложениях.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.41,type:version,isSearchable:false,tokenTypes:},{title:5.40,id:version/5.40,description:Добавлена поддержка параметра **fields** для профилей,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.40,type:version,isSearchable:false,tokenTypes:},{title:5.39,id:version/5.39,description:Для медиавложений(reference/objects/attachments-wall) с типом **link** возвращаются поля **caption**, **is_external**, **product**, **application**, **rating** и **button**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.39,type:version,isSearchable:false,tokenTypes:},{title:5.38,id:version/5.38,description:Методы **apps.get** и **apps.getCatalog** возвращают объект для полей **screenshots**. Добавлены поля **in_read**, **out_read** в ответы методов **messages.getDialogs** и **messages.getHistory**.\nДобавлен параметр **peer_id** для методов **messages.send**, **messages.sendSticker**, **messages.deleteDialog**, **messages.setActivity** и **messages.getHistory**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.38,type:version,isSearchable:false,tokenTypes:},{title:5.37,id:version/5.37,description:Для медиавложений(reference/objects/attachments-wall) с типом **link** вместо полей **image_src** и **image_big** возвращается объект **photo**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.37,type:version,isSearchable:false,tokenTypes:},{title:5.36,id:version/5.36,description:Добавлены параметры **app_ids**, **return_friends**. Добавлены поля **installed**, ** screenshots**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.36,type:version,isSearchable:false,tokenTypes:},{title:5.35,id:version/5.35,description:Добавлены методы для работы с активностями приложений.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.35,type:version,isSearchable:false,tokenTypes:},{title:5.34,id:version/5.34,description:Если доступ к комментариям видео ограничен, при запросе комментариев вернется ошибка.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.34,type:version,isSearchable:false,tokenTypes:},{title:5.33,id:version/5.33,description:Добавлен параметр **start_comment_id** для получения комментариев, начиная с указанного.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.33,type:version,isSearchable:false,tokenTypes:},{title:5.32,id:version/5.32,description:В объекте приватности(api/privacy) добавлено возможное значение **friends_of_friends_only**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.32,type:version,isSearchable:false,tokenTypes:},{title:5.31,id:version/5.31,description:Параметр **device_id** является обязательным. Изменен формат настроек приватности.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.31,type:version,isSearchable:false,tokenTypes:},{title:5.30,id:version/5.30,description:Изменен формат приватности(api/privacy).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.30,type:version,isSearchable:false,tokenTypes:},{title:5.29,id:version/5.29,description:messages.getLongPollHistory поддерживает поле fields.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.29,type:version,isSearchable:false,tokenTypes:},{title:5.28,id:version/5.28,description:Новый формат результата метода **friends.delete**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.28,type:version,isSearchable:false,tokenTypes:},{title:5.27,id:version/5.27,description:Переход на параметры **start_from**, **next_from** в методе **notifications.get**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.27,type:version,isSearchable:false,tokenTypes:},{title:5.26,id:version/5.26,description:newsfeed.getSuggestedSources возвращает результат в виде списка,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.26,type:version,isSearchable:false,tokenTypes:},{title:5.25,id:version/5.25,description:Возвращаются более корректные ошибки в методе apps.sendRequest,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.25,type:version,isSearchable:false,tokenTypes:},{title:5.24,id:version/5.24,description:Добавлен тип **wall_publish**, который означает, что предложенный пост пользователя размещен.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.24,type:version,isSearchable:false,tokenTypes:},{title:5.23,id:version/5.23,description:При передаче параметра photo_sizes в методе будут возвращены все размеры фотографии.\n\nИзменен параметр метода newsfeed.getComments(newsfeed.getComments): теперь можно ограничить количество комментариев к записям.\n\nВ метод groups.getMembers(groups.getMembers) добавлена возможность получать возможных участников события.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.23,type:version,isSearchable:false,tokenTypes:},{title:5.22,id:version/5.22,description:Убрано ошибочное разделение параметра **schools** на два, теперь снова используется один параметр **schools**. Список **ID** для этого параметра следует получать в методе ads.getSuggestions(ads.getSuggestions).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.22,type:version,isSearchable:false,tokenTypes:},{title:5.21,id:version/5.21,description:Поле **uid** в ответе метода **video.getTags** заменено на **user_id**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.21,type:version,isSearchable:false,tokenTypes:},{title:5.20,id:version/5.20,description:Вики-страница вложенная(reference/objects/attachments-wall) в пост(reference/objects/post) теперь приходит в виде объекта вики-страницы(reference/objects/wiki-page). \nВ методе pages.get(pages.get) был добавлен параметр **need_source**, поле **source** теперь по умолчанию не возвращается.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.20,type:version,isSearchable:false,tokenTypes:},{title:5.19,id:version/5.19,description:В объекте _группа_ поля **start_date** и **finish_date** стали числами вместо строк.\nПри установленном фильтре **friend** для новостей возвращается **user_id** вместо **uid**.\nВ методе **fave.getLinks** изображения возвращаются с именами **photo_50** и **photo_100** вместо **image_src** и **image_middle**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.19,type:version,isSearchable:false,tokenTypes:},{title:5.18,id:version/5.18,description:Заменены возвращаемые переменные: **reply_to_uid** на **reply_to_user**, **reply_to_cid** на **reply_to_comment**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.18,type:version,isSearchable:false,tokenTypes:},{title:5.17,id:version/5.17,description:Новые типы упоминаний в **notifications.get**: **mention_comment_photo** и **mention_comment_video**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.17,type:version,isSearchable:false,tokenTypes:},{title:5.16,id:version/5.16,description:Параметр **schools** разделён на два: **schools** и **universities**. Теперь **id** этих объектов такие же, как и в методах database.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.16,type:version,isSearchable:false,tokenTypes:},{title:5.15,id:version/5.15,description:В методе **newsfeed.search** появился параметр **extended**, при передаче которого возвращаются полные результаты со всеми необходимыми для вывода данными о группах или пользователях.\nВ методе **friends.areFriends** изменён алгоритм генерации поля **sign**, в нём теперь есть **id** пользователя.\nВ методах **newsfeed.get** и **newsfeed.getRecommeded** исправлено представление объектов **note**, теперь возвращается **id** и **comments**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.15,type:version,isSearchable:false,tokenTypes:},{title:5.14,id:version/5.14,description:В методе **messages.getDialogs** появился параметр **unread**, при передаче которого возвращаются только диалоги с непрочитанными входящими сообщениями, а в результат добавлено количество таких диалогов **unread_dialogs** (если больше нуля) и в каждом диалоге возвращается количество непрочитанных входящих **unread** (если больше нуля).\n\nВ методе **messages.getHistory** параметр **rev** недоступен при передаче **start_message_id**, поведение **start_message_id** и его связь с **offset** изменены, в результат добавлено количество непрочитанных входящих в диалоге **unread** (если больше нуля) и количество пропущенных сообщений **skipped** при использовании **start_message_id** (если оно больше нуля).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.14,type:version,isSearchable:false,tokenTypes:},{title:5.13,id:version/5.13,description:Новый параметр для пагинации: start_from, приходящий в виде строки в поле next_from для получения следующей страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.13,type:version,isSearchable:false,tokenTypes:},{title:5.12,id:version/5.12,description:Новые типы ошибок в методах audio.get, video.get.\nНовый параметр для пагинации: start_from, приходящий в виде строки в поле next_from для получения следующей страницы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.12,type:version,isSearchable:false,tokenTypes:},{title:5.11,id:version/5.11,description:В случае успешной смены имени также возвращается поле **name_request** co значением **status** равным _success_.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.11,type:version,isSearchable:false,tokenTypes:},{title:5.10,id:version/5.10,description:В методе **messages.get** для параметра **filter** разрешены только значения **0** (все входящие или все исходящие сообщения, по полю **out**) или **8** (важные сообщения), остальные значения игнорируются.\nМетод **messages.markAsNew** больше не поддерживается.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.10,type:version,isSearchable:false,tokenTypes:},{title:5.9,id:version/5.9,description:Изменение поля **cid** на **id** в **newsfeed.getComments**.\nв **notifications.get** объект **video** в новом формате.\n**friends.getLists** список теперь возвращается в виде объекта с полем **count**, **list_id** заменен на **id**.\n**board.getTopics** опросы приходят в новом формате.\n**audio.getAlbums** и **video.getAlbums** – **id** вместо **album_id**.\n**audio.getRecommendations**, **friends.getSuggestions** – возвращается в форме списка. \n**groups.getMembers** – результат в виде списка.\n**places.getCheckins** – **user_id** вместо **uid** в объектах отметок.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.9,type:version,isSearchable:false,tokenTypes:},{title:5.8,id:version/5.8,description:Поля **city** и **country** в **fields** возвращают объект вместо идентификатора.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.8,type:version,isSearchable:false,tokenTypes:},{title:5.7,id:version/5.7,description:Новый формат записей:\n**to_id** вместо **owner_id**\n**reply_post_id** вместо **reply_to** в **copy_history**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.7,type:version,isSearchable:false,tokenTypes:},{title:5.6,id:version/5.6,description:Поле post_type возвращает post вместо copy для репостов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.6,type:version,isSearchable:false,tokenTypes:},{title:5.5,id:version/5.5,description:Для группируемых оповещений (пользователи оценили, поделились, подписались, ..) в поле feedback кроме идентификаторов последних пользователей, совершивших действие, возвращается полное количество пользователей, совершивших это действие за последние сутки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.5,type:version,isSearchable:false,tokenTypes:},{title:5.4,id:version/5.4,description:Во всех методах, которые возвращают объекты пользователей в profiles, поля photo, photo_medium_rec у пользователей переименованы в photo_50, photo_100.\nВо вложении wall в сообщениях поля from и copy_owner возвращают объект пользователя или сообщества, вместо массива.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.4,type:version,isSearchable:false,tokenTypes:},{title:5.3,id:version/5.3,description:Поле id вместо pid, новый формат полей edited и created,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.3,type:version,isSearchable:false,tokenTypes:},{title:5.2,id:version/5.2,description:В объекте feedback: owner_id был заменен на from_id, исправлен баг со строкой в owner_id.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.2,type:version,isSearchable:false,tokenTypes:},{title:5.1,id:version/5.1,description:Исправлен тип прикрепления photos_list. (было photo_list). Другие исправления, забытые в версии 5.0\nvideo.getUserVideos - поля photo_160, photo_320\nphotos.getTags - убраны устаревшие поля uid, tag_id\nnotifications.get - у тем tid заменен на id,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.1,type:version,isSearchable:false,tokenTypes:},{title:5.0,id:version/5.0,description:Глобальное обновление API, затрагивающее почти все методы. **Посмотреть список изменений(version5)**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/5.0,type:version,isSearchable:false,tokenTypes:},{title:4.103,id:version/4.103,description:Новый формат ответа, объект с полями **liked** и **copied**.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.103,type:version,isSearchable:false,tokenTypes:},{title:4.102,id:version/4.102,description:Новый формат репостов. Поддержка репостов от репостов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.102,type:version,isSearchable:false,tokenTypes:},{title:4.101,id:version/4.101,description:При прикреплении альбома в тексте записи не будет передаваться ссылка на альбом.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.101,type:version,isSearchable:false,tokenTypes:},{title:4.100,id:version/4.100,description:При получении сообщения о смене или удалении фотографии в мультидиалоге больше не приходит пояснение действия в тексте сообщения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.100,type:version,isSearchable:false,tokenTypes:},{title:4.99,id:version/4.99,description:Позволяет транслировать аудиозапись в статус пользователя или любой из администрируемых групп.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.99,type:version,isSearchable:false,tokenTypes:},{title:4.98,id:version/4.98,description:Возвращает количество результатов первым элементом ответа,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.98,type:version,isSearchable:false,tokenTypes:},{title:4.97,id:version/4.97,description:Были удалены поля **online** и **reply_count**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.97,type:version,isSearchable:false,tokenTypes:},{title:4.96,id:version/4.96,description:Возвращает количество результатов первым элементом ответа,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.96,type:version,isSearchable:false,tokenTypes:},{title:4.95,id:version/4.95,description:Изменен формат комментариев, все методы теперь возвращают их в единообразной форме,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.95,type:version,isSearchable:false,tokenTypes:},{title:4.94,id:version/4.94,description:Изменен формат ссылок, прикрепленных к личным сообщениями, теперь они возвращаются как отдельные объекты,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.94,type:version,isSearchable:false,tokenTypes:},{title:4.93,id:version/4.93,description:Изменено название поля **users** на **items**, а **uid** на **item**,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.93,type:version,isSearchable:false,tokenTypes:},{title:4.92,id:version/4.92,description:Возвращает количество результатов первым элементом ответа,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.92,type:version,isSearchable:false,tokenTypes:},{title:4.91,id:version/4.91,description:Изменено значение возвращаемого поля uid, теперь это отправитель сообщения.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.91,type:version,isSearchable:false,tokenTypes:},{title:4.9,id:version/4.9,description:Изменен формат возвращения мест, начиная с этой версии не будут возвращаться поля, оставленные для совместимости,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.9,type:version,isSearchable:false,tokenTypes:},{title:4.8,id:version/4.8,description:Возвращает подарки отдельным объектом, а не в виде документов,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.8,type:version,isSearchable:false,tokenTypes:},{title:4.7,id:version/4.7,description:Изменяет вид возвращаемых комментариев, делая их структуру аналогичной комментариям в других методах,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.7,type:version,isSearchable:false,tokenTypes:},{title:4.6,id:version/4.6,description:Помечает анонимные опросы отдельным полем anonymous, не добавляя информации к заголовкам публичных опросов.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.6,type:version,isSearchable:false,tokenTypes:},{title:4.5,id:version/4.5,description:Возвращает количество результатов первым элементом ответа,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.5,type:version,isSearchable:false,tokenTypes:},{title:4.4,id:version/4.4,description:Возвращает прикрепления в комментариях,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.4,type:version,isSearchable:false,tokenTypes:},{title:4.3,id:version/4.3,description:Возвращает результат в виде объекта, содержащего профили и группы, необходимые для отображения найденных записей,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.3,type:version,isSearchable:false,tokenTypes:},{title:4.2,id:version/4.2,description:Поле **chat_active** возвращается в виде массива, а не строки.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.2,type:version,isSearchable:false,tokenTypes:},{title:4.1,id:version/4.1,description:Возвращает количество результатов первым элементом ответа.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.1,type:version,isSearchable:false,tokenTypes:},{title:4.0,id:version/4.0,description:**offset** и **count** могут быть только положительными,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:reference/version/4.0,type:version,isSearchable:false,tokenTypes:}},language:ru,variant:public,expireDate:1668458130922,isManuallyExpired:false},/masks/plugins/overview:{type:article,layout:internal,template:/article,contents:{title:Маски | Создание | Плагины,id:masks__development__effects__plugins,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:masks/plugins/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Плагины\n\nПлагины расширяют стандартные возможности применения эффектов. Если нужно добавить в маску интерактив, улучшить наложение или расширить применение эффектов, в этом помогут плагины.\n\nОбъявляются плагины в файле конфигурации mask.json(masks/configuration), в поле\u0026nbsp;`\plugins\ : ...`.\n\nКаждый плагин начинается с обязательного параметра `name` — это строка с названием плагина, после которой перечислены его параметры.\n\n## Список плагинов\n\n| Плагин | Описание |\n| --- | --- |\n| `customhint`(masks/plugins/customhint) | Добавляет в маску всплывающее сообщение. |\n| `fixeddetection`(masks/plugins/fixeddetection) | Улучшает наложение маски. |\n| `maskswitching`(masks/plugins/maskswitching) | Добавляет механизм переключения маски. |\n| `mirror`(masks/plugins/mirror) | Отзеркаливает маску при использовании фронтальной камеры. |\n| `parallax`(masks/plugins/parallax) | Создаёт параллакс-эффект. |\n| `particles`(masks/plugins/particles) | Добавляет систему частиц. |\n| `perspective`(masks/plugins/perspective) | Добавляет в маску перспективу для 3D-моделей. |\n| `randomtest`(masks/plugins/randomtest) | Добавляет механизм рандомайзера. |\n| `spinner3d`(masks/plugins/spinner3d) | Вращает 3D-модели вокруг головы. |\n\n## Объявление нескольких плагинов\n\nКак и эффекты, плагины перечисляются через запятую. Существует и возможность объявлять одноимённые плагины с разной конфигурацией.\n\n```JSON\n{\n \preview\: \Icon.png\,\n \effects\: \n {\n \name\: \model3d\,\n \tag\: \spinner\,\n \anchor\: \free\,\n \model\: \Models/Pizza.mdl\,\n \material\: {\n \technique\: \Techniques/DiffUnlit.xml\,\n \textures\: {\n \diffuse\: \Textures/Pizza.png\\n }\n },\n \position\: 0, 0, 0,\n \rotation\: 180, -90, 0,\n \scale\: 13, 14, 13\n },\n {\n \name\: \model3d\,\n \tag\: \cacke\,\n \anchor\: \free\,\n \model\: \Models/Cacke.mdl\,\n \material\: {\n \technique\: \Techniques/DiffUnlit.xml\,\n \textures\: {\n \diffuse\: \Textures/Cacke.png\\n }\n },\n \position\: 0, 0, 0,\n \rotation\: 180, -90, 0,\n \scale\: 13, 14, 13\n }\n ,\n \plugins\: \n {\n \name\: \perspective\\n },\n {\n \name\: \fixeddetection\\n },\n {\n \name\: \spinner3d\,\n \tag\: \pizza\,\n \radius\: 120,\n \number\: 8,\n \offset_y\: 12,\n \speed\: 25\n },\n {\n \name\: \spinner3d\,\n \tag\: \cacke\,\n \radius\: 120,\n \number\: 5,\n \offset_y\: 8,\n \speed\: -15\n }\n \n}\n```\n\n## Разработка плагинов\n\nЕсли вы знакомы с программированием и хотите создать новую версию существующего плагина или собственный плагин, ознакомьтесь с разделом Создание плагинов(masks/development/plugin-creation).},language:ru,variant:public,expireDate:1668458138791,isManuallyExpired:false},/sdk/java:{type:article,layout:internal,template:/article,contents:{title:Библиотеки | SDK | Java SDK,id:sdk__java,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:sdk/java,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Java SDK\n\nСтраница Java SDK на Github:\n`https://github.com/VKCOM/vk-java-sdk`(https://github.com/VKCOM/vk-java-sdk).\n\nJava-библиотека для взаимодействия с API ВКонтакте, упрощающая внедрение OAuth-авторизации и вызов методов API.\n\nЭта библиотека была создана с использованием VK API JSON Schema.\nСтраница проекта JSON-схема на Github:\n`https://github.com/VKCOM/vk-api-schema`(https://github.com/VKCOM/vk-api-schema).\nВ схеме используется версия API(reference/versions) – :version.\n\n## Требования\n\n* JDK(http://www.oracle.com/technetwork/java/javase/downloads/index.html) версии 1.8 или выше.\n* Gradle(https://gradle.org/) версии 2.13 или выше.\n\n## Зависимости\n\nВ проекте используются:\n* Apache Http Client(https://hc.apache.org) версии 4.5.8.\n* SLF4J(http://www.slf4j.org/) версии 1.7.26.\n* Apache Commons Lang(https://commons.apache.org/proper/commons-lang/) версии 3.6.\n* Apache Commons Collections(https://commons.apache.org/proper/commons-collections/) версии 4.3.\n* Apache Commons IO(https://commons.apache.org/proper/commons-io/) версии 2.6.\n* Google Gson(https://github.com/google/gson) версии 2.8.5.\n\n## Актуальная версия\n\nАктуальный релиз(https://search.maven.org/search?qg:com.vk.api%20AND%20a:sdk).\n\nПодключение зависимости в Maven:\n```maven \n\u003cdependency\u003e\n \u003cgroupId\u003ecom.vk.api\u003c/groupId\u003e\n \u003cartifactId\u003esdk\u003c/artifactId\u003e\n \u003cversion\u003eLATEST_VERSION\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nПодключение зависимости в Gradle:\n```gradle\ndependencies {\n compile com.vk.api:sdk:LATEST_VERSION\n}\n```\n\nПодключение зависимости в SBT:\n```sbt\nlibraryDependencies + \com.vk.api\ % \sdk\ % \LATEST_VERSION\\n```\n\n## Подготовка к использованию\n\nСоздайте приложение ВКонтакте(https://vk.com/editapp?actcreate). Выберите подходящий тип.\n\nУкажите название, подтвердите действие по SMS. Вы будете перенаправлены на страницу с настройками.\n\nВ дальнейшем вам потребуются ID приложения (в документации обозначается как `API_ID`), секретный ключ (`CLIENT_SECRET`) и доверенный redirect URI (`REDIRECT_URI`).\n\n## Логирование\n\nБиблиотека использует `SLF4J` для логирования. Чтобы включить логирование, нужно добавить привязку для конкретного фреймворка логирования. Подробнее в документации SLF4J(http://www.slf4j.org/manual.html#swapping).\n### JDK Logger\n\nMaven:\n```maven\n\u003cdependencies\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003eorg.slf4j\u003c/groupId\u003e\n \u003cartifactId\u003eslf4j-jdk14\u003c/artifactId\u003e\n \u003cversion\u003e1.7.26\u003c/version\u003e\n \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n\nGradle:\n```Gradle\ndependencies {\n compile group: org.slf4j, name: slf4j-jdk14, version: 1.7.26\n}\n```\nДобавьте файл `logging.properties` с конфигурацией (расположен в `src/main/resources`)\n```java\n.levelINFO\nhandlersjava.util.logging.ConsoleHandler\njava.util.logging.ConsoleHandler.levelFINEST\ndeng.levelFINEST\n```\n\nУстановить системную переменную, указывающую путь до файла:\n```java \n-Djava.util.logging.config.filelogging.properties\n```\n\n### log4j2\n\nMaven:\n```maven\n\u003cdependencies\u003e\n \u003c!-- Binding for Log4J --\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003eorg.apache.logging.log4j\u003c/groupId\u003e\n \u003cartifactId\u003elog4j-slf4j-impl\u003c/artifactId\u003e\n \u003cversion\u003e2.11.2\u003c/version\u003e\n \u003c/dependency\u003e\n \n \u003c!-- Log4j API and Core implementation required for binding --\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003eorg.apache.logging.log4j\u003c/groupId\u003e\n \u003cartifactId\u003elog4j-api\u003c/artifactId\u003e\n \u003cversion\u003e2.11.2\u003c/version\u003e\n \u003c/dependency\u003e\n \u003cdependency\u003e\n \u003cgroupId\u003eorg.apache.logging.log4j\u003c/groupId\u003e\n \u003cartifactId\u003elog4j-core\u003c/artifactId\u003e\n \u003cversion\u003e2.11.2\u003c/version\u003e\n \u003c/dependency\u003e\n\u003c/dependencies\u003e\n\n```\n\nGradle:\n```gradle \ndependencies {\n //Binding for Log4J --\u003e\n compile group: org.apache.logging.log4j, name: log4j-slf4j-impl, version: 2.11.2\n \n //Log4j API and Core implementation required for binding\n compile group: org.apache.logging.log4j, name: log4j-api, version: 2.11.2\n compile group: org.apache.logging.log4j, name: log4j-core, version: 2.11.2\n}\n```\n\nДобавить конфигурационный файл `src/main/resources/log4j2.xml`:\n```xml\n\u003c?xml version\1.0\ encoding\UTF-8\ ?\u003e\n\u003cConfiguration status\info\\u003e\n \u003cAppenders\u003e\n \u003cConsole name\Console\ target\SYSTEM_OUT\\u003e\n \u003cPatternLayout pattern\%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n\/\u003e\n \u003c/Console\u003e\n \u003c/Appenders\u003e\n\n \u003cLoggers\u003e\n \u003cRoot level\info\\u003e\n \u003cAppenderRef ref\Console\/\u003e\n \u003c/Root\u003e\n \u003c/Loggers\u003e\n\u003c/Configuration\u003e\n```\n\n## Инициализация\n\nСоздайте объект `VkApiClient` следующим образом:\n```java \nTransportClient transportClient new HttpTransportClient();\nVkApiClient vk new VkApiClient(transportClient);\n```\n\nОбратите внимание, вы можете использовать транспортный клиент по своему выбору. Мы используем Apache Http Client(https://hc.apache.org/).\n\n## Авторизация\n\nБиблиотека предусматривает несколько способов авторизации, основанных на реализации `OAuth 2.0` в API ВКонтакте. Пожалуйста, ознакомьтесь с документацией(api/access-token/getting-started), прежде чем начать.\n\n### Authorization Code Flow для пользователя\n\nAuthorization Code Flow позволяет вызывать методы API с серверной стороны.\n\nЭта схема авторизации состоит из двух этапов — получение авторизационного кода (`code`) и обмен его на ключ доступа (`access_token`). Сначала вам необходимо получить `code` (инструкция(api/access-token/authcode-flow-user)), а затем выполнить второй этап:\n```java\nUserAuthResponse authResponse vk.oAuth()\n .userAuthorizationCodeFlow(APP_ID, CLIENT_SECRET, REDIRECT_URI, code)\n .execute();\n\nUserActor actor new UserActor(authResponse.getUserId(), authResponse.getAccessToken());\n```\n\nМетод принимает в качестве параметров `ID` приложения, секретный ключ, `redirect URI`, список прав доступа(reference/access-rights) и `code`, полученный на первом этапе.\n\nПосле успешного выполнения будет создан объект `UserActor`. Вы можете обращаться к API ВКонтакте от имени пользователя.\n\n### Authorization Code Flow для сообщества\n\nОтличие этой схемы от предыдущей заключается в том, что вам необходимо передавать параметр `groupId`, чтобы получить ключ доступа сообщества. Пожалуйста, прочитайте подробное руководство(api/access-token/authcode-flow-community).\n```java \nGroupAuthResponse authResponse vk.oAuth()\n .groupAuthorizationCodeFlow(APP_ID, CLIENT_SECRET, REDIRECT_URI, code)\n .execute();\n\nGroupActor actor new GroupActor(groupId, authResponse.getAccessTokens().get(groupId));\n```\n\nПосле успешного выполнения будет создан объект `GroupActor`. Вы можете обращаться к API ВКонтакте от имени сообщества.\n\n### Обработка ошибки `need_validation`\n\nВ процессе авторизации вы можете получить ошибку `\need_validation\`. Используйте такой код для ее обработки:\n```java \nUserAuthResponse authResponse;\ntry {\n authResponse vk.oAuth()\n .userAuthorizationCodeFlow(APP_ID, CLIENT_SECRET, REDIRECT_URI, code)\n .execute();\n} catch (OAuthException e) {\n e.getRedirectUri();\n}\n\nUserActor actor new UserActor(authResponse.getUserId(), authResponse.getAccessToken());\n```\n\n### Client Credentials Flow\n\nЭта схема позволяет получить ключ доступа для работы с методами секции `secure`(method/secure). Обратите внимание, ключ привязан к IP и не подходит для работы с другими методами. Мы рекомендуем использовать сервисный ключ из настроек приложения.\n\n```java \nServiceClientCredentialsFlowResponse authResponse vk.oAuth()\n .serviceClientCredentialsFlow(APP_ID, CLIENT_SECRET)\n .execute();\n \nServiceActor actor new ServiceActor(APP_ID, authResponse.getAccessToken());\n```\n\nПосле успешного выполнения будет создан объект `ServiceActor` и вы сможете вызывать методы VK API от имени приложения.\n\n## Запросы к API\n\nПолный список методов API(method).\n\n### Запрос от имени пользователя\n\n```java\nGetResponse getResponse vk.wall().get(actor)\n .ownerId(1)\n .count(100)\n .offset(5)\n .filter(\owner\)\n .execute();\n```\n\n### Запрос с универсальными параметрами\n\n```java \nList\u003cUserXtrCounters\u003e users vk.users().get(actor)\n .userIds(\1\)\n .fields(UserField.VERIFIED, UserField.SEX)\n .lang(Lang.EN)\n .execute();\n```\nПолный список параметров(api/api-requests).\n\n### Публикация фотографии на стене пользователя\n\n```java\nPhotoUpload serverResponse vk.photos().getWallUploadServer(actor).execute();\nWallUploadResponse uploadResponse vk.upload().photoWall(serverResponse.getUploadUrl(), file).execute();\nList\u003cPhoto\u003e photoList vk.photos().saveWallPhoto(actor, uploadResponse.getPhoto())\n .server(uploadResponse.getServer())\n .hash(uploadResponse.getHash())\n .execute();\n\nPhoto photo photoList.get(0); \nString attachId \photo\ + photo.getOwnerId() + \_\ + photo.getId();\nGetResponse getResponse vk.wall().post(actor)\n .attachments(attachId)\n .execute();\n```\n\n## Execute-запросы\n\nПодробная информация о методе execute(method/execute).\n\n### Использование `code`\n\n```java \nJsonElement response vk.execute().code(actor, \return API.wall.get({\\\count\\\: 1})\)\n .execute();\n```\n\n### Хранимая процедура\n\n```java \nJsonElement response vk.execute().storageFunction(actor, \foo\)\n .funcV(2) // set storage function version\n .unsafeParam(\user_id\, 1) // set storage function argument\n .execute();\n```\n\n\n### Пакетные запросы\n\n```java \nJsonElement response vk.execute().batch(actor,\n vk.database().getChairs(1).count(10),\n vk.database().getCities(1),\n vk.groups().getMembers(actor).groupId(groupId)\n).execute();\n\n```\n\n## Обработка ошибок\n\n\n### Общий случай\n\n```java \ntry {\n vk.wall().post(actor)\n .message(\Hello world\)\n .execute();\n} catch (ApiWallLinksForbiddenException e) {\n // Links posting is prohibited\n} catch (ApiException e) {\n // Business logic error\n} catch (ClientException e) {\n // Transport layer error\n}\n\n```\n\n\n### Капча\n\n```java \nString captchaSid null;\nString captchaImg null;\n\ntry {\n vk.wall().post(actor).message(\Hello world\).execute();\n} catch (ApiCaptchaException e) {\n captchaSid e.getCaptchaSid();\n captchaImg e.getCaptchaImg();\n}\n\n//Showing captcha image...\n\nif (captchaImg ! null) {\n vk.wall().post(actor)\n .message(\Hello world\)\n .captchaSid(captchaSid)\n .captchaKey(captchaKey)\n .execute();\n}\n\n```\n\n## Обработка событий Callback API\n\nПереопределите методы из класса CallbackApi, чтобы обрабатывать события:\n```java \npublic class CallbackApiHandler extends CallbackApi {\n @Override\n public void messageNew(Integer groupId, Message message) {\n System.out.println(message.getText());\n }\n}\n\n```\n### Обработка событий Callback API Long Poll\n\nВключите Callback API Long Poll для нужного сообщества и выберите события, за которыми хотите следить. \n```java \nHttpTransportClient httpClient HttpTransportClient.getInstance();\nVkApiClient vk new VkApiClient(httpClient);\nvk.groups().setLongPollSettings(groupActor).enabled(true)\n .wallPostNew(true)\n .messageNew(true)\n .execute();\n\n```\nПереопределите методы из класса `CallbackApiLongPoll`, чтобы обрабатывать события, и создайте нужный конструктор:\n\n```java\npublic class CallbackApiLongPollHandler extends CallbackApiLongPoll {\n public CallbackApiLongPollHandler(VkApiClient client, UserActor actor, Integer groupId) {\n super(client, actor, groupId);\n }\n\n public CallbackApiLongPollHandler(VkApiClient client, GroupActor actor) {\n super(client, actor);\n }\n\n @Override\n public void messageNew(Integer groupId, Message message) {\n System.out.println(\messageNew: \ + message.toString());\n }\n\n @Override\n public void wallPostNew(Integer groupId, WallPost wallPost) {\n System.out.println(\wallPostNew: \ + wallPost.toString());\n }\n}\n```\nЧтобы использовать созданный `CallbackApiLongPollHandler`, который переопределяет методы из `CallBackApiLongPoll`, необходимо создать его экземпляр и вызвать метод `run`\n\n```java \nCallbackApiLongPollHandler handler new CallbackApiLongPollHandler(vk, groupActor);\nhandler.run();\n```\n\nПример использования Callback API Long Poll можно найти в разделе `examples` как `group-bot`, который логирует все события.\n\n## Получение данных Streaming API\n\n### Инициализация Streaming API\n\n```java \n//Init clients\nTransportClient transportClient new HttpTransportClient();\n\nVkApiClient vkClient new VkApiClient(transportClient);\nVkStreamingApiClient streamingClient new VkStreamingApiClient(transportClient);\n\n//Create service actor\nInteger appId 4123123;\nString accessToken \sadf0asdf0asdfsadfassadf0asdf0asdfsadfassadf0asdf0asdfsadfas\;\nServiceActor actor new ServiceActor(appId, accessToken);\n\n//Get streaming actor\nGetServerUrlResponse getServerUrlResponse vkClient.streaming().getServerUrl(actor).execute();\nStreamingActor actor new StreamingActor(getServerUrlResponse.getEndpoint(), getServerUrlResponse.getKey());\n\n```\n\n### Добавление правила\n\n```java \n//Create rule\nString tag \1\;\nString value \ok\;\n\nStreamingResponse response streamingClient.rules().add(actor, tag, value).execute();\n\n```\n\n### Получение правил\n\n```java \n//Get rules\nStreamingGetRulesResponse response streamingClient.rules().get(actor).execute();\n\n```\n\n### Удаление правила\n\n```java \n//Delete rule\nString tag \1\;\nstreamingClient.rules().delete(actor, tag).execute();\n\n```\n\n### Чтение потока\n\nИмплементируйте метод из класса `StreamingEventHandler` для обработки потоковых событий\n\n```java \nstreamingClient.stream().get(actor, new StreamingEventHandler() {\n @Override\n public void handle(StreamingCallbackMessage message) {\n System.out.println(message);\n }\n}).execute();\n\n```\n \n## Примеры использования\n\nВ качестве примера использования SDK мы выпустили бота YouTrack(https://github.com/VKCOM/vk-java-sdk/wiki/YouTrack-bot).},language:ru,variant:public,expireDate:1668458153708,isManuallyExpired:false},/api/access-token/authcode-flow-community:{type:article,layout:internal,template:/article,contents:{title:Использование API | Ключ доступа | Authorization Code Flow для получения ключа доступа сообщества,id:api__access-token__authcode-flow-community,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/access-token/authcode-flow-community,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Authorization Code Flow для получения ключа доступа сообщества\n\nИспользуйте Authorization Code Flow для вызова методов API ВКонтакте с серверной части вашего приложения (например, из PHP). Ключ доступа, полученный таким способом, не привязан к IP-адресу.\n\n## Получение списка администрируемых сообществ\n\nПолучить ключ доступа сообщества через OAuth может только его администратор. Чтобы получить ключи доступа сразу для всех или нескольких сообществ пользователя, мы рекомендуем добавить этот дополнительный шаг в процесс авторизации.\n\nПолучите ключ доступа пользователя (для работы с клиента(api/access-token/implicit-flow-user) или для работы с сервера(api/access-token/authcode-flow-user)) с правами `scope` `groups` и сделайте запрос к методу groups.get(groups.get) с параметром `filter` `admin`, чтобы получить список идентификаторов администрируемых сообществ.\n\nЗатем используйте все полученные значения или их часть в качестве параметра `group_ids`.\n\n## Открытие диалога авторизации\n\nНеобходимо перенаправить браузер пользователя по адресу\n`https://oauth.vk.com/authorize`(https://oauth.vk.com/authorize), передав следующие параметры:\n\n* `client_id` (**обязательный**) — идентификатор вашего приложения. \n* `redirect_uri` (**обязательный**) — адрес, на который будет передан `code` (домен указанного адреса должен соответствовать основному домену в настройках приложения и перечисленным значениям в списке доверенных `redirect uri` — адреса сравниваются вплоть до `path`-части). \n* `group_ids` (**обязательный**) — идентификаторы сообществ, для которых необходимо получить ключ доступа. Параметр должен представлять собой строку, содержащую значения без знака «минус», разделенные запятой. \n* `display` — Указывает тип отображения страницы авторизации. Поддерживаются следующие варианты: \n * `page` — форма авторизации в отдельном окне; \n * `popup` — всплывающее окно; \n * `mobile` — авторизация для мобильных устройств (без использования Javascript) \n* `scope` — битовая маска настроек доступа приложения(reference/access-rights), которые необходимо проверить при авторизации и запросить отсутствующие. \n* `response_type` — тип ответа, который вы хотите получить. Укажите `code`. \n* `v` (**обязательный**) — версия API(reference/versions), которую вы используете. Актуальная версия: **:version**. \n* `state` — произвольная строка, которая будет возвращена вместе с результатом авторизации. \n\nПример запроса:\n\n```\nhttps://oauth.vk.com/authorize?client_id1\u0026displaypage\u0026redirect_urihttp://example.com/callback\u0026group_ids123456,654321\u0026scopemessages\u0026response_typecode\u0026v:version\n```\n\nЕсли пользователь не вошел на сайт, то в диалоговом окне ему будет предложено ввести свой логин и пароль. \n\n## Разрешение прав доступа\n\nПосле успешного входа на сайт пользователю будет предложено авторизовать приложение, разрешив доступ к необходимым настройкам, запрошенным при помощи параметра `scope`. Полный список настроек доступен в разделе прав доступа приложений(reference/access-rights). \n\nСейчас для ключей доступа сообщества приложение любого типа может запрашивать права `manage`,`messages`,`photos`,`docs`. Методы, доступные с ключом доступа сообщества, помечены в общем списке(reference) специальным значком.\n\n## Получение code\n\nПосле успешной авторизации приложения браузер пользователя будет перенаправлен по адресу `redirect_uri`, указанному при открытии диалога авторизации. При этом код для получения ключа доступа `code` будет передан в `GET`-параметре на указанный адрес: \n\n```\nREDIRECT_URI?code7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a\n```\n\nПараметр `code` может быть использован в течение 1 часа для получения ключа доступа к API `access_token` с вашего сервера.\n\nВ случае возникновения ошибки браузер пользователя будет перенаправлен с кодом и описанием ошибки: \n\n```\nREDIRECT_URI?errorinvalid_request\u0026error_descriptionInvalid+display+parameter\n```\n\n## Получение access_token\n\nДля получения `access_token` необходимо выполнить запрос с вашего сервера на https://oauth.vk.com/access_token(https://oauth.vk.com/access_token), передав следующие параметры:\n\n* `client_id` (**обязательный**) — Идентификатор вашего приложения \n* `client_secret` (**обязательный**) — Защищенный ключ вашего приложения (указан в настройках приложения) \n* `redirect_uri` (**обязательный**) — URL, который использовался при получении `code` на первом этапе авторизации. Должен быть аналогичен переданному при авторизации. \n* `code` (**обязательный**) — Временный код, полученный после прохождения авторизации. \n\nПример запроса:\n\n```\nhttps://oauth.vk.com/access_token?client_id1\u0026client_secretH2Pk8htyFD8024mZaPHm\u0026redirect_urihttp://mysite.ru\u0026code7a6fa4dff77a228eeda56603b8f53806c883f011c40b72630bb50df056f6479e52a\n```\n\nВ результате выполнения данного запроса ваш сервер получит следующий JSON:\n\n```JSON\n{\n \access_token_123456\: \533bacf01e11f55b536a565b57531ac114461ae8736d6506a3\,\n\n \access_token_654321\: \a740d2bfe91caaa6eab794e1168da38cdaedc93c92f233638f\,\n\n \groups\: \n {\n \group_id\: 123456,\n \access_token\: \533bacf01e11f55b536a565b57531ac114461ae8736d6506a3\\n },\n { \n \group_id\: 654321,\n \access_token\: \a740d2bfe91caaa6eab794e1168da38cdaedc93c92f233638f\\n }\n\n\n \expires_in\: 0\n\n}\n```\n\nВ поле `groups` возвращается массив объектов с полями `group_id` (`integer`) — идентификатор сообщества и `access_token` (`string`) — ключ доступа сообщества.\n\nСтарые поля `access_token` использовать не рекомендуется, они будут упразднены в будущих версиях API.\n\nВ случае ошибки будут переданы параметры `error` и `error_description`. \n\n```JSON\n{\n \error\: \invalid_grant\,\n \error_description\: \Code is expired.\\n}\n\n```},language:ru,variant:public,expireDate:1668458157462,isManuallyExpired:false},/libraries/vkui:{type:article,layout:internal,template:/article,contents:{title:Библиотека | VKUI-компоненты,id:mini-apps__vkui,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:libraries/vkui,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKUI-компоненты\n\n**VKUI** — это библиотека адаптивных React-компонентов. С её помощью вы можете создавать привлекательный интерфейс мини-приложений(mini-apps/overview) для мобильных устройств.\n\n**NPM:** `https://www.npmjs.com/package/@vkontakte/vkui`(https://www.npmjs.com/package/@vkontakte/vkui)\n**Документация:** `https://vkcom.github.io/VKUI`(https://vk.cc/c57Y34)\n**Figma**: `https://www.figma.com/@vk`(https://www.figma.com/@vk)\n\nЕсли вы используете библиотеку для создания шаблона(mini-apps/getting-started#Создание%20мини-приложения), отдельно подключать VKUI не нужно.\n\n**Обратите внимание!** Вашему мини-приложению доступна почти вся площадь экрана, поэтому для корректной работы навигации:\n\n* Используйте компонент `PanelHeader`(https://vk.cc/cg2avF) на каждом экране приложения. Он должен содержать название приложения и значок **Назад** на тех экранах, где тот требуется.\n* Не занимайте правый верхний угол `PanelHeader` — это место зарезервировано для нативного бара с кнопками **Меню** и **Закрыть**, который отображается всегда.\n* Используйте стилизованный под платформу значок **Назад**. Для этого применяйте компонент `\u003cPanelHeaderBack /\u003e`(https://vk.cc/cg2azO).\n\nНа устройствах с Android нажатие кнопки **Назад** вызывает в WebView событие `history.back`(https://developer.mozilla.org/ru/docs/Web/API/Window/history). По нажатию этой кнопки официальное приложение сделает возврат на предыдущую страницу вашего приложения или закроет его, если вернуться невозможно. Поэтому для корректной навигации необходимо обрабатывать нажатие аппаратной клавиши в мини-приложении и реализовывать роутинг. Например при помощи библиотеки `react-router`.},language:ru,variant:public,expireDate:1668458160066,isManuallyExpired:false},/reference/version/5.19:{type:version,layout:internal,template:/single-version,contents:{title:5.19,id:version/5.19,description:В объекте _группа_ поля **start_date** и **finish_date** стали числами вместо строк.\nПри установленном фильтре **friend** для новостей возвращается **user_id** вместо **uid**.\nВ методе **fave.getLinks** изображения возвращаются с именами **photo_50** и **photo_100** вместо **image_src** и **image_middle**.,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/version/5.19,redirectTo:,menuId:api_menu,accessRights:,url:,type:version,isSearchable:false,tokenTypes:},language:ru,variant:public,expireDate:1668458360050,isManuallyExpired:false},/method/status.set:{type:method,layout:internal,template:/method,contents:{title:status.set,id:status.set,description:Устанавливает новый статус текущему пользователю или сообществу.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/status.set,redirectTo:,menuId:api_menu,accessRights:activity_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:221,id:,description:User disabled track name broadcast,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:text,description:Текст нового статуса.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества, в котором будет установлен статус. По умолчанию статус устанавливается текущему пользователю.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успешной установки или очистки статуса возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:status.get,id:status.get,description:Получает текст статуса пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:activity,url:method/status.get,type:BASE,isSearchable:false,tokenTypes:,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668459196016,isManuallyExpired:false},/method/board.deleteTopic:{type:method,layout:internal,template:/method,contents:{title:board.deleteTopic,id:board.deleteTopic,description:Удаляет тему в обсуждениях группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/board.deleteTopic,redirectTo:,menuId:api_menu,accessRights:groups_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:group_id,description:идентификатор сообщества, в котором размещено обсуждение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:topic_id,description:идентификатор обсуждения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:{title:board.addTopic,id:board.addTopic,description:Создает новую тему в списке обсуждений группы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:groups_ex,url:method/board.addTopic,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668459393272,isManuallyExpired:false},/method/polls.create:{type:method,layout:internal,template:/method,contents:{title:polls.create,id:polls.create,description:Позволяет создавать опросы, которые впоследствии можно прикреплять к записям на странице пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/polls.create,redirectTo:,menuId:api_menu,accessRights:wall_ex,url:,type:method,isSearchable:false,tokenTypes:vk_apps,is_standalone,children:,text:\n,errors:,parameters:{name:question,description:Текст вопроса,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:is_anonymous,description:`1` — анонимный опрос, список проголосовавших недоступен;\n`0` — опрос публичный, список проголосовавших доступен.\nПо умолчанию – `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:is_multiple,description:`1` — для создания опроса с мультивыбором.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:end_date,description:Дата завершения опроса в `unixtime`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:owner_id,description:Если опрос будет добавлен в группу, необходимо передать отрицательный идентификатор группы. По умолчанию текущий пользователь.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:app_id,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:add_answers,description:Список вариантов ответов, например:\n\n```json\n\yes\, \no\, \maybe\\n```\n\nМожет быть не менее 1 и не более 10 вариантов ответа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_id,description:Идентификатор фотографии для использования в качестве фона сниппета.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:background_id,description:Идентификатор стандартного фона для сниппета.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:disable_unvote,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:В случае успешного создания опроса в качестве результата возвращается объект опроса(reference/objects/poll).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668459473291,isManuallyExpired:false},/community/events/fresh-code-2022-regulations:{type:article,layout:internal,template:/article,contents:{title:Сообщество | События | Положение о публичном конкурсе «VK Fresh Code 2022»,id:community__events__online-meetup-second-quarter,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:community/events/fresh-code-2022-regulations,redirectTo:,menuId:community_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Положение о публичном конкурсе «VK Fresh Code 2022»\n\nНастоящее Положение о публичном конкурсе (далее — Положение) регулирует порядок организации и проведения публичного конкурса «VK Fresh Code 2022» (далее — Конкурс). \n\n## 1. ТЕРМИНЫ\n\n| | |\n| --- | --- |\n| **Задание** |Требования к содержанию Результата и порядку его передачи Организатору, указанные в настоящем Положении и условиях проведения Конкурса, размещенных в соответствии с разделом 4 настоящего Положения. |\n| **Конкурсная комиссия** | Круг лиц, состоящий из сотрудников Организатора, утвержденный Организатором в целях оценки Результатов Участников. |\n| **Организатор** | Общество с ограниченной ответственностью «В Контакте» (ОГРН: 1079847035179), место нахождения (юридический и фактический адрес): г. Санкт-Петербург, ул. Херсонская, д. 12-14, лит. А, пом. 1-Н. |\n| **Результат** | Итог выполнения Задания, направленный Участником Организатору в течение срока проведения этапа Конкурса, указанного в п. 3.1 настоящего Положения. |\n| **Победители** | Участники, занявшие призовые места в соответствии с решением Конкурсной комиссии, чьи Результаты признаны лучшими на основании критериев, указанных в настоящем Положении и в Задании. |\n| **Участник** | Пользователь социальной сети «ВКонтакте», дееспособное физическое лицо, достигшее четырнадцати лет, действующее от своего имении выполнившее Задание в соответствии с требованиями Положения и условий, размещенных в соответствии с разделом 4 настоящего Положения. Участниками не могут являться сотрудники Организатора и/или аффилированных с ним компаний, иные лица, задействованные в организации Конкурса, а также члены их семей. |\n\n## 2. ЦЕЛЬ КОНКУРСА\nНастоящий Конкурс является открытым и преследует следующую общественно полезную цель: популяризация технологий платформы VK Mini Apps для разработчиков и пользователей социальной сети ВКонтакте.\n\n## 3. СРОКИ И МЕСТО ПРОВЕДЕНИЯ КОНКУРСА\n\n**3.1.** Конкурс проводится в рамках одного этапа, по окончании которого Организатор объявляет Победителей. Для Конкурса установлены следующие сроки:\n\n* Объявление о начале Конкурса – «07» октября 2022 г.\n* Завершение приёма заявок на участие – «02» декабря 2022 г.\n* Объявление результатов и победителей – «05» декабря 2022 г.\n\n**3.2.** Организатор вправе в любое время изменить сроки, указанные в п. 3.1. Правил, а также приостановить проведение Конкурса или досрочно прекратить его проведение. \n\n**3.3.** Место проведения Конкурса: на сайте Организатора по адресу: https://vk.com/vkappsdev\n\n## 4. ИНФОРМИРОВАНИЕ ОБ УСЛОВИЯХ КОНКУРСА И ТРЕБОВАНИЯХ К РЕЗУЛЬТАТАМ\n\n**4.1.** С подробной информацией об условиях проведения Конкурса, а также критериях, требованиях и порядке оценки Результатов можно ознакомиться на сайте Организатора по адресу: https://vk.com/vkappsdev\n\n**4.2.** Исполнитель оставляет за собой право изменить указанные условия в порядке, предусмотренном ст. 1058 ГК РФ.\n\n## 5. ПОРЯДОК УЧАСТИЯ В КОНКУРСЕ\n\n**5.1.** Для участия в Конкурсе пользователю социальной сети «ВКонтакте», расположенной в сети Интернет по адресу https://vk.com, необходимо пройти процедуру регистрации посредством направления заявки на участие в Конкурсе через форму на сайте Организатора по адресу: https://vk.com/vkappsdev. В заявке необходимо указать ссылку на мини-приложение, разработанное Участником при помощи технологий платформы VK Mini Apps в соответствии с условиями, размещенными на сайте Организатора по адресу: https://vk.com/vkappsdev\n\n**5.2.** Участник вправе направлять Организатору Результаты в сроки, указанные в п. 3.1 настоящего Положения. Участник не может направлять один и тот же Результат в рамках нескольких этапов Конкурса.\n\n## 6. ПОРЯДОК ОПРЕДЕЛЕНИЯ ПОБЕДИТЕЛЕЙ\n\n**6.1.** Определение Победителей Конкурса для каждого призового места осуществляется Конкурсной комиссией путем выставления баллов. Каждый член Конкурсной комиссии вправе выставить от 0 (нуля) до 5 (пяти) баллов за один Результат. Итоговая оценка определяется путем сложения всех баллов, выставленных членами Конкурсной комиссии по каждому Результату. Каждый член комиссии выставляет оценки по собственному усмотрению и внутреннему убеждению. \n\n**6.2.** По итогам оценки Результатов Конкурсная комиссия определяет Победителей, занявших призовые места. Решение Конкурсной комиссии размещается на сайте Организатора по адресу: https://vk.com/vkappsdev.\n\n**6.3.** Критерием выбора Победителей является соответствие Результата Заданию, соответствие заявленной тематике, оригинальность / уникальность проекта, качество UX / UI дизайна, качество технической реализации качество презентации проекта и нахождение мини-приложения в каталоге, размещённом по адресу https://vk.com/services на момент проведения оценивания проекта Конкурсной комиссией.\n\n## 7. ПОДВЕДЕНИЕ ИТОГОВ КОНКУРСА \n\n**7.1.** В случае признания Участника Конкурса Победителем, Организатор направляет Победителю в личные сообщения ВКонтакте сообщение с информацией о занятом Победителем призовом месте, о причитающемся Победителю призе, а также о дополнительных сведениях и документах, которые Победитель должен предоставить Организатору для получения приза (далее — «Сообщение-подтверждение»).\n\n**7.2.** Победитель имеет право принять приз, проинформировав Организатора о своем желании принять приз и о своем согласии с условиями настоящего Положения, а также предоставив все сведения и документы, определенные в п. 9.2 настоящего Положения, в ответном личном сообщении ВКонтакте либо письменно отказаться от получения приза в течение 5 (пяти) рабочих дней с даты направления Организатором Сообщения-подтверждения. Отказом от получения приза также будет считаться ненаправление Победителем Организатору ответного личного сообщения с подтверждением принятия приза и согласием с условиями настоящего Положения по истечении 5 (пяти) рабочих дней с даты направления Сообщения-подтверждения Организатором в личные сообщения Победителя. \n\n**7.3.** В случае отказа Победителя от получения приза Конкурсная комиссия определяет другого Победителя из числа Участников, ранее не признанных Победителями, в течение 1 (одного) рабочего дня с даты получения соответствующего отказа. \n\n**7.4.** Подведение итогов каждого из этапов Конкурса осуществляется путем объявления Победителей в дату окончания каждого этапа Конкурса, указанную в п. 3.1 настоящего Положения, путем размещения информации о Победителях на сайте Организатора по адресу: https://vk.com/vkappsdev\n\n## 8. ПРИЗЫ\n\n**8.1.** Призы предоставляются Организатором Конкурса за счет его средств.\n\n**8.2.** Победители в соответствии с занятым ими призовым местом получают следующие призы:\n\n* Двадцать пять призовых мест, каждое из которых получает по 180 000 (сто восемьдесят тысяч) рублей 00 копеек. \n\nОрганизатор Конкурса, выступая налоговым агентом, рассчитывает НДФЛ и удерживает его из причитающегося денежного приза, указанного в п. 8.2 настоящего Положения, в соответствии с действующим налоговым законодательством Российской Федерации для перечисления его в бюджет соответствующего уровня.\n\n## 9. ПОРЯДОК ПОЛУЧЕНИЯ ПРИЗОВ\n\n**9.1.** Передача Призов Победителям осуществляется Организатором Конкурса:\n\n* двадцать пять призов по 180 000 (сто восемьдесят тысяч) рублей каждое – путем банковского перевода денежных средств на банковский счет Победителя, в рублях РФ. Организатор выступает налоговым агентом и в момент выплаты денежного приза Победителю удерживает все налоги и перечисляет в бюджет согласно законодательству РФ.\n\n**9.2.** Для получения приза каждому Победителю необходимо предоставить Организатору по его запросу посредством направления личного сообщения ВКонтакте все или некоторые, на усмотрение Организатора, следующие сведения и документы:\n\n* фамилия, имя, отчество;\n* сведения о месте жительства;\n* сведения о месте работы и (или) учебы;\n* сведения о профессии;\n* контактный телефон;\n* банковские реквизиты;\n* скан-копия паспорта или иного документа, удостоверяющего личность;\n* скан-копия свидетельства о постановке на учет в налоговом органе физического лица по месту жительства на территории Российской Федерации — ИНН (при наличии);\n* скан-копия СНИЛС;\n* фото Победителя, на котором отчетливо видно лицо Победителя, отсутствуют изображения иных лиц и посторонних предметов;\n* несовершеннолетние участники (от 14 до 18 лет включительно) должны в дополнение в вышеуказанным документам предоставить также согласие родителя (законного представителя) на участие в конкурсе, получение приза и на обработку персональных данных ребенка (опекаемого) (Приложение № 1(#Приложение%20№%201) к настоящему Положению), а для совершеннолетних согласие на обработку персональных данных (Приложение №2(#Приложение%20№%202) к настоящему Положению).\n\n## 10. ОБРАБОТКА ПЕРСОНАЛЬНЫХ ДАННЫХ\n\n**10.1.** Принимая участие в Конкурсе, участник, действуя своей волей и в своем интересе, даёт своё безусловное согласие Организатору на обработку своих персональных данных, предусмотренных п. 9.2 настоящих Правил, а также ID персональной страницы Пользователя, с использованием и без использования средств автоматизации на следующих условиях: персональные данные будут использоваться Организатором в связи с проведением Конкурса, и не будут предоставляться никаким третьим лицам для целей, не связанных с Конкурсом.\n\nСогласие даётся на совершение следующих действий с персональными данными: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, блокирование, уничтожение персональных данных для целей проведения Конкурса в том числе, для выдачи Приза Участнику Конкурса, признанному его обладателем согласно настоящим Правилам, а также реализации прав и исполнения иных обязанностей, предусмотренных настоящими Правилами и действующим законодательством РФ, на период проведения Конкурса, а также в течение 3 лет после окончания срока проведения Конкурса.\n\n**10.2.** Принимая участие в Конкурсе, участник, действуя своей волей и в своем интересе, даёт своё безусловное согласие Организатору на обработку своих персональных данных, предусмотренных п. 9.2 настоящих Правил, а также ID персональной страницы Пользователя, с использованием и без использования средств автоматизации в форме распространения на следующих условиях: персональные данные будут использоваться Организатором для информирования об итогах Конкурса, а также в рекламно-информационных сообщениях о Конкурсе. \nСогласие дается на совершение следующих действий с персональными данными: подведение итогов Конкурса на период в течение 3 лет после окончания срока проведения Конкурса.\n\n**10.3.** Организатор обязуется обеспечить конфиденциальность персональных данных Участников и соблюдать меры по обеспечению безопасности персональных данных при их обработке, предусмотренные статьей 19 Федерального Закона от 27.07.2006 № 152-ФЗ «О персональных данных».\n\n**10.4.** В случае достижения цели обработки персональных данных Участников Организатор обязуется незамедлительно прекратить обработку соответствующих персональных данных.\n\n## 11. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ\n\n**11.1.** Участник, направляя Организатору заявку в соответствии с п. 5.1 Правил, предоставляет Организатору право на использование информации о мини-приложении в материалах рекламно-информационного характера Организатора, направленных на информировании о проводимых Организатором конкурсах, направленных на популяризацию технологий платформы VK Mini Apps для разработчиков и пользователей социальной сети ВКонтакте.\n\n**11.2.** Конкурс организован и проводится в сети Интернет в соответствии с законодательством Российской Федерации.\n\n**11.3.** Регистрация Участника в порядке, предусмотренном п. 5.1. настоящего Положения, означает его безоговорочное согласие со всеми условиями Конкурса и настоящим Положением.\n\n**11.4.** Во всем, что не урегулировано Положением, стороны руководствуются действующим законодательством Российской Федерации.\n\n**11.5.** Все споры и разногласия, которые возникают в связи с организацией и проведением Конкурса, подлежат разрешению путем переговоров. Спорные вопросы, не урегулированные путем переговоров, подлежат разрешению в суде по месту нахождения Организатора.\n\n## Приложение № 1\n\n**к Положению о публичном конкурсе «VK Fresh Code 2022»**\n\n!altСогласие родителя (законного представителя) на участие в конкурсе, получение приза и на обработку персональных данных ребенка (опекаемого);titleСогласие родителя (законного представителя) на участие в конкурсе, получение приза и на обработку персональных данных ребенка (опекаемого);(a3ba5bf17c73b48100c9aa76e48654cb38d667e3959492815b1874d0 \-8974066777029551264\)\n\n## Приложение № 2\n\n**к Положению о публичном конкурсе «VK Fresh Code 2022»**\n\n!altСогласие на обработку персональных данных;titleСогласие на обработку персональных данных;(2c36642849403402fa79f32d498920c50d90ebb247b421fd99872927 \-9174471000431203924\)},language:ru,variant:public,expireDate:1668459772560,isManuallyExpired:false},/games/overview:{type:article,layout:internal,template:/article,contents:{title:Игры | Игровая платформа,id:games__overview,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:games/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Игровая платформа\n\n**Игры ВКонтакте** \u0026mdash; игровая платформа для пользователей ВКонтакте. Пользователи могут легко запустить игру из интерфейса \u0026mdash; никаких скачиваний, установок и регистрации.\n\nСоздайте и разместите игру ВКонтакте и используйте бесплатные методы продвижения для привлечения пользователей.\n\n## Преимущества для разработчиков и издателей\n\n* 10+ миллионов активных игроков ежемесячно.\n* 500+ операций API ВКонтакте для интеграции.\n* Бесплатные методы продвижения.\n* Рекомендации и лучшие практики от платформы.\n\nУзнайте больше(games/benefits)\n\n## Первые шаги\n\nИгры ВКонтакте \u0026mdash; это HTML5-приложения для мобильных устройств и компьютеров. Начните с создания простой игры и добавьте её на платформу ВКонтакте. Посмотрите пошаговые инструкции(games/getting-started).\n\n## Продвижение и монетизация\n\n* Публикация в каталоге игр(games/catalog/moderation)\n* Продвижение(games/promotion/featured)\n* Игровые покупки(games/monetization/digital-goods)\n* Реклама в играх(games/monetization/ad/overview)\n\n## Поддержка и помощь\n\n* Частые вопросы(games/faq)\n* Как написать в Поддержку(games/support)\n* Сообщества разработчиков(games/support#Сообщества%20разработчиков)\n \n## Полезные ссылки\n\n* Библиотека VK Bridge(games/bridge)\n* API ВКонтакте(https://dev.vk.com/reference)\n* Лучшие практики продвижения(games/promotion/best-practices)\n* Лучшие практики монетизации(games/monetization/best-practices)\n},language:ru,variant:public,expireDate:1668461234054,isManuallyExpired:false},/marusia/api:{type:article,layout:internal,template:/article,contents:{title:Маруся | Схема взаимодействия со скиллом,id:marusia__api,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:marusia/api,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Схема взаимодействия со скиллом\n\n1. Пользователь произносит фразу для вызова скилла.\n2. Получив и распознав выражение, сервер Маруси отправляет POST-запрос на Webhook URL, который вы указали в настройках.\n3. Обработчик скилла должен ответить на полученный от сервера Маруси запрос. Тайм-аут ожидания ответа — 5 секунд, после чего сервер Маруси завершит сессию.\n\nФраза вызова скилла строится по следующей схеме:\n\n`Слово «Маруся» + любая из дефолтных фраз вызова скилла + фраза активации`\n\nДефолтные фразы вызова скилла:\n* `хочу скилл/навык`;\n* `запусти скилл/навык`;\n* `включи скилл/навык`;\n* `открой скилл/навык`.\n\nПримеры фраз, которые пользователь произносит, чтобы вызвать скилл:\n\n`Маруся, запусти навык «Шутка дня»!` \n\n`Маруся, включи скилл «Шутка дня»!`\n\n## Тестирование скилла\n\nПри создании скилла по умолчанию доступ к нему имеют только его администраторы.\nЧтобы проверить скилл, авторизуйтесь в приложении «Маруся» для Android(https://trk.mail.ru/c/d3eh07) или iOS(https://trk.mail.ru/c/d5k4a7) через VK Connect, используя номер телефона, привязанный к учётной записи ВКонтакте. \n\nЗапустить скилл можно как голосовой командой, так и при помощи чата в приложении.\n\nПротестировать и исправить ошибки можно в отладчике скиллов(https://skill-debugger.marusia.mail.ru).\n\n## Формат POST-запроса на Webhook URL\n\n\u003e Обратите внимание: разработчики Маруси оставляют за собой право добавлять любые новые поля в JSON, внешний скилл не должен из-за этого ломаться.\n\nЗапрос содержит четыре поля:\n\n### Структура запроса\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `meta` | `meta`(#meta) | Информация об устройстве, с помощью которого пользователь общается с Марусей. |\n| `request` | `request`(#request) | Данные, полученные от пользователя. |\n| `session` | `session`(#session) | Данные о сессии. |\n| `version` | `string` | Версия протокола. Текущая — `1.0`. |\n\n### `meta`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `locale` | `string` | Язык в POSIX-формате, максимум 64 символа. |\n| `timezone` | `string` | Название часового пояса, включая алиасы, максимум 64 символа. |\n| `interfaces` | `array` | Интерфейсы, доступные на устройстве пользователя. Сейчас всегда присылается `screen` — пользователь может видеть ответ скилла на экране и открывать ссылки в браузере. |\n\n### `session`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `session_id` | `string` | Уникальный идентификатор сессии, максимум 64 символа. |\n| `user_id`\u0026#x0d;\u0026#x0a;(deprecated) | `string` | Идентификатор экземпляра приложения, в котором пользователь общается с Марусей, максимум 64 символа.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;**Важно!** Это поле устарело, вместо него стоит использовать `session.application.application_id` (см. ниже). |\n| `skill_id` | `string` | Идентификатор вызываемого скилла, присвоенный при создании. Соответствует полю «Маруся ID» в настройках скилла. |\n| `new` | `boolean` | Признак новой сессии:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; ` true` — пользователь начинает новый разговор с вызова навыка, \u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `false` — запрос отправлен в рамках уже начатого разговора. |\n| `message_id` | `integer` | Идентификатор сообщения в рамках сессии, максимум 8 символов. Инкрементируется с каждым следующим запросом. |\n| `user` | `user`(#user) | Данные о пользователе. Передаётся, только если пользователь авторизован. (см. ниже). |\n| `application` | `application`(#application) | Данные об экземпляре приложения (см. ниже). |\n| `auth_token ` | `object` | Авторизационный токен Маруси. |\n\n### `user`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `user_id` | `string` | Идентификатор аккаунта пользователя (максимум 64 символа). Уникален в разрезе: «скилл + аккаунт». |\n\n### `application`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `application_id` | `string` | Идентификатор экземпляра приложения, в котором пользователь общается с Марусей (максимум 64 символа). Уникален в разрезе: «скилл + приложение (устройство)». |\n| `application_type` | `string` | Тип приложения (устройства). Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `mobile`;\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `speaker`;\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `VK`;\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `other`.\n\n### `request`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `command` | `string` | Пользовательский текст, очищенный от слов, не влияющих на смысл предложения. В ходе преобразования текст, в частности, очищается от знаков препинания, удаляются обращения к Марусе и слова, выражающие просьбу, например «пожалуйста», «слушай» и т. д., числительные преобразуются в числа.\u0026#x0d;\u0026#x0a;\u0026#x0d;\u0026#x0a;При завершении скилла (по команде «стоп», «выход» и так далее) в него будет передана команда `on_interrupt`, чтобы у скилла была возможность попрощаться с пользователем. |\n| `original_utterance` | `string` | Полный текст пользовательского запроса, максимум 1024 символа. |\n| `type` | `string` | Тип ввода, обязательное свойство. Возможные значения:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `SimpleUtterance` — голосовой ввод;\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `ButtonPressed` — нажатие кнопки. |\n| `payload` | `object` | JSON, полученный с нажатой кнопкой от обработчика скилла (в ответе на предыдущий запрос), максимум 4 096 байт. Передаётся, только если была нажата кнопка с payload.|\n| `nlu` | `object` | Объект, содержащий слова и именованные сущности, которые Маруся извлекла из запроса пользователя, в поле `tokens` (`array`).|\n\n### Пример запроса\n\n```JSON\n{\n \meta\: {\n \client_id\: \MailRu-VC/1.0\,\n \locale\: \ru_RU\,\n \timezone\: \Europe/Moscow\,\n \interfaces\: {\n \screen\: {}\n }\n },\n \request\: {\n \command\: \какая очередь в столовой\,\n \original_utterance\: \какая очередь в столовой\,\n \type\: \SimpleUtterance\,\n \payload\: {},\n \nlu\: {\n \tokens\: \n \какая\,\n \очередь\,\n \в\,\n \столовой\\n \n }\n },\n \session\: {\n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\,\n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\,\n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\,\n \new\: false,\n \message_id\: 1,\n \user\: {\n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\\n },\n \application\: {\n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\,\n \application_type\: \mobile\\n }\n },\n \version\: \1.0\\n}\n```\n\n## Формат ответа обработчика скилла Марусе\n\n### Структура ответа\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `response` | `response`(#response) | *Обязательное*. Данные для ответа пользователю. |\n| `session` | `session`(#session) | *Обязательное*. Данные о сессии. |\n| `version` | `string` | *Обязательное*. Версия протокола. Текущая — `1.0`. |\n\n### `response`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `text` | `string` или `array` | *Обязательное*. Текст, который следует показать и сказать пользователю, максимум 1 024 символа. Не должен быть пустым. В тексте ответа можно указать переводы строк последовательностью `\\n`. Если передать массив строк, то сообщения разобьются на баблы. |\n| `tts` | `object` | Ответ в формате TTS(marusia/tts) (text-to-speech), максимум 1 024 символа. Поддерживается расстановка ударений с помощью +. |\n| `buttons` | `array` | Кнопки (suggest), которые следует показать пользователю. Кнопки можно использовать как релевантные ответу ссылки или подсказки для продолжения разговора. |\n| `end_session` | `boolean` | *Обязательное*. Признак конца разговора:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `true` — сессию следует завершить,\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; `false` — сессию следует продолжить. |\n| `card` | `card`(marusia/cards) | Описание карточки — сообщения с различным контентом. Подробнее о типах карточек и описание структур в специальном разделе(marusia/cards). |\n| `commands` | `array` | Команды. Поле позволяет передать несколько сообщений в нужном порядке. На данный момент поддерживаются только карточки(marusia/cards). |\n\n### `buttons`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `title` | `string` | *Обязательное*. Текст кнопки, максимум 64 символа. |\n| `url` | `string` | URL, который откроется при нажатии на кнопку, максимум 1 024 байта. Если свойство URL не указано, по нажатию на кнопку навыку будет отправлен текст кнопки. Пока кнопки с URL не поддерживаются в приложении VK. |\n| `payload` | `object` | Любой JSON, который нужно отправить скиллу, если эта кнопка будет нажата, максимум 4 096 байт. |\n\n### `session`\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `session_id` | `string` | *Обязательное*. Уникальный идентификатор сессии, максимум 64 символа. |\n| `user_id` | `string` | *Обязательное*. Идентификатор экземпляра приложения, в котором пользователь общается с Марусей, максимум 64 символа. |\n| `message_id` | `string` | *Обязательное*. Идентификатор сообщения в рамках сессии, максимум 8 символов. Инкрементируется с каждым следующим запросом. |\n\n### Пример ответа\n```JSON\n{\n \response\: {\n \text\: \Сейчас очередь в столовой 5 человек.\,\n \tts\: \Сейчас очередь в столовой пять человек.\,\n \buttons\: \n {\n \title\: \Надпись на кнопке\,\n \payload\: {},\n \url\: \https://example.com/\\n }\n ,\n \end_session\: true\n },\n \session\: {\n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\,\n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\,\n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\,\n \new\: false,\n \message_id\: 1,\n \user\: {\n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\\n },\n \application\: {\n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\,\n \application_type\: \mobile\\n }\n },\n \version\: \1.0\\n}\n```},language:ru,variant:public,expireDate:1668461349552,isManuallyExpired:false},/reference/objects/button:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Вспомогательные объекты и наборы значений | Кнопка,id:reference__objects__button,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/button,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Кнопка\n\nОбъект `button`, описывающий информацию о кнопке, содержит следующие поля:\n\n## `title`\n`string`\nНазвание кнопки. \n\n## `action`\n`object`\nДействие для кнопки. Объект, который содержит следующие поля:\n* `type` (`string`) — тип действия. Возможные значения:\n * `open_url` — открыть адрес из поля `url`;\n* `url` (`string`) — URL для перехода. \n\n\n\n## Версии ниже 5.60\n\n### `title`\n`string`\nНазвание кнопки. \n\n### `url`\n`string`\nURL, на который ведет кнопка.},language:ru,variant:public,expireDate:1668461823763,isManuallyExpired:false},/mini-apps/development/hosting:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Разработка | Хостинг статики,id:mini-apps__development__hosting,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/development/hosting,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Хостинг статики\n\nПосле того как вы запустили мини-приложение внутри ВКонтакте(mini-apps/getting-started#Запуск%20мини-приложения%20внутри%20ВКонтакте), получите постоянную ссылку на него.\n\nЧтобы мини-приложение работало автономно, разместите его на хостинге. Мы создали библиотеку `vk-miniapps-deploy`(https://github.com/VKCOM/vk-miniapps-deploy), чтобы вы могли воспользоваться нашим хостингом.\n\n## Использование\n\n\u003e Деплой на хостинг статики возможен не более 24 раз в сутки.\n\n### Проект мини-приложения из шаблона\n\n1. Создайте мини-приложение из шаблона(mini-apps/getting-started#Создание%20мини-приложения).\n1. Перейдите к папке проекта мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_МИНИ_ПРИЛОЖЕНИЮ\u003e\n ```\n\n1. Установите библиотеку:\n\n ```sh\n npm install @vkontakte/vk-miniapps-deploy --includedev\n ``` \n\n1. Откройте файл `vk-hosting-config.json` в папке проекта. В поле `app_id` замените `0` на идентификатор вашего мини-приложения(mini-apps/management/settings#ID%20приложения), который вы получили при регистрации(mini-apps/getting-started#Регистрация%20мини-приложения%20ВКонтакте). Сохраните изменения.\n\n ```JSON\n {\n \static_path\: \build\,\n \app_id\: 51405499,\n \endpoints\: {\n \mobile\: \index.html\,\n \mvk\: \index.html\,\n \web\: \index.html\\n }\n }\n ```\n\n1. Разверните мини-приложение:\n\n ```sh\n npm run deploy\n ```\n\n \u003e Перед деплоем автоматически выполнится команда `npm run build`, соберётся проект, а в каталоге проекта появится файл `build.zip` и каталог `build`.\n\n1. Согласитесь на настройки по умолчанию: введите **Y**/**y** или нажмите **Enter**.\n1. В командной строке вы получите ссылку вида: `https://oauth.vk.com/code_auth?stagecheck\u0026code1c2d2bd`. Откройте её в браузере, чтобы пройти аутентификацию.\n1. Вернитесь в терминал и подтвердите действие в командной строке: введите **Y**/**y** или нажмите **Enter**.\n1. Подтвердите размещение мини-приложения на хостинге: введите код из личных сообщений от администрации ВКонтакте. Также в push-уведомлении нужно подтвердить автоматическое изменение URL вашего мини-приложения.\n\n \u003e Если мини-приложение не размещается, проверьте, что в поле `app_id` указан корректный идентификатор вашего мини-приложения.\n\n1. Перейдите по ссылке `vk.com/app\u003cid\u003e`, чтобы увидеть работу мини-приложения. Мини-приложение будет размещено на хостинге ВКонтакте, а ссылка вида: `https://prod-app1-1.pages-ac.vk-apps.com/index.html` появится в поле **URL** раздела Настройки(mini-apps/management/settings).\n\n### Проект мини-приложения на Node.js\n\n1. Перейдите к папке проекта мини-приложения:\n\n ```sh\n cd \u003cПУТЬ_К_МИНИ_ПРИЛОЖЕНИЮ\u003e\n ```\n\n1. Установите библиотеку:\n\n ```sh\n npm install @vkontakte/vk-miniapps-deploy --includedev\n ``` \n\n1. Создайте файл `vk-hosting-config.json`(#Файл%20vk-hosting-config.json).\n1. Создайте папку `build` и перенесите в неё все статические файлы.\n\n ```\n .\n └── mini-app\n ├── build\n ├── cactus.png\n ├── dinosaur.png\n ├── index.html\n ├── script.js\n └── style.css\n ├── src\n ├── package-lock.json\n ├── package.json\n ├── README.md\n └── vk-hosting-config.json\n ```\n\n1. В командной строке проекта задеплойте его:\n\n ```sh\n vk-miniapps-deploy\n ```\n\n1. Или добавьте в файл `package.json` скрипт `deploy`, после чего сохраните файл:\n\n ```json\n \scripts\: {\n ...\n \deploy\: \vk-miniapps-deploy\\n }\n ```\n \n И задеплойте проект:\n\n ```sh\n npm run deploy\n ```\n\n \u003e Перед деплоем автоматически выполнится команда `npm run build`, соберётся проект, а в каталоге проекта появится файл `build.zip` и каталог `build`.\n\n1. Согласитесь на настройки по умолчанию: введите **Y**/**y** или нажмите **Enter**.\n1. В командной строке вы получите ссылку вида: `https://oauth.vk.com/code_auth?stagecheck\u0026code1c2d2bd`. Откройте её в браузере, чтобы пройти аутентификацию.\n1. Вернитесь в терминал и подтвердите действие в командной строке: введите **Y**/**y** или нажмите **Enter**.\n1. Подтвердите размещение мини-приложения на хостинге: введите код из личных сообщений от администрации ВКонтакте. Также в push-уведомлении нужно подтвердить автоматическое изменение URL вашего мини-приложения.\n\n \u003e Если мини-приложение не размещается, проверьте, что в поле `app_id` указан корректный идентификатор вашего мини-приложения.\n\n1. Перейдите по ссылке `vk.com/app\u003cid\u003e`, чтобы увидеть работу мини-приложения. Мини-приложение будет размещено на хостинге ВКонтакте, а ссылка вида: `https://prod-app1-1.pages-ac.vk-apps.com/index.html` появится в поле **URL** раздела Настройки(mini-apps/management/settings).\n\n## Файл `vk-hosting-config.json`\n\nДля настройки библиотеки `vk-miniapps-deploy` укажите файл `vk-hosting-config.json`:\n\nПример файла:\n\n```JSON\n{\n \static_path\: \build\,\n \app_id\: 51405499,\n \endpoints\: {\n \mobile\: \index.html\,\n \mvk\: \index.html\,\n \web\: \index.html\\n }\n}\n```\n\n### `static_path`\n\nПуть, по которому обращается библиотека за статическими файлами.\n\n### `app_id`\n\nИдентификатор мини-приложения.\n\n### `endpoints`\n\nОбъект платформ, для которых нужно автоматически заменить адрес в Настройках(mini-apps/management/settings). Возможные значения:\n\n* `mobile` — мобильное приложение.\n* `mvk` — мобильная версия сайта.\n* `web` — десктопная версия сайта.\n\nДля каждой платформы указывается файл, из которого будет собираться мини-приложение для нужной платформы.\n\n### `nopromt`\n\nИнформация о том, нужно ли выполнить деплой на Continuous Integration (CI). Имеет единственное значение `true`.\n\n## На что обратить внимание\n\n* Убедитесь, что в файле `package.json` значение `\homepage\:\./\`\n\n## CI\n\nЧтобы задеплоить проект, используйте команду:\n\n```sh\n$ env MINI_APPS_ACCESS_TOKEN\u003cКЛЮЧ_ДОСТУПА\u003e yarn deploy\n```\n\n### Получение ключа доступа\n\n:::note\n**Примечание.** Информация о ключе доступа выведется только после авторизации в библиотеке.\n:::\n\n#### Команда запуска деплоя\n\nЧтобы получить ключ доступа, выполните команду запуска деплоя:\n\n```sh\nCI_URLStrue npm run deploy\n```\n\nВ консоли выведется информация о ключе доступа.\n\n!altВнешний вид вывода консоли и ключа доступа в ней;titleВывод консоли(44481cddde9a7059455784968c6367047c13a394b752ef8f691a2718 \-1342214232158817818\)\n\n#### Файл ключа доступа библиотеки\n\nЧтобы вывести содержимое файла ключа доступа, выполните команду:\n\n```sh\ncat ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json\n```\n\nВ консоли выведется информация о ключе доступа.\n\n!altВнешний вид вывода консоли и ключа доступа в ней;titleВывод консоли(800a745117b421ac083de81348f9b1f59efa25811acf4cb78a0cc5b6 \-136631131597184129\)\n\n### Переменные окружения\n\n#### `MINI_APPS_ACCESS_TOKEN`\n\nТокен можно получить от библиотеки `vk-miniapps-deploy`. Или используйте сервисный ключ доступа мини-приложения(mini-apps/management/settings#Сервисный%20ключ%20доступа).\n\n#### `MINI_APPS_ENVIRONMENT`\n\nОкружение для деплоя. Возможные значения:\n\n* `production` — production-окружение. Ссылки на production-окружение имеют префикс `prod-`.\n* `dev` — dev-окружение. Ссылки на dev-окружение имеют префикс `stage-`.\n\n:::note\n**Примечание.** При деплое на production-окружение также выполнится деплой на dev-окружение.\n:::\n\n#### `CI_URLS`\n\nПодготовка URL-адресов production- или dev-окружения. Имеет единственное значение `true`.\n\n:::note\n**Примечание.** Чтобы деплой выполнился корректно, нужно также указать переменную `nopromt`(#nopromt) в файле `vk-hosting-config.json`.\n:::\n\n## FAQ\n\n### Получаю ошибку `Error: 5: User authorization failed: invalid session`. Что делать?\n\nЕсли вы выполнили команду `npm run deploy` и видите ошибку авторизации, обновите ключ доступа библиотеки:\n\n```sh\nrm ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json\n```\n\n### Не могу найти ключ доступа. Что делать?\n\n1. Выполните команду, описанную в разделе Получаю ошибку `Error: 5: User authorization failed: invalid session`. Что делать?(#Получаю%20ошибку%20Error:%205:%20User%20authorization%20failed:%20invalid%20session.%20Что%20делать?).\n1. Выполните шаги, описанные в разделе Получение ключа доступа(#Получение%20ключа%20доступа).\n},language:ru,variant:public,expireDate:1668463096410,isManuallyExpired:false},/authorized-payments:{type:article,layout:internal,template:/article,contents:{title:Правила | Одобренные способы оплаты,id:authorized-payments,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:authorized-payments,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Одобренные способы оплаты\n\n\u003e **Важно!**\n\u003e\n\u003e Обратите внимание, что приложения-магазины **не могут** использовать как средство оплаты **SMS-платежи и подписки**.\n\u003e\n\nВ приложениях, соответствующих требованиям к магазинам ВКонтакте(market-rules), разрешено использовать следующие внешние платёжные системы:\n* QIWI Кошелёк\n* WebMoney\n* Яндекс.Деньги\n* Google Checkout\n* Paypal\n* Money Mail\n* RBK Money\n* Robokassa\n* 2pay\n* Деньги-Онлайн\n* Intellect Money\n* Moneta.ru\n* А также все платёжные шлюзы, осуществляющие приём банковских карт (Assist, Cyberplay, Platezh.ru и другие). Помимо указанных платёжных систем к оплате может также приниматься **оплата курьеру во время доставки** и **оплата товара наложенным платежом при получении**.},language:ru,variant:public,expireDate:1668463345010,isManuallyExpired:false},/api/direct-auth:{type:article,layout:internal,template:/article,contents:{title:Использование API | Ключ доступа | Прямая авторизация,id:api__direct-auth,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/direct-auth,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Прямая авторизация\n\n\u003e **Внимание!** \n\u003e * Доступ к этому типу авторизации может быть получен только после предварительного согласования с администрацией ВКонтакте.\n\u003e * Для подачи заявки на получение доступа необходимо обратиться в службу поддержки по адресу https://vk.com/support(https://vk.com/support), указав идентификатор вашего приложения. В заявке необходимо кратко описать функционал приложения.\n\u003e * В настоящий момент эта возможность есть только у платформ, не поддерживающих стандартную авторизацию(api/access-token/implicit-flow-user). \n\nДоверенные приложения могут получить неограниченный по времени `access_token` для доступа к API, передав логин и пароль пользователя. \n\nОбратите внимание, что приложение не должно хранить пароль пользователя. \nВыдаваемый `access_token` не привязан к IP-адресу пользователя, поэтому его достаточно для последующей работы с API без повторения процедуры авторизации. \n\n## Параметры запроса\n\nДля авторизации нужно послать запрос на адрес `https://oauth.vk.com/token`(https://oauth.vk.com/token), передав следующие `POST`-параметры:\n\n* `grant_type` (**обязательный параметр**) — тип авторизации, должен быть равен `password`.\n* `client_id` (**обязательный параметр**) — id вашего приложения.\n* `client_secret` (**обязательный параметр**) — секретный ключ вашего приложения.\n* `username` (**обязательный параметр**) — логин пользователя.\n* `password` (**обязательный параметр**) — пароль пользователя.\n* `scope` — права доступа(reference/access-rights), необходимые приложению.\n* `test_redirect_uri` — использовать ли тестовую проверку. Допустимые значения:\n * `1` — инициировать тестовую проверку пользователя, используя `redirect_uri`.\n * `0` — обычная авторизация (по умолчанию).\n* `v` — Версия API(reference/versions), которую вы используете. При повышении версии пожалуйста ознакомьтесь со списком изменений(reference/versions). Актуальная версия: **:version**.\n* `2fa_supported` — передайте `1`, чтобы включить поддержку двухфакторной аутентификации.\n\n### Пример запроса авторизации\n\n```\nhttps://oauth.vk.com/token?grant_typepassword\u0026client_id1914441\u0026client_secret***\u0026username***\u0026password***\u0026v:version\u00262fa_supported1\n```\n\n## Обработка дополнительных проверок аккаунта\n\nВ случаях, когда требуется дополнительная проверка пользователя, например при авторизации из подозрительного места, будет возвращена следующая ошибка:\n\n```JSON\n{\n \error\: \need_validation\,\n \error_description\: \please open redirect_uri in browser\,\n \redirect_uri\: \https://oauth.vk.com/security_check?typetest\u0026mid66748\u0026hash23132d8b8744f8b1b2\\n}\n```\n\nВ этом случае необходимо открыть браузер со страницей, указанной в поле `redirect_uri` и ждать, пока пользователь будет направлен на страницу blank.html с параметром `success1` в случае успеха и `fail1` в случае, если пользователь отменил проверку своего аккаунта. \n\nДля тестового вызова проверки добавьте параметр `test_redirect_uri1`. \n\n## Двухфакторная аутентификация\n\nЕсли вы передали в запросе параметр `2fa_supported1` и у пользователя включена двухфакторная аутентификация, на запрос с верными логином и паролем вернется ошибка `need_validation` со следующими полями:\n\n* `validation_type` — тип подтверждения. Возможные значения:\n * `2fa_sms` — подтверждение через SMS;\n * `2fa_app` — подтверждение с помощью приложения для генерации кодов.\n* `phone_mask` — маска номера телефона.\n\nНеобходимо запросить у пользователя код подтверждения и повторно отправить запрос на авторизацию с дополнительным параметром `code`, содержащим код подтверждения.\n\nЕсли возникли проблемы с получением кода из приложения или пользователь не хочет использовать приложение для генерации кодов, вы можете форсировать получение кода по SMS, повторно передав запрос авторизации с параметром `force_sms``1`.\n\n### Пример ответа\n\n```JSON\n{\n \access_token\: \9d77c727986d7668986d7668049870402D1986d986d76684bbc9b1bf8488de9\,\n \expires_in\: 0,\n \user_id\: 85635407\n}\n```\n\n\n### Пример ответа при необходимости ввода CAPTCHA\n\n```JSON\n{\n \error\: \need_captcha\,\n \captcha_sid\: \854844498568\,\n \captcha_img\: \http://api.vk.com/captcha.php?sid854844498568\u0026s1\\n}\n```\n\nВ этом случае необходимо повторить запрос, добавив к нему следующие параметры:\n* `captcha_sid` — поле `captcha_sid`, полученное в предыдущем запросе;\n* `captcha_key` — то, что ввёл пользователь.},language:ru,variant:public,expireDate:1668463629360,isManuallyExpired:false},/bridge/VKWebAppSendToClient:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | Общие события | VKWebAppSendToClient,id:bridge__VKWebAppSendToClient,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppSendToClient,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppSendToClient\n\n`VKWebAppSendToClient` показывает окно с предложением открыть мини-приложение или игру на привязанном к аккаунту мобильном устройстве.\n\n## Пример\n\n```JavaScript\nbridge.send(VKWebAppSendToClient)\n .then((data) \u003e {\n if (data.result) {\n // Мини-приложение или игра запущены на мобильном устройстве\n }\n })\n .catch((error) \u003e {\n // Ошибка\n console.log(error);\n });\n```\n\n## Платформы\n\nMobile Web, Web\n\n## Параметры\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `fragment` \u0026#x0d;\u0026#x0a;*необязательное* | `string` | Хеш — строка после символа `#` в URL вида `vk.com/app6909581#`. |\n\n## Результат\n\nПроверить результат можно:\n\n* Используя объект `Promise`(#Объект%20Promise), который возвращается вызовом `bridge.send(...)`.\n\n* С помощью событий(#События) `VKWebAppSendToClientResult` и `VKWebAppSendToClientFailed`.\n\nПодробнее о проверке результатов при вызовах VK Bridge(bridge/getting-started#Обработка%20результата).\n\n### Объект `Promise`\n\nЕсли обращение к платформе прошло успешно, управление будет передано в `then`-обработчик объекта `Promise`. В качестве ответа платформа возвращает объект со следующим полем:\n\n| Поле | Тип | Описание |\n| --- | --- | --- |\n| `result` | `boolean` | `true`, если мини-приложение или игра запущены на мобильном устройстве. |\n\nЕсли при обращении к платформе произошла ошибка, управление передаётся в метод `catch`. В качестве ответа платформа возвращает объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех событий VK Bridge.\n\n### События\n\n#### `VKWebAppSendToClientResult`\n\nСигнализирует, что мини-приложение или игра запущены на мобильном устройстве. В обработчик события на стороне пользователя передаются следующие данные: \n\n```JavaScript\n{\n detail: {\n type: \VKWebAppSendToClientResult\,\n data: {\n result: true\n }\n }\n}\n```\n\nПередаваемый объект подобен объекту, возвращаемому при успешном выполнении промиса(#Объект%20Promise).\n\n#### `VKWebAppSendToClientFailed`\n\nИнформирует об ошибке, которая произошла при взаимодействии с платформой.\n\nВ обработчик события на стороне пользователя передаётся объект с информацией об ошибке(bridge/getting-started#Обработка%20ошибок%20VK%20Bridge), общий для всех методов VK Bridge.\n\n#### Пример обработки событий\n\nСмотрите раздел Обработка событий-результатов(bridge/getting-started#Обработка%20результата).\n\n## Песочница\n\nVKWebAppSendToClient(https://vk.cc/bZfu1G)\n},language:ru,variant:public,expireDate:1668463658849,isManuallyExpired:false},/method/messages.createChat:{type:method,layout:internal,template:/method,contents:{title:messages.createChat,id:messages.createChat,description:Создаёт беседу с несколькими участниками.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.createChat,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:{title:936,id:,description:Contact not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:user_ids,description:Идентификаторы пользователей, которых нужно включить в мультидиалог. Должны быть в друзьях у текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:title,description:Название беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает идентификатор созданного чата (`chat_id`).,evalHash:,shouldHideConsole:false,linkedMethods:{title:messages.addChatUser,id:messages.addChatUser,description:Добавляет в мультидиалог нового пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.addChatUser,type:BASE,isSearchable:false,tokenTypes:is_standalone,children:},{title:messages.editChat,id:messages.editChat,description:Изменяет название беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.editChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone,children:},linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668464080305,isManuallyExpired:false},/method/messages.joinChatByInviteLink:{type:method,layout:internal,template:/method,contents:{title:messages.joinChatByInviteLink,id:messages.joinChatByInviteLink,description:Позволяет присоединиться к чату по ссылке-приглашению.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.joinChatByInviteLink,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:103,id:,description:Out of limits,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:917,id:,description:You dont have access to this chat,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:link,description:Ссылка-приглашение.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает идентификатор чата в поле `chat_id`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668464105387,isManuallyExpired:false},/method/messages.getLastActivity:{type:method,layout:internal,template:/method,contents:{title:messages.getLastActivity,id:messages.getLastActivity,description:Возвращает текущий статус и дату последней активности указанного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getLastActivity,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:user_id,description:идентификатор пользователя, информацию о последней активности которого требуется получить.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, содержащий следующие поля:\n* `online` — текущий статус пользователя (`1` — в сети, `0` — не в сети);\n* `time` — дата последней активности пользователя в формате `unixtime`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668464318891,isManuallyExpired:false},/method/users.search:{type:method,layout:internal,template:/method,contents:{title:users.search,id:users.search,description:Возвращает список пользователей в соответствии с заданным критерием поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/users.search,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:q,description:Строка поискового запроса. Например, `Вася Бабич`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sort,description:Сортировка результатов. Возможные значения:\n* `1` — по дате регистрации,\n* `0` — по популярности.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение относительно первого найденного пользователя для выборки определенного подмножества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество возвращаемых пользователей.\n\n\u003e Обратите внимание, даже при использовании параметра `offset` для получения информации доступны только первые 1000 результатов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей профилей, которые необходимо вернуть. См. подробное описание(reference/objects/user).\nДоступные значения: \n* `about`,\n* `activities`, \n* `bdate`, \n* `blacklisted`,\n* `blacklisted_by_me`\n* `books`,\n* `can_post`, \n* `can_see_all_posts`,\n* `can_see_audio`,\n* `can_send_friend_request`,\n* `can_write_private_message`, \n* `career`, \n* `city`,\n* `common_count`, \n* `connections`,\n* `contacts`, \n* `country`,\n* `crop_photo`, \n* `domain`, \n* `education`, \n* `exports`, \n* `followers_count`,\n* `friend_status`,\n* `games`, \n* `has_mobile`,\n* `has_photo`, \n* `home_town`,\n* `interests`, \n* `is_favorite`, \n* `is_friend`, \n* `is_hidden_from_feed`,\n* `last_seen`,\n* `lists`, \n* `maiden_name`,\n* `military`, \n* `movies`, \n* `music`, \n* `nickname`,\n* `occupation`, \n* `online`,\n* `personal`, \n* `photo_100`,\n* `photo_200`, \n* `photo_200_orig`,\n* `photo_400_orig`, \n* `photo_50`,\n* `photo_id`,\n* `photo_max`, \n* `photo_max_orig`,\n* `quotes`,\n* `relation`,\n* `relatives`, \n* `schools`,\n* `screen_name`, \n* `sex`,\n* `site`,\n* `status`,\n* `timezone`, \n* `tv`, \n* `universities`, \n* `verified`,\n* `wall_comments`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:city,description:Идентификатор города.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:city_id,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:country,description:Идентификатор страны.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:country_id,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:hometown,description:Название города строкой.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:university_country,description:Идентификатор страны, в которой пользователи закончили ВУЗ.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:university,description:Идентификатор ВУЗа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:university_year,description:Год окончания ВУЗа.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:university_faculty,description:Идентификатор факультета.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:university_chair,description:Идентификатор кафедры.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sex,description:Пол. Возможные значения:\n* `1` — женщина,\n* `2` — мужчина,\n* `0` — любой (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:status,description:Семейное положение. Возможные значения:\n* `1` — не женат (не замужем),\n* `2` — встречается,\n* `3` — помолвлен(-а),\n* `4` — женат (замужем),\n* `5` — всё сложно,\n* `6` — в активном поиске,\n* `7` — влюблен(-а),\n* `8` — в гражданском браке.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:age_from,description:Возраст, от.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:age_to,description:Возраст, до.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:birth_day,description:День рождения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:birth_month,description:Месяц рождения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:birth_year,description:Год рождения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:online,description:Учитывать ли статус «онлайн». Возможные значения:\n* `1` — искать только пользователей онлайн,\n* `0` — искать по всем пользователям.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:has_photo,description:Учитывать ли наличие фото. Возможные значения:\n* `1` — искать только пользователей с фотографией,\n* `0` — искать по всем пользователям.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:school_country,description:Идентификатор страны, в которой пользователи закончили школу.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:school_city,description:Идентификатор города, в котором пользователи закончили школу.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:school_class,description:Буква класса.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:school,description:Идентификатор школы, которую закончили пользователи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:school_year,description:Год окончания школы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:religion,description:Религиозные взгляды.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:company,description:Название компании, в которой работают пользователи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:position,description:Название должности.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор группы, среди пользователей которой необходимо проводить поиск.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:from_list,description:Разделы среди которых нужно осуществить поиск, перечисленные через запятую. \nВозможные значения:\n* `friends` — искать среди друзей,\n* `subscriptions` — искать среди друзей и подписок пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает объект, содержащий число результатов в поле `count` и массив объектов, описывающих пользователей(reference/objects/user) в поле `items`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668464968746,isManuallyExpired:false},/marusia/session-state:{type:article,layout:internal,template:/article,contents:{title:Маруся | Хранение состояния,id:marusia__session-state,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:marusia/session-state,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Хранение состояния\n\nПо умолчанию, без дополнительных настроек, скиллам доступно сохранение данных внутри сессии и между сессиями. \n\n## Хранение данных в сессии\n\nЧтобы сохранить состояние внутри сессии, навык должен положить нужные данные в поле `session_state` в ответе. И в следующем запросе эти данные вернутся в поле `state.session`. Но если в очередном ответе не записать данные в `session_state`, то в следующем запросе поле будет пустым (данные затрутся, даже если не изменятся). Помимо этого, состояние теряется в таких случаях:\n* пользователь выходит из скилла; \n* скилл сам явно завершает работу, передав `\end_session\: true`; \n* выход происходит по таймауту, когда пользователь не отвечает некоторое время (1 минуту). \n\n\u003e Лимит размера json-объекта `session_state` — 5 Кбайт.\n\nНапример, скилл отвечает следующим образом, сохраняя объект `{\privet\: \Как дела?\}`:\n\n```JSON\n{ \n \version\: \1.0\, \n \session\: { \n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\, \n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\, \n \new\: false, \n \message_id\: 1, \n \user\: { \n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\ \n }, \n \application\: { \n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \application_type\: \mobile\ \n } \n }, \n \response\: { \n \end_session\: false, \n \text\: \Привет-привет\, \n }, \n \session_state\: { \n \privet\: \Как дела?\ \n } \n}\n```\nКогда пользователь снова что-то скажет скиллу, в него придёт следующий запрос, с сохранённым объектом: \n```JSON\n{ \n \meta\: { \n \client_id\: \MailRu-VC/1.0\, \n \locale\: \ru_RU\, \n \timezone\: \Europe/Moscow\, \n \interfaces\: { \n \screen\: {} \n }, \n \_city_ru\: \Москва\ \n }, \n \request\: { \n \command\: \on_interrupt\, \n \original_utterance\: \Привет\, \n \type\: \SimpleUtterance\, \n \nlu\: { \n \tokens\: \n \привет\ \n , \n \entities\: \n } \n }, \n \session\: { \n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\, \n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\, \n \new\: false, \n \message_id\: 1, \n \user\: { \n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\ \n }, \n \application\: { \n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \application_type\: \mobile\ \n } \n }, \n \state\: { \n \session\: { \n \privet\: \Как дела?\ \n }, \n \user\: {} \n }, \n \version\: \1.0\ \n}\n```\n\n## Персистентное хранение данных\n\nЕсли пользователь Маруси авторизован, то у скилла появляется возможность хранить данные с привязкой к пользователю. При этом такие, эти данные будут доступны от сессии к сессии и независимо от устройства, на котором авторизован пользователь. \nДля персистентного хранения данных о юзере скилл должен отправить нужный объект в поле `user_state_update`. Возвращаться этот объект будет в поле `state.user`. Чтобы удалить конкретное поле из сохранённого json-объекта, нужно положить `null` в это поле.\n\n\u003e Лимит размера json-объекта `user_state_update` — 5 Кбайт.\n\nНапример, попробуем сохранить всё тот же объект `{\privet\: \Как дела?\}`, только теперь в персистентное хранилище: \n```JSON\n{ \n \version\: \1.0\, \n \session\: { \n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\, \n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\, \n \new\: false, \n \message_id\: 1, \n \user\: { \n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\ \n }, \n \application\: { \n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \application_type\: \mobile\ \n } \n }, \n \response\: { \n \end_session\: false, \n \text\: \Привет-привет\, \n }, \n \user_state_update\: { \n \privet\: \Как дела?\ \n } \n}\n```\nТеперь этот объект будет возвращаться при всех последующих запросах пользователя — пока его не обновит сам скилл, конечно 🙂\n```JSON\n{ \n \meta\: { \n \client_id\: \MailRu-VC/1.0\, \n \locale\: \ru_RU\, \n \timezone\: \Europe/Moscow\, \n \interfaces\: { \n \screen\: {} \n }, \n \_city_ru\: \Москва\ \n }, \n \request\: { \n \command\: \on_interrupt\, \n \original_utterance\: \Привет\, \n \type\: \SimpleUtterance\, \n \nlu\: { \n \tokens\: \n \привет\ \n , \n \entities\: \n } \n }, \n \session\: { \n \session_id\: \01bfd28fe3a326-c-2-fea35db06d4-a8930\, \n \user_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \skill_id\: \5b23aa28b9cbd41ad25-21-2-60c7-121d4b\, \n \new\: false, \n \message_id\: 1, \n \user\: { \n \user_id\: \c825511e862f23f3728a58cd3b15896cd243c7460237c651944b7499c7c9a425\ \n }, \n \application\: { \n \application_id\: \f63bc4d9e9c89abe10fbe874b5400b67c0df41f86143ec22629b00be606a1dac\, \n \application_type\: \mobile\ \n } \n }, \n \state\: { \n \session\: {}, \n \user\: { \n \privet\: \Как дела?\ \n } \n }, \n \version\: \1.0\ \n}\n```},language:ru,variant:public,expireDate:1668465103412,isManuallyExpired:false},/bots-rules:{type:article,layout:internal,template:/article,contents:{title:Правила | Правила для ботов,id:bots-rules,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bots-rules,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Правила для ботов\n\n**1.** Ботам запрещено использовать подписку на сообщество, отметки «Нравится», репосты и подписку на рассылку как обязательное условие работы бота. Полная или частичная функциональность ботов не должна зависеть от того, является пользователь участником сообщества, поставил ли он отметку «Нравится», сделал ли он репост и подписался ли на рассылку. Например, если основная функция бота — обрабатывать фотографии, то он не может делать это только после подписки на сообщество.\n**1.1.** Примеры запрещённых условий: «Чтобы получить арт, подпишись на меня», «Эта возможность доступна только подписчикам», «Если хочешь продолжить игру, сделай репост закреплённой записи и поставь лайк на аватар» и подобные. Такие просьбы недопустимы в переписке с пользователями, приветственном сообщении, на стене сообщества и т. д.\n**1.2.** Разрешено устраивать раздачи и конкурсы на стене сообщества, благодаря которым участники могут получить пользу (игровую валюту, дополнительные жизни, бесплатные выполнения команд в платных ботах и т. д.), сделав репост, поставив лайк или написав комментарий. Например: «Раздаём 100 монет всем, кто сделает репост», «10 дополнительных бесплатных артов за репост» и т. д. \n**1.2.1.** Любые раздачи и конкурсы должны соответствовать Правилам проведения конкурсов ВКонтакте(https://vk.com/page-59800369_53731448).\n\n**2.** Если бот обещает выполнить какую-то функцию (обработать фото или видео, прислать ключ, анекдот и так далее), то должен сделать это в течение суток с момента запроса пользователя. \n**2.1.** Если бот не работает по техническим причинам, информация об этом должна быть размещена на видном месте в его сообществе. \n**2.2.** Если бот должен выполнить функцию в будущем — в ответ на вызов команды бот должен прислать информацию о времени выполнения команды. Например, если результат работы команды зависит от внешних факторов, таких как события, мероприятия, или если команда является запланированным напоминанием. Взаимодействие с ботом при этом не должно быть заблокировано.\n\n**3.** Просьбы подписаться на сообщество, поставить лайк, сделать репост и т. д.\n**3.1.** Пока бот обрабатывает запрос от пользователя и не выполнил свою команду, ему не следует отправлять такие просьбы. Примеры неправильного ответа: «Пока ждёшь арт, подпишись», «Запрос принят в обработку, не забудь поставить лайк на закреплённую запись». \n**3.2.** Подобные просьбы недопустимы в приветственном сообщении сообщества. \n**3.3.** Подобные просьбы разрешено рассылать не более одного раза в сутки и только после выполнения основной функции бота.\n**3.4.** Подобные просьбы разрешено отправлять только в сообщениях, которые отвечают за запрос пользователя, например: «Держи обработанную фотографию. Если тебе нравится наш бот — подпишись на сообщество, чтобы быть в курсе всех новостей».\n\n**4.** Название команды должно ясно и чётко отражать действие, которое произойдёт в результате её выполнения.\n**4.1.** Если по команде бота пользователю будут предложены ссылки на другие сообщества или сайты, не имеющие прямого отношения к боту или касающиеся его косвенно, команда должна иметь соответствующее название или содержать предупреждение. Например, если при выполнении команды бот пришлёт ссылку на официальный сайт партнёра, команда должна так и называться: «Ссылка на оф. сайт партнёра».\n**4.2.** Запрещено вводить пользователя в заблуждение, намерено указывая неправильные названия команд.\n\n**5.** Основная функциональность бота не должна заключаться в постоянном или периодическом уводе на другие сайты, за исключением ботов, созданных специально для поиска товаров, услуг и иной полезной информации. \n\n**6.** Бот может отправлять рекламные сообщения / рассылки пользователю, если они соответствуют Правилам размещения рекламы в сообществах(https://vk.com/page-59800369_53731475) и Правилам монетизации ботов(bots-rules#Правила%20монетизации%20ботов).\n\n**7.** Администрация Сайта имеет право отключить бота, если он не соответствует вышеперечисленным правилам или противоречит стандартам Администрации. \n**7.1.** Любые рекламные сообщения / рассылки в многопользовательские беседы запрещены. При нарушении этого правила сообществу будут отключены сообщения.\n\n**8.** При отправке сообщений, содержащих пользовательский контент, необходимо передавать его источник(api/bots/development/messages#Сообщения%20с%20пользовательским%20контентом). Им может быть: фотография из альбома, запись, комментарий, сообщение и т. д. Наличие источника позволит избежать блокировок, если пользователи будут отправлять запрещённые Правилами платформы(https://vk.com/terms) материалы, и может быть полезно любым ботам, пересылающим пользовательский контент. Например, ботам, позволяющим людям общаться между собой, или дейтинг-ботам с анкетами, в которых можно добавлять фотографии, указывать информацию о себе и т. д., особенно в тех случаях, когда её видят другие пользователи чат-бота.\n\n## Правила монетизации ботов\nВы можете монетизировать бота следующими способами: \n**1.** Платная подписка. \n**1.1.** Бот может выполнять свои команды платно: давать пользователям необходимую информацию и удовлетворять их запросы за вознаграждение. Разработчик сам определяет стоимость запроса, а также настраивает систему оплаты. \n**1.2.** Бот может работать по платным подпискам разных уровней доступа к возможностям бота. \n**1.3.** Информация о платных вариантах работы бота должна быть легкодоступна и хорошо видна. Например, в меню сообщества, приветственном сообщении или в закреплённой записи. \n**1.4.** Пример платной подписки: «Получить дополнительно ещё 10 фотографий можно, оплатив 50 рублей», «Купите 30 дней неограниченного использования всех возможностей бота за 490 рублей».\n\n**2.** Бот может просить подписаться на рекламную рассылку. Сообщения из этой рассылки пользователь должен получать не чаще, чем один раз в семь дней. \n**2.1.** За подписку на рекламную рассылку бот может предлагать выполнение какой-то команды или бонусы (это может быть игровая валюта, бесплатное выполнение платных команд бота и другое).\n**2.2.** Попросить подписаться на рассылку можно в приветственном сообщении, которое задается в настройках сообщества, в основном меню бота или в его подменю. Например, можно сделать следующую структуру: «Основное меню» -\u003e «Управление рассылкой» -\u003e «Подписаться на рекламную рассылку». При этом запрещено просить подписаться на рассылку во время выполнения команд пользователя или в процессе взаимодействия с ботом.\n**2.3.** Просьба подписаться на рассылку и кнопка, которая выполняет подписку, должна в явном виде давать понять пользователю, что он будет подписан на рекламную рассылку и будет получать сообщения не чаще, чем один раз в семь дней. \n**2.4.** После нажатия на кнопку подписки бот должен написать пользователю, что тот подписан на рекламную рассылку, и указать способ отписки. \n**2.5.** Каждое сообщение рекламной рассылки должно сопровождаться кнопкой для отписки от рассылки. \n**2.6.** Сообщение должно быть помечено интентом — `promo_newsletter`.\n\n**3.** Бот может получить доступ к Рекламному API, если он проходит по критериям, описанным в пункте **3-1**, и прошёл модерацию командой ВКонтакте. \n**3.1.** Критерии:\n**3.1.1.** Среднесуточная аудитория бота за последние 30 дней — не менее 50К пользователей.\n**3.1.2.** Бот включён в сообществе более трёх месяцев.\n**3.1.3.** К сообществу бота не применялось каких-либо наказаний за нарушения правил сайта за последние полгода.\n**3.1.4.** Администрация оставляет за собой право отказать боту в доступе к Рекламному API, если он не соответствует правилам или противоречит стандартам Администрации.\n**3.2.** После прохождения модерации бот сможет отправлять сообщения, используя Рекламный API.\n**3.2.1.** В диалоге с ботом пользователю будет показано предупреждение о том, что этот бот может присылать рекламные сообщения.\n**3.3.** Бот может отправлять рекламу пользователю не более одного раза в сутки и только после выполнения своей основной функции. При этом бот предварительно должен спросить у пользователя разрешение на показ рекламы.\n**3.3.1.** Сообщение с приглашением получить рекламу должно в явном виде быть помечено как реклама (внутри сообщения текстом должно быть написано, что это реклама / партнёрский материал / акция и т. д.). Хороший пример такого сообщения: «Сообщение от партнёра: „Привет! Сегодня твоя анкета популярнее других. У меня есть несколько свободных мест на кастинг для фотомоделей. Одно из этих мест я решил отдать тебе. Это уникальная возможность пройти обучение и стать топ-моделью. Хочешь узнать больше?“»\n**3.3.2.** Сообщение с предложением получить рекламу должно быть помечено интентом `bot_ad_invite`.\n**3.3.3.** В ответ на приглашение получить рекламу пользователь может согласиться получить рекламу или отказаться от получения рекламы. \n**3.3.4.** Пользователь должен иметь возможность продолжить пользоваться ботом после отказа получить рекламу. \n**3.3.5.** Рекламное сообщение должно отправляться пользователю только после его согласия получить рекламу и должно отмечаться интентом `bot_ad_promo`.\n**3.3.6.** Сообщение с предложением получить рекламу и рекламное сообщение должно соответствовать \nправилам платформы(https://vk.com/terms) и правилам размещения рекламы(https://vk.com/page-59800369_53731475).\n**4.** При нарушении правил, перечисленных в разделе Правила монетизации ботов(#Правила%20монетизации%20ботов), сообществу будут отключены сообщения.\n**5.** Бот, которого наказали за нарушение правил сайта, автоматически отключается от возможностей Рекламного API. Получить разрешение для повторного подключения он может через Поддержку, если произошла ошибка. Либо через полгода, согласно критериям отбора сообществ.},language:ru,variant:public,expireDate:1668467387836,isManuallyExpired:false},/method/friends.getByPhones:{type:method,layout:internal,template:/method,contents:{title:friends.getByPhones,id:friends.getByPhones,description:Возвращает список друзей пользователя, у которых завалидированные или указанные в профиле телефонные номера входят в заданный список.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/friends.getByPhones,redirectTo:,menuId:api_menu,accessRights:friends_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:phones,description:список телефонных номеров в формате MSISDN, разделеннных запятыми. Например\n\n```\n+79219876543,+79111234567\n```\n\nМаксимальное количество номеров в списке — 1000.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей, которые необходимо вернуть.\nДоступные значения: \n* `bdate`;\n* `can_post`; \n* `can_see_all_posts`;\n* `can_write_private_message`;\n* `city`;\n* `contacts`; \n* `counters`;\n* `country`;\n* `education`; \n* `has_mobile`;\n* `last_seen`;\n* `nickname`; \n* `online`;\n* `photo_100`;\n* `photo_200_orig`; \n* `photo_50`;\n* `relation`;\n* `screen_name`; \n* `sex`;\n* `status`; \n* `timezone`; \n* `universities`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает список объектов пользователей(reference/objects/user) с дополнительным полем `phone`, в котором содержится номер из списка заданных для поиска номеров.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668468316857,isManuallyExpired:false},/method/messages.getChatUsers:{type:method,layout:internal,template:/method,contents:{title:messages.getChatUsers,id:messages.getChatUsers,description:Позволяет получить список пользователей мультидиалога по его `id`.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.getChatUsers,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:{title:946,id:,description:Chat not supported,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:chat_id,description:Идентификатор беседы.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:chat_ids,description:Идентификаторы бесед.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей профилей, которые необходимо вернуть.\n\nДоступные значения: \n* `bdate`; \n* `can_post`; \n* `can_see_all_posts`; \n* `can_write_private_message`; \n* `city`; \n* `contacts`; \n* `counters`; \n* `country`; \n* `education`; \n* `has_mobile`; \n* `last_seen`; \n* `nickname`; \n* `online`; \n* `photo_100`; \n* `photo_200_orig`; \n* `photo_50`; \n* `relation`; \n* `screen_name`; \n* `sex`; \n* `status`; \n* `timezone`; \n* `universities`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:name_case,description:Падеж для склонения имени и фамилии пользователя. \nВозможные значения: \n* именительный – `nom`;\n* родительный – `gen`;\n* дательный – `dat`;\n* винительный – `acc`;\n* творительный – `ins`;\n* предложный – `abl`. \n\nПо умолчанию `nom`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает список идентификаторов участников беседы.\n\nЕсли был задан параметр `fields`, возвращает список объектов пользователей(reference/objects/user) с дополнительным полем `invited_by`, содержащим идентификатор пользователя, пригласившего в беседу.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:true}},language:ru,variant:public,expireDate:1668469060884,isManuallyExpired:false},/method/stats.getPostStats:{type:method,layout:internal,template:/method,contents:{title:stats.getPostStats,id:stats.getPostStats,description:Возвращает статистику рекламной записи сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/stats.getPostStats,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:group_id,description:Идентификатор сообщества.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:post_id,description:Идентификатор записи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:date_from,description:Начальная дата выводимой статистики в формате `YYYY-MM-DD`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:date_to,description:Конечная дата выводимой статистики в формате `YYYY-MM-DD`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает статистику в виде массива объектов `period`, каждый из которых имеет следующие поля:\n\n* `day` — день в формате `YYYY-MM-DD`;\n* `reach` — полный охват;\n* `reach_subscribers` — охват подписчиков;\n* `link_clicks` — количество уникальных переходов по ссылкам в записи;\n* `link_clicks_from_copies` — количество уникальных переходов по ссылкам из репостов записи;\n* `group_joins` — количество вступлений в группы после перехода по ссылкам из записи;\n* `sex` — список структур, описывающих статистику по полу;\n* `age` — список структур, описывающих статистику по возрасту;\n* `sex_age` — список структур, описывающих статистику по полу и возрасту;\n* `cities` — список структур, описывающих статистику по городам;\n* `countries` — список структур, описывающих статистику по странам.\n\nСтруктура в списках `sex`, `age`, `sex_age`, `cities` имеет следующие поля:\n* `reach` — аудитория для показателя `value`;\n* `value` — значение демографического показателя, имеет разные возможные значения для разных показателей:\n * `sex` (`f` — женщины, `m` — мужчины);\n * `age` — один из следующих промежутков: `12-18, 18-21, 21-24, 24-27, 27-30, 30-35, 35-45, 45-100`;\n * `sex_age` — комбинация значений `sex` и `age`, разделённых точкой с запятой, пример: `m;21-24`;\n * `cities` — id города или `other` для остальных городов.\n* `name` — наглядное название значения указанного в `value` (только для городов).,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668470307434,isManuallyExpired:false},/api/bots/overview:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Чат-боты | Боты для сообществ,id:api__bots__overview,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/bots/overview,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Боты для сообществ\n\n**Бот** — это программа, которая имитирует некоторые действия человека. С его помощью можно автоматизировать рутинные задачи. \n\nОни нужны там, где есть много похожих действий, которые сейчас выполняются руками (или не выполняются вовсе — просто потому что нет столько рук).\n\nБот может принять заказ в интернет-магазине, прислать подборку видеороликов, посоветовать подходящие концерты или ближайший ресторан. \n\n!(47b0490c93d3c32d6c544be551a8806fe61b18d0ea3a07e85e0fcb85 \-5636580476323788944\)\n\nВКонтакте боты общаются с вашими клиентами через сообщения сообществ(api/community-messages/getting-started).\nЭто простой и привычный для пользователя интерфейс.\n\nБот будет полезен, если вы хотите:\n* обрабатывать много однотипных обращений,\n* организовывать рассылки для подписчиков,\n* фильтровать заявки в системах поддержки,\n* мгновенно реагировать на сообщения.\n\nЭто самые распространенные сценарии. На самом деле, боты пригодятся в сообществе любой тематики. Можно придумать собственную реализацию, которая подошла бы для развития именно вашей группы или публичной страницы.\n\n\u003e Бот может стать дополнительным средством для привлечения внимания к сообществу. Создавайте интерактивные квесты, присылайте подписчикам мультимедиа-материалы, подключайте сторонние API для реализации игровых сценариев — пользователи не пройдут мимо интересных предложений.\n\n\n## Преимущества платформы\n\n### Социальный граф\n\nВКонтакте вы можете работать с социальным графом, анализируя связи и интересы пользователя. Например, для создания рекомендательной системы или сервиса персональной инфографики.\n\n### Мультимедиа\n\nОгромная библиотека медиаконтента, который можно использовать для создания подборок фотографий, видео или аудиозаписей.\n\n### Кроссплатформенность\n\nСообщения сообществ работают в полной и мобильной версиях, а также во всех официальных клиентах. Это значит, что пользователь может взаимодействовать с ботом на любой платформе.\n\n## Документация\n\nЧтобы научиться создавать ботов ВКонтакте, прочитайте Быстрый старт(api/bots/getting-started).\n\n## Примеры ботов\n\n* Бот РБК(https://vk.com/rbc) предлагает подписаться на рассылку актуальных новостей, умеет принимать жалобы на опечатки и решает вопросы, связанные с размещением рекламы.\n* Бот принимал обращения от граждан в рамках Прямой линии с Владимиром Путиным(https://vk.com/moskvaputinu).\n* Бот Vinci(https://vk.com/vinci) обрабатывает присланную фотографию с помощью хитрых алгоритмов и предлагает подходящие теги и Emoji для подписи.\n\n:::carousel\n!titleБот РБК предлагает подписаться на рассылку актуальных новостей, умеет принимать жалобы на опечатки и решает вопросы, связанные с размещением рекламы.(bd62819e0364f07d86ec1137cb419a1bda0aa63058cd4a7e657592d2 \-3327336004805555787\)\n!titleБот принимал обращения от граждан в рамках Прямой линии с Владимиром Путиным.(60fac052a021f365547cc1655b896ebab720dd620b13c44658233f3f \-4939451182648991171\)\n!Бот Vinci обрабатывает присланную фотографию с помощью хитрых алгоритмов и предлагает подходящие теги и Emoji для подписи.(3b415358de0139ef4e6477cf045321cb9c20ca02f52f3ddc270a4caa \7598733202427498813\)\n:::},language:ru,variant:public,expireDate:1668470706434,isManuallyExpired:false},/method/market.createComment:{type:method,layout:internal,template:/method,contents:{title:market.createComment,id:market.createComment,description:Создаёт новый комментарий к товару.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.createComment,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор владельца товара.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «`-`» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:item_id,description:Идентификатор товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:message,description:Текст комментария (является обязательным, если не задан параметр `attachments`).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:attachments,description:Список объектов, приложенных к комментарию и разделённых символом `\,\`. Поле `attachments` представляется в формате:\n\n```\n\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e,\u003ctype\u003e\u003cowner_id\u003e_\u003cmedia_id\u003e\n```\n\n`\u003ctype\u003e` — тип медиа-вложения:\n* `photo` — фотография \n* `video` — видеозапись \n* `audio` — аудиозапись \n* `doc` — документ\n\n`\u003cowner_id\u003e` — идентификатор владельца медиа-вложения \n`\u003cmedia_id\u003e` — идентификатор медиа-вложения. \n\nНапример:\n\n```\nphoto100172_166443618,photo66748_265827614\n```\n\nПараметр является обязательным, если не задан параметр `message`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:from_group,description:`1` — комментарий будет опубликован от имени группы, `0` — комментарий будет опубликован от имени пользователя (по умолчанию).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:reply_to_comment,description:Идентификатор комментария, в ответ на который должен быть добавлен новый комментарий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:sticker_id,description:Идентификатор стикера.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:guid,description:Уникальный идентификатор, предназначенный для предотвращения повторной отправки одинакового комментария.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает идентификатор созданного комментария.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668470966242,isManuallyExpired:false},/method/secure.checkToken:{type:method,layout:internal,template:/method,contents:{title:secure.checkToken,id:secure.checkToken,description:Метод проверяет, что ключ доступа пользователя (`access_token`) выдан именно тому приложению, которому выдан переданный сервисный ключ доступа. Подходит для проверки ключа доступа iFrame и Standalone-приложений.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/secure.checkToken,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:secure,children:,text:\n,errors:,parameters:{name:token,description:**Обязательный параметр**. Ключ доступа пользователя (`access_token`). Если не передать значение параметра, метод вернёт ошибку `Access denied: Incorrect token invalid_token`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:ip,description:**Необязательный параметр**. IP-адрес пользователя. Если пользователь обращается через IPv6, передавать параметр обязательно. Если параметр не передан, IP-адрес проверен не будет.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:\nМетод вернёт объект. Параметры объекта:\n\n| Параметр | Тип | Описание |\n| --- | --- | --- |\n| `success` | `integer` | Индикатор, что метод выполнился успешно (всегда `1`). |\n| `user_id` | `integer` | Идентификатор пользователя. |\n| `date` | `integer` | Дата и время в секундах, когда `access_token` был сгенерирован (Unix Timestamp(https://www.unixtimestamp.com/)). |\n| `expire` | `integer` | Дата и время секундах, когда время жизни `access_token` истечёт (Unix Timestamp(https://www.unixtimestamp.com/)). |\n\nПример ответа:\n\n```JSON\n{\n \success\: 1,\n \user_id\: 1,\n \date\: 1659077806,\n \expire\: 1659164206\n}\n```,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668471328611,isManuallyExpired:false},/method/messages:{type:method-list,layout:internal,template:/method-list,contents:{title:messages,id:method_section_messages,description:Методы для работы с личными сообщениями.\n\nДля моментального получения входящих сообщений используйте LongPoll сервер(api/user-long-poll/getting-started). \n\n\u003e **Обратите внимание:** доступ к работе с методами секции с ключом пользователя ограничен.\n\nИнформация об ограничении Messages API находится в Roadmap(reference/roadmap#Ограничение%20Messages%20API).\n\n**Обратите внимание:** методы для работы со звонками были перенесены в новую секцию calls(method/calls). Старые методы звонков из секции messages были помечены устаревшими и могут быть удалены в будущих версиях API.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages,redirectTo:,menuId:api_menu,accessRights:,url:,type:method-list,isSearchable:false,tokenTypes:,children:{title:Messages,id:messages,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages,type:BASE,isSearchable:false,tokenTypes:,children:{title:messages.addChatUser,id:messages.addChatUser,description:Добавляет в мультидиалог нового пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.addChatUser,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.allowMessagesFromGroup,id:messages.allowMessagesFromGroup,description:Позволяет разрешить отправку сообщений от сообщества текущему пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.allowMessagesFromGroup,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.createChat,id:messages.createChat,description:Создаёт беседу с несколькими участниками.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.createChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.delete,id:messages.delete,description:Удаляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.delete,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.deleteChatPhoto,id:messages.deleteChatPhoto,description:Позволяет удалить фотографию мультидиалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.deleteChatPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.deleteConversation,id:messages.deleteConversation,description:Удаляет беседу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.deleteConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.denyMessagesFromGroup,id:messages.denyMessagesFromGroup,description:Позволяет запретить отправку сообщений от сообщества текущему пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.denyMessagesFromGroup,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.edit,id:messages.edit,description:Редактирует сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.edit,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.editChat,id:messages.editChat,description:Изменяет название беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.editChat,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.forceCallFinish,id:messages.forceCallFinish,description:Метод используется для принудительного завершения звонка,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages.forceCallFinish,type:BASE,isSearchable:false,tokenTypes:},{title:messages.get,id:messages.get,description:Возвращает список входящих личных сообщений текущего пользователя или сообщества.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.get,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getByConversationMessageId,id:messages.getByConversationMessageId,description:Возвращает сообщения по conversation_message_id.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getByConversationMessageId,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getById,id:messages.getById,description:Возвращает сообщения по их идентификаторам.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getById,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getChat,id:messages.getChat,description:Возвращает информацию о беседе.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChat,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getChatPreview,id:messages.getChatPreview,description:Получает данные для превью чата с приглашением по ссылке.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChatPreview,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getChatUsers,id:messages.getChatUsers,description:Позволяет получить список пользователей мультидиалога по его `id`.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getChatUsers,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getConversationMembers,id:messages.getConversationMembers,description:Позволяет получить список участников беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversationMembers,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getConversations,id:messages.getConversations,description:Возвращает список бесед пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversations,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getConversationsById,id:messages.getConversationsById,description:Позволяет получить беседу по её идентификатору.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getConversationsById,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getDialogs,id:messages.getDialogs,description:Возвращает список диалогов текущего пользователя или сообщества.\nАктуальный метод: `messages.getConversations`(method/messages.getConversations).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getDialogs,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getHistory,id:messages.getHistory,description:Возвращает историю сообщений для указанного диалога.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getHistory,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getHistoryAttachments,id:messages.getHistoryAttachments,description:Возвращает материалы диалога или беседы.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getHistoryAttachments,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getImportantMessages,id:messages.getImportantMessages,description:Возвращает список важных сообщений пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getImportantMessages,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getIntentUsers,id:messages.getIntentUsers,description:Метод отдает пользователей, которые подписались на определенные интенты.\nhttps://dev.vk.com/api/bots/overview(api/bots/overview),isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getIntentUsers,type:BASE,isSearchable:false,tokenTypes:group_access_only,is_standalone},{title:messages.getInviteLink,id:messages.getInviteLink,description:Получает ссылку для приглашения пользователя в беседу.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getInviteLink,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getLastActivity,id:messages.getLastActivity,description:Возвращает текущий статус и дату последней активности указанного пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLastActivity,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.getLongPollHistory,id:messages.getLongPollHistory,description:Возвращает обновления в личных сообщениях пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLongPollHistory,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.getLongPollServer,id:messages.getLongPollServer,description:Возвращает данные, необходимые для подключения к Long Poll серверу(api/user-long-poll/getting-started).,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.getLongPollServer,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.isMessagesFromGroupAllowed,id:messages.isMessagesFromGroupAllowed,description:Возвращает информацию о том, разрешена ли отправка сообщений от сообщества пользователю.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.isMessagesFromGroupAllowed,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.joinChatByInviteLink,id:messages.joinChatByInviteLink,description:Позволяет присоединиться к чату по ссылке-приглашению.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.joinChatByInviteLink,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.markAsAnsweredConversation,id:messages.markAsAnsweredConversation,description:Помечает беседу как отвеченную либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsAnsweredConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.markAsImportant,id:messages.markAsImportant,description:Помечает сообщения как важные либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsImportant,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.markAsImportantConversation,id:messages.markAsImportantConversation,description:Помечает беседу как важную либо снимает отметку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsImportantConversation,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.markAsRead,id:messages.markAsRead,description:Помечает сообщения как прочитанные.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.markAsRead,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.pin,id:messages.pin,description:Закрепляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.pin,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.removeChatUser,id:messages.removeChatUser,description:Исключает из мультидиалога пользователя, если текущий пользователь или сообщество является администратором беседы либо текущий пользователь пригласил исключаемого пользователя.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.removeChatUser,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.restore,id:messages.restore,description:Восстанавливает удаленное сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.restore,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.search,id:messages.search,description:Возвращает список найденных личных сообщений текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.search,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.searchConversations,id:messages.searchConversations,description:Позволяет искать диалоги.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.searchConversations,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.searchDialogs,id:messages.searchDialogs,description:Возвращает список найденных диалогов текущего пользователя по введенной строке поиска.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.searchDialogs,type:BASE,isSearchable:false,tokenTypes:is_standalone},{title:messages.send,id:messages.send,description:Отправляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.send,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.sendMessageEventAnswer,id:messages.sendMessageEventAnswer,description:Отправляет событие с действием, которое произойдет при нажатии на callback-кнопку.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.sendMessageEventAnswer,type:BASE,isSearchable:false,tokenTypes:group_access,user_access_hidden,is_standalone},{title:messages.setActivity,id:messages.setActivity,description:Изменяет статус набора текста пользователем в диалоге.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.setActivity,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.setChatPhoto,id:messages.setChatPhoto,description:Позволяет установить фотографию мультидиалога, загруженную с помощью метода.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.setChatPhoto,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone},{title:messages.startCall,id:messages.startCall,description:Старт нового звонка от имени пользователя или от сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:method/messages.startCall,type:BASE,isSearchable:false,tokenTypes:},{title:messages.unpin,id:messages.unpin,description:Открепляет сообщение.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:messages_ex,url:method/messages.unpin,type:BASE,isSearchable:false,tokenTypes:group_access,is_standalone}}},language:ru,variant:public,expireDate:1668472822760,isManuallyExpired:false},/api/oauth-parameters:{type:article,layout:internal,template:/article,contents:{title:Использование API | Диалог авторизации OAuth,id:api__oauth-parameters,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/oauth-parameters,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Диалог авторизации OAuth\n\nДля того, чтобы авторизовать пользователя, необходимо перенаправить его браузер по адресу `https://oauth.vk.com/authorize`(https://oauth.vk.com/authorize), передав следующие параметры:\n\n* `client_id` (**обязательный параметр**) — Идентификатор вашего приложения. \n* `redirect_uri` (**обязательный параметр**) — Адрес, на который будет переадресован пользователь после прохождения авторизации (домен указанного адреса должен соответствовать основному домену в настройках приложения).\n* `display` (**обязательный параметр**) — Указывает тип отображения страницы авторизации. Поддерживаются следующие варианты:\n * `page` — форма авторизации в отдельном окне;\n * `popup` — всплывающее окно;\n * `mobile` — авторизация для мобильных устройств (без использования Javascript).\n Если пользователь авторизуется с мобильного устройства, будет использован тип `mobile`. \n* `scope` — Битовая маска настроек доступа приложения(reference/access-rights), которые необходимо проверить при авторизации пользователя и запросить, в случае отсутствия необходимых. \n* `response_type` —Тип ответа, который вы хотите получить:\n * `code` — если вы хотите делать запросы со стороннего сервера (по умолчанию);\n * `token` — если вы хотите делать запросы с клиента.\n\n#### Пример запроса:\n\n```\nhttps://oauth.vk.com/authorize?client_id1\u0026redirect_urihttp://example.com/callback\u0026scope12\u0026displaymobile\n```\n\u003e **Примечание.** Если вы разрабатываете Standalone-приложение в параметре `response_type` передаете `token`, то в качестве параметра `redirect_uri` необходимо указывать адрес https://oauth.vk.com/blank.html(https://oauth.vk.com/blank.html), на который будут переданы данные авторизации. Обратите внимание, что только в данном случае у вас будет возможность использовать расширенные методы работы с API.},language:ru,variant:public,expireDate:1668478904328,isManuallyExpired:false},/method/video.addToAlbum:{type:method,layout:internal,template:/method,contents:{title:video.addToAlbum,id:video.addToAlbum,description:Позволяет добавить видеозапись в альбом.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/video.addToAlbum,redirectTo:,menuId:api_menu,accessRights:video,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:204,id:,description:Access denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:800,id:,description:This video is already added,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:target_id,description:Идентификатор владельца альбома, в который нужно добавить видео.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `target_id` необходимо указывать со знаком «-» — например, `target_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:album_id,description:Идентификатор альбома, в который нужно добавить видео.\nДля добавления видео в общий альбом «Добавленные» передавайте `-2`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:album_ids,description:Идентификаторы альбомов, в которые нужно добавить видео.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:owner_id,description:Идентификатор владельца видеозаписи.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком `«-»` — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:video_id,description:Идентификатор видеозаписи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668480631339,isManuallyExpired:false},/method/video.save:{type:method,layout:internal,template:/method,contents:{title:video.save,id:video.save,description:Возвращает адрес сервера, необходимый для загрузки(api/upload), и данные видеозаписи.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/video.save,redirectTo:,menuId:api_menu,accessRights:video,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:22,id:,description:Upload error,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:204,id:,description:Access denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:214,id:,description:Access to adding post denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:219,id:,description:Advertisement post was recently added,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:704,id:,description:User needs to enable 2FA for this action,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:name,description:Название видеофайла, максимально 128 символов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:description,description:Описание видеофайла, максимально 5 000 символов.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:is_private,description:Указывается `1`, если видео загружается для отправки личным сообщением. После загрузки с этим параметром видеозапись не будет отображаться в списке видеозаписей пользователя и не будет доступна другим пользователям по её идентификатору. По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:wallpost,description:Требуется ли после сохранения опубликовать запись с видео на стене (`1` — требуется, `0` — не требуется).\n\n\u003e Обратите внимание, для публикации записи на стене приложение должно иметь права `wall`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:link,description:URL для встраивания видео с внешнего сайта, например, с YouTube. В этом случае нужно вызвать полученный `upload_url`, не прикрепляя файл, достаточно просто обратиться по этому адресу.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества, в которое будет сохранён видеофайл. По умолчанию файл сохраняется на страницу текущего пользователя.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:album_id,description:Идентификатор альбома, в который будет загружен видео файл.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:privacy_view,description:Настройки приватности просмотра видеозаписи в специальном формате(reference/objects/privacy). Приватность доступна для видеозаписей, которые пользователь загрузил в профиль.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:privacy_comment,description:Настройки приватности комментирования видеозаписи в специальном формате(reference/objects/privacy).\nПриватность доступна для видеозаписей, которые пользователь загрузил в профиль.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:no_comments,description:`1` — закрыть комментарии (для видео из сообществ). По умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:repeat,description:Зацикливание воспроизведения видеозаписи.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:compression,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, который имеет поля `upload_url`, `video_id`, `title`, `description`, `owner_id`.\n\nМетод может быть вызван не более 5000 раз в сутки для одного сервиса.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668480742072,isManuallyExpired:false},/method/likes.getList:{type:method,layout:internal,template:/method,contents:{title:likes.getList,id:likes.getList,description:Метод получает список идентификаторов пользователей, которые поставили у заданного объекта отметку «Нравится».,isHidden:false,isDirectAccess:null,canEdit:null,path:method/likes.getList,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:{title:232,id:,description:Reaction can not be applied to the object,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:type,description:Тип объекта. Возможные типы:\n\n* `post` — запись на стене пользователя или сообщества.\n* `post_ads` — рекламная запись.\n* `comment` — комментарий к записи на стене.\n* `photo` — фотография.\n* `video` — видеозапись.\n* `note` — заметка.\n* `market` — товар.\n* `photo_comment` — комментарий к фотографии.\n* `video_comment` — комментарий к видеозаписи.\n* `topic_comment` — комментарий в обсуждении.\n* `market_comment` — комментарий к товару.\n* `sitepage` — страница сайта, на котором установлен виджет «Нравится»(widgets/like).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:owner_id,description:Идентификатор владельца объекта:\n\n* Идентификатор пользователя, если объект принадлежит пользователю.\n* Идентификатор сообщества (со знаком «минус»), если объект принадлежит сообществу.\n* Идентификатор приложения, если параметр `type` имеет значение `sitepage`.\n\nЗначение по умолчанию: если параметр не задан, он имеет значение идентификатора текущего пользователя или идентификатора текущего приложения, если параметр `type` имеет значение `sitepage`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:item_id,description:Идентификатор объекта. Имеет значение параметра `page_id`, если параметр `type` имеет значение `sitepage`. Значение параметра `page_id` используется при инициализации виджета «Нравится»(widgets/like).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:page_url,description:URL страницы, на которой установлен виджет «Нравится»(widgets/like). Используется вместо параметра `item_id`, если при размещении виджета не был указан параметр `page_id`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:filter,description:Указывает, следует ли вернуть всех пользователей, поставивших у объекта отметку «Нравится», или только тех, которые рассказали о нём друзьям. Возможные значения:\n\n* `likes` — возвращать информацию обо всех пользователях. \n* `copies` — возвращать информацию только о пользователях, рассказавших об объекте друзьям.\n\nПо умолчанию возвращается информация обо всех пользователях.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:friends_only,description:Указывает, необходимо ли возвращать только пользователей, которые являются друзьями текущего пользователя. Возможные значения:\n\n* `0` — возвращать всех пользователей в порядке убывания времени добавления объекта.\n* `1` — возвращать только друзей текущего пользователя в порядке убывания времени добавления объекта.\n\nЕсли метод был вызван без авторизации или параметр не был задан, он имеет значение `0`.\n\n,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:Информация о том, возвращать ли расширенную информацию. Возможные значения:\n\n* `1` — возвращать расширенную информацию о пользователях и сообществах из списка поставивших отметку «Нравится» или поделившихся записью.\n* `0` — возвращать только идентификаторы пользователей и сообществ.\n\nЗначение по умолчанию: `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение для возвращения идентификаторов относительно начала списка. Если параметр не задан, он имеет значение `0`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество возвращаемых идентификаторов пользователей.\n\nЗначение по умолчанию: если параметр не задан или не задан параметр `friends_only`, он имеет значение `100`, в противном случае — `10`.\n\nМаксимальное значение параметра: если не задан параметр `friends_only` — `1 000`, в противном случае — `100`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:skip_own,description:Информация о том, возвращать ли информацию о самом пользователе.\n\nВозможные значения:\n\n* `true` — возвращать информацию о пользователе.\n* `false` — не возвращать информацию о пользователе.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Метод возвращает объект. Параметры объекта:\n\n| Параметр | Тип | Описание |\n| --- | --- | --- |\n| `count` | `integer` | Количество возвращаемых идентификаторов пользователей, которые поставили у заданного объекта отметку «Нравится». |\n| `items` | `arrayinteger` | Массив идентификаторов пользователей или сообществ. Если:\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Параметр `type` имеет значение `sitepage`, возвращается список пользователей, воспользовавшихся виджетом «Нравится» на внешнем сайте. Адрес страницы задаётся при помощи параметров `page_url` или `item_id`.\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Параметр `extended` имеет значение `1`, возвращается расширенная информация о пользователях(reference/objects/user) или сообществах(reference/objects/group).\u0026#x0d;\u0026#x0a; \u0026nbsp;\u0026nbsp; \u0026bullet; Параметр `filter` имеет значение `copies`, возвращается список пользователей, поделившихся записью. Параметр возвращается, только если запрос отправляет администратор группы (права редактора и выше) или владелец стены для стены пользователя. |\n\nПример ответа, если параметр `type` имеет значение `sitepage`:\n\n```JSON\n{\n \response\: {\n \count\: 1295,\n \items\: \n 743784474,\n 743784479\n \n }\n}\n```\n\nПример ответа, если `extended` имеет значение `1`:\n\n```JSON\n{\n \response\: {\n \count\: 1390,\n \items\: \n {\n \id\: 743784474,\n \type\: \profile\,\n \first_name\: \Персик\,\n \last_name\: \Рыжий\,\n \can_access_closed\: true,\n \is_closed\: false\n },\n {\n \id\: 743784479,\n \type\: \profile\,\n \first_name\: \Сеня\,\n \last_name\: \Хомяк\,\n \can_access_closed\: true,\n \is_closed\: false\n }\n \n }\n}\n```,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668480863796,isManuallyExpired:false},/masks/plugins/maskswitching:{type:article,layout:internal,template:/article,contents:{title:Маски | Создание | Список плагинов | maskswitching,id:masks__development__plugins__maskswitching,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:masks/plugins/maskswitching,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# maskswitching\n\nПлагин позволяет с помощью триггеров переключать эффекты. Таким образом можно создать несколько вариантов масок внутри одной.\n\nДля работы плагина нужно назначить необходимым эффектам соответствующие теги, которые будут определять переключаемый элемент.\n\n## Пример\n\n```JSON\n{\n \preview\: \Icon.png\,\n \effects\: \n {\n \name\: \colorfilter\,\n \tag\: \warm\,\n \lookup\: \ColorFilter/warm_shade.png\,\n \intensity\: 0.75\n },\n {\n \name\: \colorfilter\,\n \tag\: \cold\,\n \lookup\: \ColorFilter/cold_shade.png\,\n \intensity\: 0.75\n },\n {\n \name\: \colorfilter\,\n \tag\: \neutral\,\n \lookup\: \ColorFilter/neutral_shade.png\,\n \intensity\: 0.75\n }\n ,\n \plugins\: \n {\n \name\: \maskswitching\,\n \random\: false,\n \tags\: \n \warm\,\n \cold\,\n \neutral\\n ,\n \trigger\: \tap\\n }\n \n}\n```\n\n## Параметры\n\n| Параметр | Тип | Описание |\n| - | - | - |\n| `random` | `bool` | Определяет, будет ли при открытии маски первым выбран случайный тег или нет. |\n| `tags` | `array\u003cstring\u003e` | Перечисляются теги переключаемых эффектов. |\n| `trigger` | `string` | Задаёт триггер переключения: `tap` (касание экрана), `mouth` (открытие рта). |\n| `camera` | `string` | Выбор камеры отображения: `all` (на всех камерах), `front` (только на фронтальной), `back` (только на задней). |\n| `visible` | `string` | Режимы видимости: `always` (показывать всегда), `face` (показывать только при найденном лице). |\n| `initial` | `int` | Задаёт порядковый номер тега, с которого нужно начинать отсчёт. |},language:ru,variant:public,expireDate:1668481211327,isManuallyExpired:false},/mini-apps/catalog/criteria:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Каталоги | Критерии модерации,id:mini-apps__catalog__criteria,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/catalog/criteria,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Критерии модерации\n\nМини-приложение, которое претендует на попадание в каталог VK Mini Apps(https://vk.com/services), должно соответствовать определённому уровню качества.\n\nПеред публикацией в каталоге все мини-приложения проходят модерацию. В этом разделе мы перечислили критерии, которых придерживается модератор при проверке мини-приложений. Если мини-приложение не удовлетворяет какому-либо критерию, модератор может отклонить заявку на размещение в каталоге.\n\n\u003e**Важно!** Мы не модерируем мини-приложения, над которыми вы планируете работать в процессе модерации. Присылайте заявку на модерацию, после того как убедитесь, что добавили все функции и мини-приложение готово к размещению в каталоге.\n\n## 1. Концепция и содержание\n\n### 1.1. Правила, политики и законы\n\n**1.1.1.** Мини-приложение не нарушает:\n\n * Законы Российской Федерации,\n * Правила пользования сайтом ВКонтакте(https://vk.com/terms),\n * Правила платформы для разработчиков(rules),\n * Правила размещения сервисов на платформе VK Mini Apps(mini-apps-rules).\n\n**1.1.2.** Мини-приложение, размещаемое в каталоге приложений для сообществ, соответствует Правилам размещения приложений в каталоге для сообществ(community-apps-rules).\n**1.1.3.** Мини-приложение, содержащее рекламу, соответствует Правилам размещения рекламы в игровых приложениях и сервисах VK Mini Apps(ad-rules).\n**1.1.4.** Мини-приложение, продающее товары и услуги, соответствует Правилам размещения приложений-магазинов(market-rules).\n**1.1.5.** Чат-бот в мини-приложении, которое предоставляет к нему доступ, соответствует Правилам для ботов(bots-rules).\n**1.1.6.** Мини-приложение, доступное в мобильном приложении для iOS, соответствует Правилам и гайдлайнам App Store(https://developer.apple.com/app-store/review/guidelines/).\n**1.1.7.** Мини-приложение, доступное в мобильном приложении для Android, соответствует Правилам Google Play(https://support.google.com/googleplay/android-developer#topic12233401).\n\n### 1.2. Тематика\n\n**1.2.1.** Тематика мини-приложения не нарушает Правила размещения рекламы(https://vk.com/ads?actoffice_help\u0026terms). Заявка на модерацию мини-приложения со спорной тематикой будет отклонена.\n\n\u003eЕсли мы готовы прорекламировать ваше мини-приложение, то с большой вероятностью сможем разместить его в каталоге.\n\n### 1.3. Механики и контент\n\n**1.3.1.** Механики и контент в мини-приложении не нарушают пункт 6.3.4. Правил пользования сайтом ВКонтакте(https://vk.com/terms).\n\n**1.3.2.** Основные задачи мини-приложения решаются без перехода на сторонние ресурсы и сайты.\n\n\u003eНапример:\n\u003e* Мини-приложение с автомобильной страховкой, в котором есть полноценный расчёт и показ стоимости страховки, будет ценным для пользователя, даже если для оформления страховки нужно перейти на сторонний сайт.\n\u003e* Мини-приложение, содержащее только список названий книг и ссылки на сторонний интернет-магазин, не решает никаких пользовательских задач и не будет размещено в каталоге.\n\n### 1.4. Возрастные ограничения\n\n**1.4.1.** Пользователь видит информацию о возрастных ограничениях(rules#3.%20Содержание%20приложений), если они есть, при первом запуске мини-приложения.\n\n\u003eЧтобы проверить возраст, запрашивайте его из профиля пользователя или предлагайте ввести дату рождения.\n\n## 2. Безопасность\n\n### 2.1. Проверка подлинности данных\n\n**2.1.1.** Для проверки персонализированных данных, которые передаются клиентской стороной на сервер, подпись параметров запуска(mini-apps/development/launch-params-sign) сравнивается с параметром `sign`.\n\n\u003eТакая проверка не позволит злоумышленнику выдать себя за другого пользователя.\n\n### 2.2. Ключи доступа\n\n**2.2.1** На клиентской стороне используются только открытые ключи доступа, которые не привязаны к аккаунту конкретного пользователя. Ключ доступа пользователя, сервисный ключ и ключ доступа сообщества хранятся исключительно на серверной стороне.\n\n### 2.3. Защита базы данных\n\n**2.3.1.** Мини-приложение защищено от внедрения SQL-кода на клиентской и серверной сторонах.\n\n\u003eПроверяйте данные, которые приходят на сервер:\n\u003e* если вы ожидаете числовое значение, проверьте, что пришло именно число;\n\u003e* если вы ожидаете строку, экранируйте всё, что может привести к отправке запроса вместо поиска по строке.\n\n### 2.4. Защита от XSS-уязвимости\n\n**2.4.1.** Формы ввода защищены от XSS(https://vk.cc/3n4YmD)-вставок.\n\n\u003eСледите за тем, чтобы злоумышленник не смог внедрить свой код на клиентской стороне. Начинайте с проверки на тег `alert` и заканчивайте атрибутами в других тегах, например `onerror` в `img`.\n\n### 2.5. Флуд-контроль\n\n**2.5.1.** Мини-приложение контролирует количество запросов от пользователя и обрабатывает превышение лимитов по времени и частоте отправляемых на сервер данных.\n\n\u003e**Важно!** При установке лимитов учитывайте, что некоторые запросы могут возникать по безобидным причинам и приводить к дублированию информации. Например, пользователь мог два раза нажать на кнопку, или запросы размножились из-за плохого качества сети.\n\n### 2.6. Подсчёт публичных результатов\n\n**2.6.1.** Подсчёт различных результатов (например, рейтинга или валюты в мини-приложениях игровой тематики), которые видны другим пользователям, выполняется на стороне сервера. Также на сервере проверяются действия пользователей и контролируется их повтор.\n\n\u003eЧтобы защитить топ пользователей в мини-приложениях игровой тематики, генерируйте хеши для игры и формируйте результаты на сервере. Например, можно связать очки с игровым временем и учитывать, что за 2 секунды игрок не может попасть в топ.\n\n### 2.7. Оплата\n\n**2.7.1.** Мини-приложение проверяет оплату с помощью Callback API(api/callback/getting-started) или Bots Long Poll API(api/bots-long-poll/getting-started), если это перевод на счёт физического лица. Если деньги отправляются на счёт юридического лица, то используется серверное платёжное уведомление(pay/seller#Серверное%20платёжное%20уведомление).\n\n\u003eКогда пользователь оплачивает услугу в вашем мини-приложении, со стороны ВКонтакте возвращается событие `vkpay_transaction`. С помощью полей этого события можно проверить идентификатор пользователя, сумму и дату транзакции. Это поможет избежать подделки события оплаты на клиенте.\n\n\u003eЕсли оплата происходит через VK Pay(pay/getting-started), не ориентируйтесь только на успешное выполнение метода и не спешите информировать пользователя о завершении операции. Помните, что в клиентской части нельзя проверить, действительно ли было что-то оплачено или нет.\n\n### 2.8. Обработка ошибок\n\n**2.8.1.** В мини-приложении реализована обработка ошибок.\n**2.8.2.** Пути к файлам на сервере скрыты.\n**2.8.3.** В мини-приложении пользователь не может получить полную информацию об ошибках (stack trace(https://vk.cc/ceXAGT)).\n\n\u003e**Важно!** Если злоумышленник получит полную информацию об ошибках, то он узнает пути к вашим файлам, увидит методы, которые вызывались, а также поймёт, на каком языке написана серверная часть. Такая информация подскажет, где именно стоит искать слабые места в мини-приложении.\n\n### 2.9. Подделка запроса\n\n**2.9.1.** Мини-приложение, которое работает на основе серверной сессии, защищено от CSRF(https://vk.cc/ceXAKz)-атаки.\n\n\u003eЗлоумышленник может отправить пользователю ссылку на свой сайт. После перехода по ссылке на сервер отправляется запрос от имени пользователя. Защищайте такие запросы хешем(bridge/VKWebAppCreateHash). Обойти эту защиту злоумышленник не сумеет, так как получить хеш может только сам пользователь.\n\n**2.9.2.** Мини-приложение, которое работает на основе серверной сессии, защищено от SSRF-атаки.\n\n\u003eНапример, злоумышленник может подменить путь к изображению в блоке изображений на свой, который не имеет отношения к мини-приложению. Каждый раз, когда пользователь будет заходить в блок изображений, на адрес, указанный злоумышленником, будет отправляться запрос.\n\n### 2.10. Параллельная обработка запросов\n\n**2.10.1.** Серверная часть мини-приложения не обрабатывает запросы, отправленные клиентской стороной, в параллельном режиме.\n\n\u003eНапример, у пользователя есть 100 монет, и товар стоит 100 монет. Пользователь отправляет параллельно 2 запроса на покупку товара. В итоге у него будет 2 товара и баланс 0, хотя должен быть 1 товар.\n\n### 2.11. Защита чувствительной информации\n\n**2.11.1.** Каталоги в серверной части мини-приложения, содержащие чувствительную информацию, должны быть недоступны.\n\n\u003eПример каталога с чувствительной информацией: `.git/logs/log/server-status/admin`.\n\n**2.11.2.** На стороне сервера отклоняются запросы, вызывающие методы, которые обращаются к каталогам с чувствительной информацией по короткому пути.\n\n\u003eНапример, пользователь может вызвать метод, который обращается к каталогу `../../../etc/passwd`, и получить доступ к паролям.\n\n### 2.12. Загрузка файлов\n\n**2.12.1.** У пользователя нет возможности загрузить в мини-приложение некорректные файлы, которые могут вызвать выполнение кода или команды на сервере.\n\n## 3. Функциональность\n\n### 3.1. Поддерживаемые платформы\n\n**3.1.1.** Мини-приложение работает хотя бы на одной из основных платформ:\n\n * мобильное приложение для Android,\n * мобильное приложение для iOS,\n * мобильная версия сайта (m.vk.com(https://m.vk.com)),\n * десктопная версия сайта (vk.com(https://vk.com)).\n \n\u003e Учитывайте, что мини-приложения недоступны:\n\u003e * в мобильном приложении на устройствах с версией Android 5.1.1 и ниже;\n\u003e * в старых версиях мобильного приложения ВКонтакте:\n\u003e * 5.18 и ниже (Android),\n\u003e * 4.9 и ниже (iOS), \n\u003e * 12.3 и ниже (iPadOS).\n\n**3.1.4.** Мини-приложение, доступное в мобильной версии сайта, работает без ошибок в мобильном браузере.\n**3.1.5.** Мини-приложение работает без ошибок на поддерживаемых мобильных платформах (Android, iOS и iPadOS).\n\n### 3.2. События VK Bridge\n\n**3.2.1.** Библиотека VK Bridge(bridge/getting-started) подключена и корректно инициализирована.\n**3.2.2.** События VK Bridge скрыты на тех платформах, которые они не поддерживают.\n\n\u003eОпределить платформу, на которой запущено мини-приложение, можно с помощью параметров запуска(mini-apps/development/launch-params).\n\n### 3.3. Навигация мини-приложения\n\n**3.3.1.** Кнопка **Назад** для возврата на предыдущий экран выглядит одинаково на всех экранах мини-приложения.\n**3.3.2.** В мобильном приложении для Android мини-приложение корректно обрабатывает взаимодействие пользователя с аппаратной кнопкой **Назад**.\n\n\u003eПосле нажатия на кнопку вызывается событие `history.back`(https://developer.mozilla.org/ru/docs/Web/API/Window/history) в WebView. Мини-приложение может закрыться, если вернуться на предыдущую страницу невозможно. Чтобы пользователя не выбрасывало из мини-приложения, используйте маршрутизацию при помощи react-router(https://www.npmjs.com/package/react-router).\n\n**3.3.3.** В мобильном приложении для iOS возврат на предыдущую страницу осуществляется через обработку(https://vk.com/@vkappsdev-navigaciya-i-cvetovaya-shema) жеста «смахнуть назад» (Swipe Back).\n\n### 3.4. Виртуальные ценности\n\n**3.4.1.** Оплата виртуальных ценностей возможна на всех платформах, кроме iOS.\n**3.4.2.** В мобильной версии для iOS нет:\n\n * возможности покупать виртуальные ценности;\n * инструкции, как и где купить виртуальные ценности;\n * точки входа для пользователя на другие платформы для оплаты.\n\n### 3.5. Цифровые ценности\n\n**3.5.1.** Оплата цифровых ценностей возможна только в мобильной (m.vk.com(https://m.vk.com)) и десктопной (vk.com(https://vk.com)) версиях сайта.\n\n### 3.6. Награда пользователей\n\n**3.6.1.** Мини-приложение не выдаёт бонусы за действия внутри ВКонтакте, которые затрагивают других пользователей, в том числе за:\n\n* искусственное повышение показателей ВКонтакте,\n\n \u003e Например призыв поставить отметку «Нравится» записи по ссылке.\n\n* публикацию записей и историй на своей стене и стенах других пользователей, \n* рассылку приглашений и заявок в друзья другим пользователям.\n\n\u003e Выдавать бонусы пользователям можно в следующих случаях:\n\u003e * пользователь вступил в официальное сообщество мини-приложения,\n\u003e * пользователь опубликовал на стене или в истории пользовательский контент,\n\u003e * друзья пользуются мини-приложением,\n\u003e * друзья перешли по реферальной ссылке от пользователя и выполнили целевые действия в мини-приложении.\n\n**3.6.2.** Бонусные механики, связанные с показом рекламы, обязательно содержат информацию для пользователя о том, в какой момент ему ожидать рекламу и какую награду он получит за просмотр.\n\n### 3.7. Реклама\n\n**3.7.1.** Реклама в мини-приложении не показывается слишком часто и не докучает пользователям.\n**3.7.2.** Реклама не нарушает Правила показа рекламы(ad-rules) в мини-приложениях.\n**3.7.3.** Рекламный ролик не показывается при запуске мини-приложения.\n**3.7.4.** Рекламный ролик не показывается более одного раза подряд.\n**3.7.5.** Число блоков таргетированной рекламы на одной странице не превышает трёх.\n**3.7.6.** Реклама в мини-приложении это не единственный и не основной способ получать виртуальные ценности.\n\n### 3.8. Стабильность работы\n\n**3.8.1.** Мини-приложение не уходит в бесконечную загрузку, если пользователь действует не по пользовательскому сценарию.\n**3.8.2.** Мини-приложение работает без сбоев и не падает.\n\n### 3.9. Уведомления\n\n**3.9.1.** Мини-приложение сообщает пользователю, на какие уведомления он подписывается.\n \n\u003e Можно отправлять уведомления, которые призывают пользователя вернуться в мини-приложение, рассказывают ему об обновлениях или важных событиях в мини-приложении. Не отправляйте такие уведомления часто, чтобы не оттолкнуть пользователя.\n\n**3.9.2.** Уведомления не содержат опечатки, грамматические и орфографические ошибки.\n**3.9.3.** Уведомления не нарушают Правила пользования сайтом ВКонтакте(https://vk.com/terms).\n**3.9.4.** Мини-приложение не отправляет пользователю рекламные предложения, которые не относятся к мини-приложению.\n**3.9.5.** Мини-приложение может отправлять пользователю уведомления сверх лимита, если выполняются следующие условия:\n\n* пользователь согласился получать уведомления сверх лимита,\n* у пользователя есть возможность отключить уведомления,\n* у пользователя есть возможность настроить периодичность или точное время получения уведомлений.\n\n\u003e Запросить увеличение лимита можно во время модерации.\n\n**3.9.6.** Пользователь получает уведомления сверх установленного лимита только о тех событиях, получать которые он согласился.\n**3.9.7.** У пользователя есть возможность отключить уведомления в мини-приложении.\n\n### 3.10. Счётчик уведомлений\n\n**3.10.1.** У пользователя есть возможность обнулить счётчик внутренних событий внутри мини-приложения.\n**3.10.2.** Из интерфейса мини-приложения легко понять, какие события отображаются в счётчике и как его обнулить.\n\n### 3.11. Мини-приложения сообществ\n\n**3.11.1.** В десктопной версии мини-приложения сообщества(mini-apps/development/community-apps) администраторам и пользователям доступны все предназначенные для них функции.\n**3.11.2.** Если функции администратора мини-приложения ограничены на мобильных устройствах, то:\n\n* у администратора остаётся возможность установить мини-приложение в сообщество;\n* в мини-приложении описано, как перейти к полноценным настройкам;\n* в десктопной версии содержатся полноценные настройки мини-приложения.\n\n\u003eНастройку дополнительных функций можно вынести за пределы мини-приложения. Например, если вы реализуете CRM-систему внутри мини-приложения для сообществ, то часть функций можете не переносить с сайта CRM-системы в приложение.\n\n**3.11.3.** Мини-приложение для сообщества соответствует всем критериям модерации.\n\n## 4. Внешний вид\n\n### 4.1. Дизайн интерфейса\n\n**4.1.1.** Дизайн мини-приложения, основанный на библиотеке компонентов VKUI(libraries/vkui), не нарушает стайлгайд(https://vkcom.github.io/VKUI/) и повторяет интерфейсы нативных интерфейсов ВКонтакте.\n\n\u003e**Важно!** Модератор может вернуть на доработку мини-приложение, которое использует библиотеку VKUI(libraries/vkui), но не соблюдает наши принципы построения интерфейсов. Поэтому, если вы сомневаетесь в том, как лучше оформить тот или иной элемент интерфейса, посмотрите, как он реализован в нашей Figma(https://www.figma.com/@vk), стайлгайде(https://vkcom.github.io/VKUI/), мобильном приложении, мобильной и десктопной версиях сайта.\n\n### 4.2. Атрибуты тега viewport\n\n**4.2.1.** Атрибуты тега `viewport`(https://developer.mozilla.org/ru/docs/Glossary/Viewport) содержат следующие значения:\n\n```HTML\n\u003cmeta name\viewport\ content\widthdevice-width, initial-scale1, shrink-to-fitno, user-scalableno, viewport-fitcover\\u003e\n```\n\n### 4.3. Сервисные кнопки\n\n**4.3.1.** Элементы управления мини-приложением не располагаются в правом верхнем углу. Этот угол всегда занят сервисными кнопками.\n**4.3.2.** Иконки, кнопки и остальные элементы навигации, на которые можно нажать, расположены так, чтобы пользователь не смог случайно задеть сервисные кнопки.\n\n### 4.4. Заголовки\n\n**4.4.1.** Заголовки в мини-приложении — краткие и ёмкие, отражают содержимое страницы. Они не прилипают к сервисным кнопкам и не заползают под них.\n\n\u003eВнимательно проверяйте заголовки в мини-приложении для платформы iOS, так как там они располагаются по центру.\n\n### 4.5. Заглушки\n\n**4.5.1** Мини-приложение корректно обрабатывает ситуации, когда пользователь открывает пустую страницу или контент на странице не загрузился по какой-либо причине. На таких страницах размещены заглушки(https://vk.cc/cfPWVD).\n\n### 4.6. Адаптивность\n\n**4.6.1.** Мини-приложение корректно масштабируется на экранах с любой диагональю.\n**4.6.2.** В мобильном приложении для iOS учтены безопасные зоны сверху и снизу.\n\n\u003eУстройства с чёлкой, например iPhone X, требуют отдельного внимания, так как для них нужно сделать отступ для системных элементов интерфейса сверху, а ещё отступ снизу для кнопки **Home**.\n\n### 4.7. Шрифты\n\n**4.7.1.** Шрифты легко читаются и адаптируются под размеры экрана устройства.\n\n### 4.8. Кнопки\n\n**4.8.1.** Кнопки не прилипают друг к другу и не содержат текст в несколько строк.\n\n\u003e**Важно!** В библиотеке VKUI(libraries/vkui) тип каждой кнопки(https://vk.cc/cfPXeC) соответствует своей функции.\n\n### 4.9. Текст\n\n**4.9.1.** В текстах мини-приложения соблюдаются правила языка, на котором они написаны, отсутствуют опечатки, грамматические и орфографические ошибки.\n**4.9.2.** Объёмный текст разбит на абзацы.\n**4.9.3.** Однотипные элементы (заголовки, списки) оформлены одинаково.\n\n\u003eИспользуйте группы(https://vk.cc/cfPXgn), чтобы распределить информацию по смысловым блокам.\n\n### 4.10. Статус-бар и экшен-бар\n\n**4.10.1.** Цвет статус- и экшен-бара(bridge/VKWebAppSetViewSettings) не совпадает с фоном мини-приложения.\n\n### 4.11. Загрузка содержимого\n\n**4.11.1.** В процессе загрузки содержимого мини-приложения показывается спиннер(https://vk.cc/cfPXi3), шкала прогресса либо скелетный экран загрузки.\n\n### 4.12. Обложки мини-приложений\n\n\u003eОбложка используется в каталоге, левом меню в десктопной версии сайта, результатах поиска, сниппетах и тематических подборках(mini-apps/promotion/featured).\n\n**4.12.1.** У мини-приложения есть три обложки разных размеров:\n\n * квадратная обложка размером 150\u0026times;150\u0026nbsp;px,\n * квадратная обложка для каталога размером 278\u0026times;278\u0026nbsp;px,\n * квадратная обложка для раздела рекомендаций размером 576\u0026times;576\u0026nbsp;px.\n\n\u003e**Важно!** Мы рекомендуем использовать для всех трёх обложек единый стиль и гамму. Посмотрите на обложки мини-приложений, созданных командой ВКонтакте, — это отличные примеры удачных обложек.\n\n**4.12.2.** Обложка мини-приложения:\n\n* квадратная;\n* простая, без мелких деталей или мелкого шрифта;\n* отражает суть мини-приложения;\n* хорошо смотрится в светлой и тёмной теме мобильного приложения.\n\n**4.12.3.** Обложка мини-приложения:\n\n * не содержит фотографии или скриншоты,\n * не копирует и не повторяет иконки продуктов ВКонтакте или других мини-приложений в каталоге.\n\n**4.12.4.** Изображение на обложке:\n\n * никого не оскорбляет,\n * не порочит чью-либо честь и достоинство,\n * не нарушает права третьих лиц,\n * не вводит пользователя в заблуждение и не обманывает его.\n\n**4.12.5.** Изображение на обложке не обрезано границами элемента.\n**4.12.6.** Фон обложки непрозрачный.\n\n## 5. Работа с данными пользователя\n\n### 5.1. Поля ввода\n\n**5.1.1.** Во всех полях ввода данных установлено ограничение на тип и количество вводимых данных.\n\n\u003eНапример, в поле с годом рождения можно ввести только цифры.\n\n**5.1.2.** Заполненные поля валидируются на серверной стороне мини-приложения.\n**5.1.3.** Ввод типовых данных обеспечен маской для ввода.\n\n\u003e**Важно!** Если вы заранее знаете, что текст будет иметь определённую структуру (например, содержать символ «@» или адрес «vk.com» в ссылке), проверяйте, что пользователь их действительно ввёл.\n\n**5.1.4.** Если поле заполнено неверно, пользователь видит информацию об этом на этапе заполнения.\n\n\u003e Не подсвечивайте поле ввода как неправильно заполненное до того, как пользователь закончил работать с ним или со всей страницей.\n\n**5.1.5.** Данные в поле, которое заполнено неверно, нельзя отправить.\n**5.1.6.** Данные в заполненных полях сохраняются при переходе между экранами.\n\n\u003eНапример, пользователь опечатался на первом экране оформления заказа и вспомнил об этом уже на этапе подтверждения. Всегда сохраняйте прогресс, чтобы пользователю не пришлось вводить все данные заново после возврата на предыдущие экраны. \n\n### 5.2 Получение данных пользователя с помощью VK Bridge\n\n**5.2.1.** Для заполнения полей с основными данными пользователя, запустившего мини-приложение, оно использует событие `VKWebAppGetUserInfo`(bridge/VKWebAppGetUserInfo).\n\n**5.2.2.** Для заполнения полей с контактными данными пользователей мини-приложение использует события VK Bridge.\n\n\u003eСобытия дают доступ к привязанному номеру телефона(bridge/VKWebAppGetPhoneNumber), email(bridge/VKWebAppGetEmail) и геопозиции(bridge/VKWebAppGetGeodata).\n\n\u003e**Обратите внимание.** Используйте карточку контактов(bridge/VKWebAppGetPersonalCard), если вам нужно получить и номер телефона, и почту либо домашний адрес.\n\n**5.2.3.** Если пользователь не дал мини-приложению доступ к данным, то он может ввести их вручную.\n\n**5.2.4.** Мини-приложение получает общедоступные данные других пользователей с помощью метода `users.get`(method/users.get) с сервисным ключом доступа(api/access-token/getting-started#Сервисный%20ключ%20доступа).\n\n### 5.3. Запросы разрешений и социальные механики \n\n**5.3.1.** Мини-приложение запрашивает данные и разрешения только в контексте выполнения конкретной функции.\n\n\u003e Не запрашивайте разрешения при входе в мини-приложение или сразу после перехода на экран с формой для ввода данных. Показывайте окно с запросом только после того, как курсор попал в соответствующее поле.\n\n**5.3.2.** Мини-приложение объясняет пользователю, зачем запрашивает то или иное разрешение. \n\n\u003e Практика показывает, что всплывающие окна с запросами разрешений без контекста и объяснений ведут к снижению конверсии и показателей эффективности.\n\n**5.3.3.** Мини-приложение корректно обрабатывает отказ пользователя предоставить разрешение и запоминает его, если можно продолжить работу без этого разрешения. Если продолжить работу без разрешения нельзя, мини-приложение уточняет цель запроса.\n**5.3.4.** Пользователь может повторно вызвать запрос данных и разрешений, например из настроек мини-приложения.\n\n\u003e Например, можно использовать элемент Switch(https://vk.cc/cfPXmZ), чтобы предоставить или запретить доступ к данным.\n\n### 5.4. Пользовательский контент\n\n\u003e Пользовательский контент — это оригинальный контент, который создают и загружают пользователи мини-приложения.\n\n**5.4.1.** Перед созданием контента или загрузкой материалов пользователь видит Типовое пользовательское соглашение(user-agreement). Пользователь может добавить контент или загрузить материалы только после того, как примет соглашение.\n**5.4.2.** Условия и правила использования мини-приложения содержат определение неприемлемого контента и запрет на размещение материалов с таким контентом.\n**5.4.3.** В мини-приложении есть возможность пожаловаться на неприемлемый пользовательский контент.\n**5.4.4.** В мини-приложении регулярно и оперативно модерируется пользовательский контент.},language:ru,variant:public,expireDate:1668483570571,isManuallyExpired:false},/mini-apps/catalog/moderation:{type:article,layout:internal,template:/article,contents:{title:Мини-приложения | Каталоги | Как попасть в каталог,id:mini-apps__catalog__moderation,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps/catalog/moderation,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Как попасть в каталог\n\nЕсли вы хотите разместить своё мини-приложение в каталоге мини-приложений(https://vk.com/services) или каталоге приложений для сообществ(https://vk.com/community_apps), вам нужно подать заявку на модерацию. \n\nМодератор проверит мини-приложение на соответствие критериям(mini-apps/catalog/criteria) и укажет на имеющиеся недочёты. Останется только исправить их и подготовить мини-приложение к публикации в каталоге.\n\nЧтобы мини-приложение попало в каталог, выполните следующие шаги:\n\n1. Подготовьте мини-приложение к модерации(#Шаг%201.%20Подготовьте%20мини-приложение%20к%20модерации).\n2. Отправьте заявку на модерацию(#Шаг%202.%20Отправьте%20заявку%20на%20модерацию).\n3. Ответьте на вопросы модератора(#Шаг%203.%20Ответьте%20на%20вопросы%20модератора).\n4. Исправьте проблемы, описанные в баг-трекере(#Шаг%204.%20Исправьте%20проблемы,%20описанные%20в%20баг-трекере).\n5. Подготовьте мини-приложение к публикации(#Шаг%205.%20Подготовьте%20мини-приложение%20к%20публикации).\n\n\n\u003e **Совет**. Перед тем как отправить заявку на модерацию, внимательно прочитайте эту инструкцию, обратите внимание на сроки прохождения каждого этапа и процесс взаимодействия с модератором.\n\n## Шаг 1. Подготовьте мини-приложение к модерации\n\n1. Заполните **Описание** и **Краткое описание** в разделе Информация(mini-apps/management/information#Информация).\n1. Загрузите все изображения в разделе Обложки и скриншоты(mini-apps/management/information#Обложки%20и%20скриншоты).\n1. В разделе Настройки(mini-apps/management/settings#Состояние) выберите **Приложение включено и видно всем**.\n1. Убедитесь, что добавили все функции и контент, а мини-приложение выглядит именно так, как его увидит пользователь.\n1. Проверьте, что мини-приложение работает без ошибок на всех поддерживаемых платформах.\n1. Подготовьте мини-приложение к тестированию:\n * Добавьте тестовые данные для проверки функций. Например, если в мини-приложении отслеживается статус почтового отправления, то укажите тестовый номер такого отправления.\n * Переведите платежи в тестовый режим. Например установите платёж за товар\u0026nbsp;—\u0026nbsp;1\u0026nbsp;рубль.\n * Если возможно, подключите тестовые базы данных и тестовое окружение.\n * Если мини-приложение работает только в боевом окружении, подготовьте инструкцию для модератора и тестировщиков. В инструкции опишите, как протестировать все функции, чтобы не повлиять при этом на работу приложения и бизнес-процессы.\n\n\u003e **Обратите внимание!** Мы рекомендуем вам не планировать добавление новых функций на период модерации — с момента подачи заявки на модерацию и до размещения мини-приложения в каталоге.\n\n## Шаг 2. Отправьте заявку на модерацию\n\nОткройте Мои приложения(https://vk.com/apps?actmanage) \u0026rarr; **Редактировать** \u0026rarr; **Модерация** и следуйте инструкциям(mini-apps/management/moderation#Заявка%20на%модерацию), чтобы отправить заявку.\n\nВ заявке на модерацию обязательно:\n\n* Расскажите, для чего предназначено ваше мини-приложение.\n* Опишите целевую аудиторию мини-приложения. Вы можете указать ограничения по возрасту или географическому положению, либо дать ссылку на сообщество, для которого предназначено мини-приложение.\n* Укажите платформы, на которых доступно мини-приложение.\n* Перечислите задачи, которые помогает решить мини-приложение.\n* Подтвердите, что используете библиотеку VK Bridge(bridge/getting-started).\n* Перечислите инструменты, которые мини-приложение использует, чтобы получать данные из внешних источников.\n\n!altЗаявка на модерацию;titleЗаявка на модерацию(4eab53b0c711d2129a4cbf24ba0caf16dd5098d7ef3e800d16766846 \627754180425894509\)\n\n\u003e **Совет**. Подробно заполняйте заявку, чтобы помочь модератору быстрее приступить к проверке мини-приложения и ускорить процесс модерации.\n\nПосле того как вы отправите заявку на модерацию, её статус можно будет увидеть в разделе Модерация(mini-apps/management/moderation). \n\n!altСтатус модерации;titleСтатус модерации(1195c4acba73f6d14111635ca2fc72a4d35de390edecbf9a4c9ab385 \64664082986014541\)\n\nВаша заявка и последующая переписка с модератором будут отображаться в разделе Помощь(mini-apps/management/support) на вкладке **Все вопросы**.\n\n!altПереписка с модератором;titleПереписка с модератором(26ff4bc207ea53a9094e9e48eb09a4f0f76b36d735b31fb1c0a2ad01 \6347121104458830574\)\n\n\u003e **Важно!** Если вы планируете выпустить мини-приложение к определённой дате, учитывайте сроки рассмотрения заявки модератором и сроки тестирования.\n\u003e \n\u003e В общей сложности весь процесс модерации может занять от 5 дней до нескольких недель.\n\n## Шаг 3. Ответьте на вопросы модератора\n\n\u003e Обычно модератор рассматривает новую заявку в течение 2-4 дней.\n\nСначала модератор изучает заявку и проверяет мини-приложение на соответствие критериям(mini-apps/catalog/criteria). Модератор напишет вам, что нужно исправить, даст советы, а также подскажет, как подготовить мини-приложение к тестированию. Будьте на связи и отвечайте на вопросы модератора.\n\nМодератор обязательно проверит мини-приложение на уязвимости и другие критические проблемы безопасности. Такая проверка может занять несколько дней. Все критические проблемы нужно будет устранить до начала бета-тестирования.\n\nЕсли у модератора больше нет вопросов к разработчику, то он сообщит, что можно переходить к следующему шагу и отправит мини-приложение в бета-тестирование.\n\n\u003e Если ваше мини-приложение подходит и для сообществ, то модератор предложит вам разместить его в каталоге для сообществ(https://vk.com/community_apps).\n\n## Шаг 4. Исправьте проблемы, описанные в баг-трекере\n\n\u003e **Обратите внимание.** Мини-приложения отправляются в бета-тестирование каждый четверг в 18:00 по Москве. Минимальный срок бета-тестирования — 3 дня, рекомендуемый — неделя.\n\nНа этом этапе мини-приложение тестируют участники VK Testers(https://vk.com/testers). Сразу после начала бета-тестирования модератор предоставит вам доступ к баг-трекеру и отчётам. Обязательно исправьте баги, которые влияют на работу мини-приложения, и дождитесь, пока тестировщики верифицируют отчёты. \n\nКогда исправите баги и закончите обрабатывать отчёты, напишите об этом модератору. Он проверит отчёты в баг-трекере и сообщит, что можно готовиться к публикации в каталоге.\n\n## Шаг 5. Подготовьте мини-приложение к публикации\n\nКогда тестирование завершено, можно готовить мини-приложение к публикации:\n\n* Замените тестовое окружение в мини-приложении на боевое. Сообщите об этом тестировщикам, которые участвовали в тестировании: отправьте новую версию мини-приложения в баг-трекер, чтобы тестировщики получили push-уведомления.\n* Убедитесь, что вы удалили из мини-приложения тестовые данные. Проверьте, что тестировщики не оставили в мини-приложении пользовательский контент.\n\nСообщите модератору, что ваше мини-приложение готово к публикации. Модератор окончательно всё проверит и, если остались недочёты, попросит их исправить. Если замечаний нет, то сразу опубликует мини-приложение в каталоге.\n\nНа этом всё. Поздравляем с размещением в каталоге!\n\n## Что дальше\n\n### Поддержка мини-приложения\n\nТеперь, когда мини-приложение уже в каталоге, не забывайте про него и поддерживайте в актуальном состоянии. Вовремя отвечайте на вопросы пользователей. Следите за тем, чтобы ваше мини-приложение всегда было доступно и работало без ошибок.\n\n\u003e **Обратите внимание!** Чтобы внести мажорные изменения в мини-приложение из каталога, их обязательно нужно протестировать с помощью команды VK Testers(https://vk.com/testers). В диалоге с модератором напишите, что вам необходимо отправить мини-приложение на дополнительное тестирование.\n\n### Удаление из каталога\n\nЕсли по какой-либо причине вы хотите удалить мини-приложение из каталога, напишите об этом в диалоге с модератором в разделе Помощь(mini-apps/management/support).\n\nМодератор может удалить мини-приложение из каталога без запроса разработчика по следующим причинам:\n\n* Мини-приложение отключено больше 30 дней подряд.\n* В работе мини-приложения есть проблемы. Например, оно зависает, закрывается, перезагружает устройство пользователя, и разработчик не пытается исправить ситуацию в течение 30 дней.\n* В мини-приложение внесены изменения, которые нарушают правила(mini-apps/catalog/criteria).\n* Разработчик не отвечает на сообщения пользователей более 30 дней.\n* Разработчик не отвечает на вопросы модератора о состоянии мини-приложения более 30 дней.\n* Разработчик не исправляет критические проблемы и уязвимости, игнорирует отчёты в баг-трекере.\n\nМодератор всегда предупреждает главного администратора мини-приложения о том, что собирается удалить мини-приложение из каталога и сообщает причину.\n\n\u003e **Важно!** Мини-приложение, которое удалили из каталога, сможет вернуться в него, только если разработчик устранит все недочёты и заново отправит его на модерацию.\n\nВопросы модератору можно задать в разделе Помощь(mini-apps/management/support).},language:ru,variant:public,expireDate:1668486728393,isManuallyExpired:false},/api/open-api/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Сообщества и пользователи | Open API,id:api__open-api__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/open-api/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Open API\n\n**Open API** — система, которая предоставляет возможность легко авторизовывать пользователей ВКонтакте на вашем сайте. Кроме этого, с согласия пользователей, вы сможете получить доступ к информации об их друзьях, фотографиях, видеороликах и других данных ВКонтакте для более глубокой интеграции с вашим проектом. \n\nВ рамках подключения к Open API создается приложение, которое позволяет использовать на вашем сайте все текущие методы ВКонтакте API. Помимо этого, Open API упрощает регистрацию новых пользователей на вашем сайте, если у них уже есть учетная запись ВКонтакте. \n\n## Подготовка к работе\n\nПеред началом работы с Open API вам необходимо создать(https://vk.com/editapp?actcreate) новое приложение с типом «Веб-сайт» или «Standalone» (или использовать уже имеющееся у вас приложение).\n\nВ настройках приложения должны быть указаны следующие данные:\n* `Адрес сайта` — адрес сайта, к которому вы подключите Open API, например `http://mysite.com`\n* `Базовый домен` — базовый домен вашего сайта (например, `mysite.com`). Вы можете указать несколько доменных имен, если есть необходимость использовать один `APP_ID` на разных доменах. \n\n\u003e Обратите внимание, что вызовы методов Open API можно осуществлять только на странице с URL в рамках домена, указанного в поле «Базовый домен».\n\nВ дальнейшей работе вам потребуется идентификатор приложения из поля «ID приложения», в документации он может обозначаться как `app_id`, `api_id`, `client_id`.\n\n## Инициализация Open API\n\nДля инициализации Open API используется метод `VK.init`. Метод принимает следующие параметры:\n\n* `apiId` (`integer`), обязательный параметр — идентификатор приложения.\n* `status` (`boolean`) — `true`: автоматически обновить при инициализации данные сессии и статуса с помощью метода `VK.Auth.getLoginStatus`(#VK.Auth.getLoginStatus).\n* `onlyWidgets` (`boolean`) — `true`: инициализировать Open API только для подключения виджетов(#Виджеты).\n\nИнициализация Open API может происходить двумя способами: обычным (синхронным) и асинхронным. \n\n### Обычная инициализация\n\nДля использования обычной инициализации необходимо добавить следующий блок кода внутри тега `head`: \n\n```HTML\n\u003cscript src\https://vk.com/js/api/openapi.js?169\ type\text/javascript\\u003e\u003c/script\u003e\n```\n\nА код ниже перед закрывающим тегом `body`\n\n```HTML\n\u003cscript type\text/javascript\\u003e\n VK.init({\n apiId: ВАШ_APP_ID\n });\n\u003c/script\u003e\n```\n\n### Асинхронная инициализация\n\nВ отличие от обычной, асинхронная инициализация Open API позволяет производить инициализацию платформы параллельно инициализации вашего JavaScript-кода. Для использования асинхронной инициализации, добавьте следующий HTML и JavaScript код сразу же после открытия тега `body`: \n\n```HTML\n\u003cdiv id\vk_api_transport\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n window.vkAsyncInit function() {\n VK.init({\n apiId: ВАШ_APP_ID\n });\n };\n\n setTimeout(function() {\n var el document.createElement(\script\);\n el.type \text/javascript\;\n el.src \https://vk.com/js/api/openapi.js?169\;\n el.async true;\n document.getElementById(\vk_api_transport\).appendChild(el);\n }, 0);\n\u003c/script\u003e\n```\n\nПри использовании асинхронной инициализации наличие контейнера `vk_api_transport` является обязательным условием успешной инициализации. При обычной инициализации контейнер будет создан автоматически в случае его отсутствия. \n\n## Авторизация пользователя\n\nДля работы с авторизацией пользователя в Open API используются методы объекта `VK.Auth`.\n\n### `VK.Auth.login`\n\nПараметры: `callback` (`function`), `settings` (`integer`)\n\nОткрывает popup-окно для авторизации пользователя с его учетной записью ВКонтакте. Если пользователь уже авторизован ВКонтакте, но не установил приложение, то запрашивает разрешение на доступ к личным данным. Если пользователь авторизован ВКонтакте и установил приложение к себе на страницу, то popup-окно сразу же закрывается и возвращаются сессионные данные пользователя в callback-вызове. \nЕсли задан параметр `settings`, то пользовательские настройки приложения сравниваются со значением, переданным в `settings`, и в случае необходимости запрашиваются те, которых не хватает. Со списком битовых масок настроек можно ознакомиться на странице с правами доступа(reference/access-rights). \n\nТак как метод вызывает popup-окно, для предотвращения его блокировки браузером он должен вызываться в обработчике пользовательского события (например, нажатия на кнопку мыши по объекту). \nЭтот метод генерирует событие `auth.login`(#Поддерживаемые%20события).\n\n#### Формат ответа\n\nДанные сессии (`session` (`object`)). Объект, который содержит следующие поля:\n\n* `expire` (`integer`) — время в формате `Unixtime`, когда сессия устареет.\n* `mid` (`integer`) — идентификатор пользователя.\n* `secret` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `sid` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `sig` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `user` (`object`) — информация о пользователе. Объект, который содержит следующие поля:\n * `domain` (`string`) — короткий адрес страницы.\n * `first_name` (`string`) — имя.\n * `href` (`string`) — ссылка на страницу в формате `https://vk.com/domain`.\n * `id` (`string`) — идентификатор пользователя.\n * `last_name` (`string`) — фамилия.\n * `nickname` (`string`) — отчество или никнейм (если указано).\n\nCтатус текущего пользователя (`status` (`string`)). Возможные значения:\n\n* `connected` — пользователь авторизован ВКонтакте и разрешил доступ приложению.\n* `not_authorized` — пользователь авторизован ВКонтакте, но не разрешил доступ приложению.\n* `unknown` — пользователь не авторизован ВКонтакте.\n\n### `VK.Auth.logout`\n\nПараметры: `callback` (`function`)\n\nВ случае успеха завершает сессию пользователя внутри платформы Open API.\nГенерирует событие `auth.logout`(#Поддерживаемые%20события).\n\nМетод возвращает объект следующего вида:\n\n```\n{session: null, status: \unknown\, settings: undefined}\n```\n\n### `VK.Auth.revokeGrants`\n\nПараметры: `callback` (`function`)\n\nВ случае успеха лишает приложение прав на доступ к данным пользователя.\nГенерирует событие `auth.statusChange`(#Поддерживаемые%20события).\n\nМетод возвращает объект следующего вида:\n\n```\n{session: null, status: \unknown\, settings: undefined}\n```\n\n### `VK.Auth.getLoginStatus`\n\nПараметры: `callback` (`function`)\n\nУзнает текущий статус, а также получает данные сессии, если пользователь авторизован ВКонтакте и установил приложение. Метод получает эти данные от ВКонтакте и возвращает ответ в вызове указанной callback-функции.\n\n#### Формат ответа\n\nДанные сессии (`session` (`object`)). Объект, который содержит следующие поля:\n\n* `expire` (`integer`) — время в формате `Unixtime`, когда сессия устареет.\n* `mid` (`integer`) — идентификатор пользователя.\n* `secret` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `sid` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `sig` (`string`) — служебный параметр для проверки авторизации на удаленной стороне.\n* `user` (`object`) — информация о пользователе. Объект, который содержит следующие поля:\n * `domain` (`string`) — короткий адрес страницы.\n * `first_name` (`string`) — имя.\n * `href` (`string`) — ссылка на страницу в формате `https://vk.com/domain`.\n * `id` (`string`) — идентификатор пользователя.\n * `last_name` (`string`) — фамилия.\n * `nickname` (`string`) — отчество или никнейм (если указано).\n\nCтатус текущего пользователя (`status` (`string`)). Возможные значения:\n\n* `connected` — пользователь авторизован ВКонтакте и разрешил доступ приложению.\n* `not_authorized` — пользователь авторизован ВКонтакте, но не разрешил доступ приложению.\n* `unknown` — пользователь не авторизован ВКонтакте.\n\n### `VK.Auth.getSession`\n\nПараметры: `callback` (`function`)\n\nВозвращает сессионные данные пользователя. Этот метод нужно использовать для получения данных сессии, когда вы точно знаете, что пользователь авторизован ВКонтакте и в приложении, чтобы избежать задержек при асинхронном вызове `VK.Auth.getLoginStatus`(#VK.Auth.getLoginStatus).\n\n#### Формат ответа\n\n* `expire` (`integer`) — время в формате `Unixtime`, когда сессия устареет.\n* `mid` (`integer`) — идентификатор пользователя.\n* `secret` (`string`) — служебный параметр для проверки авторизации на удаленной стороне(#Авторизация%20на%20удаленной%20стороне).\n* `sid` (`string`) — служебный параметр для проверки авторизации на удаленной стороне(#Авторизация%20на%20удаленной%20стороне).\n* `sig` (`string`) — служебный параметр для проверки авторизации на удаленной стороне(#Авторизация%20на%20удаленной%20стороне).\n* `user` (`object`) — информация о пользователе. Объект, который содержит следующие поля:\n * `domain` (`string`) — короткий адрес страницы.\n * `first_name` (`string`) — имя.\n * `href` (`string`) — ссылка на страницу в формате `https://vk.com/domain`.\n * `id` (`string`) — идентификатор пользователя.\n * `last_name` (`string`) — фамилия.\n * `nickname` (`string`) — отчество или никнейм (если указано).\n\nДля создания стилизованной кнопки **Войти ВКонтакте** используйте метод `VK.UI.button`. В качестве единственного параметра он принимает id контейнера.\n\nПримеры использования этих методов:\n\n```JavaScript\nVK.Auth.login(function(response) {\n if (response.session) {\n /* Пользователь успешно авторизовался */\n if (response.settings) {\n /* Выбранные настройки доступа пользователя, если они были запрошены */\n }\n } else {\n /* Пользователь нажал кнопку Отмена в окне авторизации */\n }\n});\n```\n\n### Авторизация на удаленной стороне\n\nДля того, чтобы вы могли проверить, что пользователь действительно авторизовался через платформу Open API, в сессионных данных передается параметр `sig`. Он служит цифровой подписью данных. После авторизации сессионные данные записываются в cookie с именем `vk_app_\u003cAPP_ID\u003e`, где `\u003cAPP_ID\u003e` - это идентификатор вашего приложения. Данные записаны в виде пар `parameter_name` `parameter_value`, соединенных разделительным символом `\u0026`:\n\n```\nexpire1271238742\u0026mid100172\u0026secret97c1e8933e\u0026sid549b550f608e4a4d247734941debb5e68df50a66c58dc6ee2a4f60a2\u0026sig372df9795fe8dd29684a2f996872457c \n```\n\nПараметр `sig` равен md5 от конкатенации следующих строк:\n* данных сессии `expire`, `mid`, `secret`, `sid` в виде пар `parameter_name` `parameter_value`, расположенных в порядке возрастания имени параметра (по алфавиту).\n* защищенного ключа вашего приложения.\n\nВ данном случае значение `sig` будет вычислено как `md5`-хеш от следующей строки:\n\n```\nexpire1271238742mid100172secret97c1e8933esid549b550f608e4a4d247734941debb5e68df50a66c58dc6ee2a4f60a26FF1PUlZfEyutJxctvtd\n```\n\nНиже представлен пример кода на языке PHP, который может быть использован для авторизации пользователя Open API на удаленной стороне:\n\n```PHP\nfunction authOpenAPIMember() {\n $session array();\n $member FALSE;\n $valid_keys array(expire, mid, secret, sid, sig);\n $app_cookie $_COOKIEvk_app_.APP_ID;\n if ($app_cookie) {\n $session_data explode (\u0026, $app_cookie, 10);\n foreach ($session_data as $pair) {\n list($key, $value) explode(, $pair, 2);\n if (empty($key) || empty($value) || !in_array($key, $valid_keys)) {\n continue;\n }\n $session$key $value;\n }\n foreach ($valid_keys as $key) {\n if (!isset($session$key)) return $member;\n }\n ksort($session);\n\n $sign ;\n foreach ($session as $key \u003e $value) {\n if ($key ! sig) {\n $sign . ($key..$value);\n }\n }\n $sign . APP_SHARED_SECRET;\n $sign md5($sign);\n if ($sessionsig $sign \u0026\u0026 $sessionexpire \u003e time()) {\n $member array(\n id \u003e intval($sessionmid),\n secret \u003e $sessionsecret,\n sid \u003e $sessionsid\n );\n }\n }\n return $member;\n}\n\n$member authOpenAPIMember();\n\nif($member ! FALSE) {\n /* Пользователь авторизован в Open API */\n} else {\n /* Пользователь не авторизован в Open API */\n}\n```\n\nВ этом примере константы имеют следующие значения:\n* `APP_ID` — ID Open API приложения.\n* `APP_SHARED_SECRET` — защищенный ключ Open API приложения.\n\n## Вызов методов API ВКонтакте\n\nДля взаимодействия с API ВКонтакте используйте метод `VK.Api.call`. Этот метод принимает следующие параметры:\n\n* `method` (`string`) — название метода API(reference);\n* `params` (`object`) — параметры метода (параметр версии API `v` обязателен);\n* `callback` (`function`) — функция обратного вызова.\n\nВызов метода `users.get`(users.get) через Open API: \n\n```JavaScript\nVK.Api.call(users.get, {user_ids: 6492, v:\5.73\}, function(r) {\n if(r.response) {\n alert(Привет, + r.response0.first_name);\n }\n});\n```\n\n## Виджеты\n\nС помощью Open API вы можете встроить на свой сайт виджеты ВКонтакте — например, для отображения данных о вашем сообществе или для комментирования материалов.\n\nДля встраивания виджетов используются функции объекта VK.Widgets. Нажмите на название виджета, чтобы перейти к его подробному описанию и конструктору кода.\n* `VK.Widgets.ContactUs` — виджет «Напишите нам»(widgets/contact-us).\n* `VK.Widgets.Comments` — виджет комментариев(widgets/comments).\n* `VK.Widgets.Post` — виджет «Запись на стене»(widgets/post).\n* `VK.Widgets.Group` — виджет сообщества(widgets/group).\n* `VK.Widgets.Like` — виджет «Мне нравится»(widgets/like).\n* `VK.Widgets.Recommended` — виджет рекомендаций(widgets/recommended).\n* `VK.Widgets.Poll` — виджет опроса(widgets/poll).\n* `VK.Widgets.Auth` — виджет авторизации(widgets/auth).\n* `VK.Widgets.Subscribe` — виджет «Подписаться на автора»(widgets/subscribe).\n\n## Обработка событий\n\nДля обработки событий в Open API используйте методы `VK.Observer.subscribe` и `VK.Observer.unsubscribe`.\n\n### `VK.Observer.subscribe`\n\nПараметры: `event` (`string`), `handler` (`function`).\n\nМетод добавляет функцию, переданную в параметре `handler`, в список получателей события, которое указано в параметре `event`.\n\n### `VK.Observer.unsubscribe`\n\nПараметры: `event` (`string`), `handler` (`function`).\n\nМетод удаляет функцию, переданную в параметре `handler`, из списка получателей события, которое указано в параметре `event`. Если параметр `handler` не задан, то удаляются все обработчики события, указанного в параметре `event`.\n\n### Поддерживаемые события\n\n| Событие | Описание |\n| --- | ---|\n| `auth.login` | Возникает при авторизации пользователя с помощью метода `VK.Auth.login`(#Авторизация%20пользователя).|\n| `auth.logout` | Возникает при выходе пользователя с помощью метода `VK.Auth.logout`(#Авторизация%20пользователя).|\n| `auth.statusChange` | Возникает при изменении статуса пользователя. |\n| `auth.sessionChange` | Возникает при изменении любых данных, связанных с авторизацией пользователя. |\n| `widgets.comments.new_comment` | Добавлен новый комментарий в виджете комментариев(widgets/comments). |\n| `widgets.comments.delete_comment` | Удалён комментарий из виджета комментариев. |\n| `widgets.groups.joined` | Новое вступление в виджете сообщества(widgets/group). |\n| `widgets.groups.leaved`| Выход участника в виджете сообщества. |\n| `widgets.like.liked` | Новая отметка **Мне нравится** в виджете(widgets/like). |\n| `widgets.like.unliked` | Удаление отметки **Мне нравится** в виджете. |\n| `widgets.like.shared` | Новый репост в виджете «Мне нравится». |\n| `widgets.like.unshared` | Удаление репоста в виджете «Мне нравится». |\n| `widgets.subscribed` | Новый подписчик в виджете(widgets/subscribe) «Подписаться на автора». |\n| `widgets.unsubscribed` | Удалившийся подписчик в виджете «Подписаться на автора». |\n\nПример использования `VK.Observer` с виджетом «Мне нравится»(widgets/like):\n\n```HTML\n\u003cscript type\text/javascript\ src\//vk.com/js/api/openapi.js?122\\u003e\u003c/script\u003e\n\n\u003cscript type\text/javascript\\u003e\n VK.init({apiId: 123456});\n\u003c/script\u003e\n\u003cdiv id\vk_like\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\nVK.Widgets.Like(\vk_like\, {type: \button\});\nVK.Observer.subscribe(\widgets.like.liked\, function f() \n{\nalert (\Thank you for your like.\);\n});\n\u003c/script\u003e\n```\n\nЗначение `123456` необходимо заменить на `API_ID` вашего приложения.\n\n## Ретаргетинг в Open API\n\n**Ретаргетинг** — это инструмент, позволяющий показывать рекламные материалы пользователям, которые уже знакомы с продуктом или услугой, посетив сайт или воспользовавшись ими ранее. Вы можете обработать событие или пополнить аудиторию ретаргетинга с помощью Open API.\n\n### `VK.Retargeting.Init`\n\nПараметры: `code` (`string`)\n\nИспользуйте метод `VK.Retargeting.Init`, чтобы инициализировать пиксель. В качестве единственного параметра метод принимает код пикселя, который вы можете получить в настройках рекламного кабинета или методом `ads.createTargetPixel`(ads.createTargetPixel).\n\n```\nVK.Retargeting.Init(VK-RTRG-96471-KZ24cpR);\n```\n\n### `VK.Retargeting.Hit`\n\nПараметры: —\n\nМетод генерирует событие посещения страницы.\n\n### `VK.Retargeting.Event`\n\nПараметры: `eventName` (`string`)\n\nМетод генерирует событие `eventName`.\n\nНапример:\n\n```HTML\nvar formFillStarted false;\n$(form).on(change, function () {\n if (!formFillStarted) {\n formFillStarted true;\n VK.Retargeting.Event(form-fill-started);\n }\n});\n```\n\n### `VK.Retargeting.Add`\n\nПараметры: `audienceID` (`integer`)\n\nМетод добавляет пользователя в аудиторию `audienceID`.\n\nНапример:\n\n```HTML\n$(.add-to-basket).on(click, function () {\n VK.Retargeting.Add(8839163);\n});\n```\n\n## `VK.UI`\n\nОбъект VK.UI содержит в себе различные методы, связанные с интерфейсом.\n\n|Параметр|Описание|\n|---|---|\n |`button` (`string` `box_id`) | Cоздаёт стилизованную кнопку **Войти ВКонтакте** внутри контейнера c id, заданным через параметр `box_id`. |},language:ru,variant:public,expireDate:1668487214152,isManuallyExpired:false},/reference/objects/attachments-wall:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Медиаконтент и вложения | Медиавложения в записях на стене,id:reference__objects__attachments-wall,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/attachments-wall,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Медиавложения в записях на стене\n\nИнформация о медиавложениях в записях и комментариях на стене возвращается в виде массива `attachments`. Каждый элемент массива представляет собой объект с двумя полями. Первое поле — `type` (`string`) содержит тип вложения (`photo`,`note`,`audio` и т.д.). Название второго поля совпадает со значением, переданным в `type`. Второе поле содержит объект, представляющий медиавложение. Структура объекта в этом поле зависит от его типа.\n\nПример объекта `attachments` для двух вложений (фото и аудио):\n\n```JSON\n\n {\n \type\: \photo\,\n \photo\: \u003cобъект photo\u003e\n },\n {\n \type\: \audio\,\n \audio\: \u003cобъект audio\u003e\n }\n\n```\n\nКаждый объект может содержать дополнительное поле `access_key` — ключ доступа к контенту. Описание поля `access_key` вы можете найти на этой странице(reference/objects).\n\n## Фотография (`type photo`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/photo).\nДля фотографий, которые были загружены не в запрашиваемую запись, дополнительно возвращается поле `post_id`, содержащее идентификатор записи, в которую была загружена фотография.\n\n## Фотография, загруженная напрямую (`type posted_photo`)\n\nЭто устаревший тип вложения. Он может быть возвращен лишь для записей, созданных раньше 2013 года.\n\n### `id`\n`integer`\nИдентификатор фотографии.\n\n### `owner_id`\n`integer`\nИдентификатор владельца фотографии.\n\n### `photo_130`\n`string`\nURL изображения для предпросмотра.\n\n### `photo_604`\n`string`\nURL полноразмерного изображения.\n\n## Видеозапись (`type video`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/video). \n\n## Аудиозапись (`type audio`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/audio). \n\n## Документ (`type doc`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/doc). \n\n## Граффити (`type graffiti`)\n\nЭто устаревший тип вложения. Он может быть возвращен лишь для записей, созданных раньше 2013 года. Для более новых записей граффити возвращается в виде вложения с типом `photo`.\n\n### `id`\n`integer`\nИдентификатор граффити.\n\n### `owner_id`\n`integer`\nИдентификатор автора граффити.\n\n### `photo_130`\n`string`\nURL изображения для предпросмотра.\n\n### `photo_604`\n`string`\nURL полноразмерного изображения.\n\n## Ссылка (`type link`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/link).\n\n## Заметка (`type note`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/note).\n\n## Контент приложения (`type app`)\n\nЭто устаревший тип вложений. Он может быть возвращен лишь для записей, созданных раньше 2013 года.\n\n### `id`\n`integer`\nИдентификатор приложения.\n\n### `name`\n`string`\nНазвание приложения.\n\n### `photo_130`\n`string`\nURL изображения для предпросмотра.\n\n### `photo_604`\n`string`\nURL полноразмерного изображения.\n\n## Опрос (`type poll`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/poll). \n\n## Вики-страница (`type page`)\n\n### Для версии API 5.20 и выше\n\nОписание полей объекта находится на отдельной странице(reference/objects/wiki-page).\n\n### Для версии API ниже 5.20: \n\n### `id`\n`integer`\nИдентификатор вики-страницы.\n\n### `group_id`\n`integer`\nИдентификатор группы, которой принадлежит вики-страница.\n\n### `title`\n`string`\nНазвание вики-страницы.\n\n## Альбом с фотографиями (`typealbum`)\n\n### `id`\n`integer`\nИдентификатор альбома.\n\n### `thumb`\n`object`\nОбложка альбома, объект photo(reference/objects/photo).\n\n### `owner_id`\n`integer`\nИдентификатор владельца альбома.\n\n### `title`\n`string`\nНазвание альбома.\n\n### `description`\n`string`\nОписание альбома.\n\n### `created`\n`integer`\nДата создания альбома в формате Unixtime.\n\n### `updated`\n`integer`\nДата последнего обновления альбома в формате Unixtime.\n\n### `size`\n`integer`\nКоличество фотографий в альбоме.\n\n## Список фотографий (`typephotos_list`)\n\nМассив из строк, содержащих идентификаторы фотографий. Сами фотографии дублируются в виде приложенных объектов фотографий, однако этот список необходим в случае, если фотографий использовано больше максимального количества возвращаемых вложений (10).\n\n## Товар (`type market`)\n\n\u003e Возвращается для версии 5.52 и выше.\n\nОписание полей объекта находится на отдельной странице(reference/objects/market-item).\n\n## Подборка товаров (`type market_album`)\n\n\u003e Возвращается для версии 5.52 и выше.\n\nОписание полей объекта находится на отдельной странице(reference/objects/market-album).\n\n## Стикер (`type sticker`)\n\nОписание полей объекта находится на отдельной странице(reference/objects/sticker). Этот тип вложения может возвращаться только для комментариев.\n\n## Карточки (`type pretty_cards`)\n\n### `cards`\n`array`\nМассив элементов-карточек. Каждый элемент массива содержит поля:\n* `card_id` (`string`) — идентификатор карточки;\n* `link_url` (`string`) — URL карточки;\n* `title` (`string`) — подпись карточки;\n* `images` (`array`) — изображения. Массив объектов с полями `url` (`string`), `width` (`integer`), `height` (`integer`);\n* `button` (`object`) — объект кнопки;\n* `price` (`string`) — цена;\n* `price_old` (`string`) — старая цена.\n\n\n\n## Встреча (`type event`)\n\n### `id`\n`integer`\nИдентификатор встречи.\n\n### `time`\n`integer`\nВремя начала встречи в Unixtime \n\n### `member_status`\n`integer`\nИдёт ли текущий пользователь на встречу. Возможные значения: \n* `1` — точно идёт; \n* `2` — возможно пойдёт; \n* `3` — не идёт.\n\n### `is_favorite`\n`bool`\nДобавлена ли встреча в закладки.\n\n### `address`\n`string`\nМесто проведения встречи.\n\n### `text`\n`string`\nТекст для отображения сниппета.\n\n### `button_text`\n`string`\nТекст на кнопке сниппета.\n\n### `friends`\n`integer`\nСписок идентификаторов друзей, которые также идут на мероприятие.\n\n},language:ru,variant:public,expireDate:1668487878566,isManuallyExpired:false},/method/messages.searchConversations:{type:method,layout:internal,template:/method,contents:{title:messages.searchConversations,id:messages.searchConversations,description:Позволяет искать диалоги.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/messages.searchConversations,redirectTo:,menuId:api_menu,accessRights:messages_ex,url:,type:method,isSearchable:false,tokenTypes:group_access,is_standalone,children:,text:\n,errors:,parameters:{name:q,description:Поисковой запрос.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Максимальное число результатов для получения.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:extended,description:`1` — возвращать дополнительные поля.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Дополнительные поля пользователей(reference/objects/user) и сообществ(reference/objects/group), которые необходимо вернуть в ответе.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:group_id,description:Идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает общее число результатов в поле `count` (`integer`) и массив объектов диалогов(reference/objects/conversation) в поле `items`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668488440557,isManuallyExpired:false},/mini-apps-rules:{type:article,layout:internal,template:/article,contents:{title:Правила | Правила размещения сервисов на платформе VK Mini Apps,id:mini-apps-rules,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:mini-apps-rules,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Правила размещения сервисов на платформе VK Mini Apps\n\nПодавая заявку на размещение в каталоге Сервисов, вы соглашаетесь с настоящими Правилами, Правилами пользования сайтом ВКонтакте(https://vk.com/terms), Правилами Платформы(rules), а также иными применимыми специальными документами Администрации Сайта.\n\nДействующая редакция настоящих Правил, являющихся публичным документом, доступна по адресу https://dev.vk.com/mini-apps-rules(mini-apps-rules). Администрация Сайта вправе вносить изменения в настоящие Правила. Уведомление о внесении изменений в Правила осуществляется путем размещения новой редакции Правил на Сайте по постоянному адресу https://dev.vk.com/mini-apps-rules(mini-apps-rules) не позднее, чем за 10 дней до вступления в силу соответствующих изменений.\n\nОбращаем ваше внимание, что соответствие Сервиса нижеперечисленным пунктам не гарантирует попадания в Каталог.\n\nАдминистрация Сайта вправе проводить предварительную модерацию Сервиса перед его размещением на платформе VK Mini Apps для проверки соответствия Сервиса техническим требованиям, положениям настоящих Правил и иных специальных документов Администрации Сайта, а также общей политике Сайта ВКонтакте. Администрация Сайта оставляет за собой право отказать в размещении Сервиса, прекратить или приостановить такое размещение, ограничить отдельные функциональные возможности Сервиса на основании результатов модерации без объяснения причин, в том числе в случае, если в результате указанной проверки Администрацией Сайта будут выявлены какие-либо нарушения в Сервисе.\n\n## Термины и определения\n\n* **Сервис** – приложение VK Mini Apps, функционирующее с использованием Публичного API VK, представляющее собой сайт, отображаемый в формате iFrame или мобильной WebView браузерной версии сайта ВКонтакте или официальных клиентов VK iOS и VK Android. \n* **Каталог** – перечень Сервисов VK Mini Apps по адресу: https://vk.com/services.\n\n## 1. Работа с данными пользователей\n\nДоступ к данным Пользователя и их обработка должны производиться только после получения от Пользователя Разработчиком явного, конкретного и информированного разрешения на конкретные действия с его данными.\n* **1.1** Перед получением доступа к данным Пользователя и их обработкой необходимо предоставить Пользователю для ознакомления и получения явного, конкретного и информированного разрешения политику конфиденциальности или иной аналогичный документ, регулирующий обработку данных Пользователя Разработчиком. Если такой документ отсутствует, используется Типовая политика конфиденциальности(privacy-policy).\n* **1.2** Пользователю должно быть понятно, для чего Сервису требуется то или иное разрешение. Запрашивать разрешения можно только в том случае, если они необходимы для работы основных функций Сервиса, которые уже внедрены.\n* **1.3** Запрещено использовать разрешения, дающие доступ к данным пользователя или устройства, для работы не заявленных, не внедренных или запрещенных функций (например, API аудио, сообщений).\n* **1.4** Доступ к данным должен запрашиваться в контексте Сервиса (с помощью поэтапной авторизации). Это поможет Пользователям понять, для чего вам нужно то или иное разрешение.\n* **1.5** Используйте данные только в тех целях, на которые Пользователь дал согласие. Если в дальнейшем вам понадобится использовать их в других целях, вам необходимо будет получить явное согласие пользователя на это.\n* **1.6** Данные, полученные Сервисом, в т.ч. через API методами `newsfeed.search`(method/newsfeed.search), `wall.get`(method/wall.get), `wall.search`(method/wall.search), в т.ч. идентификаторы пользователей (User ID), не могут использоваться в целях передачи или перепродажи, создания аналитических отчётов, скоринга и т.д., напрямую или через посредников, без прямого согласия Пользователя и Администрации сайта.\n* **1.7** Разработчик обязан прекратить обработку данных Пользователя, а также удалить полученные данные по требованию Администрации Сайта, Пользователя, его представителя, уполномоченным органом власти, а также в иных случаях, предусмотренных применимым законодательством.\n\n## 2. Контент в сервисе\n\n* **2.1** Сервис не может выдаваться за официальный продукт другого приложения или бренда. В том числе, запрещается задействовать логотип, подарки или стикеры ВКонтакте в оформлении, использовать название ВКонтакте в названии или описании Сервиса, если иное не оговорено отдельным дополнительным соглашением.\n* **2.2** Сервис не должен нарушать права и интересы третьих лиц. Если в Сервисе используются чьи-то торговые марки, копирайты, персонажи, стороннее API и любой иной контент, исключительные права на который принадлежат третьим лицам-правообладателям, это необходимо согласовать с правообладателем — так, чтобы по нашему запросу Вы могли предоставить разрешение на использование этих материалов.\n* **2.3** В Сервисе недопустимо размещение информации, которая:\n * **2.3.1** Способствует совершению незаконных действий или поощряет их.\n * **2.3.2** Использует натуралистичные изображения насилия над людьми или животными, эротику, порнографические материалы, оскорбительные материалы, нецензурную брань, бранные слова и выражения.\n * **2.3.3** Содержит описания средств и способов суицида, и любые подстрекательства к его совершению;\n * **2.3.4** Пропагандирует и/или способствует разжиганию расовой, религиозной, этнической ненависти или вражды, пропагандирует фашизм или идеологию расового превосходства;\n * **2.3.5** Содержит экстремистские материалы;\n * **2.3.6** Пропагандирует преступную деятельность или содержит советы, инструкции или руководства по совершению преступных действий;\n * **2.3.7** Cодержит информацию ограниченного доступа, включая, но не ограничиваясь, государственную и коммерческую тайну, информацию о частной жизни третьих лиц;\n * **2.3.8** Cодержит рекламу или описывает привлекательность употребления наркотических веществ, в том числе «цифровых наркотиков» (звуковых файлов, оказывающих воздействие на человека за счет бинауральных ритмов), информацию о распространении наркотиков, рецепты их изготовления и советы по употреблению;\n * **2.3.9** Потенциально может привести к совершению противоправных действий путем введения Пользователей в заблуждение или злоупотребления их доверием;\n * **2.3.10** А также нарушает иные права и интересы граждан и юридических лиц или требования законодательства Российской Федерации и других стран, на которые распространяется функциональность Сервиса.\n* **2.4** Сервис не может иметь название, тождественное названию другого Сервиса в Каталоге.\n\n## 3. Контент создаваемый пользователями\n\nК этой категории относятся материалы, загружаемые или создаваемые пользователями, которые видны или доступны нескольким пользователям Сервиса. Если такие материалы нарушают настоящие Правила, они считаются неприемлемыми.\n\nСервисы, которые содержат создаваемый пользователями контент, должны соответствовать перечисленным ниже требованиям.\n* **3.1** Перед созданием контента и загрузкой пользовательских материалов в Сервис необходимо принять условия или правила использования этого Сервиса. Если их нет, используется Типовое Пользовательское соглашение(user-agreement).\n* **3.2** Разработчик дал определение неприемлемого контента, созданного пользователями, и объяснил, что такие материалы запрещены. Эта информация должна быть приведена в условиях или правилах использования Сервиса.\n* **3.3** Создаваемый пользователями контент оперативно и постоянно модерируется. Допускается наличие предварительной модерации, а также автоматизированной (но не ограничиваясь ею).\n* **3.4** Сервис предусматривает возможность пожаловаться на неприемлемый контент.\n* **3.5** Разработчик удаляет или блокирует аккаунты пользователей, оскорбляющих других людей и нарушающих условия или правила использования Сервиса, а также удаляет неприемлемые материалы в установленные условиями Сервиса сроки, но не позднее 24 часов после подачи жалобы.\n\n## 4. Функциональность Сервиса\n\n* **4.1** Сервис должен соответствовать Основам работы с данными пользователя внутри Сервиса(https://vk.com/@vkappsdev-vk-apps-kak-popast-v-katalog?anchoriii-rabota-s-dannymi-polzovatelya).\n* **4.2** В Каталоге могут быть размещены Сервисы, поддерживающие работу на мобильных клиентах iOS и Android. В случае, если Сервис доступен на десктопной платформе — работа в браузерной версии должна быть корректной.\n* **4.3** Перед размещением в каталоге Сервис должен пройти программу бета-тестирования.\n* **4.4** После размещения Сервиса в каталоге необходимо добавлять новые версии в программу бета-тестирования перед релизом и уведомлять об этом бета-тестировщиков ВКонтакте.\n* **4.5** К размещению в Каталоге не будут допущены «приложения-заглушки», не несущие в себе функциональной нагрузки. Доступ к функциональности Сервисов, размещенных в каталоге, должен предоставляться без необходимости перехода за пределы сайта ВКонтакте. В размещении в Каталоге может быть отказано Сервисам, которые перенаправляют Пользователей на сторонние ресурсы.\n* **4.6** Запрещается ограничивать функциональность Сервиса Пользователям, которые не соглашаются на дополнительные действия: рассылать приглашения, публиковать записи на стене, добавлять Сервис в меню быстрого доступа, получать оповещения, вступать в Сообщества/подписываться на страницу и т.п. Действия пользователя не должны затрагивать прямым или косвенным образом других людей (рассылкой сообщений, упоминаний друзей в записях на стенах и др.).\n* **4.7** Сервисы имеют возможность отправлять уведомления, а также личные сообщения Пользователям от имени Сообществ, которым пользователь выдал на это разрешение. Запрещена рассылка рекламных сообщений и уведомлений, сообщений, содержание которых противоречит Правилам пользования сайтом ВКонтакте, и других сообщений, содержание которых прямо не связано с функциональностью Сервиса.\n* **4.8** Полученные при помощи Сервиса личные данные Пользователя, такие как номер телефона, почтовый адрес, идентификатор пользователя (ID), должны использоваться исключительно в связи с функциональностью приложения, Пользователь должен быть предупрежден о целях использования данных.\n* **4.9** Сервис должен быть визуально привлекательным, все элементы должны быть выполнены в едином стиле. Сервис может быть отклонен, если его интерфейс слишком сложный или недостаточно проработанный.\n\n## 5. Монетизация и реклама\n\n* **5.1** Разработчик, осуществляющий посредством Сервиса реализацию товаров/работ/услуг, может принимать оплату за такие товары/работы/услуги посредством платежных систем, включая VK Pay.\n* **5.2** В Сервисе допускается предоставление Пользователям дополнительных функций (неактивированных данных и команд), использование которых не выходит за рамки Сервиса (например, предоставление игровых ценностей, расширение функциональных возможностей Сервиса), исключительно при условии, что приобретение Пользователем таких дополнительных функций осуществляется посредством Голосов, предоставляемых Пользователю Администрацией Сайта на условиях Лицензионного соглашения (https://vk.com/licence(https://vk.com/licence)), и заключения с Администрацией Сайта или авторизованным партнером Администрации Сайта соответствующего договора. Предоставление Пользователям дополнительных функций, использование которых не выходит за рамки Сервиса, допускается только на платформах Android, Web и m.vk.com.\n* **5.3** В случае, если в Сервисе осуществляется продажа товаров/работ/услуг, к Сервису применяются положения Правил размещения приложений-магазинов(market-rules).\n* **5.4** В Сервисе, который находится в Каталоге, запрещено размещение рекламы без предварительного согласования с Администрацией Сайта. \n* **5.5** Рекламные объявления, размещаемые в Сервисе, должны соответствовать Правилам размещения рекламных объявлений ВКонтакте, а также Правилам размещения рекламы в приложениях(ad-rules).},language:ru,variant:public,expireDate:1668488707676,isManuallyExpired:false},/method/ads.getAdsLayout:{type:method,layout:internal,template:/method,contents:{title:ads.getAdsLayout,id:ads.getAdsLayout,description:Возвращает описания внешнего вида рекламных объявлений.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/ads.getAdsLayout,redirectTo:,menuId:api_menu,accessRights:ads,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:601,id:,description:Permission denied. You have requested too many actions this day. Try later.,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:account_id,description:Идентификатор рекламного кабинета.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:client_id,description:**Для рекламных агентств**. \n\nИдентификатор клиента, у которого запрашиваются рекламные объявления.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:include_deleted,description:Флаг, задающий необходимость вывода архивных объявлений.\n* `0` — выводить только активные объявления;\n* `1` — выводить все объявления.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:only_deleted,description:,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:campaign_ids,description:Фильтр по рекламным кампаниям. Сериализованный JSON-массив, содержащий ID кампаний. Если параметр равен `null`, то будут выводиться рекламные объявления всех кампаний.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:ad_ids,description:Фильтр по рекламным объявлениям. Сериализованный JSON-массив, содержащий ID объявлений. Если параметр равен `null`, то будут выводиться все рекламные объявления.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:limit,description:Ограничение на количество возвращаемых объявлений. Используется, только если параметр `ad_ids` равен `null`, а параметр `campaign_ids` содержит ID только одной кампании.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение. Используется в тех же случаях, что и параметр `limit`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:**Замечание**\n\nЕсли одновременно включены фильтры `campaign_ids` и `ad_ids`, то объявления выводятся по следующим принципам:\n1. Если ID объявления указано в `ad_ids`, то оно выводится. \n2. Если объявление принадлежит рекламной кампании, чей ID указан в `campaign_ids`, то оно выводится.\n3. Если существует объявление с ID, указанным в `ad_ids` и оно принадлежит кампании, чей ID указан в `campaign_ids`, то эта рекламная кампания игнорируется, т.е. для неё правило 2 не работает.\n\nВыводится не более **2000** объявлений из не более чем **2000** кампаний.,resultDescription:Возвращает массив объектов, описывающих дополнительные характеристики объявления.\n\nОсновные характеристики можно получить при помощи метода `ads.getAds`(method/ads.getAds).\n\nКаждый объект содержит следующие поля:\n\n`id`\n`integer`\nИдентификатор объявления.\n\n `campaign_id`\n `integer`\n Идентификатор кампании.\n \n `ad_format`\n `integer`\n Формат объявления. Возможные значения: \n * `1` — изображение и текст; \n * `2` — большое изображение; \n * `3` — эксклюзивный формат; \n * `4` — продвижение сообществ или приложений, квадратное изображение; \n * `5` — приложение в новостной ленте (устаревший); \n * `6` — мобильное приложение; \n * `7` — специальный формат приложений; \n * `8` — специальный формат сообществ; \n * `9` — запись в сообществе; \n * `10` — витрина приложений; \n * `11` — адаптивный формат. \n \n `cost_type`\n `integer`, `0`,`1`,`3`\n Тип оплаты. Возможные значения: \n * `0` — оплата за переходы; \n * `1` — оплата за показы; \n * `3` — оптимизированная оплата за показы. \n \n `goal_type`\n `integer`\n Тип цели. См. описание возможных значений на отдельной странице(method/ads.createAds).\n \n `video`\n `integer`, `1`\n `1` — объявление является видеорекламой.\n \n `repeat_video`\n `integer`, `0`,`1`\n Зацикливание видео. Возможные значения:\n * `0` — не зацикливать видео; \n * `1` — зацикливать видео. \n \n `title`\n `string`\n Заголовок объявления.\n \n `description`\n `string`\n Описание объявления.\n \n `link_url`\n `string`\n Ссылка на рекламируемый объект.\n \n `link_domain`\n `string`\n Домен рекламируемого сайта.\n \n `link_title`\n `string`\n Заголовок рядом с кнопкой или ссылкой.\n \n `link_button`\n `string`\n Идентификатор кнопки объявления. Список возможных значений(method/ads.getAdsLayout).\n \n `preview_link`\n `string`\n Ссылка, перейдя по которой можно просмотреть рекламное объявление так, как оно выглядит на сайте. Ссылка доступна в течение 30 минут после выполнения метода `ads.getAdsLayout`.\n \n`image_src`\n`string`\n URL изображения объявления.\n \n`image_src_2x`\n`string`\n URL изображения двойного разрешения.\n \n`icon_src`\n`string`\n URL логотипа объявления.\n \n`icon_src_2x`\n`string`\n URL логотипа двойного разрешения.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668489077737,isManuallyExpired:false},/widgets/post:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Виджеты | Запись на стене,id:widgets__post,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:widgets/post,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Запись на стене\n\nПри помощи виджета записей вы можете встроить на свой сайт отдельную запись пользователя или сообщества ВКонтакте.\n\nВиджет позволяет пользователям вашего сайта не только ознакомиться с самой записью, но также моментально оценить её, поделиться с друзьями или подписаться на страницу автора. А благодаря широким мультимедийным возможностям виджета вы сможете послушать прикреплённые аудиозаписи, посмотреть видео и рассмотреть фотографии не уходя со страницы с виджетом.\n\n## Подключение виджета\n\nЧтобы добавить на ваш сайт виджет записи ВКонтакте, необходимо у интересующей записи или комментария нажать кнопку **Поделиться**, в открытом окне в правом нижнем углу нажать на ссылку **Экспорт записи** и из открывшегося окна экспорта скопировать код для вставки. Этот код нужно вставить на страницу, где должен находиться виджет.\n\n## Дополнительные настройки\n\nМетод `VK.Widgets.Post` принимает пять параметров:\n\n* `element_id` (`string`), обязательный параметр — `id` элемента, который будет являться контейнером кнопки для связи. В нашем конструкторе по умолчанию используется значение `vk_post_{owner_id}_{post_id}`.\n* `owner_id` (`integer`), обязательный параметр — идентификатор владельца стены, на которой размещена запись.\n* `post_id` (`integer`), обязательный параметр — идентификатор записи на стене.\n* `hash` (`string`), обязательный параметр — служебный параметр. Получить `hash` можно только в конструкторе виджета или в окне «Поделиться» для выбранной записи.\n* `options` (`object`) — опции виджета. Объект, который может содержать следующее поле:\n * `width` (`integer`) — ширина блока в пикселах. По умолчанию блок с записью растягивается на всю ширину страницы.\n\n## Пример\n\n```HTML\n\u003cdiv id\vk_post_1_45616\\u003e\u003c/div\u003e\n\u003cscript type\text/javascript\\u003e\n (function(d, s, id) { var js, fjs d.getElementsByTagName(s)0; if (d.getElementById(id)) return; js d.createElement(s); js.id id; js.src \https://vk.com/js/api/openapi.js?169\; fjs.parentNode.insertBefore(js, fjs); }(document, script, vk_openapi_js));\n (function() {\n window.VK \u0026\u0026 VK.Widgets \u0026\u0026 VK.Widgets.Post \u0026\u0026 VK.Widgets.Post(\vk_post_1_45616\, 1, 45616, ZMk4b98xpQZMJJRXVsL1ig, {width: 500}) || setTimeout(arguments.callee, 50); }());\n\u003c/script\u003e\n```\n\n## Использование с AMP\n\n**AMP** — это технология, расширяющая `HTML` для ускоренной загрузки контента на мобильных устройствах. Она позволяет владельцам сайтов быстро и просто генерировать отдельные версии страниц для просмотра с мобильных устройств или встраивания на другие ресурсы.\n\nВы можете встроить виджет записи в AMP-версию страницы своего сайта с помощью тега `\u003camp-vk\u003e`. Он поддерживает следующие атрибуты:\n* `layout` — определяет положение контента в документе. Поддерживаются значения `responsive`, `flex-item`, `fixed`;\n* `width` — ширина элемента в `px` (не учитывается для `layout responsive` или `flex-item`);\n* `height` — высота элемента в `px` (не учитывается для `layout responsive` или `flex-item`);\n* `data-embedtype` — тип контента, для виджета записи всегда содержит `post`;\n* `data-owner-id` — идентификатор владельца записи;\n* `data-post-id` — идентификатор записи;\n* `data-hash` — `hash` записи.\n\nНапример:\n\n```HTML\n\u003camp-vk\n layout\responsive\\n width\500\\n height\300\\n data-embedtype\post\\n data-owner-id\1\\n data-post-id\45616\\n data-hash\Yc8_Z9pnpg8aKMZbVcD-jK45eAk\\u003e\n\u003c/amp-vk\u003e\n```\n\nОписание расширения AMP-VK на GitHub(https://github.com/ampproject/amphtml/blob/main/extensions/amp-vk/amp-vk.md).\n\n## Код виджета\n\nЧтобы добавить виджет на ваш сайт, просто скопируйте код для вставки на страницу, на которой вы хотите разместить виджет.},language:ru,variant:public,expireDate:1668489492084,isManuallyExpired:false},/api/user-long-poll/getting-started:{type:article,layout:internal,template:/article,contents:{title:Интеграция | Сообщества и пользователи | User Long Poll API,id:api__user-long-poll__getting-started,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:api/user-long-poll/getting-started,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# User Long Poll API\n\n**Long Polling** — это технология, которая позволяет получать данные о новых событиях с помощью «длинных запросов». Сервер получает запрос, но отправляет ответ на него не сразу, а лишь тогда, когда произойдет какое-либо событие (например, придёт новое сообщение), либо истечет заданное время ожидания.\n\nИспользуя этот подход, вы можете мгновенно отображать в своем приложении важные события. С помощью User Long Poll API вы не сможете отправить сообщение, для этого используйте метод `messages.send`(method/messages.send).\n\n## Изменения в версиях\n\nДокументация соответствует версии 3. \n\nЕсли вы используете более старую версию, обратите внимание на список изменений:\n\n* Новый флаг для сообщений, удалённых для получателей — `131072`.\n* Вложения (`geo`, `photo` и т.д.) и дополнительные данные (`title`, `from`) приходят в отдельных объектах. См. Вложения и дополнительные данные(#Вложения%20и%20дополнительные%20данные).\n\n\n\n## Подключение\n\nПеред подключением к Long Poll серверу необходимо получить данные сессии (`server`, `key`, `ts`) методом `messages.getLongPollServer`(method/messages.getLongPollServer). Мы рекомендуем передавать актуальный номер версии Long Poll в параметре `lp_version`.\n\nЗатем составьте запрос такого вида:\n\n```\nhttps://{$server}?acta_check\u0026key{$key}\u0026ts{$ts}\u0026wait25\u0026mode2\u0026version2\n```\n\nВ нём используются следующие параметры:\n* `key` — секретный ключ сессии;\n* `server` — адрес сервера;\n* `ts` — номер последнего события, начиная с которого нужно получать данные;\n* `wait` — время ожидания (так как некоторые прокси-серверы обрывают соединение после 30 секунд, мы рекомендуем указывать `wait` `25`). Максимальное значение — `90`.\n* `mode` — дополнительные опции ответа. Сумма кодов опций из списка:\n * `2` — получать вложения;\n * `8` — возвращать расширенный набор событий;\n * `32` — возвращать `pts` (это требуется для работы метода `messages.getLongPollHistory`(method/messages.getLongPollHistory) без ограничения в 256 последних событий);\n * `64` — в событии с кодом `8` (друг стал онлайн) возвращать дополнительные данные в поле `$extra` (см. Структура событий(#Структура%20событий));\n * `128` — возвращать поле `random_id` (`random_id` может быть передан при отправке сообщения методом `messages.send`(method/messages.send)). \n* `version` — версия. Актуальная версия: 3. Для версии 0 (по умолчанию) идентификаторы сообществ будут приходить в формате `group_id` + `1000000000` для сохранения обратной совместимости. Мы рекомендуем использовать актуальную версию.\n\nДля первого запроса в рамках сессии значения для параметров `server`, `key` и `ts` необходимо получить методом `messages.getLongPollServer`(method/messages.getLongPollServer). В последующих запросах используйте те же `server` и `key` и новое значение `ts`, которое придет вам в ответе от Long Poll сервера.\n\n## Формат ответа\n\nКогда произойдет новое событие или истечет время ожидания, сервер вернет вам ответ в формате JSON:\n\n```JSON\n{\n \ts\:1820350874,\n \updates\: 4, 1619489, 561, 123456, 1464958914, \hello\, {\title\: \... \}, {\attach1_type\: \photo\, \attach1\: \123456_414233177\, \attach2_type\: \audio\, \attach2\: \123456_456239018\}\n}\n```\n\nJSON-объект в ответе содержит два поля:\n\n* `ts` (`integer`) — номер последнего события. Используйте его в следующем запросе.\n* `updates` (`array`) — массив, элементы которого содержат представление новых событий (каждый элемент также является массивом). Длина массива `updates` может быть равна 0 (это означает, что за время `wait` новых событий не произошло). Подробнее о структуре элементов в массиве `updates` вы можете узнать в разделе: Структура событий(#Структура%20событий).\n\nПосле получения любого ответа для продолжения связи нужно отправить запрос с новым `ts`, полученным в последнем ответе. \n\nВ ответ на запрос сервер может вернуть одну из ошибок:\n\n```JSON\n{\failed\:1,\ts\:$new_ts}\n{\failed\:2}\n{\failed\:3}\n{\failed\:4,\min_version\:0,\max_version\:1}\n```\n\n* `\failed\:1` — история событий устарела или была частично утеряна, приложение может получать события далее, используя новое значение `ts` из ответа.\n* `\failed\:2` — истекло время действия ключа, нужно заново получить `key` методом `messages.getLongPollServer`(method/messages.getLongPollServer).\n* `\failed\:3` — информация о пользователе утрачена, нужно запросить новые `key` и `ts` методом `messages.getLongPollServer`(method/messages.getLongPollServer).\n* `\failed\: 4` — передан недопустимый номер версии в параметре `version`.\n\nОбратите внимание, объекты в сообщении об ошибке могут содержать поля, не описанные в документации. Их необходимо игнорировать и не пытаться обработать. \n\n## Структура событий\n\nКаждый элемент массива `updates` — это массив, содержащий код события в первом элементе и некоторый набор полей с дополнительной информацией в зависимости от типа события. \n\nОбратите внимание — ответ может содержать события, коды которых не представлены в этой таблице. Их нужно игнорировать и не пытаться обработать. \n\n#### `1`\n\n`$message_id` (`integer`)\n`$flags` (`integer`)\nextra_fields(api/user-long-poll/getting-started)* \nЗамена флагов сообщения(api/user-long-poll/getting-started) (`FLAGS:$flags`).\n\n#### `2`\n\n`$message_id` (`integer`)\n`$mask` (`integer`)\nextra_fields(api/user-long-poll/getting-started)* \nУстановка флагов сообщения(api/user-long-poll/getting-started) (`FLAGS$mask`).\n\n#### `3`\n\n`$message_id` (`integer`)\n`$mask` (`integer`)\n`extra_fields* `\nСброс флагов сообщения(api/user-long-poll/getting-started) (`FLAGS\u0026~$mask`).\n\n#### `4`\n\n`$message_id` (`integer`)\n`$flags` (`integer`)\n`$minor_id `(`integer`)\nextra_fields(api/user-long-poll/getting-started)*\nДобавление нового сообщения.\n\n#### `5`\n\n`$message_id` (`integer`)\n`$mask`(`integer`)\n`$peer_id`(`integer`)\n`$timestamp`(`integer`)\n`$new_text`(`string`)\n`$attachments`(`array`) 0\nРедактирование сообщения.\n\n#### `6`\n\n`$peer_id` (`integer`)\n`$local_id` (`integer`)\nПрочтение всех входящих сообщений в `$peer_id`, пришедших до сообщения с `$local_id`.\n\n#### `7`\n\n`$peer_id` (`integer`)\n`$local_id` (`integer`)\nПрочтение всех исходящих сообщений в `$peer_id`, пришедших до сообщения с `$local_id`.\n\n#### `8`\n\n`-$user_id` (`integer`)\n`$extra`(`integer`)\n`$timestamp`(`integer`)\nДруг `$user_id` стал онлайн. `$extra` не равен `0`, если в `mode` был передан флаг `64`. В младшем байте (остаток от деления на 256) числа `extra` лежит идентификатор платформы (см. Платформы(api/user-long-poll/getting-started)). `$timestamp` — время последнего действия пользователя `$user_id` на сайте.\n\n#### `9`\n\n`-$user_id` (`integer`)\n`$flags` (`integer`)\n`$timestamp`(`integer`)\nДруг `$user_id` стал оффлайн (`$flags` равен `0`, если пользователь покинул сайт и `1`, если оффлайн по таймауту ) . `$timestamp` — время последнего действия пользователя `$user_id` на сайте.\n\n#### `10`\n\n`$peer_id` (`integer`)\n`$mask` (`integer`)\nСброс флагов диалога(api/user-long-poll/getting-started) `$peer_id`. Соответствует операции (`PEER_FLAGS \u0026 ~$flags`). Только для диалогов сообществ.\n\n#### `11`\n\n`$peer_id` (`integer`)\n`$flags` (`integer`)\nЗамена флагов диалога(api/user-long-poll/getting-started) `$peer_id`. Соответствует операции (`PEER_FLAGS: $flags`). Только для диалогов сообществ.\n\n#### `12`\n\n`$peer_id` (`integer`)\n`$mask` (`integer`)\nУстановка флагов диалога(api/user-long-poll/getting-started) `$peer_id`. Соответствует операции (`PEER_FLAGS $flags`). Только для диалогов сообществ.\n\n#### `13`\n\n`$peer_id` (`integer`)\n`$local_id` (`integer`)\n Удаление всех сообщений в диалоге `$peer_id` с идентификаторами вплоть до `$local_id`.\n\n#### `14`\n\n`$peer_id ` (`integer`)\n`$local_id ` (`integer`)\nВосстановление недавно удаленных сообщений в диалоге `$peer_id` с идентификаторами вплоть до `$local_id`.\n\n#### `20`\n\n`$peer_id` (`integer`)\n`$major_id` (`integer`)\n Изменился `$major_id` в диалоге `$peer_id`.\n\n#### `21`\n`$peer_id` (`integer`)\n`$minor_id` (`integer`)\nИзменился `$minor_id` в диалоге `$peer_id`.\n\n#### `51`\n\n`$chat_id` (`integer`)\n`$self` (`integer`)\nОдин из параметров (состав, тема) беседы `$chat_id` были изменены. `$self` — `1` или `0` (вызваны ли изменения самим пользователем).\n\n#### `52`\n\n`$type_id` (`integer`)\n`$peer_id` (`integer`)\n`$info`(`integer`)\nИзменение информации чата `$peer_id` с типом `$type_id`, `$info` — дополнительная информация об изменениях, зависит от типа события. См. Дополнительные поля чатов(api/user-long-poll/getting-started)\n\n#### `61`\n\n`$user_id` (`integer`)\n`$flags` (`integer`)\nПользователь `$user_id` набирает текст в диалоге. Событие приходит раз в ~5 секунд при наборе текста. `$flags 1`.\n\n#### `62`\n\n`$user_id` (`integer`)\n`$chat_id` (`integer`)\nПользователь `$user_id` набирает текст в беседе `$chat_id`.\n\n#### `63`\n\n`$user_ids` (`integer`)\n`$peer_id` (`integer`)\n`$total_count` (`integer`)\n`$ts` (`integer`)\nПользователи `$user_ids` набирают текст в беседе `$peer_id`. Максимально передается пять участников беседы, общее количество печатающих указывается в `$total_count`. `$ts` — время генерации этого события.\n\n#### `64`\n\n`$user_ids` (`integer`)\n`$peer_id` (`integer`) \n`$total_count` (`integer`)\n`$ts` (`integer`)\nПользователи `$user_ids` записывают аудиосообщение в беседе `$peer_id`.\n\n#### `70`\n\n`$user_id` (`integer`)\n`$call_id`(`integer`)\nПользователь `$user_id` совершил звонок с идентификатором `$call_id`.\n\n#### `80`\n\n`$count` (`integer`) 0\nСчетчик в левом меню стал равен `$count`. \n\n\n#### `114`\n\n`$peer_id` (`integer`)\n`$sound` (`integer`)\n`$disabled_until` (`integer`)\nИзменились настройки оповещений. `$peer_id` — идентификатор чата/собеседника, `$sound` — `1`/`0`, включены/выключены звуковые оповещения, `$disabled_until` — выключение оповещений на необходимый срок (`-1`: навсегда, `0`)\n\n\n\n### Дополнительные поля сообщений\n\n* `$peer_id` (`integer`) — идентификатор назначения. Для пользователя: id пользователя. Для групповой беседы: `2000000000` + id беседы. Для сообщества: -id сообщества либо id сообщества + `1000000000` (для `version` `0`).\n* `$timestamp` (`integer`) — время отправки сообщения в Unixtime;\n* `$text` (`string`) — текст сообщения;\n* `$attachments` (`array`) — вложения (если `mode` `2`);\n* `$random_id` (`integer`) — `random_id`, если параметр был передан в `messages.send`(method/messages.send). Может содержать `0`, если значение не задано.\n\nЕсли сообщение по каким-то причинам недоступно, `extra_fields` могут не возвращаться либо может возвращаться только `$peer_id`. В событиях 1, 2 и 3 в большинстве случаев возвращается только `$peer_id`. В событии 4 в большинстве случаев возвращается полный набор полей. Если сообщение было восстановлено, в событиях 1 и 3 (снятие флага `SPAM` или `DELETED`) в большинстве случаев вернётся полный набор полей.\n\n### Дополнительные поля чатов\n\n* `$type_id` (`integer`) — идентификатор типа изменения в чате. \n * `1` — изменилось название беседы;\n * `2` — сменилась обложка беседы;\n * `3` — назначен новый администратор;\n * `4` — закреплено сообщение;\n * `5` — пользователь присоединился к беседе;\n * `6` — пользователь покинул беседу;\n * `7` — пользователя исключили из беседы;\n * `8` — с пользователя сняты права администратора.\n\n\n\n* `$info` (`integer`) — дополнительная информация об изменениях в чате. Значение зависит от `type_id`.\n * `type_id` 1, 2 — `$info \0\`;\n * `type_id` 3 — `$info \admin_id\`;\n * `type_id` 5 — `$info \conversation_message_id\`;\n * `type_id` 6, 7, 8 — `$info \user_id\`;\n\n\n\n## Флаги сообщений\n\nКаждое сообщение имеет флаг — значение, полученное суммированием любых из следующих параметров. \n\n#### `+1`\n\n`UNREAD`\nСообщение не прочитано\n\n#### `+2`\n\n`OUTBOX`\nИсходящее сообщение\n\n#### `+4`\n\n`REPLIED`\nНа сообщение был создан ответ\n\n#### `+8`\n\n`IMPORTANT`\nПомеченное сообщение\n\n#### `+16`\n\n`CHAT`\nСообщение отправлено через чат. \n\n\u003e Обратите внимание, этот флаг устаревший и вскоре перестанет поддерживаться.\n\n#### `+32`\n\n`FRIENDS`\nСообщение отправлено другом. Не применяется для сообщений из групповых бесед.\n\n#### `+64`\n\n`SPAM`\nСообщение помечено как спам. \n\n#### `+128`\n\n`DELЕTЕD`\nСообщение удалено (в корзине)\n\n#### `+256`\n\n`FIXED`\nСообщение проверено пользователем на спам. \n\u003e Обратите внимание, этот флаг устаревший и вскоре перестанет поддерживаться.\n\n#### `+512`\n\n`MEDIA`\nСообщение содержит медиаконтент. \n\u003e Обратите внимание, этот флаг устаревший и вскоре перестанет поддерживаться.\n\n#### `+65536`\n\n`HIDDEN`\nПриветственное сообщение от сообщества. Диалог с таким сообщением не нужно поднимать в списке (отображать его только при открытии диалога напрямую). Флаг недоступен для версий \u003c2.\n\n#### `+131072`\n\n`DELETE_FOR_ALL`\nСообщение удалено для всех получателей. Флаг недоступен для версий \u003c3.\n\n#### `+262144`\n\n`NOT_DELIVERED`\nВходящее сообщение не доставлено. Присылается сброс этого флага в случае доставки входящего сообщения у которого был TTL.\n\nЗначения, не представленные в таблице, следует игнорировать и не пытаться каким-либо образом обработать.\n\n## Флаги диалогов\n\nКаждый диалог имеет флаги — значение, полученное суммированием любых из следующих параметров. Флаги назначаются только для диалогов сообщества. \n\n#### `+1`\n\n`IMPORTANT`\nВажный диалог\n\n#### `+2`\n\n`UNANSWERED`\nНеотвеченный диалог. Обратите внимание, для версий \u003c2 значение флага противоположно — диалог с ответом от сообщества.\n\nЗначения, не представленные в таблице, следует игнорировать и не пытаться каким-либо образом обработать.\n\n## Вложения и дополнительные данные\n\nЕсли `mode` содержит флаг `2`, то вместе с текстом и заголовком сообщения может быть передан JSON-объект, содержащий медиавложения. Ниже приведено описание полей этого объекта. \n\nОбратите внимание — в некоторых случаях ответ может содержать дополнительные вложения, названия которых не представлены в этой таблице. Их необходимо игнорировать и не пытаться каким-либо образом обработать.\n\n`attach{$i}_type`\n`photo`, `video`, `audio`, `doc`, `wall`, `sticker`, `link`, `money`\nТип `$i`-го прикрепления, где i \u003e 0.\n\n`attach{$i}`\n`{$owner_id}_{$item_id}`\nИдентификатор `$i`-го прикрепления, где i \u003e 0.\n\n`fwd`\n`{$user_id}_{$msg_id},{$user_id}_{$msg2_id},...`\nОбратите внимание, этот тип вложения устарел и в будущем перестанет использоваться. Идентификаторы пересланных сообщений.\n\n`geo`\n`{$geo_id}`\nИдентификатор прикрепленной карты. Следует рассматривать это вложение только как признак того, что к сообщению прикреплена отметка на карте.\n\n`geo_provider`\n`$geo_provider_id}`\nИдентификатор картографического сервиса. Следует рассматривать это вложение только как признак того, что к сообщению прикреплена отметка на карте.\n\n`attach{$i}_product_id`\n`product_id}`\nИдентификатор стикера.\n\n`attach{$i}_photo`\n`$owner_id}_{$item_id}`\nСтроковый идентификатор фотографии для превью ссылки (для `attach{$i}_type``link`).\n\n`attach{$i}_title`\n`{$title}`\nНазвание ссылки (для `attach{$i}_type``link`).\n\n`attach{$i}_desc`\n`{$description}`\nОписание ссылки (для `attach{$i}_type``link`).\n\n`attach{$i}_url`\n`{$url}`\nURL ссылки (для `attach{$i}_type``link`).\n\n`emoji`\n`1`\nСообщение содержит Emoji.\n\n`from_admin`\n`{$user_id}`\nИдентификатор администратора или редактора, отправившего сообщение. Возвращается для сообщений, отправленных от имени сообщества (только для администраторов сообщества).\n\n`source_act`\n`chat_create`, `chat_title_update`, `chat_photo_update`, `chat_invite_user`, `chat_kick_user`\nНазвание сервисного действия с мультидиалогом. Возможные значения:\n* `chat_create` — создание чата;\n* `chat_title_update` — изменение названия чата;\n* `chat_photo_update` — изменение фотографии чата;\n* `chat_invite_user` — добавление собеседника в чат;\n* `chat_kick_user` — исключение собеседника из чата.\n\n`source_mid`\n`{$user_id}`\nИдентификатор пользователя, к которому относится сервисное действие (для `source_act``chat_invite_user` и `source_act``chat_kick_user`).\n\nДополнительные данные о сообщении приходят в виде отдельного объекта, который содержит поля:\n\n`title`\n`{$subject}`\nЗаголовок сообщения.\n\n`from`\n`{$user_id}`\nИдентификатор пользователя, который отправил сообщение, если сообщение получено из беседы.\n\n## Платформы\n\nЕсли в `mode` содержится флаг `64`, то в событиях с кодом `8` (друг стал онлайн) в третьем поле будут возвращаться дополнительные данные `$extra`, из которых можно получить идентификатор платформы `$platform_id $extra \u0026 0xFF ( $extra % 256)`, с которой пользователь вышел в сеть. Этот идентификатор можно использовать, например, для отображения того, с мобильного ли устройства был обновлен статус онлайн (идентификаторы `1` - `5`).\n\n`1`\nmobile\nМобильная версия сайта или неопознанное мобильное приложение.\n\n`2`\niphone\nОфициальное приложение для iPhone.\n\n`3`\nipad\nОфициальное приложение для iPad.\n\n`4`\nandroid\nОфициальное приложение для Android.\n\n`5`\nwphone\nОфициальное приложение для Windows Phone.\n\n`6`\nwindows\nОфициальное приложение для Windows 8.\n\n`7`\nweb\nПолная версия сайта или неопознанное приложение.\n\n## Примеры событий\n\nБыло удалено сообщение с `message_id``123456` в диалоге с пользователем `user_id``54321`: \n\n```\n2,123456,128,54321\n```\n\nСообщение `message_id``654321` в групповом чате `peer_id``2000000202` (`chat_id``202`) стало прочитанным: \n\n```\n3,654321,1,2000000202\n```\n\nВ 1464950873 по Unixtime пришло сообщение `message_id``654321` с текстом \Hello\ (без вложений) от пользователя 123456 в групповом чате `peer_id``2000000202`: \n\n```\n4,654321,8193,2000000202,1464950873,\Hello.\,{\from\:\123456 \}\n```\n\nНовое сообщение от `user_id``123456` с текстом \hello\ и двумя вложениями (фото и аудио):\n\n```\n4,2105994,561,123456,1496404246,\hello\,{\title\:\ ... \},{\attach1_type\:\photo\,\attach1\:\123456_417336473\,\attach2_type\:\audio\,\attach2\:\123456_456239018\}\n\n```},language:ru,variant:public,expireDate:1668489694710,isManuallyExpired:false},/method/photos.restore:{type:method,layout:internal,template:/method,contents:{title:photos.restore,id:photos.restore,description:Восстанавливает удаленную фотографию.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/photos.restore,redirectTo:,menuId:api_menu,accessRights:photos_ex,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:{name:owner_id,description:Идентификатор пользователя или сообщества, которому принадлежит фотография. \n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком `«-»` — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:photo_id,description:Идентификатор фотографии.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668490415989,isManuallyExpired:false},/method/friends.get:{type:method,layout:internal,template:/method,contents:{title:friends.get,id:friends.get,description:Возвращает список идентификаторов друзей пользователя или расширенную информацию о друзьях пользователя (при использовании параметра `fields`).,isHidden:false,isDirectAccess:null,canEdit:null,path:method/friends.get,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:allow_from_server,children:,text:\n,errors:,parameters:{name:user_id,description:Идентификатор пользователя, для которого необходимо получить список друзей. Если параметр не задан, то считается, что он равен идентификатору текущего пользователя (справедливо для вызова с передачей `access_token`).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:order,description:Порядок, в котором нужно вернуть список друзей. Допустимые значения:\n* `hints` — сортировать по рейтингу, аналогично тому, как друзья сортируются в разделе **Мои друзья**.\n\u003e Это значение доступно только для Standalone-приложений с ключом доступа, полученным по схеме Implicit Flow.\n* `random` — возвращает друзей в случайном порядке.\n* `name` — сортировать по имени. Данный тип сортировки работает медленно, так как сервер будет получать всех друзей а не только указанное количество `count`. (работает только при переданном параметре `fields`).\n\nПо умолчанию список сортируется в порядке возрастания идентификаторов пользователей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:list_id,description:Идентификатор списка друзей, полученный методом `friends.getLists`(method/friends.getLists), друзей из которого необходимо получить. Данный параметр учитывается, только когда параметр `user_id` равен идентификатору текущего пользователя.\n\n\u003e Этот параметр доступен только для Standalone-приложений с ключом доступа, полученным по схеме Implicit Flow.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:count,description:Количество друзей, которое нужно вернуть.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:offset,description:Смещение, необходимое для выборки определенного подмножества друзей.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:fields,description:Список дополнительных полей, которые необходимо вернуть.\n\nДоступные значения:\n* `bdate`;\n* `can_post`;\n* `can_see_all_posts`;\n* `can_write_private_message`;\n* `city`;\n* `contacts`;\n* `country`;\n* `domain`;\n* `education`;\n* `has_mobile`;\n* `timezone`;\n* `last_seen`;\n* `nickname`;\n* `online`;\n* `photo_100`;\n* `photo_200_orig`;\n* `photo_50`;\n* `relation`;\n* `sex`;\n* `status`;\n* `universities`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:name_case,description:Падеж для склонения имени и фамилии пользователя. \nВозможные значения: \n* именительный – `nom`;\n* родительный – `gen`;\n* дательный – `dat`;\n* винительный – `acc`; \n* творительный – `ins`; \n* предложный – `abl`.\nПо умолчанию `nom`.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:ref,description:,type:string,minLength:null,maxLength:255,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает список идентификаторов (`id`) друзей пользователя, если параметр `fields` не использовался. \nПри использовании параметра `fields` возвращает список объектов пользователей(reference/objects/user), но не более 5000.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668490495390,isManuallyExpired:false},/method/calls.start:{type:method,layout:internal,template:/method,contents:{title:calls.start,id:calls.start,description:Создать новый звонок от имени пользователя или сообщества,isHidden:false,isDirectAccess:null,canEdit:null,path:method/calls.start,redirectTo:,menuId:api_menu,accessRights:,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:,parameters:{name:group_id,description:Идентификатор сообщества (отрицательное число),type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:Возвращает объект, который содержит следующие поля:\n\n- `join_link` - ссылка на звонок\n- `call_id` - идентификатор созданного звонка,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668491519548,isManuallyExpired:false},/method/market.reorderItems:{type:method,layout:internal,template:/method,contents:{title:market.reorderItems,id:market.reorderItems,description:Изменяет положение товара в подборке.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/market.reorderItems,redirectTo:,menuId:api_menu,accessRights:market,url:,type:method,isSearchable:false,tokenTypes:,children:,text:\n,errors:{title:205,id:,description:Access denied,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1402,id:,description:Album not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1403,id:,description:Item not found,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},{title:1438,id:,description:Market not enabled,isHidden:false,isDirectAccess:null,canEdit:null,path:,redirectTo:,menuId:,accessRights:,url:,type:BASE,isSearchable:false,tokenTypes:,children:},parameters:{name:owner_id,description:Идентификатор владельца товара.\n\n\u003e Обратите внимание, идентификатор сообщества в параметре `owner_id` необходимо указывать со знаком «`-`» — например, `owner_id``-1` соответствует идентификатору сообщества ВКонтакте API(https://vk.com/apiclub) (club1).,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:album_id,description:Идентификатор подборки, в которой находится товар. `0` — для сортировки общего списка товаров.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:item_id,description:Идентификатор товара.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:true,defaultValue:,consoleValue:,isHidden:null},{name:before,description:Идентификатор товара, перед которым следует поместить текущий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},{name:after,description:Идентификатор товара, после которого следует поместить текущий.,type:string,minLength:null,maxLength:null,fromVersion:,deprecatedFromVersion:,isRequired:false,defaultValue:,consoleValue:,isHidden:null},parametersCommonDescription:,resultDescription:После успешного выполнения возвращает `1`.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668491538375,isManuallyExpired:false},/bridge/VKWebAppViewHide:{type:article,layout:internal,template:/article,contents:{title:VK Bridge | События жизненного цикла | VKWebAppViewHide,id:bridge__VKWebAppViewHide,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:bridge/VKWebAppViewHide,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# VKWebAppViewHide\n\n`VKWebAppViewHide` отправляется платформой, когда клиент сворачивает мини-приложение.\n\n## Пример\n\n```JavaScript\nbridge.subscribe((e) \u003e {\n if (e.detail.type VKWebAppViewHide) {\n // Логика мини-приложения\n }\n});\n```\n\n## Платформы\n\nAndroid, iOS\n\n## Параметры\n\n—\n\n## Результат\n\n`VKWebAppViewHide` сигнализирует, что мини-приложение свёрнуто. В обработчик события на стороне пользователя передаются следующие данные: \n\n```JavaScript\n{\n detail: {\n type: \VKWebAppViewHide\,\n data: { }\n }\n}\n```\n\n## Пример обработки события\n\nСмотрите раздел Обработка событий-результатов(bridge/getting-started#Обработка%20результата).\n},language:ru,variant:public,expireDate:1668491597300,isManuallyExpired:false},/method/account.getProfileInfo:{type:method,layout:internal,template:/method,contents:{title:account.getProfileInfo,id:account.getProfileInfo,description:Возвращает информацию о текущем профиле.,isHidden:false,isDirectAccess:null,canEdit:null,path:method/account.getProfileInfo,redirectTo:,menuId:api_menu,accessRights:ex,vkui,url:,type:method,isSearchable:false,tokenTypes:is_standalone,children:,text:\n,errors:,parameters:,parametersCommonDescription:,resultDescription:Метод возвращает объект, описывающий профиль пользователя, со следующими полями:\n\n`first_name`\n`string`\nИмя пользователя. \n \n`last_name`\n`string`\nФамилия пользователя.\n\n`maiden_name`\n`string`\nДевичья фамилия пользователя (только для женского пола).\n\n`screen_name`\n`string`\nКороткое имя пользователя (если есть).\n\n`sex`\n`integer`\nПол. Возможные значения:\n* `1` — женский,\n* `2` — мужской,\n* `0` — пол не указан.\n\n`relation`\n`integer`\nСемейное положение. Возможные значения:\n* `1` — не женат/не замужем,\n* `2` — есть друг/есть подруга,\n* `3` — помолвлен/помолвлена,\n* `4` — женат/замужем,\n* `5` — всё сложно,\n* `6` — в активном поиске,\n* `7` — влюблён/влюблена,\n* `8` — в гражданском браке,\n* `0` — не указано.\n\n`relation_partner`\n`object`\nОбъект пользователя(reference/objects/user), с которым связано семейное положение (если есть).\n\n`relation_pending`\n`integer`\nПередается `1`, если пользователь, указанный в `relation_partner`, не подтвердил отношения.\n\n`relation_requests`\n`array`\nСписок объектов пользователей(reference/objects/user), которые указали, что состоят в отношениях с данным пользователем (если есть).\n\n`bdate`\n`string`\nДата рождения пользователя, возвращается в формате D.M.YYYY.\n\n`bdate_visibility`\n`integer`\nВидимость даты рождения. Возможные значения: \n* `1` — показывать дату рождения,\n* `2` — показывать только месяц и день,\n* `0` — не показывать дату рождения.\n\n`home_town`\n`string`\nНазвание родного города.\n\n`country`\n`object`\nСтрана. Объект, содержащий поля:\n* `id` (`integer`) — идентификатор страны,\n* `title` (`string`) — название страны.\n\n`city`\n`object`\nГород. Объект, содержащий поля:\n* `id` (`integer`) — идентификатор города,\n* `title` (`string`) — название города.\n\n`name_request`\n`object`\nИнформация о заявке на смену имени, если она была подана. Объект, содержащий поля:\n* `id` (`integer`) – идентификатор заявки, необходимый для её отмены (только если `status` равен `processing`).\n* `status` (`string`) – статус заявки. Возможные значения:\n * `processing` – заявка рассматривается,\n * `declined` – заявка отклонена,\n * `response` – общий ответ по статусу обработки заявки,\n * `response_with_link` – общий ответ по статусу обработки заявки, содержащий ссылку в поле `link`.\n* `first_name` (`string`) – имя пользователя, указанное в заявке,\n* `last_name` (`string`) – фамилия пользователя, указанная в заявке.\n\n`status`\n`string`\nСтатус пользователя.\n\n`phone`\n`string`\nНомер телефона.,evalHash:,shouldHideConsole:false,linkedMethods:,linkedVersions:,consoleResult:{},properties:{isDeprecated:false}},language:ru,variant:public,expireDate:1668491639146,isManuallyExpired:false},/reference/objects/stats-format:{type:article,layout:internal,template:/article,contents:{title:Cправочник API | Объекты | Основные объекты | Данные статистики,id:reference__objects__stats-format,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:reference/objects/stats-format,redirectTo:,menuId:api_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Данные статистики\n\n## `activity`\n`object`\nДанные об активности. Объект, который содержит поля:\n* `comments` (`integer`) — количество комментариев;\n* `copies` (`integer`) — количество репостов;\n* `hidden` (`integer`) — количество пользователей, скрывших записи из новостей;\n* `likes` (`integer`) — количество отметок «нравится»;\n* `subscribed` (`integer`) — количество подписавшихся пользователей на сообщество;\n* `unsubscribed` (`integer`) — количество отписавшихся пользователей на сообщество.\n\n## `period_from`\n`integer`\nПериод начала отсчёта в формате Unixtime.\n\n## `period_to`\n`integer`\nПериод окончания отсчёта в формате Unixtime.\n\n## `visitors`\n`object`\nДанные о посетителях и просмотрах. Объект, который содержит поля:\n* `views` (`integer`) — число просмотров.\n* `visitors` (`integer`) — число посетителей;\n\n## `reach`\n`object`\nДанные об охвате. Объект, который содержит поля:\n* `reach` (`integer`) — полный охват;\n* `reach_subscribers` (`integer`) — охват подписчиков;\n* `mobile_reach` (`integer`) — охват с мобильных устройств;\n* `sex` (`array`) — статистика по полу. Массив объектов, каждый из которых содержит поля:\n * `value` (`string`) — пол (`m` — мужской, `f` — женский);\n * `count` (`integer`) — число посетителей.\n* `age` (`array`) — статистика по возрасту. Массив объектов, каждый из которых содержит поля:\n * `value` (`string`) — возрастной интервал (например, «12-18»). Возможные значения: 12-18, 18-21, 21-24, 24-27, 27-30, 30-35, 35-45, 45-100.\n * `count` (`integer`) — число посетителей;\n* `sex_age` (`array`) — статистика по полу и возрасту. Массив объектов, каждый из которых содержит поля:\n * `value` (`string`) — пол и возрастной интервал (например, `f;12-18`);\n * `count` (`integer`) — число посетителей.\n* `cities` (`array`) — статистика по городам. Массив объектов, каждый из которых содержит поля:\n * `name` (`string`) — название города;\n * `city_id` (`integer`,`string`) — идентификатор города или «other» для раздела «прочие города»;\n * `count` (`integer`) — число посетителей.\n* `countries` (`array`) — статистика по странам. Массив объектов, каждый из которых содержит поля:\n * `name` (`string`) — название страны;\n * `code` (`string`) — двухбуквенный код страны (например, `RU`);\n * `country_id` (`integer`) — идентификатор страны;\n * `count` (`integer`) — число посетителей.},language:ru,variant:public,expireDate:1668492290809,isManuallyExpired:false},/sdk/android:{type:article,layout:internal,template:/article,contents:{title:Библиотеки | SDK | Android SDK,id:sdk__android,description:,isHidden:false,isDirectAccess:null,canEdit:null,path:sdk/android,redirectTo:,menuId:main_menu,accessRights:,url:,type:article,isSearchable:false,tokenTypes:,children:,text:# Android SDK\n\n## Начало работы\nВаша аудитория — это **59** миллионов активных пользователей ВКонтакте, которые предпочитают Android, ежемесячно.\n\nВы можете создать совершенно новый продукт или добавить возможности ВКонтакте в уже существующее приложение, чтобы повысить активность пользователей.\n\nSDK поможет быстро интегрировать API ВКонтакте в приложение для Android.\n\nSDK упрощает использование API ВКонтакте в Android-приложениях. Пользователи смогут пройти авторизацию без ввода логина и пароля. После этого вы сможете сразу начать использовать методы API.\n\nСтраница проекта и исходный код на GitHub:\n`http://github.com/VKCOM/vk-android-sdk`(http://github.com/VKCOM/vk-android-sdk)\n\nПоддерживаются версии Android `5.0` и выше.\n\n## Документация\n* Знакомство с API(api/getting-started) — если вы ранее не работали с API ВКонтакте, перед началом работы мы рекомендуем узнать об основных принципах его использования.\n* Android SDK(#Подготовка%20к%20использованию) — руководство по использованию Android SDK для API ВКонтакте.\n\n## Возможности SDK\n### Авторизация через официальное приложение ВКонтакте\nПредложите пользователю использовать уже существующий аккаунт — это гораздо проще, чем заполнять форму регистрации, а все необходимые данные вы сможете получить из его профиля в ВК.\n\n### Публикация контента\nРеализуйте возможность делиться с друзьями ВКонтакте интересными событиями, фотографиями, видео — и ваш продукт не останется незамеченным.\n\n### Доступ к социальному графу\nРаботайте со связями и предпочтениями ваших клиентов. Анализируя список друзей и сообществ, вы можете индивидуально оценить потребности пользователя.\n\n\u003e **А еще?**\n\u003e \n\u003e Аудио, видео, администрирование сообществ, лента новостей, месседжинг — практически все, что доступно в полной версии ВКонтакте, можно реализовать средствами нашего API и используя SDK.\n\n## Примеры использования\n\n:::carousel\n!altПример;titleЭкран приложения;width50%;height50%(d98c4311e27e87343d39fb047f4fa98c8c1e4a7e8f74b0f016f3e8a2 \6909395044154912215\)\n!altПример;titleЭкран приложения;width50%;height50%(b0c2b9756b972afe2e0eba67f73abfd3e66d7d9b119afaca07035ac3 \5812984252887435945\)\n!altПример;title;width100%;height100%(be7c8be0897cbb9715086d7a1df9bc157633896ade7d18989d906108 \-3808983064505147291\)\n:::\n\n## Подготовка к использованию\n\nПеред началом работы с VK SDK необходимо создать(https://vk.com/editapp?actcreate) **Standalone-приложение**.\nСохраните ID вашего приложения и заполните поля «Название пакета для Android», «Main Activity для Android», «Отпечаток сертификата для Android».\n\n### Отпечаток сертификата\nДля получения отпечатка вашего сертификата можно воспользоваться одним из следующих способов:\n\n#### Получение отпечатка с помощью `keytool`\nНеобходимо определить местоположение хранилища для приложения. Хранилище ключей для отладки (`debug`) обычно находится в одной из этих директорий:\n\n```\n~/.android/ для OS X и Linux\n```\n\n```\nC:\\Documents and Settings\\\u003cuser\u003e\\.android\\ для Windows XP,\n```\n\n```\nC:\\Users\\\u003cuser\u003e\\.android\\ для Windows Vista, Windows 7 и Windows 8.\n```\nХранилище для release версии обычно создаётся разработчиком, поэтому вы должны сами создать или вспомнить его расположение.\n\nПосле того как вы определили местоположение вашего хранилища, используйте утилиту `keytool` (поставляемую совместно с Java SDK). Получите список ключей следующей командой:\n\n```\nkeytool -exportcert -alias androiddebugkey -keystore path-to-debug-or-production-keystore -list -v\n```\n\nВы должны увидеть нечто вроде:\n```\nCertificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09\n```\n\nУдалив все двоеточия, вы получите отпечаток своего ключа. \n\n#### Получение отпечатка с помощью SDK\nЕсли вы уже добавили SDK в свой проект, можно использовать следующую функцию в любой Activity вашего приложения.\n```\nString fingerprints VKUtils.getCertificateFingerprint(this, this.getPackageName());\n```\n\nКак правило, `fingerprints` содержит одну строку, которая будет отпечатком вашего сертификата (в зависимости от того, каким сертификатом было подписано приложение). \n\n#### Получение отпечатка через Android Studio\nНажмите в правом меню на вкладку **Gradle** (или двойное нажатие Shift и впишите Gradle). Откройте папку root вашего проекта, далее откройте **Tasks** и затем android. Запустите задачу `signingReport`. Найдите ваш отпечаток SHA1 на вкладке **Run**.\n\u003e В настройках приложения можно добавить несколько отпечатков, например, `debug` и `release`.\n\n## Подключение в приложении\nМы отдаём предпочтение Android Studio, поэтому ориентируемся, в первую очередь, на него.\n### Подключение как артефакт Maven\nandroid-sdk-core(https://search.maven.org/search?qg:%22com.vk%22%20AND%20a:%22android-sdk-core%22) on Maven.\nВы можете добавить следующие зависимости в ваш файл project/build.gradle:\n\n* android-sdk-core: базовая функциональность (обязательно).\n* android-sdk-api: сгенерированные модели и методы.\n* androidsdk: устаревшая копия android-sdk-core (будет удалена).\n* androidsdkapi: устаревшая копия android-sdk-api (будет удалена).\n\nК примеру, ваш скрипт app/build.gradle будет содержать следующие зависимости:\n```maven\ndependencies {\n implementation com.vk:android-sdk-core:3.x.x\n implementation com.vk:android-sdk-api:3.x.x\n}\n```\nСтарые версии SDK вы можете найти здесь(https://github.com/VKCOM/vk-android-sdk/releases/tag/1.6.7).\n\n## Работа с SDK\n### Инициализация SDK\n1. Добавьте разрешение в `AndroidManifest.xml`\n ```xml\n \u003cuses-permission android:name\android.permission.INTERNET\/\u003e\n ```\n2. Добавьте это в файл ресурсов (например `strings.xml`)\n ```xml\n \u003cinteger name\com_vk_sdk_AppId\\u003eyour_app_id\u003c/integer\u003e\n ```\n### Авторизация пользователя\nЕсли у пользователя установлено приложение ВКонтакте, то авторизация пройдет через него без ввода логина и пароля.\n\nИспользуйте метод VK.login\n```java\nVK.login(activity, arrayListOf(VKScope.WALL, VKScope.PHOTOS))\n```\n\nПереопределите `onActivityResult`:\n```java \noverride fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {\nval callback object: VKAuthCallback {\noverride fun onLogin(token: VKAccessToken) {\n// User passed authorization\n}\noverride fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {\n val callback object: VKAuthCallback {\n override fun onLogin(token: VKAccessToken) {\n // User passed authorization\n }\n\n override fun onLoginFailed(errorCode: Int) {\n // User didnt pass authorization\n }\n }\n if (data null || !VK.onActivityResult(requestCode, resultCode, data, callback)) {\n super.onActivityResult(requestCode, resultCode, data)\n }\n }\n\n```\n\nЕсли у пользователя не установлено приложение ВКонтакте, то SDK будет использовать авторизацию через новую `Activity` при помощи `OAuth`.\n\n### Обработка авторизации токена\nСоздайте экземпляр `VKTokenExpiredHandler`:\n```java \nclass SampleApplication: Application() {\n override fun onCreate() {\n super.onCreate()\n VK.addTokenExpiredHandler(tokenTracker)\n }\n\n private val tokenTracker object: VKTokenExpiredHandler {\n override fun onTokenExpired() {\n // token expired\n }\n }\n}\n```\n## Вызов методов API\nДля доступа к API можно использовать как встроенные в SDK методы, так и получив `access_token` использовать свою библиотеку. \n\nВыполняйте запросы с VK.execute:\n\n```java \nVK.execute(UsersGet(), object: VKApiCallback\u003cList\u003cUsersUserXtrCounters\u003e\u003e {\n override fun success(result: List\u003cUsersUserXtrCounters\u003e) {\n }\n override fun fail(error: VKApiExecutionException) {\n }\n})\n```\nЕсли вы используете RxJava в вашем проекте, вы можете сделать что-то вроде этого:\n```java \nObservable.fromCallable {\n VK.executeSync(VKUsersRequest())\n}\n .subscribeOn(Schedulers.single())\n .observeOn(AndroidSchedulers.mainThread())\n .subscribe({\n // response here\n }, {\n // throwable here\n })\n```\nЕсли вам нужен более сложный запрос, вам нужно переопределить ApiCommand. Этот подход позволит вам осуществлять множество запросов сразу. \n\n```java\nclass VKUsersCommand(private val uids: IntArray intArrayOf()): ApiCommand\u003cList\u003cVKUser\u003e\u003e() {\n override fun onExecute(manager: VKApiManager): List\u003cVKUser\u003e {\n\n if (uids.isEmpty()) {\n // if no uids, send users data\n val call VKMethodCall.Builder()\n .method(\users.get\)\n .args(\fields\, \photo_200\)\n .version(manager.config.version)\n .build()\n return manager.execute(call, ResponseApiParser())\n } else {\n val result ArrayList\u003cVKUser\u003e()\n val chunks uids.toList().chunked(CHUNK_LIMIT)\n for (chunk in chunks) {\n val call VKMethodCall.Builder()\n .method(\users.get\)\n .args(\user_ids\, chunk.joinToString(\,\))\n .args(\fields\, \photo_200\)\n .version(manager.config.version)\n .build()\n result.addAll(manager.execute(call, ResponseApiParser()))\n }\n return result\n }\n }\n\n companion object {\n const val CHUNK_LIMIT 900\n }\n\n private class ResponseApiParser : VKApiResponseParser\u003cList\u003cVKUser\u003e\u003e {\n override fun parse(response: String): List\u003cVKUser\u003e {\n try {\n val ja JSONObject(response).getJSONArray(\response\)\n val r ArrayList\u003cVKUser\u003e(ja.length())\n for (i in 0 until ja.length()) {\n val user VKUser.parse(ja.getJSONObject(i))\n r.add(user)\n }\n return r\n } catch (ex: JSONException) {\n throw VKApiIllegalResponseException(ex)\n }\n }\n }\n}\n```\n`VKUsersCommand` поддерживает разделение на куски для работы с лимитами API. В этом основное отличие `VKUsersRequest` от `VKUsersCommand`.\n\nТакже вы можете проверить `VKWallPostCommand`(https://github.com/VKCOM/vk-android-sdk/blob/master/samples/app/src/main/java/com/vk/sdk/sample/requests/VKWallPostCommand.kt). Это пример сложного API-запроса с загрузкой файла.\n\n### Подготовка запросов\n\n1) Простой запрос. \n\n ```\n VKRequest request VKApi.users().get();\n ```\n\n2) Запрос с параметрами. \n\n ```\n VKRequest request VKApi.users().get(VKParameters.from(VKApiConst.USER_IDS, \1,2\));\n ```\n\n3) Вариант с http загрузкой (если при авторизации в `scope` был передан `VK_PER_NOHTTPS`). \n\n ```\n VKRequest request VKApi.users().get(VKParameters.from(VKApiConst.USER_IDS, \1,2\)); \n request.secure NO;\n ```\n\n4) Запрос с количеством повторений. \n\n ```\n VKRequest request VKApi.wall().post(VKParameters.from(VKApiConst.OWNER_ID, \-60479154\, VKApiConst.MESSAGE, \Привет, друзья!\)); \n request.attempts 10; \n //or infinite \n //postReq.attempts 0;\n ```\nБудет выполнено 10 запросов, пока не произойдет успех, или не будет возвращен API error. \n\n5) Загрузка произвольного метода API(method) (нужно иметь в виду полученный `scope`(reference/access-rights)). \n\n ```\n VKRequest request new VKRequest(\friends.get\, VKParameters.from(VKApiConst.FIELDS, \sex,bdate,city\));\n ```\n\n6) Загрузка фото(api/upload) на сервера VK. \n\n ```\n final Bitmap photo getPhoto(); \n VKRequest request VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, 60479154);\n ```\n\n### Отправка запроса\n\n```\nrequest.executeWithListener(new VKRequestListener() { \n@Override \npublic void onComplete(VKResponse response) { \n//Do complete stuff \n} \n@Override \npublic void onError(VKError error) { \n//Do error stuff \n} \n@Override \npublic void attemptFailed(VKRequest request, int attemptNumber, int totalAttempts) { \n//I dont really believe in progress \n} \n}); \n```\n\n### Пакетная обработка запросов\n\nSDK предусматривает возможность выполнения нескольких методов в один запрос. \n\n1) Подготавливаются необходимые запросы: \n\n ```\n VKRequest request1 VKApi.uploadWallPhotoRequest(new VKUploadImage(photo1, VKImageParameters.jpgImage(0.9f)), 0, 60479154); \n VKRequest request2 VKApi.uploadWallPhotoRequest(new VKUploadImage(photo2, VKImageParameters.jpgImage(0.5f)), 0, 60479154); \n VKRequest request3 VKApi.uploadWallPhotoRequest(new VKUploadImage(photo3, VKImageParameters.jpgImage(0.1f)), 0, 60479154); \n VKRequest request4 VKApi.uploadWallPhotoRequest(new VKUploadImage(photo4, VKImageParameters.pngImage()), 0, 60479154);\n ```\n\n2) Необходимые запросы объединяются в один. \n\n ```\n VKBatchRequest batch new VKBatchRequest(request1, request2, request3, request4);\n ```\n\n3) Запрос загружается стандартным путём.\n\n ```\n batch.executeWithListener(new VKBatchRequestListener() {\n @Override\n public void onComplete(VKResponse responses) {\n super.onComplete(responses);\n String photos new Stringresponses.length;\n for (int i 0; i \u003c responses.length; i++) {\n VKPhoto photoModel ((VKPhotoArray) responsesi.parsedModel).get(0);\n photosi String.format(\photo%s_%s\, photoModel.owner_id, photoModel.id);\n }\n makePost(VKStringJoiner.join(photos, \,\));\n }\n \n @Override\n public void onError(VKError error) {\n showError(error);\n }\n });\n ```},language:ru,variant:public,expireDate:1668493043243,isManuallyExpired:false}},currentPageId:/,currentPageHash:,currentPageQuery:,lastMoveTime:1668406759180,activeDurationStart:1668345370747,isLoading:false,isMoving:false},backward:{shouldRedirectBackward:false,isLoading:false},apps:{items:,isLoaded:false,isLoading:false},console:{isLoading:false,methodName:null,response:{},parameters:{},tokenType:manual,adminedApp:null,tokenTypes:,appToken:null,manualToken:,isExpanded:false,isPartial:false,version:5.131,versionsList:{label:5.131 (текущая),value:5.131}},client:{ip:10.159.228.57},images:{items:{}},widget:{widgetType:null,playlistWidgetHash:null,widgetTargetId:null,widgetTargetType:,postWidgetHash:null,articleWidgetData:null,pollWidgetHash:null,textLiveWidgetHash:null,adminedGroups:,createAppSubjects:},settings:{shouldShowEditDocBox:false,hasCreateRights:false},edit:{editingPageId:null,editors:,lastEditorsHeartbeatUpdate:null},create:{createdPageId:null},modal:{modalInfo:null},users:{items:{}},fallback:{code:null},search:{items:,query:,isLoading:false},menu:{items:{},current:null,search:,isSearching:false},groups:{items:{}},posts:{items:{}},landing:{postIds:,isPostsLoading:false,isPostsLoaded:false},versions:{current:{value:null,isLoaded:false,isLoading:false}},contents:{items:{}},health:{isLoading:false,statuses:}},userAgent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5134.155 Safari/537.36},__N_SSP:true},page:/initial,query:{auth:{app_id:7598768,version:1,cookie:{remixlang:0,remixstlid:9079482505871034863_XOO8z2iWta5Q0bFpg50t0yhjWqDfwzZaTuGATFOjTOX,remixlgck:226891646c1ba321e0,remixrefkey:e9d0c3d95bfb7fdcd9,remixscreen_width:1536,remixscreen_height:864,remixscreen_dpr:1.25,remixscreen_depth:24,remixscreen_orient:1,remixscreen_winzoom:1,remixdt:0,remixdark_color_scheme:0,remixcolor_scheme_mode:auto,remixgp:19371035605eab381c3831602a6b11df,remixlns:5e35ed1435f3a21956}},ip:10.159.228.57,url:/,token:anonym.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhbm9ueW1faWQiOjExNDE5MTAwMDYsImFwcF9pZCI6NzU5ODc2OCwiaWF0IjoxNjY4NDA0MzE5LCJpc192ZXJpZmllZCI6ZmFsc2UsImV4cCI6MTY2ODQ5MDcxOSwic2lnbmVkX3RpbWUiOm51bGx9.1e_Vl6funhX2tFh4XM6FbjHrbus9dCQ7Srqfav6F4eE,authError:null},buildId:orOimqAEa3uVZ6avAvlIX,isFallback:false,gssp:true,customServer:true,scriptLoader:}/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]