рдХрдВрдкреНрдпреВрдЯрд░-рдЯреЗрд▓реАрдлреЛрдиреА рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдФрд░ рдЧреНрд░реИрдВрдбрд╕реНрдЯреНрд░реАрдо рдлрд╝реЛрди


рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╕рдВрдЪрд╛рд░ рд╣рдорд╛рд░реЗ рдЪрд╛рд░реЛрдВ рдУрд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдпрд╛рд▓рдп рдЯреЗрд▓реАрдлреЛрдиреА рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рдЧреНрд░реИрдВрдбрд╕реНрдЯреНрд░реАрдо рдиреЗ рдЕрдкрдиреЗ рдлреЛрди рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реАрдЯреАрдЖрдИ (рдХрдВрдкреНрдпреВрдЯрд░-рдЯреЗрд▓реАрдлреЛрдиреА рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди) рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, GXP21XX рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЫреЛрдЯреА GXP16XX рд▓рд╛рдЗрди рдХреЗ рдЙрдкрдХрд░рдг, рдЬреИрд╕реЗ GXP1610 , GXP1620 , рдЖрджрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ ред


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, "CTI рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рдХреЛ рдЬрд╝реЛрд░ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ - рдПрдХ рдЫреЛрдЯрд╛ REST API рдЬреЛ рдЖрдкрдХреЛ HTTP HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдлреЛрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: рдЖрдк рдХреЙрд▓ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреАрдмреАрдПрдХреНрд╕ рдкрд░ рдлреЛрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рдЖрдИрдкреА рдкреАрдмреАрдПрдХреНрд╕, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реАрдЯреАрдЖрдИ рдЖрдкрдХреЛ рд╕реНрдкреАрдХрд░рдлреЛрди, рд╕реНрдкреАрдХрд░ рд╡реЙрд▓реНрдпреВрдо, рдореНрдпреВрдЯ рдорд╛рдЗрдХреНрд░реЛрдлреЛрди рдЖрджрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкреАрдмреАрдПрдХреНрд╕ рд╕реНрддрд░ рдкрд░ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред


рддреЛ рд╣рдо рд╕реАрдЯреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдкрд╛рдВрдЪ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:


