info:
  description: No description
  license:
    name: MIT
  title: NonameApp
  version: 0.0.0
openapi: 3.0.0
paths:
  /app_menu:
    post:
      description: "\n        Základní aplikační menu.\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                platform:
                  description: identifikace platformy - povolené 'ios', 'android'
                  enum:
                  - ios
                  - android
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
              required:
              - service
              - platform
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  app_menu:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Základní aplikační menu.
  /category_tree:
    post:
      description: "\n        Základní strom kategorií.\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
              required:
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  category_tree:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Základní strom kategorií.
  /content_list:
    post:
      description: "\n        detail polozky. Vypise veskera metadata, ktera jsou\
        \ k dane polozce\n        dostupna\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                count:
                  description: Počet položek (na stránce) k návratu. default 20. Max
                    je 100
                  maximum: 100
                  minimum: 0
                  type: integer
                filters:
                  description: filtry
                  properties:
                    category_id:
                      description: id kategorie
                      type: integer
                  type: object
                offset:
                  description: 'Offset pro stránkování (default=0). '
                  minimum: 0
                  type: integer
                provider:
                  description: poskytovatel služby (jeden servis může mít více poskytovatelů)
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - service
              - provider
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  content_list:
                    properties:
                      content:
                        items: {}
                        type: array
                      total_count:
                        type: integer
                    required:
                    - content
                    - total_count
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: detail polozky. Vypise veskera metadata, ktera jsou k dane polozce
  /creditbank:
    post:
      description: "\n        Informace o kreditech uživatele. Vypis kreditni banky\n\
        \        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - user_id
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  creditbank:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Informace o kreditech uživatele. Vypis kreditni banky
  /get_login_url:
    post:
      description: "\n        Prihlasi uzivatele z aplikace přes VFG ID\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                token:
                  description: Jendorázový token vygenerovaný aplikací pro jednu login
                    operaci.
                  type: string
              required:
              - token
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  get_login_url:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Prihlasi uzivatele z aplikace přes VFG ID
  /get_user_by_login_token:
    post:
      description: "\n        Vrátí uživatele podle login tokenu\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                app_token:
                  description: Jendorázový token vygenerovaný aplikací pro jednu login
                    operaci.
                  type: string
                internal_token:
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
              required:
              - app_token
              - internal_token
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  get_user_by_login_token:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Vrátí uživatele podle login tokenu
  /item_consume:
    post:
      description: "\n        Stažení souboru, nebo link na konzumaci obsahu.\n  \
        \      "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                details:
                  type: object
                item_id:
                  description: Id položky
                  type: string
                provider:
                  description: poskytovatel služby (jeden servis může mít více poskytovatelů)
                  type: string
                redirect:
                  description: Pokud je výsledek konzumace url tak se provede redirect,přímo
                    na tuto url jinak chyba
                  type: boolean
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - user_id
              - service
              - provider
              - item_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  item_consume:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Stažení souboru, nebo link na konzumaci obsahu.
  /item_consume_no_user:
    post:
      description: "\n        Stažení souboru, nebo link na konzumaci obsahu.\n  \
        \      Bez potřeby autorizace uživatele.\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                details:
                  type: object
                item_id:
                  description: Id položky
                  type: string
                provider:
                  description: poskytovatel služby (jeden servis může mít více poskytovatelů)
                  type: string
                redirect:
                  description: Pokud je výsledek konzumace url tak se provede redirect,přímo
                    na tuto url jinak chyba
                  type: boolean
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
              required:
              - service
              - provider
              - item_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  item_consume_no_user:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Stažení souboru, nebo link na konzumaci obsahu.
  /item_detail:
    post:
      description: "\n        detail polozky. Vypise veskera metadata, ktera jsou\
        \ k dane polozce\n        dostupna\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                item_id:
                  description: Id položky
                  type: string
                provider:
                  description: poskytovatel služby (jeden servis může mít více poskytovatelů)
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - user_id
              - service
              - provider
              - item_id
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  item_detail:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: detail polozky. Vypise veskera metadata, ktera jsou k dane polozce
  /library:
    post:
      description: "\n        Knihovna uzivatele. Obsahu seznam vsech zakoupenych\
        \ polozek.\n        Polozky je mozne filtrovat pode id poskytovatele obsahu.\n\
        \        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                count:
                  description: 'Počet položek (na stránce) k návratu. default 10.000.
                    V případě volání více providerů najdnou se aplikuje počet na každého
                    z nich, tedy knihovna v extrémním případě vrátí count * count(providers)
                    položek. Nepodporují poskytovatelé: dtest'
                  minimum: 0
                  type: integer
                filters:
                  description: Nastavení filtrů výsledku
                  properties:
                    category_id:
                      description: id kategorie
                      minimum: 1
                      type: integer
                    title_id:
                      description: pouze pro magazíny - id titulu
                      minimum: 1
                      type: integer
                  type: object
                floowie_show_attachments:
                  description: Pokud je provider z rodiny floowie nevrátí jen knihovnu
                    publikací, ale přidá i přílohy
                  type: boolean
                offset:
                  description: 'Offset pro stránkování (default=0).  Nepodporují poskytovatelé:
                    vfg, dtest'
                  minimum: 0
                  type: integer
                provider:
                  type: object
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - user_id
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  library:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Knihovna uzivatele. Obsahu seznam vsech zakoupenych polozek.
  /login:
    post:
      description: "\n        Prihlasi uzivatele\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                password:
                  description: Heslo. pro většinu Services je to sha1 hesla
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                username:
                  description: Uživatelské jméno
                  type: string
              required:
              - username
              - password
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  login:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Prihlasi uzivatele
  /login_by_sms_token:
    post:
      description: "\n        Prihlasi uzivatele\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                msisdn:
                  description: Telefoní číslo uživatele
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                token:
                  description: Token který uživatel obdržel přes SMS (přes send_sms_token)
                  type: string
              required:
              - msisdn
              - token
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  login_by_sms_token:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Prihlasi uzivatele
  /save_user_to_internal_token:
    post:
      description: "\n        Uloží uživatele do interního tokenu\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                app_token:
                  description: Jendorázový token vygenerovaný aplikací pro jednu login
                    operaci.
                  type: string
                secret:
                  description: secret
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                user_id:
                  description: Telefoní číslo uživatele
                  type: string
              required:
              - app_token
              - user_id
              - secret
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  save_user_to_internal_token:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Uloží uživatele do interního tokenu
  /send_sms_token:
    post:
      description: "\n        Odešle přes SMS login token\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                msisdn:
                  description: Telefoní číslo uživatele
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
              required:
              - msisdn
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  send_sms_token:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Odešle přes SMS login token
  /services:
    post:
      description: "\n        Vypise seznam podporovanych sluzeb zde na api\n    \
        \    "
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  services:
                    type: object
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                type: object
          description: OK
      summary: Vypise seznam podporovanych sluzeb zde na api
  /title_list:
    post:
      description: "\n        Vrací seznam dostupných titulů magazínů. V zásadě se\
        \ jedná o\n        číselník filtru na tituly pro listování a knihovnu\n  \
        \      "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                provider:
                  description: poskytovatel služby (jeden servis může mít více poskytovatelů).Většina
                    služeb tento parametr neposílá. Některé služby však mohou mít
                    různé číselníky pro různé poskytovatele.
                  type: string
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
              required:
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                  title_list:
                    description: seznam titulů
                    items:
                      description: jeden titul
                      properties:
                        description:
                          description: Popis titulu
                          type: string
                        id:
                          type: object
                        image:
                          description: Obrázek titulu
                          type: string
                        name:
                          description: Název titulu
                          type: string
                        publisher:
                          description: Id vydavatele titulu
                          type: integer
                      required:
                      - id
                      - name
                      type: object
                    type: array
                type: object
          description: OK
      summary: Vrací seznam dostupných titulů magazínů. V zásadě se jedná o
  /user_info:
    post:
      description: "\n        Informace o uzivateli\n        "
      requestBody:
        content:
          application/json:
            schema:
              properties:
                service:
                  description: id servisu (seznam viz metoda services)
                  type: string
                signature:
                  description: SHA256( user_id + "|" + service + "|" + secret)  Pokud
                    metoda neakceptuje user_id nebo je volitelné a nepošle se, tak
                    se do signature místo user_id použije prázdný řetězec.
                  type: string
                user_id:
                  description: Id uživatele
                  type: integer
              required:
              - user_id
              - service
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  status:
                    example: 200
                    type: number
                  status_message:
                    example: OK
                    type: string
                  user_info:
                    type: object
                type: object
          description: OK
      summary: Informace o uzivateli
servers:
- description: Api url
  url: http://frontends11-cas:80
