swagger: '2.0'
info:
  title: MPiZO Portal - Powiadomienia
  description: >-
    Notyfikacje w formie WebHook, służące do informowania stron postępowania o
    zdarzeniach związanych z postępowaniami.
  version: '1.0'
schemes:
  - https
host: api.ezamowienia.gov.pl
basePath: /mpizo-portal/powiadomienia
consumes:
  - application/json
produces:
  - application/json
tags:
  - name: Notyfikacje
paths:
  '/otwarcie-ofert':
    post:
      summary: Upłynął termin składania ofert
      description: >-
        Metoda służy do poinformowania, że upłynął termin składania ofert dla
        danego postępowania.
      operationId: UplynalTerminOfert
      tags:
        - Notyfikacje
      parameters:
        - name: body
          description: Notyfikacja
          in: body
          required: true
          schema:
            $ref: '#/definitions/UplynalTerminRequest'
      responses:
        '201':
          description: Przyjęto powiadomienie
        '400':
          description: Niepoprawne żądanie
          schema:
            $ref: '#/definitions/Blad'
        '401':
          description: Niezalogowany
          schema:
            $ref: '#/definitions/Blad'
        '403':
          description: Brak uprawnień
          schema:
            $ref: '#/definitions/Blad'
  '/udostepnienie-klucza':
    post:
      summary: Udostępniono klucz
      description: >-
        Metoda służy do poinformowania, że udostępniono klucz prywatny dla
        podanego postępowania.
      operationId: UdostepnionoKlucz
      tags:
        - Notyfikacje
      parameters:
        - name: body
          description: Notyfikacja
          in: body
          required: true
          schema:
            $ref: '#/definitions/UdostepnionoKluczRequest'
      responses:
        '201':
          description: Przyjęto powiadomienie
        '400':
          description: Niepoprawne żądanie
          schema:
            $ref: '#/definitions/Blad'
        '401':
          description: Niezalogowany
          schema:
            $ref: '#/definitions/Blad'
        '403':
          description: Brak uprawnień
          schema:
            $ref: '#/definitions/Blad'
definitions:
  IdPostepowania:
    description: Identyfikator postępowania
    type: string
    format: uuid
  UplynalTerminRequest:
    type: object
    required:
      - idPostepowania
      - termin
      - operacjaPoTerminie
    properties:
      idPostepowania:
        $ref: '#/definitions/IdPostepowania'
      termin:
        description: Znacznik czasu terminu składania ofert
        type: string
        format: date-time
      operacjaPoTerminie:
        type: string
        enum:
          - Składanie wniosków
          - Składanie ofert
    example:
      idPostepowania: e63bf835-224a-4b3b-a564-160640911f0a
      termin: '2018-04-05T11:51:20.123'
      operacjaPoTerminie: Składanie ofert
  UdostepnionoKluczRequest:
    type: object
    required:
      - idPostepowania
    properties:
      idPostepowania:
        $ref: '#/definitions/IdPostepowania'
    example:
      idPostepowania: e63bf835-224a-4b3b-a564-160640911f0a
  Blad:
    description: Błąd
    type: object
    required:
      - blad
    properties:
      blad:
        type: object
        required:
          - id
          - podsystem
          - kod
          - opis
          - czas
        properties:
          id:
            description: Unikalny identyfikator błędu
            type: string
            format: uuid
          podsystem:
            description: ID modułu Platformy, w ramach którego wystąpił błąd
            type: string
          kod:
            description: Kod błędu
            type: string
          opis:
            description: Opis błędu
            type: string
          czas:
            description: Znacznik czasu wystąpienia błędu
            type: string
            format: date-time
    example:
      blad:
        id: e63bf835-224a-4b3b-a564-160640911f0a
        podsystem: MPiZO Portal - Powiadomienia
        kod: 123
        opis: Szczegółowy opis błędu
        czas: '2018-04-05T11:51:20.123'
