mirror of
https://github.com/anthonyaxenov/atol-online.git
synced 2024-11-22 05:44:34 +00:00
Мелкофиксы по документации и roadmap
This commit is contained in:
parent
9ed999f9fc
commit
8d9f218280
17
ROADMAP.md
17
ROADMAP.md
@ -26,8 +26,6 @@
|
||||
- [ ] Тесты для регистрации документа возврата расхода
|
||||
- [ ] Тесты для регистрации документа коррекции расхода
|
||||
- [ ] Вообще все расчёты вообще везде должны быть строго в копейках. Рубли (дроби) должны быть только в JSON-представлениях
|
||||
- [ ] Валидатор схемы для документов прихода, возврата прихода, расхода, возврата расхода
|
||||
- [ ] Валидатор схемы для документов коррекции прихода, коррекции расхода
|
||||
|
||||
## Поддержка методов API (регистрация документов)
|
||||
|
||||
@ -65,3 +63,18 @@
|
||||
- [x] Пoддержка `correction.vats` (обязательный)
|
||||
- [x] Пoддержка `correction.correction_info` (обязательный)
|
||||
- [x] Пoддержка `correction.cashier`
|
||||
|
||||
## Не будут реализовываться
|
||||
|
||||
### Валидация генерируемых документов согласно актуальной схемы API
|
||||
|
||||
- Валидатор схемы для документов прихода, возврата прихода, расхода, возврата расхода
|
||||
- Валидатор схемы для документов коррекции прихода, коррекции расхода
|
||||
|
||||
1. Отказ обусловлен скоростью выполнения.
|
||||
Базовая реализация, которая была начата, подразумевала синглтон, который кешировал однажды полученную схему.
|
||||
Практика показала, что этот единичный запрос может существенно тормозить работу сервера и в течение долгого времени
|
||||
не отдавать ответ клиенту.
|
||||
|
||||
2. Такая валидация подходит в том случае, если бы при разработке использовалась концепция IoC.
|
||||
До версии пакета 2.0.0 таких серьёзных имзенений не планируется.
|
||||
|
@ -46,10 +46,10 @@ $customer = (new AtolOnline\Entities\Client())
|
||||
* `AtolEmailValidateException` (если email невалиден).
|
||||
|
||||
Метод `setInn()` чистит входную строку от всех символов, кроме цифр, и проверяет длину (либо 10, либо 12 цифр).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина строка ИНН некорректна).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина ИНН некорректна).
|
||||
|
||||
Метод `setName()` проверяет входную строку на длину (до 256 символов).
|
||||
Выбрасывает исключение `AtolNameTooLongException` (если слишком длинное наименование).
|
||||
Выбрасывает исключение `AtolNameTooLongException` (если слишком длинное имя).
|
||||
|
||||
Метод `setPhone()` чистит входную строку от всех символов, кроме цифр и знака `+`, и проверяет длину (до 64 символов).
|
||||
Выбрасывает исключение `AtolPhoneTooLongException` (если слишком длинный номер телефона).
|
||||
|
@ -46,7 +46,7 @@ $company = (new AtolOnline\Entities\Company())
|
||||
* `AtolEmailValidateException` (если email невалиден).
|
||||
|
||||
Метод `setInn()` чистит входную строку от всех символов, кроме цифр, и проверяет длину (либо 10, либо 12 цифр).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина строка ИНН некорректна).
|
||||
Выбрасывает исключение `AtolInnWrongLengthException` (если длина ИНН некорректна).
|
||||
|
||||
Метод `setPaymentAddress()` проверяет длину (до 256 символов).
|
||||
Выбрасывает исключение `AtolPaymentAddressTooLongException` (если слишком длинный адрес места расчётов).
|
||||
|
@ -164,4 +164,4 @@ $json_array = $doc->jsonSerialize();
|
||||
|
||||
---
|
||||
|
||||
[Вернуться к содержанию](readme.md)
|
||||
[Вернуться к содержанию](readme.md)
|
||||
|
25
docs/kkt.md
25
docs/kkt.md
@ -49,6 +49,7 @@ $kkt->getGroup();
|
||||
|
||||
Эти параметры нужно задать [объекту компании](/docs/company.md), который будет передаваться в документах через эту ККТ.
|
||||
|
||||
<a name='testmode'></a>
|
||||
## Тестовый режим
|
||||
|
||||
На самом деле, в АТОЛ Онлайн нет понятия *тестовая операция* или чего-то в этом духе.
|
||||
@ -85,10 +86,10 @@ $kkt->setTestMode(false); // выключить
|
||||
3. пп. 1 и 2 в любом случае скажутся на ваших финансовых отчётах;
|
||||
4. вся ответственность за пп. 1-3 и последствия ложится только на вас.
|
||||
|
||||
## Авторизация ККТ
|
||||
## Авторизация на ККТ
|
||||
|
||||
Перед первым запросом на ККТ происходит авторизация на сервере по логину и паролю.
|
||||
В ответ приходит авторизационный токен, срок жизни коего равен 24 часам.
|
||||
Перед первым запросом на ККТ происходит аутентификация на сервере по логину и паролю.
|
||||
В ответ приходит авторизационный токен, срок жизни коего равен **24 часам**.
|
||||
После первой успешной операции возможно получить этот токен следующим образом:
|
||||
|
||||
```php
|
||||
@ -98,7 +99,7 @@ $kkt->getAuthToken(); // вернёт строку длиной 128 символ
|
||||
Этот токен можно сохранить и переиспользовать в течение всего срока его жизни.
|
||||
Спустя это время следует получить новый токен.
|
||||
|
||||
Однажды полученный токен, то для дальнейшего использования следует указывать его следующим образом:
|
||||
Для дальнейшего использования однажды полученный токен следует указывать следующим образом:
|
||||
|
||||
```php
|
||||
$kkt->setAuthToken($token_string);
|
||||
@ -153,6 +154,9 @@ $result = $kkt->sellCorrection($document);
|
||||
$result = $kkt->buyCorrection($document);
|
||||
```
|
||||
|
||||
Любой из перечисленных выше шести методов может выбросить исключение `AtolAuthFailedException` при ошибке
|
||||
аутентификации или авторизации.
|
||||
|
||||
### Собственный идентификатор документа
|
||||
|
||||
Каждый документ, переданный на ККТ для регистрации, всегда имеет свой идентификатор, абсолютно уникальный среди всех
|
||||
@ -185,6 +189,17 @@ $kkt->setCallbackUrl('http://example.com/process-kkt-result');
|
||||
$kkt->getCallbackUrl();
|
||||
```
|
||||
|
||||
Метод `setCallbackUrl()` проверяет входную строку на длину (до 256 символов) и валидность формата url по
|
||||
регулярному выражению:
|
||||
|
||||
```
|
||||
^http(s?)\:\/\/[0-9a-zA-Zа-яА-Я]([-.\w]*[0-9a-zA-Zа-яА-Я])*(:(0-9)*)*(\/?)([a-zAZ0-9а-яА-Я\-\.\?\,\'\/\\\+&=%$#_]*)?$
|
||||
```
|
||||
|
||||
Выбрасывает исключения:
|
||||
* `AtolCallbackUrlTooLongException` (если слишком длинный url);
|
||||
* `AtolInvalidCallbackUrlException` (если url невалиден).
|
||||
|
||||
## Обработка результата регистрации
|
||||
|
||||
Методы `sell()`, `sellRefund()`, `sellCorrection()`, `buy()`, `buyRefund()` и `buyCorrection()` возвращают объект `AtolOnline\Api\KktResponse`.
|
||||
@ -194,7 +209,7 @@ $kkt->getCallbackUrl();
|
||||
Этот объект содержит в себе HTTP-код ответа, массив заголовков и JSON-декодированные данные тела ответа.
|
||||
|
||||
```php
|
||||
$result = $kkt->getLastResponse();
|
||||
$result = $kkt->getLastResponse(); // вернёт последний ответ от API
|
||||
$headers = $result->getHeaders(); // вернёт заголовки
|
||||
$code = $result->getCode(); // вернёт код ответа
|
||||
$body = $result->getContent(); // вернёт JSON-декодированное тело ответа
|
||||
|
Loading…
Reference in New Issue
Block a user