Rováš poskytuje REST API, cez ktoré partneri, doplnky a aplikácie môžu zakladať účty, podávať pracovné výkazy, čítať Merity a napojiť sa na produkty NeoFund (napríklad Civic).

Prostredie Základná URL
Produkcia https://rovas.app
Vývoj https://dev.rovas.app

Cesty služieb majú predponu /rovas. OAuth protokol používa /oauth2.

Posielajte Accept: application/json a pri tele POST/PUT aj Content-Type: application/json.

Ak plánujete integráciu, kontaktujte nás — radi zabezpečíme partnerský prístup a prejdeme váš prípad použitia.

Ktoré API použiť?

Model Autentifikácia Najlepšie pre
Klasické HTTP hlavičky API-KEY a TOKEN Partnerské backendy, doplnky na webe, server–server
OAuth 2 (Bearer) Authorization: Bearer <access_token> Mobil / SPA s prihlásením v prehliadači (napr. Civic)

Na jednom volaní tieto modely nemiešajte. Klasické endpointy očakávajú API kľúče; Civic/OAuth zdroje majú API-key auth vypnutú a očakávajú Bearer (alebo sú verejné).


Klasické API — ako ho používať

Prihlasovacie údaje

  1. Prihláste sa do Rováša a otvorte Môj účet → Rováš API.
  2. Vygenerujte údaje pre endpoint rovas_endpoint.
  3. Pri každom autentifikovanom volaní pošlite:
API-KEY: <váš api kľúč>
TOKEN: <váš token>

Každý pár kľúčov patrí jednému používateľovi Rováša. Volania bežia v jeho mene.

Partnerská registrácia (vytvorenie alebo prepojenie koncového používateľa)

Partneri (napr. neziskovky), ktorí zakladajú účty darcom alebo členom, potrebujú technický účet s rolou api client (pridelí NeoFund/Rováš). API kľúč tohto účtu slúži len na zakladanie / prepojenie účtov.

Odporúčaný endpoint

POST /rovas/rovas_partner_user

Starší ekvivalent: POST /rovas/rules/rules_create_user (rovnaké telo a odpoveď).

Telo požiadavky (povinné polia)

Pole Popis
user_name Zobrazované meno
user_id Vaše externé číselné ID používateľa
user_email E-mail (na nájdenie existujúceho účtu v Rováši)
user_country ISO 3166-1 alpha-2, veľké písmená (napr. SK)
user_language Kód jazyka (napr. sk, en)
server_url Základná URL vášho webu (napr. https://partner.example/)

Voliteľné: hybridauth_provider (ak prázdne, predvolené Nabezky), partner_client_id.

Zoznam povolených poskytovateľov: GET /rovas/rovas_hybridauth_providers.json (zvyčajne verejné).

Úspešná odpoveď

{
  "rovas_uid": 123,
  "api_key": "…",
  "token": "…"
}

Uložte vrátené api_key / token a používajte ich ako API-KEY / TOKEN pri ďalších volaniach v mene tohto koncového používateľa.

Príklad

curl -sS -X POST "https://rovas.app/rovas/rovas_partner_user" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "API-KEY: $PARTNER_API_KEY" \
  -H "TOKEN: $PARTNER_TOKEN" \
  -d '{
    "user_name": "Jana Partnerská",
    "user_id": 12345,
    "user_email": "jana@example.com",
    "user_country": "SK",
    "user_language": "sk",
    "server_url": "https://partner.example/",
    "hybridauth_provider": "Nabezky"
  }'

Typické chyby: 400 validácia, 401 zlé údaje, 403 chýba oprávnenie api client.

Referencia klasických endpointov

Schémy požiadaviek/odpovedí sú v OpenAPI súbore (na vyžiadanie). Prehľad:

Účty a zostatky

