Skip to content

imdeniil/atol-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

ATOL CLI

Интерактивный терминальный инструмент для работы с чеками ATOL Online.

Возможности

  • Просмотр журнала чеков из API личного кабинета ATOL
  • Детализация чека: позиции, оплата, фискальные данные
  • Отправка возвратов (sell_refund) через кассовый API (possystem v5)
  • Отслеживание статусов отправленных возвратов
  • Фильтрация: все чеки, продажи, возвраты, продажи без возврата
  • Управление периодом загрузки (7/14/30/60/90 дней или произвольный)
  • Мультиаккаунт: несколько аккаунтов ATOL с переключением
  • Зашифрованное хранение учётных данных (AES-256-CBC)

Требования

  • PHP 7.4+ с расширением openssl
  • Терминал с поддержкой ANSI (Linux, macOS, WSL)

Запуск

php atol_cli.php

При первом запуске будет предложено добавить аккаунт.

Флаги

--days=N    Начальный период загрузки (по умолч. 30 дней)
--help      Справка

Навигация

Клавиша Действие
↑ ↓ Перемещение по меню
Enter Выбрать пункт
q / Esc Назад / выход из меню

Добавление аккаунта

При добавлении запрашиваются:

  1. Название — произвольная метка (напр. "Jummy прод")
  2. Email ЛК — логин от online.atol.ru
  3. Пароль ЛК — пароль от online.atol.ru (вводится звёздочками)
  4. Логин кассового API — для possystem v5
  5. Пароль кассового API — для possystem v5 (вводится звёздочками)
  6. Код группы ККТ — в формате group_code_XXXXX
  7. Среда — прод (online.atol.ru) или тест (testonline.atol.ru)

Перед сохранением проверяется авторизация в обоих API.

Структура меню

Выбор аккаунта
 └─ Главное меню
     ├─ Все чеки / Продажи / Возвраты / Без возврата
     │   └─ Список чеков
     │       └─ Детали чека
     │           ├─ Отправить возврат (для продаж без возврата)
     │           ├─ Обновить статус возврата (для отправленных)
     │           ├─ Проверить статус (report)
     │           └─ Показать JSON запроса
     ├─ Проверить статус по UUID
     ├─ Период (изменить)
     ├─ Сменить аккаунт
     └─ Выход

Файлы данных

Файл Описание
.atol_accounts.enc Зашифрованные аккаунты (AES-256-CBC, ключ привязан к машине)
.atol_cli.state.json Состояние: возвраты, отправленные через CLI

Оба файла исключены из git через .gitignore.

API

Инструмент использует два API ATOL:

Личный кабинет (ЛК)

  • GET /lk/Account/Login — получение CSRF-токена
  • POST /lk/Account/Login — авторизация (с CSRF-защитой)
  • POST /api/lk/checkJournal — журнал чеков за период
  • GET /api/lk/checkJournal/{uuid} — детали чека (позиции, оплата, фискальные данные)

Кассовый API (possystem v5)

  • POST /possystem/v5/getToken — авторизация
  • POST /possystem/v5/{group}/sell_refund — отправка возврата
  • GET /possystem/v5/{group}/report/{uuid} — статус операции

About

Интерактивный терминальный инструмент для работы с чеками ATOL Online

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages