Compare commits
2 Commits
c3e55f37ce
...
2ab45e8c28
Author | SHA1 | Date |
---|---|---|
Anthony Axenov | 2ab45e8c28 | |
Anthony Axenov | c7baedae4f |
17
README.md
17
README.md
|
@ -7,6 +7,7 @@
|
|||
[![Stable Version](https://img.shields.io/packagist/v/axenov/atol-online?label=stable)](https://packagist.org/packages/axenov/atol-online)
|
||||
[![Packagist PHP Version Support](https://img.shields.io/packagist/php-v/axenov/atol-online?color=%23787cb4)](https://packagist.org/packages/axenov/atol-online)
|
||||
[![License](https://img.shields.io/packagist/l/axenov/atol-online?color=%23369883)](LICENSE)
|
||||
[![buymeacoffee](https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?logo=buy-me-a-coffee)](https://www.buymeacoffee.com/axenov)
|
||||
|
||||
**[Документация](/docs/readme.md)**
|
||||
|
||||
|
@ -65,10 +66,20 @@
|
|||
Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд:
|
||||
|
||||
```bash
|
||||
composer test # обычное тестирование
|
||||
composer coverage # тестирование с покрытием
|
||||
composer psalm # статический анализ
|
||||
composer phpcs # синтаксический анализ
|
||||
composer test # полное тестирование без покрытия
|
||||
composer coverage # полное тестирование с покрытием
|
||||
```
|
||||
|
||||
После тестирования с покрытием в корне репозитория создаётся отчёт, который сохраняется в директории `.coverage`.
|
||||
Для тестирования с покрытием необходим `php-xdebug` с параметром `xdebug.mode = coverage,...`.
|
||||
|
||||
<a href="https://www.buymeacoffee.com/axenov" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174"></a>
|
||||
# TODO
|
||||
|
||||
* [ ] Поддержка логирования через psr/log (psr-3)
|
||||
* [ ] Поддержка кеширования через psr/cache (psr-6)
|
||||
* [ ] Поддержка сторонних клиентов через psr/http-client (psr-18), отвязка от Guzzle
|
||||
* [ ] События
|
||||
* [ ] Поддержка ФФД 1.2 (разделение версий библиотеки по веткам?)
|
||||
* [ ] ...
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
---
|
||||
|
||||
Коллекциями являются объекты, способные хранить в себе [сущности](entity.md). Они унаследованы
|
||||
от `Illuminate/Support/Collection` и полностью поддерживают все
|
||||
[стандартные методы коллекций Laravel](https://laravel.com/docs/master/collections).
|
||||
Коллекциями являются объекты, способные хранить в себе [сущности](entity.md).
|
||||
Они унаследованы от `Illuminate/Support/Collection` и полностью поддерживают все
|
||||
[стандартные методы](https://laravel.com/docs/master/collections) коллекций Laravel.
|
||||
|
||||
Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме АТОЛ Онлайн API.
|
||||
Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме API АТОЛ Онлайн.
|
||||
|
||||
Коллекции ведут себя аналогично самим сущностям в части приведения к массивам и json-ификации.
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
|
||||
---
|
||||
|
||||
Сущностями являются все классы, которые необходимы для взаимодействия с API. Они находятся в директори `src/Entities` и
|
||||
расширяют абстрактный класс `AtolOnline\Entities\Entity`.
|
||||
Сущностями являются все классы, которые необходимы для взаимодействия с API.
|
||||
Они находятся в директори `src/Entities` и расширяют абстрактный класс `AtolOnline\Entities\Entity`.
|
||||
|
||||
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы АТОЛ Онлайн API.
|
||||
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы API АТОЛ Онлайн.
|
||||
|
||||
Ниже перечислены возможности сущностей.
|
||||
|
||||
|
|
|
@ -48,7 +48,8 @@ $monitor->setTestMode(false);
|
|||
$kkts = $monitor->getAll();
|
||||
```
|
||||
|
||||
В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`. Каждый из этих объектов содержит атрибуты:
|
||||
В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`.
|
||||
Каждый из этих объектов содержит атрибуты:
|
||||
|
||||
```php
|
||||
// для примера получим первую ККТ из всех
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Документация к библиотеке
|
||||
|
||||
<a id="toc"></a>
|
||||
|
||||
## Содержание
|
||||
|
||||
* [Общий алгоритм](#getstarted)
|
||||
|
@ -14,11 +13,10 @@
|
|||
Если вы нашли опечатку или какое-то несоответствие — делайте pull-request.
|
||||
|
||||
<a id="getstarted"></a>
|
||||
|
||||
## Общий алгоритм
|
||||
|
||||
1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`, добавив в него все необходимые
|
||||
данные
|
||||
1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`,
|
||||
добавив в него все необходимые данные
|
||||
2. Отправить документ на регистрацию:
|
||||
2.1. *Необязательно:* при отправке задать `callback_url`, на который АТОЛ отправит HTTP POST о состоянии документа;
|
||||
2.2. *Необязательно:* при отправке задать `external_id`, чтобы присвоить свой уникальный идентификатор документа;
|
||||
|
@ -26,8 +24,8 @@
|
|||
> Если с документом был передан `callback_url`, то ответ придёт на этот самый URL.
|
||||
> Он должен быть обработан вашим сервисом в соответствии с бизнес-процессом.
|
||||
|
||||
> Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не пришёл в течение 300 секунд
|
||||
> (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа.
|
||||
> Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не был получен/обработан в течение
|
||||
> 300 секунд (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа.
|
||||
4. Проверить состояние документа:
|
||||
4.1. взять `uuid` ответа, полученного на запрос фискализации;
|
||||
4.2. отправить его в запросе состояния документа.
|
||||
|
|
Loading…
Reference in New Issue