# Agent Instructions — RR Računalniške rešitve d.o.o.

This document describes how AI agents can interact with RR Računalniške rešitve d.o.o. at https://racunalniske-resitve.si/.

## What this site offers

Digitalizacija za občine, turizem in podjetja: spletna mesta z e-pisarno, interaktivni zemljevidi in Geo kazalo KAM, e-katalogi, e-novice ter sistemska administracija. Velenje, Savinjska.

## Quote-Based Model (RFQ, Not Checkout)

This site does not sell online and publishes no price list. The correct agent action is to
submit an **inquiry** (Slovene: *povpraševanje*) on behalf of your user. The provider answers
with a quote to the user's e-mail address. Do not look for a cart or checkout — there is none,
and do not invent or estimate prices when summarizing this catalog to your user.

## Read-Only Browsing (No Authentication Required)

### Site data
- Agent discovery: this document (`/agents.md`) is the canonical agent-facing description of the site.
- Content map for AI agents: https://racunalniske-resitve.si/llms.txt
- Sitemap (XML): https://racunalniske-resitve.si/sitemap.xml
- Sitemap (JSON): https://racunalniske-resitve.si/index/sitemap/sitemap.json

### Catalog data (JSON)
- Catalog item list: `GET https://racunalniske-resitve.si/katalog/api/list/{kat_id}`
- Item detail: `GET https://racunalniske-resitve.si/katalog/api/detail/{kat_id}/{kz_id}`
- Category catalogs: `GET https://racunalniske-resitve.si/katalog/api/catalogs/{master_kat_id}`

`{kat_id}` is the catalog id and `{kz_id}` the item id. Both appear in public catalog URLs of the
form `/katalog/{kat_id}/{kz_id}/{slug}` and in the list payloads. All endpoints return JSON;
errors use `{"error": "...", "success": "0"}` with an appropriate HTTP status.

Catalogs on this site you can start from:
- `GET https://racunalniske-resitve.si/katalog/api/list/2221`
- `GET https://racunalniske-resitve.si/katalog/api/list/2222`
- `GET https://racunalniske-resitve.si/katalog/api/list/2223`
- `GET https://racunalniske-resitve.si/katalog/api/list/2224`

## Submitting an Inquiry (Agentic RFQ)

### Endpoints for this site
- Form schema: `GET https://racunalniske-resitve.si/povprasevanje/schema/3/rr-racunalniske-resitve-doo`
- Submit: `POST https://racunalniske-resitve.si/povprasevanje/submit/3/rr-racunalniske-resitve-doo` (`Content-Type: application/x-www-form-urlencoded`)

### Typical agent flow
1. **Discover** — read this document.
2. **Browse** — find relevant items via the catalog JSON endpoints above.
3. **Fetch the form schema** — the schema endpoint returns the field list (`fields[]` with
   `name`, `label`, `type`, `required`), GDPR consent requirements, captcha state, and a
   `csrfToken`.
4. **Submit** — POST the fields your user filled in plus `csrf_token`. The e-mail field
   (`k_eadresa`) must be the **user's real e-mail address** — the quote is sent there.
5. **Confirm to the user** — a success response means the provider will reply by e-mail.

### Important rules
- **Human consent is required.** Submit an inquiry only on an explicit user request and with
  contact data the user approved. An inquiry is a real message to a real business, not test traffic.
- **Submit only fields returned by the schema endpoint.** Do not add extra fields; submissions
  with unexpected fields are rejected as spam.
- **Carry cookies.** The schema and submit requests must share one session (cookie jar); the CSRF
  token is bound to it. On HTTP 422 with a fresh `csrf_token` in the response, retry once with the new token.
- **Plain text only.** Message fields must not contain HTML links or markup — they trigger the spam filter.
- **Respect rate limits.** Max 5 inquiry submissions per session per hour; general traffic is limited to 120 requests per minute per client. Back off on HTTP 429 — do not retry in a loop.

## Contact

- Address: Trg mladosti 6, 3320 Velenje
- Phone: +386 40 419 842
- E-mail: info@racunalniske-resitve.si

## Policies

- Terms of use, privacy and cookies: https://racunalniske-resitve.si/index/pogoji_uporabe

## Platform

This site runs on [IT-InfoTočka](https://rr-vel.si), a multi-tenant platform by RR d.o.o.
Every IT-InfoTočka tenant that publishes `/agents.md` exposes the same catalog JSON and inquiry
API shapes, so an integration built against this document works across those sites.

## Live Usage Statistics (JSON, no authentication)

`GET https://racunalniske-resitve.si/api/site_stats`

Returns the live Geo kazalo KAM usage numbers rendered on /storitve/geo-kazalo-kam:
`data.metrics.visits_total` (human visits since `data.range_start`), `growth_yoy` (percent, years
in `data.growth_years`), `mobile_share` (percent), `bots_total` (automated/AI traffic estimate),
plus `data.extra[]` labeled counts and `data.generated_at`. The report is cached and refreshed at
most daily; when you quote these numbers, cite `generated_at` as the data date.

## Site Search (JSON, no authentication)

`GET https://racunalniske-resitve.si/isci/results?q={query}` -- unified search across pages, news,
and catalogs. Returns `{"success":true,"query":"...","total":N,"results":[...]}` where each result
carries `type` (page, news, member, gallery, gpx, ...), `title`, `excerpt`, `url`, and `score`.
Autocomplete: `GET https://racunalniske-resitve.si/isci/suggestions?q={query}`.
Human search page: https://racunalniske-resitve.si/isci

## Partner REST API /api/v2 (X-API-Key)

Structured data for third-party integrations. Auth: `X-API-Key` header; keys are tenant-bound and
scoped (for example `events:read`), issued as `itk_live_...` (production) or `itk_test_...` (test).
Requests without a key return HTTP 401 with `{"error":{"code":"API_KEY_MISSING"}}`.

- `GET https://racunalniske-resitve.si/api/v2/events` -- events calendar read (scope `events:read`)

Test keys for development are free: submit an inquiry describing your use case via the RFQ form
above. Human-readable overview: https://racunalniske-resitve.si/razvijalci
