# Документация к библиотеке ## Содержание * [Общий алгоритм](#getstarted) * [Сущность](entity.md) * [Коллекция сущностей](collection.md) * [Мониторинг ККТ](monitoring.md) * [Фискализация документа](fiscalizing.md) * [Обработка ответа API](response.md) Если вы нашли опечатку или какое-то несоответствие — делайте pull-request. ## Общий алгоритм 1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`, добавив в него все необходимые данные 2. Отправить документ на регистрацию: 2.1. *Необязательно:* при отправке задать `callback_url`, на который АТОЛ отправит HTTP POST о состоянии документа; 2.2. *Необязательно:* при отправке задать `external_id`, чтобы присвоить свой уникальный идентификатор документа; 3. Запомнить `uuid` из пришедшего ответа, поскольку он пригодится для последующей проверки статуса фискализации. > Если с документом был передан `callback_url`, то ответ придёт на этот самый URL. > Он должен быть обработан вашим сервисом в соответствии с бизнес-процессом. > Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не был получен/обработан в течение > 300 секунд (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа. 4. Проверить состояние документа: 4.1. взять `uuid` ответа, полученного на запрос фискализации; 4.2. отправить его в запросе состояния документа. > Данные о документе можно получить только в течение 32 суток после успешной фискализации. В зависимости от специфики бизнеса, в документах можно/нужно передавать разную информацию. Подробности в документации АТОЛ Онлайн и исходниках библиотеки. ## Об отправке электронного чека покупателю После успешной фискализации документа покупатель автоматически получит уведомление **от ОФД**, который используется в связке с вашей ККТ: * **по email**, если в документе указан email клиента; * **по смс**: * если в документе указан номер телефона клиента; * если на стороне ОФД необходима и подключена услуга СМС-информирования (уточняйте подробности о своего ОФД). > Если заданы email и телефон, то ОФД отдаёт приоритет email.