Metóda Cesta Auth Účel
POST /rovas/rovas_partner_user API-KEY Vytvoriť / prepojiť používateľa (odporúčané)
POST /rovas/rules/rules_create_user API-KEY Vytvoriť / prepojiť (staršie)
GET /rovas/rovas_hybridauth_providers.json Verejné* HybridAuth poskytovatelia
POST /rovas/rules/rules_fetch_user_data API-KEY Profil majiteľa kľúča
POST /rovas/rules/rules_users_chrons API-KEY Zostatky Chronov
POST /rovas/rules/rules_user_s_merits API-KEY Zostatky Meritov
POST /rovas/rules/rules_check_enabled_language API-KEY Je jazyk zapnutý?

*Ak je na zdroji zapnuté „Disable API keys authentication“.

Projekty a pracovné výkazy

Metóda Cesta Auth Účel
POST /rovas/rules/rules_proxy_create_new_project API-KEY Vytvoriť projekt
POST /rovas/rules/rules_proxy_delete_project API-KEY Zmazať projekt
POST /rovas/rules/rules_proxy_create_work_report API-KEY Vytvoriť pracovný výkaz
POST /rovas/rules/rules_proxy_delete_work_report API-KEY Zmazať pracovný výkaz
POST /rovas/rules/rules_proxy_report_editability API-KEY Je výkaz editovateľný?
POST /rovas/rules/rules_proxy_work_report_verifiability API-KEY Môže volajúci overovať?
POST /rovas/rules/rules_proxy_report_verification_status API-KEY Stav overenia
POST /rovas/rules/rules_create_verification API-KEY Odovzdať overenie
POST /rovas/rules/rules_create_verification_with_acccess_token Verejné Overenie cez access token
POST /rovas/rules/rules_proxy_reward_work_report API-KEY Odmeniť pracovný výkaz
GET /rovas/rovas_verifications.json API-KEY Zoznam overení
PUT /rovas/node/{id} API-KEY Upraviť vlastný uzol
DELETE /rovas/node/{id} API-KEY Zmazať vlastný uzol

Podiely, nákupy, kurzy

Metóda Cesta Auth Účel
POST /rovas/rules/rules_proxy_check_or_add_shareholder API-KEY Zabezpečiť podiel používateľa
POST /rovas/rules/rules_proxy_check_or_add_project_shareholder API-KEY Zabezpečiť podiel projektu
POST /rovas/rules/rules_proxy_purchase_product API-KEY Spracovať nákup
POST /rovas/rules/rules_proxy_create_aur API-KEY Záznam o použití majetku
POST /rovas/rules/rules_get_merits_for_projects API-KEY Merity pre ID projektov
POST /rovas/rules/rules_convert_euros_to_chrons API-KEY Kurz EUR → Chron
POST /rovas/rules/rules_convert_euros_to_chrons_reverse API-KEY Kurz Chron → EUR

Views

Metóda Cesta Účel
GET /rovas/views/top_10_workers_in_a_category Top pracovníci v kategórii
GET /rovas/views/project_merits_feed Top odmeňujúci projektu
GET /rovas/views/projects_merits Top používatelia pre projekty z rovnakého webu

OAuth 2 / Bearer — ako ho používať

OAuth používa aplikácia Civic a ďalší klienti, ktorých registrujeme. Nové produkty potrebujú vlastný OAuth klient — z tretích strán nepoužívajte Civic client_id.

Protokolové endpointy

Krok URL
Authorize {base}/oauth2/authorize
Token {base}/oauth2/token
Revoke {base}/oauth2/revoke
Introspect {base}/oauth2/tokens/{access_token}

Civic klient (referencia)

Nastavenie Hodnota
client_id civic
Typ klienta Verejný (bez secretu)
Granty Authorization code + refresh token
PKCE Povinné (S256)
Scope user_profile
Redirect civic://oauth/callback

Dodatočné parametre authorize: lang=sk|en, intent=login|register.

Volanie API s Bearer

