Beispiel #1
0
        /*
         *
         * 26. Рекізити судового документа
         * [POST] /api/1.0/courtdecision/getdecisionbyid
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/courtdecision/getdecisionbyid' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Id":88234097}'
         *
         */
        public static GetDecisionByIdResponseModel GetDecisionById(long courtDecisionId, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/courtdecision/getdecisionbyid");
                RestRequest request = new RestRequest(Method.POST);

                GetDecisionByIdBodyModel GDBIBody = new GetDecisionByIdBodyModel
                {
                    Id = courtDecisionId                                                // Id судового документа
                };

                string body = JsonConvert.SerializeObject(GDBIBody);

                // Example Body: {"Id":88234097}

                request.AddHeader("ContentType", "application/json");
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddParameter("application/json", body, ParameterType.RequestBody);
                IRestResponse response = client.Execute(request);
                responseString = response.Content;

                if ((int)response.StatusCode == 401)
                {
                    Console.WriteLine("Не авторизований користувач або закінчився термін дії токену. Отримайте новый token на api/1.0/token/authorize");
                    AuthorizeClass _authorize = new AuthorizeClass();
                    token = _authorize.Authorize();
                }

                else if ((int)response.StatusCode != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetDecisionByIdResponseModel GDBIResponseRow = new GetDecisionByIdResponseModel();

            GDBIResponseRow = JsonConvert.DeserializeObject <GetDecisionByIdResponseModel>(responseString);

            return(GDBIResponseRow);
        }
Beispiel #2
0
        /*
         *
         * 67. Запит на отримання повних реквізитів та контенту судових документів організації за критеріями
         * [POST] /api/1.0/courtdecision/getdecisionsbyfilter
         *
         */


        public static GetDecisionByIdResponseModel GetDecisionsByFilter(string edrpou, int?skip, int?typeSide, int?justiceKindId, List <string> npas, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetDecisionsByFilterRequestBodyModel GDBFRequestBody = new GetDecisionsByFilterRequestBodyModel
                {
                    Edrpou        = edrpou,                                     // Код ЄДРПОУ
                    TypeSide      = typeSide,                                   // Тип сторони в судомому документі
                    JusticeKindId = justiceKindId,                              // Форма судочинства
                    Npas          = npas                                        // Фільтр по статтям до НПА
                };

                string body = JsonConvert.SerializeObject(GDBFRequestBody);                // Example body: {"Edrpou":"14360570","Skip":0,"TypeSide":null,"JusticeKindId":null,"Npas":["F545D851-6015-455D-BFE7-01201B629774"]}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/courtdecision/getdecisionsByFilter");
                RestRequest request = new RestRequest(Method.POST);

                request.AddHeader("ContentType", "application/json");
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddParameter("application/json", body, ParameterType.RequestBody);

                IRestResponse response = client.Execute(request);
                responseString = response.Content;

                if ((int)response.StatusCode == 401)
                {
                    Console.WriteLine("Не авторизований користувач або закінчився термін дії токену. Отримайте новый token на api/1.0/token/authorize");
                    AuthorizeClass _authorize = new AuthorizeClass();
                    token = _authorize.Authorize();
                }
                else if ((int)response.StatusCode == 200 && responseString == "\"Not found\"")
                {
                    Console.WriteLine("За вказаними параметрами інформації не знайдено");
                    return(null);
                }
                else if ((int)response.StatusCode == 403 && responseString.Contains("Not enough cards to form a request"))
                {
                    Console.WriteLine("Недостатньо ресурсів для виконання запиту, відповідно до вашого тарифу. Дізнатися об'єм доступних ресурсів - /api/1.0/token/gettariff");
                    return(null);
                }
                else if ((int)response.StatusCode != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            // Модель відповіди ідентична Методу № 26. Рекізити судового документа [POST] /api/1.0/courtdecision/getdecisionbyid
            // https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/courtdecision/GetDecisionByIdClass.cs#L110

            GetDecisionByIdResponseModel DecisionsByFilterResponseRow = new GetDecisionByIdResponseModel();

            DecisionsByFilterResponseRow = JsonConvert.DeserializeObject <GetDecisionByIdResponseModel>(responseString);

            return(DecisionsByFilterResponseRow);
        }