Skip to content

MyEternityOrg/elq

Repository files navigation

1. ΠžΠ±Ρ‰ΠΈΠ΅ полоТСния

1.1. ОписаниС.

БистСма рСгистрации Ρ‡Π΅ΠΊΠΎΠ² Π² элСктронной ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ производства, состоит ΠΈΠ· Π΄Π²ΡƒΡ… основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

  • Django - ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ самой элСктронной ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² Π·Π°ΠΊΠ°Π·ΠΎΠ²
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сборщик Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ ΠΈΠ· касс Set Retail 10 (Crystal)
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ запускаСтся Π² своСм Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. Названия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² elq ΠΈ api_import соотвСтствСнно.
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доступно ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΡ€Ρ‚Π°ΠΌ:
    • 8000 - Π²Π΅Π±-интСрфСйс элСктронной ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ
    • 631 - настройка CUPS

1.2. ВрСбования ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

  • Если настройка ΠΈ установка происходит ΠΈΠ· сСти ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ установки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Firewall, это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π±ΠΎΡ‚Π° управлСния mikrotik ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ настройки, Firewall Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.
  • Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния ЭлСктронная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ трСбуСтся Docker, вСрсия Π½Π΅ Π½ΠΈΠΆΠ΅ 20.10.17, Linux ΠΈΠ»ΠΈ Windows.
  • ВсС настройки Django ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния, Π² Ρ„Π°ΠΉΠ»Π΅ .env.
  • Настройки ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сборщик Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π΅ main.json.
  • Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° Π·Π°ΠΊΠ°Π·ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ настроСн ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ SAM4s ELLIX50. ΠŸΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступСн Ρ‡Π΅Ρ€Π΅Π· сСтСвоС соСдинСниС.
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„Π°ΠΉΠ»Π° настроСк .env ΠΈ main.json ΠΈ настройка CUPS Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.3. Установка ΠΈ настройка прилоТСния.

2. Установка ΠΈ настройка

2.1. Установка Docker

2.1.1.Установка Docker Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ubuntu 20.04

  • ОбновляСм индСксы apt
 sudo apt-get update

 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • ДобавляСм GPG ΠΊΠ»ΡŽΡ‡ Docker
 sudo mkdir -p /etc/apt/keyrings

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Docker
 echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • УстанавливаСм Docker Engine
 sudo apt-get update

 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ
docker --version

2.1.2. Настройка запуска Docker Π±Π΅Π· sudo

  • Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡƒ docker
sudo groupadd docker
  • ДобавляСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ $USER Π² Π³Ρ€ΡƒΠΏΠΏΡƒ docker
sudo usermod -aG docker $USER
  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ измСнСния
newgrp docker
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ запуск Π±Π΅Π· sudo
docker run hello-world

2.2. Установка Docker Π² Windows

2.2.1. Установка Docker Desktop

УстанавливаСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ссылка для скачивания -> Docker Desktop.

2.2.2. Установка git

git Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ поставку Windows, поэтому Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Git for Windows. Установка стандартная, с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

2.2.3. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ инструкции ΠΏΠΎ настройкС Π² Linux

Π¨Π°Π³ΠΈ ΠΏΠΎ настройкС Π² Windows практичСски Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π΅Ρ‚ смысла, Π½ΡƒΠΆΠ½ΠΎ просто Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствия ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π½Π° Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Windows. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ запуску docker ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎ синтаксису ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС.

2.3. Установка ΠΈ настройка прилоТСния

2.3.1. Запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²

  • ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ прилоТСния
git clone https://github.com/MyEternityOrg/elq
  • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
cd elq
  • Настройки Django прилоТСния находятся Π² Ρ„Π°ΠΉΠ» .env. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ настроСк Π² .env
mv .env.sample .env
  • Вносим измСнСния, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π’Π°ΠΆΠ½Ρ‹ΠΌ являСтся ΠΊΠ»ΡŽΡ‡ API_KEY ΠΊ интСрфСйсу получСния кассовых Ρ‡Π΅ΠΊΠΎΠ², Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² настройках ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ сборщик Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π΅ main.json.
  • CALC_PRINT_TICKETS - настройка Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, -1 - ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ количСству ΠΎΡ‚Π΄Π΅Π»ΠΎΠ² +2 слипа, >0 - строго Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство, 0 - ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 слип.
  • PRINT_PAPER_W / PRINT_PAPER_H - настройка шаблона ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π¨ΠΈΡ€ΠΈΠ½Π°/Высота слипа, ΠΏΠΎΠ΄ ΡˆΠΈΡ€ΠΈΠ½Ρƒ систСма осущСствит ΠΎΠ±Ρ€Π΅Π·ΠΊΡƒ тСкста.
nano .env
API_KEY = 'secret_key_here'
SQL_ENGINE = 'django.db.backends.sqlite3'
SQL_DB_NAME = './elq.sqlite3'
SQL_DB_USER = 'user'
SQL_DB_PASSWORD = 'pass'
SQL_DB_HOST = '.'
SQL_DB_PORT = 1433
SQL_OPTIONS = '{}'
CALC_PRINT_TICKETS = 0
PRINT_PAPER_W = 57
PRINT_PAPER_H = 120
  • НастраиваСм ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ сборщик Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ настроСк Π² main.json
mv ./api_import_receipts/main.json.sample ./api_import_receipts/main.json
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ», Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ API_KEY ΠΈΠ· Ρ„Π°ΠΉΠ»Π° .env ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ip адрСса касс.
nano ./api_import_receipts/main.json

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки для Магазина 116 :

