Skip to content

Commit 32840ac

Browse files
-edit docs
1 parent fc432c0 commit 32840ac

File tree

1 file changed

+64
-4
lines changed

1 file changed

+64
-4
lines changed

docs/RU/how-to-add-new-scope/new-scope.md

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,68 @@ composer install
88
3. Регистрируемся на портале Битрикс 24 и создаем локальное приложение (инструкция по созданию локального приложения находится по пути: `docs/RU/Application/new-local-application.md` ).
99
4. Далее следует почитать документацию и презентацию. Ссылка на документацию: `https://symfony.com/doc/current/http_client.html`, презентация называется `The_Modern_And_Fast_HttpClient` и ее можно легко найти в интернете.
1010
5. В папке `src/Services` размещаем наш скоуп с Телефонией.
11-
1. Создаем две папки Result и Service
12-
2. В папке Service будут размещены сервисы с их методами.
13-
3. В папке Result будут размещены результаты наших методов(то что они будут возвращать).
14-
4. Также в папке `src/Services/Telephony` размещаем TelephonyServiceBuilder.php. Этот сервис нужен для подключения нашего скоупа с тестами.
11+
1. Создаем две папки Result и Service
12+
2. В папке Service будут размещены сервисы с их методами.
13+
1. Для примера создадим сервис ExternalLine с одним из методов.
14+
```php
15+
<?php
16+
declare(strict_types=1);
17+
namespace Bitrix24\SDK\Services\Telephony\Service;
18+
use Bitrix24\SDK\Services\AbstractService;
19+
use Bitrix24\SDK\Services\Telephony\Result\ExternalLineAddResult;
20+
use Bitrix24\SDK\Services\Telephony\Result\ExternalLinesResult;
21+
use Bitrix24\SDK\Services\Telephony\Result\ExternalLineDeleteResult;
22+
use Bitrix24\SDK\Services\Telephony\Result\ExternalLineUpdateResult;
23+
24+
class ExternalLine extends AbstractService{
25+
/**
26+
* The method adds an outer line
27+
*
28+
* @param string $lineNumber
29+
* @param string $nameLine
30+
*
31+
* @return \Bitrix24\SDK\Services\Telephony\Result\ExternalLineAddResult
32+
* @throws \Bitrix24\SDK\Core\Exceptions\BaseException
33+
* @throws \Bitrix24\SDK\Core\Exceptions\TransportException
34+
* @link https://training.bitrix24.com/rest_help/scope_telephony/telephony/telephony_externalLine_add.php
35+
*/
36+
37+
public function add(string $lineNumber , string $nameLine): ExternalLineAddResult
38+
{
39+
return new ExternalLineAddResult(
40+
$this->core->call(
41+
'telephony.externalLine.add',
42+
[
43+
'NUMBER' => $lineNumber,
44+
'NAME' => $nameLine,
45+
]
46+
));
47+
}
48+
```
49+
3. В папке Result будут размещены результаты наших методов(то что они будут возвращать).
50+
1. Для примера создадим ExternalLineAddResult.php
51+
```php
52+
<?php
53+
54+
declare(strict_types=1);
55+
56+
namespace Bitrix24\SDK\Services\Telephony\Result;
57+
58+
use Bitrix24\SDK\Core\Contracts\AddedItemIdResultInterface;
59+
use Bitrix24\SDK\Core\Exceptions\BaseException;
60+
use Bitrix24\SDK\Core\Result\AbstractResult;
61+
62+
class ExternalLineAddResult extends AbstractResult implements AddedItemIdResultInterface
63+
{
64+
/**
65+
* @return int
66+
* @throws BaseException
67+
*/
68+
public function getId(): int
69+
{
70+
return $this->getCoreResponse()->getResponseData()->getResult()->getResultData()['ID'];
71+
}
72+
73+
}
74+
4. Также в папке `src/Services/Telephony` размещаем TelephonyServiceBuilder.php. Этот сервис нужен для подключения нашего скоупа с тестами.
1575
6. После того как мы добавили наши методы для работы с Телефонией нужно их затестить. Создадим в папке `tests/Integration/Services/Telephony/Service/` наши тесты и проверим все ли работает как надо ExternalLineTest.php.

0 commit comments

Comments
 (0)