рдЬрд╛рдВрдЪрд╡рд┐рд╡рд░рдг
api-get_line_statusрд░реЗрдЦрд╛ рдХреА рд╕реНрдерд┐рддрд┐
api-get_phone_statusрдлреЛрди рдХреА рд╕реНрдерд┐рддрд┐
api-send_keyрдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдирд╛ (0-9, #, *, рд╕рдВрджрд░реНрдн-рд╕рдВрд╡реЗрджрдирд╢реАрд▓, рдЖрджрд┐)
api-phone_operationрдлреЛрди рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ (рдХреЙрд▓, рд░реАрд╕реЗрдЯ, рдЖрджрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ)
api-sys_operationрдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдлрд╝реИрдХреНрдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рд░реАрдмреВрдЯ рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд╣рдо рдлреЙрд░реНрдо рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ:


"http://IP  /cgi-bin/api-get_line_status?passcode=" // (     ) 

рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ JSON рдорд┐рд▓рддрд╛ рд╣реИ:


 { "response": "success", "body": [ { "line": 1, "state": "idle", "acct": 1, "active": 0, "remotename": "", "remotenumber": "" }, { "line": 2, "state": "connected", "acct": 2, "active": 1, "remotename": "", "remotenumber": "203" }, { "line": 3, "state": "idle", "acct": 1, "active": 0, "remotename": "", "remotenumber": "" }, ... { "line": 8, "state": "idle", "acct": 1, "active": 0, "remotename": "", "remotenumber": "" } ] } 

рдЕрдиреБрд░реЛрдз рдореЗрдВ api-get_line_status рдХреЗ рд╕рд╛рде api-get_line_status рдХреА рдЬрдЧрд╣, рд╣рдореЗрдВ рдЯреЗрд▓реАрдлреЛрди рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ:


 { "response": "success", "body": "busy", "misc": "0" } 

рдпрд╣ рд╡рд┐рдзрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рдЯреЗрд▓реАрдлреЛрди рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдкреВрдЫрддрд╛рдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдХреЙрд▓ рдЖрдпрд╛, рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реЗ рдирдВрдмрд░ рдХреЛ рд▓реЗ рд▓реЗрдВрдЧреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕реВрдЪрдирд╛ рджрд┐рдЦрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд░реЗрдВ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рд╕реА рднреА рдИрд╡реЗрдВрдЯ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕реНрдЯреЗрдЯрд╕ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдлреЛрди рдХреЛ рджреЛ рдпрд╛ рддреАрди рдмрд╛рд░ рд╕реЗрдХреЗрдВрдб рдореЗрдВ рд╣реИрдорд░ рдХрд░рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, CTI рдПрдХ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред


рд╣рдо рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдкреАрдЖрдИ-рд╕реЗрдВрдб_рдХреА , рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рдЯреЗрд▓реАрдлреЛрди рдХреБрдВрдЬреА рдореЗрдВ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдпрд╛ рдХрдИ рдмрд╛рд░ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдкреНрд░реЗрд╕ рд▓рдЧрднрдЧ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдлреЛрди рдкрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рджрдмрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЯреЗрд▓реАрдлреЛрди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдПрдХ рдЕрд╕рдВрдЧрдд "рдЧрдбрд╝рдмрдбрд╝" рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред


 "http://192.168.4.118/cgi-bin/api-send_key?passcode=admin&keys=LINE2:2:0:3:SEND" 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдФрд░ рдХреБрдВрдЬреА рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдПрдВред (рд╕рднреА рдХреБрдВрдЬреА рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЬреЛ рд╡рд╕реНрддреБрддрдГ рджрдмрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╕реАрдЯреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣реИред)


рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдорди рдореЗрдВ рдЖрддреА рд╣реИ: "рдХреНрдпрд╛ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдзреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЙрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛?" рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдЖрдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рдирд╣реАрдВ рдерд╛ред рдЪреВрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореБрдЦреНрдп Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛, рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд▓рдЧреАрдВ:


 // manifest.json { "manifest_version": 2, "name": "ArtDial", "version": "0.1", "permissions": ["contextMenus"], "background": { "scripts": ["background.js"] } } 

 // background.js function dial(selectedText) { var serviceCall = 'http://192.168.4.118/cgi-bin/api-send_key?passcode=admin&keys='+ selectedText.replace(/[^\d]/g, '').split('').join(':') +':SEND'; var xhr = new XMLHttpRequest(); xhr.open("GET", serviceCall, true); xhr.send(); } chrome.contextMenus.create({ title: ": %s", contexts: ["selection"], onclick: function(info, tab) { dial(info.selectionText); } }); 

рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреЗрдЬ рдкрд░ рд╣рдо рдбреЗрд╡рд▓рдкрд░ рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред




рдХреЙрд▓ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдкрд┐-рдлреЛрди_рдУрдкрд░реЗрд╢рди рдЕрдиреБрд░реЛрдз рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реА рдХреЙрд▓ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдпрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╕реНрд╡реАрдХрд╛рд░ / рдЕрд╕реНрд╡реАрдХрд╛рд░), рд╣реЛрд▓реНрдб рдкрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╡рд░реНрддрдорд╛рди рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк (рд╣реЛрд▓реНрдбрдХреЙрд▓ / рдПрдВрдбрдХреЙрд▓) рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░рджреНрдж рдЖрджреЗрд╢ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреЙрд▓ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдо рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:


 "http://192.168.4.118/cgi-bin/api-phone_operation?passcode=admin&cmd=cancel" 

рдФрд░ рдЖрдЦрд┐рд░реА рдЪреАрдЬ: рдПрдкреАрдЖрдИ-рдПрд╕рдЖрдИрдПрд╕_рдУрдкрд░реЗрд╢рди , рд╣рдореЗрдВ рдлреЛрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд░рдиреЗ, рдпрд╛ рдЗрд╕реЗ рдлрд╝реИрдХреНрдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (REBOOT рдФрд░ RESET, рдХреНрд░рдорд╢рдГ)ред рд╣рдо рдлреЙрд░реНрдо рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:


 "http://192.168.4.118/cgi-bin/api-sys_operation?passcode=admin&request=REBOOT" 

рдХреЗрд╡рд▓ рдХрдВрдкреНрдпреВрдЯрд░-рдЯреЗрд▓рд┐рдлреЛрдиреА рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдПрдХ рдРрд╕реА рд░реЛрд▓рд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХреЗ рдЬреЛ рдЖрдкрдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░реЗрдЧреАред рд▓реЗрдХрд┐рди рдЕрдиреНрдп APIs (рдлреЛрди рдпрд╛ рдПрд╕реНрдЯрд░рдЖрдИрдПрд╕ рдореЗрдВ рдПрдПрдордЖрдИ рдореЗрдВ рдПрдХреНрд╢рди URL) рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, CTI рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред

Source: https://habr.com/ru/post/hi404241/


All Articles