Credentials   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 16
c 1
b 0
f 0
dl 0
loc 44
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A getRuleList() 0 9 1
1
<?php
2
3
namespace alekciy\ofd\providers\taxcom;
4
5
/**
6
 * Необходимые реквизиты доступа к сервису.
7
 * Необходима зарегистрироваться в сервисе после чего запросить в технической поддержке идентификатор интегратора.
8
 *
9
 * @link https://taxcom.ru/tekhpodderzhka/kontakty/ Техническая поддержка сервиса.
10
 * @see https://lk-ofd.taxcom.ru/ApiHelp/ Руководство пользователя API сервиса «Такском-Касса»
11
 */
12
final class Credentials extends \alekciy\ofd\Credentials
13
{
14
	/** @var string Логин */
15
	public $login = '';
16
17
	/** @var string Пароль */
18
	public $password = '';
19
20
	/** @var string Идентификатор интегратора (токен доступа). */
21
	public $integratorId = '';
22
23
	/**
24
	 * @inheritDoc
25
	 */
26
	protected function getRuleList(): array
27
	{
28
		return [
29
			'login'        => ['required'],
30
			'password'     => ['required'],
31
			'integratorId' => ['required'],
32
			'domain'       => [
33
				'required',
34
				['in', ['api-lk-ofd.taxcom.ru', 'api-tlk-ofd.taxcom.ru']]
35
			],
36
		];
37
	}
38
39
	/**
40
	 * Для получения ID интегратора $integratorId, требующегося для доступа к методам API, необходимо обратиться
41
	 * с соответствующим запросом в техническую поддержку (https://taxcom.ru/tekhpodderzhka/kontakty/) компании "Такском".
42
	 *
43
	 * @param string $domain Имя домена на котором находится API (api-lk-ofd.taxcom.ru промышленный, api-tlk-ofd.taxcom.ru тестовый).
44
	 * @param string $login Логин.
45
	 * @param string $password Пароль.
46
	 * @param string $integratorId Идентификатор интегратора.
47
	 * @throws \Exception
48
	 */
49
	public function __construct(string $domain, string $login, string $password, string $integratorId)
50
	{
51
		parent::__construct($domain);
52
		$this->login = $login;
53
		$this->password = $password;
54
		$this->integratorId = $integratorId;
55
		$this->validate();
56
	}
57
}