{
  "api": "http://elq:8000/devices/import_receipt/",
  "api_key": "secret_key_here",
  "timer": 3,
  "cashes": [
    {
      "sql_server": "10.1.16.11"
    },
    {
      "sql_server": "10.1.16.12"
    },
    {
      "sql_server": "10.1.16.13"
    },
    {
      "sql_server": "10.1.16.14"
    },
    {
      "sql_server": "10.1.16.15"
    }
  ]
}
  • ЗапускаСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
docker compose up -d
  • ДоТидаСмся сбора ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ запуска. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π² статусС up
docker ps -a
  • Если Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³
docker logs elq
docker logs api_import

2.3.2. Настройка CUPS

  • Для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‚Π°Π»ΠΎΠ½ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ Π² слуТбС CUPS, ΠΎΠ½Π° доступа ΠΏΠΎ адрСсу. Π›ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ print.
http://ip_сСрвСра:631/
  • ДобавляСм ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· socket, Π² строкС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ
socket://ip_ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°:6001
  • Π’Π°ΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ имя ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ добавляСтся ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ELLIX50. Π•Π³ΠΎ Π·Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π²Π΅Π± интСрфСйсС Django прилоТСния
  • Π½Π° этапС Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ PPT Ρ„Π°ΠΉΠ». Для ΠΌΠΎΠ΄Π΅Π»ΠΈ SAM4s ELLIX50 Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ прямой ссылкС git
  • Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ страницу Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ

2.3.3. Настройка прилоТСния

  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доступно ΠΏΠΎ ссылкС. Π›ΠΎΠ³ΠΈΠ½/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° shop 123
http://ip_сСрвСра:8000/
  • Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ администрирования Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠšΠ°ΡΡΡ‹ ΠΈ ΠŸΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹. Π’ΠΠ–ΠΠž. Имя ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π° Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° 2.3.2. Настройка CUPS
http://ip_сСрвСра:8000/admin/

2.3.4. ВнСсСниС ΠΏΡ€Π°Π²ΠΎΠΊ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Если Π½ΡƒΠΆΠ½ΠΎ внСсти измСнСния Π² Ρ„Π°ΠΉΠ»Ρ‹ Π² ΡƒΠΆΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

  • для измСнСния Ρ„Π°ΠΉΠ»Π° main.json
cd elq
docker exec -it api_import /bin/sh
nano ./elq/api_import_receipts/main.json
  • для измСнСния Ρ„Π°ΠΉΠ»Π° .env
cd elq
docker exec -it elq /bin/sh
nano ./elq/.env

послС внСсСния ΠΏΡ€Π°Π²ΠΎΠΊ, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ пСрСзапуск

exit
docker compose stop
docker compose up -d

2.3.5. Установка ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ

ОбновлСния ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ автоматичСски ΠΈΠ· github ΠΏΡ€ΠΈ пСрСзапускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

cd elq
docker compose stop
docker compose up -d

3. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ

http://ip_сСрвСра:8000/devices/import_receipt/

ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ входящиС POST запросы ΠΈ рСгистрируСт Ρ‡Π΅ΠΊΠΈ. Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ запроса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ api_key, Π² Ρ‚Π΅Π»Π΅ запроса Ρ„Π°ΠΉΠ» ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ‡Π΅ΠΊΠ°.

Для ограничСния доступа ΠΊ post интСрфСйсу получСния кассовых Ρ‡Π΅ΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ свой собствСнный api_key, Π² Ρ„Π°ΠΉΠ»Π΅ .env

API_KEY = 'secret_key_here'

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, для curl:

curl -H "key:secret_key_here" --data "@receipt_1.json" http://127.0.0.1/devices/import_receipt/ > reply_1.json

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ‡Π΅ΠΊΠ°:

  • cash_id - НомСр кассы
  • shift_id - НомСр смСны.
  • check_id - НомСр Ρ‡Π΅ΠΊΠ° Π² смСнС.
  • check_date - Π”Π°Ρ‚Π° Ρ‡Π΅ΠΊΠ°.
  • wares - Массив Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² (сгруппирован ΠΏΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌ с суммой ΠΏΠΎ количСству)
    • ware_code - Код Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ‡Π΅ΠΊΠ΅.
    • ware_count - ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ‡Π΅ΠΊΠ΅.
{
  "cash_id": 1,
  "shift_id": 1,
  "check_id": 1,
  "check_date": "2022-11-17",
  "wares": [
    {
      "ware_code": "48566",
      "ware_count": 4
    },
    {
      "ware_code": "51356",
      "ware_count": 1
    },
    {
      "ware_code": "72542",
      "ware_count": 1
    }
  ]
}

Π€Π°ΠΉΠ» ΠΎΡ‚Π²Π΅Ρ‚Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ:

Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ рСгистрации, систСма Π²Π΅Ρ€Π½Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ doc_number>0.

Π’ случаС ошибки - систСма Π²Π΅Ρ€Π½Π΅Ρ‚ doc_number=0 ΠΈ описаниС ошибки.

Π’ случаС, ΠΊΠΎΠ³Π΄Π° дСйствий Π½Π΅ трСбуСтся (Π½Π΅Ρ‡Π΅Π³ΠΎ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ) систСма Π²Π΅Ρ€Π½Π΅Ρ‚ doc_number=-1 ΠΈ сообщСниС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚Π²Π΅Ρ‚Π°:

{
  "doc_number": -1,
  "error": "Already have receipt with number 1 for cash 1 in 2022-11-21"
}

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •