mirror of
https://github.com/anthonyaxenov/atol-online.git
synced 2024-11-22 08:04:33 +00:00
Правки по документации
- в мониторинг добавлено о приведении к строке - актуализированы Client и Company - мелочи в соотв. классах
This commit is contained in:
parent
920c08c610
commit
e1303f4fdb
@ -25,37 +25,21 @@ $customer = new AtolOnline\Entities\Client();
|
||||
// 1 способ - через конструктор
|
||||
$customer = new AtolOnline\Entities\Client(
|
||||
'John Doe', // наименование
|
||||
'+1/22/99*73s dsdas654 5s6', // номер телефона +122997365456
|
||||
'john@example.com', // email
|
||||
'+1/22/99*73s dsdas654 5s6', // номер телефона +122997365456
|
||||
'+fasd3\qe3fs_=nac990139928czc' // номер ИНН 3399013928
|
||||
);
|
||||
|
||||
// 2 способ - через сеттеры
|
||||
$customer = (new AtolOnline\Entities\Client())
|
||||
->setEmail('john@example.com')
|
||||
->setInn('+fasd3\q3fs_=nac9901 3928c-c') // 3399013928
|
||||
->setInn('+fasd3\q3fs_=nac9901 3928c-c')
|
||||
->setName('John Doe')
|
||||
->setPhone('+1/22/99*73s dsdas654 5s6'); // +122997365456
|
||||
->setPhone('+1/22/99*73s dsdas654 5s6');
|
||||
|
||||
// либо комбинация этих способов
|
||||
```
|
||||
|
||||
Метод `setEmail()` проверяет входную строку на длину (до 64 символов) и валидность формата email.
|
||||
Выбрасывает исключения:
|
||||
* `AtolEmailTooLongException` (если слишком длинный email);
|
||||
* `AtolEmailValidateException` (если email невалиден).
|
||||
|
||||
Метод `setInn()` чистит входную строку от всех символов, кроме цифр, и проверяет длину (либо 10, либо 12 цифр).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина ИНН некорректна).
|
||||
|
||||
Метод `setName()` проверяет входную строку на длину (до 256 символов).
|
||||
Выбрасывает исключение `AtolNameTooLongException` (если слишком длинное имя).
|
||||
|
||||
Метод `setPhone()` чистит входную строку от всех символов, кроме цифр и знака `+`, и проверяет длину (до 64 символов).
|
||||
Выбрасывает исключение `AtolPhoneTooLongException` (если слишком длинный номер телефона).
|
||||
|
||||
Конструктор может выбрасывать любое из указанных выше исключений, если в него передаются значения.
|
||||
|
||||
Получить установленные значения атрибутов можно через геттеры:
|
||||
|
||||
```php
|
||||
@ -65,7 +49,7 @@ $customer->getName();
|
||||
$customer->getPhone();
|
||||
```
|
||||
|
||||
Объект класса приводится к JSON-строке автоматически или принудительным приведением к `string`:
|
||||
Объект класса приводится к JSON-строке автоматически или принудительно:
|
||||
|
||||
```php
|
||||
echo $customer;
|
||||
|
@ -22,16 +22,16 @@ $customer = new AtolOnline\Entities\Company();
|
||||
Указать эти атрибуты можно двумя способами:
|
||||
|
||||
```php
|
||||
// 1 способ - через конструктор
|
||||
// 1 способ - через конструктор (все аргументы обязательны)
|
||||
$company = new AtolOnline\Entities\Company(
|
||||
'company@example.com' // email
|
||||
AtolOnline\Constants\SnoTypes::OSN, // тип СНО
|
||||
'5544332219', // номер ИНН
|
||||
'https://v4.online.atol.ru', // адрес места расчётов
|
||||
'company@example.com' // email
|
||||
);
|
||||
|
||||
// 2 способ - через сеттеры
|
||||
$company = (new AtolOnline\Entities\Company())
|
||||
$company
|
||||
->setEmail('company@example.com')
|
||||
->setInn('5544332219')
|
||||
->setSno(AtolOnline\Constants\SnoTypes::USN_INCOME)
|
||||
@ -40,19 +40,6 @@ $company = (new AtolOnline\Entities\Company())
|
||||
// либо комбинация этих способов
|
||||
```
|
||||
|
||||
Метод `setEmail()` проверяет входную строку на длину (до 64 символов) и валидность формата email.
|
||||
Выбрасывает исключения:
|
||||
* `AtolEmailTooLongException` (если слишком длинный email);
|
||||
* `AtolEmailValidateException` (если email невалиден).
|
||||
|
||||
Метод `setInn()` чистит входную строку от всех символов, кроме цифр, и проверяет длину (либо 10, либо 12 цифр).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина ИНН некорректна).
|
||||
|
||||
Метод `setPaymentAddress()` проверяет длину (до 256 символов).
|
||||
Выбрасывает исключение `AtolPaymentAddressTooLongException` (если слишком длинный адрес места расчётов).
|
||||
|
||||
Конструктор может выбрасывать любое из указанных выше исключений, если в него передаются параметры.
|
||||
|
||||
Получить установленные значения параметров можно через геттеры:
|
||||
|
||||
```php
|
||||
@ -62,7 +49,7 @@ $company->getPaymentAddress();
|
||||
$company->getSno();
|
||||
```
|
||||
|
||||
Объект класса приводится к JSON-строке автоматически или принудительным приведением к `string`:
|
||||
Объект класса приводится к JSON-строке автоматически или принудительно:
|
||||
|
||||
```php
|
||||
echo $company;
|
||||
|
@ -79,6 +79,19 @@ $kkt->networkErrorCode; // Код ошибки сети
|
||||
|
||||
Сопоставления кодов ошибок и их описаний доступны в массиве `AtolOnline\Entities\Kkt::ERROR_CODES`.
|
||||
|
||||
Объект класса приводится к JSON-строке автоматически или принудительно:
|
||||
|
||||
```php
|
||||
echo $kkt;
|
||||
$json_string = (string)$kkt;
|
||||
```
|
||||
|
||||
Чтобы получить те же данные в виде массива, нужно вызвать метод `jsonSerialize()`:
|
||||
|
||||
```php
|
||||
$json_array = $kkt->jsonSerialize();
|
||||
```
|
||||
|
||||
## Получение данных об одной из своих ККТ
|
||||
|
||||
Для этого следует вызвать метод `AtolOnline\Api\KktMonitor::getOne()`, передав на вход серийный номер (`serialNumber`)
|
||||
|
@ -53,22 +53,23 @@ class Client extends Entity
|
||||
* @param string|null $phone Email. Тег ФФД - 1008.
|
||||
* @param string|null $email Телефон покупателя. Тег ФФД - 1008.
|
||||
* @param string|null $inn ИНН. Тег ФФД - 1228.
|
||||
* @throws TooLongNameException Слишком длинное имя
|
||||
* @throws TooLongPhoneException Слишком длинный телефон
|
||||
* @throws TooLongEmailException Слишком длинный email
|
||||
* @throws InvalidEmailException Невалидный email
|
||||
* @throws InvalidInnLengthException Некорректная длина ИНН
|
||||
* @throws TooLongNameException
|
||||
* @throws TooLongPhoneException
|
||||
* @throws TooLongEmailException
|
||||
* @throws InvalidEmailException
|
||||
* @throws InvalidInnLengthException
|
||||
*/
|
||||
public function __construct(
|
||||
?string $name = null,
|
||||
?string $email = null,
|
||||
?string $phone = null,
|
||||
?string $inn = null
|
||||
) {
|
||||
$name && $this->setName($name);
|
||||
$email && $this->setEmail($email);
|
||||
$phone && $this->setPhone($phone);
|
||||
$inn && $this->setInn($inn);
|
||||
)
|
||||
{
|
||||
!is_null($name) && $this->setName($name);
|
||||
!is_null($email) && $this->setEmail($email);
|
||||
!is_null($phone) && $this->setPhone($phone);
|
||||
!is_null($inn) && $this->setInn($inn);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -92,7 +93,7 @@ class Client extends Entity
|
||||
* @return $this
|
||||
* @throws TooLongNameException
|
||||
*/
|
||||
public function setName(?string $name): Client
|
||||
public function setName(?string $name): self
|
||||
{
|
||||
if (is_string($name)) {
|
||||
$name = preg_replace('/[\n\r\t]/', '', trim($name));
|
||||
@ -157,7 +158,7 @@ class Client extends Entity
|
||||
* @return $this
|
||||
* @throws TooLongPhoneException
|
||||
*/
|
||||
public function setPhone(?string $phone): Client
|
||||
public function setPhone(?string $phone): self
|
||||
{
|
||||
if (is_string($phone)) {
|
||||
$phone = preg_replace('/[^\d]/', '', trim($phone));
|
||||
|
@ -125,7 +125,7 @@ class Company extends Entity
|
||||
* @return $this
|
||||
* @throws InvalidSnoException
|
||||
*/
|
||||
public function setSno(string $sno): Company
|
||||
public function setSno(string $sno): self
|
||||
{
|
||||
$sno = trim($sno);
|
||||
if (empty($sno) || !in_array($sno, SnoTypes::toArray())) {
|
||||
@ -188,7 +188,7 @@ class Company extends Entity
|
||||
* @throws TooLongPaymentAddressException
|
||||
* @throws InvalidPaymentAddressException
|
||||
*/
|
||||
public function setPaymentAddress(string $payment_address): Company
|
||||
public function setPaymentAddress(string $payment_address): self
|
||||
{
|
||||
$payment_address = trim($payment_address);
|
||||
if (empty($payment_address)) {
|
||||
|
Loading…
Reference in New Issue
Block a user