# Antares -> Octopus 8 Rust utility to fetch product data from Antares B2B and export to Excel which can be imported by Octopus 8. ## Quick Start Linux / MacOS: ```bash cp .env.example .env # Edit .env with your credentials and output path cargo build --release ./target/release/antares_get_data ``` Windows: ```batch copy .env.example .env REM Edit .env with your credentials and output path cargo build --release ./target/release/antares_get_data.exe ``` ## Configuration `.env` file: ```env URL=https://b2b.antares.hu/YOUR_BASE_URI_HERE ANTARES_USERCODE=given_usercode ANTARES_PASSWORD=given_password OUT=out\\test.xlsx ``` `OUT` can be: - Directory: `out` → creates `out/antares.xlsx` - File path: `exports/data.xlsx` → creates file there - Must be `.xlsx` extension if file path ## How It Works 1. Load credentials from `.env` 2. Fetch product data from Antares B2B API (600s timeout) 3. Save raw JSON to `antares.json` 4. Export filtered data to Excel 5. Log all operations to `log/YYYY-MM-DD.log` ## Excel Output 8 columns with selective field mapping and row filtering: | Column | Source | |--------|--------| | BESZCIKKSZAM | [cikkszam](./src/template/antares.rs#L21) (required) | | GYCIKKSZAM | [cikkszam](./src/template/antares.rs#L21) | | BESZCIKKNEV | [cikk_megnevezes_rovid](./src/template/antares.rs#L21) or [cikk_megnevezes](./src/template/antares.rs#L20) (required) | | GYARTO | "EGYEB" (const) | | CIKKAZON | [vonalkod](./src/template/antares.rs#L33) | | KESZLET | [szabad_keszlet](./src/template/antares.rs#L29) | | ME | [mennyisegi_egyseg_kod](./src/template/antares.rs#L24) | | EGYSEGAR | [netto_kisker_ar](./src/template/antares.rs#L26) or "Alap ár" [jellemzo](./src/template/antares.rs#39).[jellemzo_nev](./src/template/antares.rs#L41) | Rows skipped if `BESZCIKKSZAM` or `BESZCIKKNEV` missing! ## Project Structure - `src/main.rs`: Main application logic - `src/api/`: API client functionality - `src/template/`: Data structures for Antares JSON response - `src/tools/`: Utility modules (logger, env loader, request handler, Excel exporter) - `Cargo.toml`: Rust dependencies and project configuration ## Building The project uses Cargo (Rust's package manager). To build: ```bash cargo build --release ``` This will create an optimized binary in `target/release/antares_get_data` (or `antares_get_data.exe` on Windows). ## Running 1. Copy `.env.example` to `.env` 2. Edit `.env` with your credentials and output path 3. Run the application: ```bash ./target/release/antares_get_data ``` Or on Windows: ```batch ./target/release/antares_get_data.exe ``` ## Debug Mode To preserve temporary files for debugging, run with the `--debug` flag: ```bash ./target/release/antares_get_data --debug ``` This will prevent cleanup of the `temp/` directory which contains the raw JSON response from the API.