curl -sS "https://rovas.app/rovas/me" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Príklad odpovede GET /rovas/me:

{
  "uid": 42,
  "username": "sano",
  "display_name": "Alexander Žaťko",
  "total_me": 1248.35,
  "total_chr": 320.0,
  "created": "2019-03-12T14:22:01+00:00",
  "language": "sk",
  "receipt_history_retention": null
}

Referencia OAuth / Civic endpointov

Auth: Bearer = povinný access token; Verejné = bez tokenu; Voliteľný Bearer = verejné, s extra poliami po prihlásení.

Domov a profil

Metóda Cesta Auth Účel
GET /rovas/me Bearer Profil + zostatky Merit/Chron
GET /rovas/contributions/aggregate Verejné Súčet Meritov komunity
GET /rovas/merit_distribution Voliteľný Bearer Histogram Meritov
POST /rovas/civic_receipt_history_preference Bearer Uchovávanie histórie dokladov
GET /rovas/civic_merit_history Bearer Osobná história Meritov

Používatelia

Metóda Cesta Auth Účel
GET /rovas/users_search?query= Bearer Vyhľadávanie (parameter query, nie q)
GET /rovas/users_lookup?username= Bearer Verejný komunitný profil

Daňové (DPH) nároky

Metóda Cesta Auth Účel
POST /rovas/rules/rules_proxy_claim_vat_receipt Bearer Nárovať DPH z eKasy ako Merity
GET /rovas/civic_claims Bearer Zoznamy (view=submitted|received) alebo stav (receipt_uid=)
GET /rovas/civic_claims/summary Bearer Súčty nárokov
GET /rovas/civic_national_hourly_rate?country= Verejné Národná hodinová sadzba

Projekty a organizácie vo verejnom prospechu

Metóda Cesta Auth Účel
GET /rovas/civic_project/{nid} Verejné* Detail projektu
GET /rovas/civic_project_work_reports Verejné* Pracovné výkazy projektu
GET /rovas/civic_project_shareholders Verejné* Podielnici
GET /rovas/civic_charity_projects Verejné Katalóg schválených organizácií
POST /rovas/civic_create_charity_org Bearer Navrhnúť organizáciu vo verejnom prospechu

*Anonymný prístup pre schválené projekty vo verejnom prospechu; inak platia pravidlá prístupu.

Dobrovoľnícke pracovné výkazy

Metóda Cesta Auth Účel
GET /rovas/civic_my_projects Bearer Projekty, na ktoré používateľ nedávno podával výkazy
GET /rovas/civic_projects_search?query= Bearer Hľadanie projektov
GET /rovas/civic_nace_tree Verejné Strom činností NACE
POST /rovas/civic_create_project Bearer Vytvoriť projekt
POST /rovas/civic_create_work_report Bearer Vytvoriť pracovný výkaz
GET /rovas/civic_work_report_map_config Bearer Konfigurácia mapového dôkazu
POST /rovas/civic_ai_nace Bearer AI návrh NACE + názvu

Overovanie a upozornenia

Metóda Cesta Auth Účel
GET /rovas/civic_pending_verifications Bearer Výkazy čakajúce na vaše overenie
GET /rovas/civic_work_report/{nid} Bearer Detail výkazu pre overovateľa
POST /rovas/civic_submit_verification Bearer Schváliť, zamietnuť alebo odmietnuť
GET /rovas/civic_pending_comment_notices Bearer Upozornenia na sledované komentáre

Merit index

Metóda Cesta Auth Účel
GET /rovas/civic_merit_index Verejné Rebríček (snapshot)
GET /rovas/civic_merit_index_countries Verejné Filtre krajín
GET /rovas/civic_merit_spotlight Verejné Periodický spotlight
GET /rovas/civic_merit_period_index Verejné Periodický rebríček

Podpora

Otázky, OpenAPI schémy alebo nový OAuth klient: kontaktujte NeoFund.