Complaints Payments

Let’s create a complaint:

Request

POST /api/2.5/tenders/07dec5c417c2471f888ec1ced4ba72a4/complaints HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "Умови виставлені замовником не містять достатньо інформації, щоб заявка мала сенс.",
    "title": "Недостатньо інформації",
    "status": "draft",
    "type": "complaint",
    "author": {
      "address": {
        "countryName": "Україна",
        "locality": "м. Вінниця",
        "postalCode": "21100",
        "region": "Вінницька область",
        "streetAddress": "вул. Островського, 33"
      },
      "contactPoint": {
        "email": "soleksuk@gmail.com",
        "name": "Сергій Олексюк",
        "telephone": "+380432216930"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "legalName": "ДКП «Школяр»",
        "id": "00137256",
        "uri": "http://www.sc.gov.ua/"
      },
      "name": "ДКП «Школяр»"
    }
  }
}

Response

HTTP/1.0 201 Created
Content-Type: application/json
Location: http://lb-api-sandbox.prozorro.gov.ua/api/2.5/tenders/07dec5c417c2471f888ec1ced4ba72a4/complaints/e93431a08d9e44c6a29daccbac27bf83

{
  "data": {
    "author": {
      "name": "ДКП «Школяр»",
      "address": {
        "streetAddress": "вул. Островського, 33",
        "locality": "м. Вінниця",
        "region": "Вінницька область",
        "postalCode": "21100",
        "countryName": "Україна"
      },
      "contactPoint": {
        "name": "Сергій Олексюк",
        "email": "soleksuk@gmail.com",
        "telephone": "+380432216930"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "uri": "http://www.sc.gov.ua/",
        "id": "00137256",
        "legalName": "ДКП «Школяр»"
      }
    },
    "title": "Недостатньо інформації",
    "description": "Умови виставлені замовником не містять достатньо інформації, щоб заявка мала сенс.",
    "status": "draft",
    "type": "complaint",
    "id": "e93431a08d9e44c6a29daccbac27bf83",
    "date": "2023-10-10T01:00:00+03:00",
    "complaintID": "UA-2023-10-10-000001-a.1",
    "value": {
      "amount": 2000,
      "currency": "UAH"
    }
  },
  "access": {
    "token": "c08f2ca99f404dbeb86bcc70b5d16205",
    "transfer": "64062645b4a747ff81d5ab727ac163f4"
  }
}

You can see value field that contains amount to be paid for this complaint

If currency of a tender is different from UAH, posting complaint will request bank.gov.ua and return complaint value in UAH anyway. This also can cause connection errors of different types:

Request

POST /api/2.5/tenders/1c244cdfaca34507893e2d9ce2e330eb/complaints HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "Умови виставлені замовником не містять достатньо інформації, щоб заявка мала сенс.",
    "title": "Недостатньо інформації",
    "status": "draft",
    "type": "complaint",
    "author": {
      "address": {
        "countryName": "Україна",
        "locality": "м. Вінниця",
        "postalCode": "21100",
        "region": "Вінницька область",
        "streetAddress": "вул. Островського, 33"
      },
      "contactPoint": {
        "email": "soleksuk@gmail.com",
        "name": "Сергій Олексюк",
        "telephone": "+380432216930"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "legalName": "ДКП «Школяр»",
        "id": "00137256",
        "uri": "http://www.sc.gov.ua/"
      },
      "name": "ДКП «Школяр»"
    }
  }
}

Response

HTTP/1.0 409 Conflict
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Failure of decoding data from bank.gov.ua"
    }
  ]
}

Request

POST /api/2.5/tenders/1c244cdfaca34507893e2d9ce2e330eb/complaints HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "Умови виставлені замовником не містять достатньо інформації, щоб заявка мала сенс.",
    "title": "Недостатньо інформації",
    "status": "draft",
    "type": "complaint",
    "author": {
      "address": {
        "countryName": "Україна",
        "locality": "м. Вінниця",
        "postalCode": "21100",
        "region": "Вінницька область",
        "streetAddress": "вул. Островського, 33"
      },
      "contactPoint": {
        "email": "soleksuk@gmail.com",
        "name": "Сергій Олексюк",
        "telephone": "+380432216930"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "legalName": "ДКП «Школяр»",
        "id": "00137256",
        "uri": "http://www.sc.gov.ua/"
      },
      "name": "ДКП «Школяр»"
    }
  }
}

Response

HTTP/1.0 409 Conflict
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Error while getting data from bank.gov.ua: Connection closed"
    }
  ]
}

In case of 409 code, request should be repeated. And it shouldn’t in case of 422:

Request

POST /api/2.5/tenders/1c244cdfaca34507893e2d9ce2e330eb/complaints HTTP/1.0
Authorization: Bearer broker
Content-Type: application/json
Host: lb-api-sandbox.prozorro.gov.ua

{
  "data": {
    "description": "Умови виставлені замовником не містять достатньо інформації, щоб заявка мала сенс.",
    "title": "Недостатньо інформації",
    "status": "draft",
    "type": "complaint",
    "author": {
      "address": {
        "countryName": "Україна",
        "locality": "м. Вінниця",
        "postalCode": "21100",
        "region": "Вінницька область",
        "streetAddress": "вул. Островського, 33"
      },
      "contactPoint": {
        "email": "soleksuk@gmail.com",
        "name": "Сергій Олексюк",
        "telephone": "+380432216930"
      },
      "identifier": {
        "scheme": "UA-EDR",
        "legalName": "ДКП «Школяр»",
        "id": "00137256",
        "uri": "http://www.sc.gov.ua/"
      },
      "name": "ДКП «Школяр»"
    }
  }
}

Response

HTTP/1.0 422 Unprocessable Entity
Content-Type: application/json

{
  "status": "error",
  "errors": [
    {
      "location": "body",
      "name": "data",
      "description": "Couldn't find currency RUR on bank.gov.ua"
    }
  ]
}