コード例 #1
0
        /*
         *
         * 10. Запит на отримання переліку судових документів організації за критеріями (контент та параметри документа можна отримати в методі /api/1.0/courtdecision/getdecisionbyid)
         * [POST] /api/1.0/courtdecision/getdecisions
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/courtdecision/getdecisions' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cC...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Edrpou":"14360570","Skip":0,"TypeSide":null,"JusticeKindId":null,"Npas":["F545D851-6015-455D-BFE7-01201B629774"]}'
         *
         */

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

            string responseString = string.Empty;

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

                string body = JsonConvert.SerializeObject(Body);                // 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/getdecisions");
                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");
                    token = AuthorizeClass.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);
                }
            }

            GetDecisionsResponseModel DecisionsResponseRow = new GetDecisionsResponseModel();

            DecisionsResponseRow = JsonConvert.DeserializeObject <GetDecisionsResponseModel>(responseString);

            return(DecisionsResponseRow);
        }
コード例 #2
0
        /*
         *
         * 36. Перелік декларантів повязаних з компаніями
         * [POST] /api/1.0/organizations/getdeclarationsinfo
         *
         */

        public static GetDeclarationsInfoResponseModel GetDeclarationsInfo(ref string token, string code)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetDeclarationsInfoRequestBodyModel GDIRequestBody = new GetDeclarationsInfoRequestBodyModel
                {
                    Edrpou = new List <string>
                    {
                        code                                                    // Код ЄДРПОУ аба ІПН
                    }
                };

                string body = JsonConvert.SerializeObject(GDIRequestBody);      // Example body: {"Edrpou":["00131305"]}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getdeclarationsinfo");
                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);
                }
            }

            GetDeclarationsInfoResponseModel GDIResponse = new GetDeclarationsInfoResponseModel();

            GDIResponse = JsonConvert.DeserializeObject <GetDeclarationsInfoResponseModel>(responseString);

            return(GDIResponse);
        }
コード例 #3
0
        /*
         *
         * 60. Отримання відомостей по Експрес оцінку ризиків у ЮО, ФОП та ФО за ПІБ та кодом ІПН / ЄДРПОУ
         * [POST] /api/1.0/organizations/getExpressScore
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/getExpressScore' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6I...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"searchType":1,"code":"32352162"}'
         *
         */

        public static GetExpressScoreResponseModel GetExpressScore(ref string token, int searchType, string code)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetExpressScoreRequestBodyModel GESRequestBody = new GetExpressScoreRequestBodyModel
                {
                    SearchType = searchType,                                            // Тип пошуку (1 - по ЮО / 2 - по ФО)
                    Code       = code,                                                  // Код (ЄДРПОУ для ЮО / ІПН для ФО)
                    Name       = null                                                   // ПІБ ФО (якщо searchType = 2 (якщо 1 не обов'язково))
                };

                string body = JsonConvert.SerializeObject(GESRequestBody);              // Example Body: {"searchType":1,"code":"32352162"}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getExpressScore");
                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)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetExpressScoreResponseModel GESResponse = new GetExpressScoreResponseModel();

            GESResponse = JsonConvert.DeserializeObject <GetExpressScoreResponseModel>(responseString);

            if (GESResponse.Status.Contains("Помилка"))
            {
            }
            else
            {
                Console.WriteLine(responseString);
            }

            return(GESResponse);
        }
コード例 #4
0
        public AuthorizeResponseModel Authorize(AuthorizeRequestBodyModel AuthorizeRequestBody)
        {
            AuthorizeClass Authorize = new AuthorizeClass();

            var token = Authorize.Authorize(AuthorizeRequestBody);

            return(token);
        }
コード例 #5
0
        /*
         *
         * 14. Отримання переліку кодів ЄДРПОУ або Id фізичних або юридичних осіб які знаходятся за певним КОАТУУ
         * [POST] api/1.0/organizations/getinfobykoatuu
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/getinfobykoatuu' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"koatuuCode":"510900000","type":"1"}'
         *
         */

        public static List <GetInfoByKoatuuResponseModel> GetInfoByKoatuu(string koatuuCode, string type, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetInfoByKoatuuRequestBodyModel GIBKRequestBody = new GetInfoByKoatuuRequestBodyModel
                {
                    koatuuCode = koatuuCode,                                    // Код КОАТУУ
                    type       = type                                           // Тип особи (1 - юридичні / 2 - фізичні)
                };

                string body = JsonConvert.SerializeObject(GIBKRequestBody);     // Example body: {"koatuuCode":"510900000","type":"1"}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getinfobykoatuu");
                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);
                }
            }

            List <GetInfoByKoatuuResponseModel> InfoByKoatuuResponseList = new List <GetInfoByKoatuuResponseModel>();

            InfoByKoatuuResponseList = JsonConvert.DeserializeObject <List <GetInfoByKoatuuResponseModel> >(responseString);

            return(InfoByKoatuuResponseList);
        }
コード例 #6
0
        /*
         *
         * 55. Список виконавчих проваджень по фізичним особам за кодом ІПН
         * [POST] /api/1.0/person/GetPersonEnforcements
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/person/GetPersonEnforcements' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1N...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Code":"3015301315","LastName":"СТЕЛЬМАЩУК","FirstName":"АНДРІЙ","SecondName":"ВАСИЛЬОВИЧ"}'
         *
         */

        public static GetPersonEnforcementsResponseModel GetPersonEnforcements(ref string token, string ipn, string LastName, string FirstName, string SecondName)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetPersonEnforcementsBodyModel GPEBody = new GetPersonEnforcementsBodyModel
                {
                    Code       = ipn,
                    LastName   = LastName,  // Прізвище
                    FirstName  = FirstName, // Ім'я
                    SecondName = SecondName // По батькові
                                            // FilterStatusList                                                 // Стан ВП (Приклад: Завершено, Примусове виконання, ...)
                };

                string body = JsonConvert.SerializeObject(GPEBody);

                //body = "{\"Code\":\"2951907234\",\"LastName\":null,\"FirstName\":null,\"SecondName\":null}";

                // {"Code":"2951907234","LastName":null,"FirstName":null,"SecondName":null,"FilterStatusList":null}

                // Example Body: {"Code":"3015301315","LastName":"СТЕЛЬМАЩУК","FirstName":"АНДРІЙ","SecondName":"ВАСИЛЬОВИЧ"}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/person/GetPersonEnforcements");
                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 || response.ErrorMessage == "The operation has timed out.")
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetPersonEnforcementsResponseModel GPEResponseRow = new GetPersonEnforcementsResponseModel();

            GPEResponseRow = JsonConvert.DeserializeObject <GetPersonEnforcementsResponseModel>(responseString);

            return(GPEResponseRow);
        }
コード例 #7
0
        /*
         *
         * 13. Видалити контрагентів зі списку
         * [POST] /api/1.0/Monitoring/removeFromControl
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/monitoring/removeFromControl' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIs...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"codes":["00131305"],"reestrId":"1c891112-b022-4a83-ad34-d1f976c60a0b"}'
         *
         */

        public static bool RemoveFromControl(string code, string reestrId, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            bool isSuccessful = false;

            while (string.IsNullOrEmpty(responseString))
            {
                RemoveFromControlRequestBodyModel RFCRequestBody = new RemoveFromControlRequestBodyModel
                {
                    codes = new List <string>                                    // Перелік кодів ЄДРПОУ / ІПН які будуть видалені
                    {
                        code
                    },
                    reestrId = reestrId                                         // Id реєстра з якого будуть видалені
                };


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

                string body = JsonConvert.SerializeObject(RFCRequestBody);      // Example body: {"codes":["00131305"],"reestrId":"1c891112-b022-4a83-ad34-d1f976c60a0b"}

                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(isSuccessful);
                }
                else if ((int)response.StatusCode != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(isSuccessful);
                }
            }

            isSuccessful = true;                                                // Виконано успішно

            return(isSuccessful);
        }
コード例 #8
0
        /*
         *
         * 5. Отримання відомостей про наявні об'єкти нерухоммого майна у фізичних та юридичних осіб за кодом ЄДРПОУ або ІПН
         * При першому запиті у відповідь приходять дані станом на поточний момент і ініціюється процедура поновлення. Якщо процедура відновлення не завершена у відповідь при повторному запиті (за тими ж паараметрами) буде приходити: Update in progress, total objects {общее количество} try again later. - Спробуйте повторити запит через 30 секунд. Після оновлення прийде стандартна відповідь.
         * [GET] /api/1.0/estate/getestatebycode
         *
         * curl --location --request GET 'https://vkursi-api.azurewebsites.net/api/1.0/estate/getestatebycode?code=3080213038' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1...' \
         * --header 'Content-Type: application/json' \
         *
         */

        public static GetRealEstateRightsResponseModel GetRealEstateRights(string code, string token)
        {
            if (String.IsNullOrEmpty(token))
            {
                token = AuthorizeClass.Authorize();
            }

            string responseString = string.Empty;

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

                request.AddParameter("code", code);                     // Код ЄДРПОУ або ІПН
                request.AddHeader("ContentType", "application/json");
                request.AddHeader("Authorization", "Bearer " + token);

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


                if ((int)response.StatusCode == 401)
                {
                    Console.WriteLine("Не авторизований користувач або закінчився термін дії токену. Отримайте новый token на api/1.0/token/authorize");
                    token = AuthorizeClass.Authorize();
                }
                else if ((int)response.StatusCode == 200 && responseString == "\"Not found\"")
                {
                    Console.WriteLine("За вказаным кодом організації не знайдено");
                    return(null);
                }
                else if ((int)response.StatusCode == 200 && responseString.Contains("Update in progress, total objects"))
                {
                    Console.WriteLine("Триває процес оновлення інформації за вказанними параметрами, спробуйте повторити запит через 30 секунд");
                    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);
                }
                // Update in progress, total objects
                else if ((int)response.StatusCode != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetRealEstateRightsResponseModel realEstateDeserialize = new GetRealEstateRightsResponseModel();

            realEstateDeserialize = JsonConvert.DeserializeObject <GetRealEstateRightsResponseModel>(responseString);

            return(realEstateDeserialize);
        }
コード例 #9
0
        /*
         *
         * 41. Отримати список пов'язаних з компанією бенеціціарів, керівників, адрес, власників пакетів акцій
         * [POST] /api/1.0/organizations/getrelations
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/getrelations' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Edrpou":["00131305"],"RelationId":null}'
         *
         */
        public static GetRelationsResponseModel GetRelations(ref string token, string edrpou, string relationId)
        {
            if (String.IsNullOrEmpty(token))
            {
                token = AuthorizeClass.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetRelationsRequestBodyModel GRRequestBody = new GetRelationsRequestBodyModel
                {
                    Edrpou = new List <string>                                           // Перелік кодів ЄДРПОУ (обмеження 1)
                    {
                        edrpou
                    }
                    //RelationId = new List<string>
                    //{
                    //    edrpou
                    //}
                };

                string body = JsonConvert.SerializeObject(GRRequestBody);

                // Example Body: {"Edrpou":["00131305"],"RelationId":null}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getrelations");
                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");
                    token = AuthorizeClass.Authorize();
                }

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

            GetRelationsResponseModel GRResponseRow = new GetRelationsResponseModel();

            GRResponseRow = JsonConvert.DeserializeObject <GetRelationsResponseModel>(responseString);

            return(GRResponseRow);
        }
コード例 #10
0
        /*
         *
         * 24. ДРРП отримання скороченных данных по ІПН / ЄДРПОУ
         * [POST] /api/1.0/Estate/GetEstates
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/Estate/GetEstates' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Edrpou":["36679626"],"Ipn":["3006679626"]}'
         *
         */
        public static GetEstatesResponseModel GetEstates(string token, string edrpou, string ipn)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetEstatesRequestBodyModel GERequestBodyRow = new GetEstatesRequestBodyModel
                {
                    Edrpou = new List <string> {
                        edrpou                                                  // Масив кодів ЄДРПОУ (обеження 1)
                    }
                    //Ipn = new List<string> {
                    //    ipn                                                   // Масив кодів ІПН (обеження 1)
                    //}
                };

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

                string body = JsonConvert.SerializeObject(GERequestBodyRow);    // Example Body: {"Edrpou":["26444836"]}

                //body = "{\"Edrpou\":[\"26444836\"],\"EstateType\": 11}";

                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);
                }
            }

            GetEstatesResponseModel GEResponseRow = new GetEstatesResponseModel();

            GEResponseRow = JsonConvert.DeserializeObject <GetEstatesResponseModel>(responseString);

            return(GEResponseRow);
        }
コード例 #11
0
        /*
         *
         * 35. Фінансові ризики
         * [POST] /api/1.0/organizations/getorgFinancialRisks
         *
         */

        public static GetOrgFinancialRisksResponseModel GetOrgFinancialRisks(ref string token, string code)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetOrgFinancialRisksRequestBodyModel GOFRRequestBody = new GetOrgFinancialRisksRequestBodyModel
                {
                    Edrpou = new List <string>
                    {
                        code                                                    // Код ЄДРПОУ аба ІПН
                    }
                };

                string body = JsonConvert.SerializeObject(GOFRRequestBody);      // Example body: {"Edrpou":["00131305"]}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getorgFinancialRisks");
                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 != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetOrgFinancialRisksResponseModel GOFRResponse = new GetOrgFinancialRisksResponseModel();

            GOFRResponse = JsonConvert.DeserializeObject <GetOrgFinancialRisksResponseModel>(responseString);

            return(GOFRResponse);
        }
コード例 #12
0
        /*
         *
         * 22. ДРОРМ отримання скороченных даних про наявні обтяження на рухоме майно по ІПН / ЄДРПОУ
         * [POST] /api/1.0/MovableLoads/getmovableloads
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/MovableLoads/getmovableloads' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Edrpou":["36679626"],"Ipn":["1841404820"]}'
         *
         *Важливо: повертає тільки відкриті обтяження
         *
         */

        public static GetMovableLoadsResponseModel GetMovableLoads(string token, string edrpou, string ipn)
        {
            if (String.IsNullOrEmpty(token))
            {
                token = AuthorizeClass.Authorize();
            }

            string responseString = string.Empty;

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

                GetMovableLoadsRequestBodyModel GMLRequestBodyRow = new GetMovableLoadsRequestBodyModel
                {
                    //Edrpou = new List<string> {
                    //    edrpou
                    //},
                    Ipn = new List <string> {
                        ipn
                    }
                };

                string body = JsonConvert.SerializeObject(GMLRequestBodyRow);

                //body = "{\"Ipn\":[\"2333700948\"]}";

                // Example Body: {"Ipn":["2333700948"]}

                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");
                    token = AuthorizeClass.Authorize();
                }

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

            GetMovableLoadsResponseModel GMLResponseRow = new GetMovableLoadsResponseModel();

            GMLResponseRow = JsonConvert.DeserializeObject <GetMovableLoadsResponseModel>(responseString);
            return(GMLResponseRow);
        }
コード例 #13
0
        /*
         *
         * Метод:
         *  65. Отримати скорочені дані ДЗК за списком кадастрових номерів
         *  [POST] /api/1.0/estate/GetPKKUinfo
         *
         * cURL запиту:
         *  curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/GetPKKUinfo' \
         *  --header 'ContentType: application/json' \
         *  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiI...' \
         *  --header 'Content-Type: application/json' \
         *  --data-raw '{"CadNumbers":["5321386400:00:042:0028","5321386400:00:020:0039"]}'
         *
         * Приклад відповіді:
         *  https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/responseExample/GetPKKUinfoResponse.json
         *
         */

        public static GetPKKUinfoResponseModel GetPKKUinfo(ref string token, List <string> cadNumber)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetPKKUinfoRequestBodyModel GPKKUIRequestBody = new GetPKKUinfoRequestBodyModel
                {
                    CadNumbers = new List <string>()                                     // Перелік кадастрових номерів (обеження 100)
                };

                GPKKUIRequestBody.CadNumbers = cadNumber;

                string body = JsonConvert.SerializeObject(GPKKUIRequestBody);           // Example Body: {"CadNumbers":["5321386400:00:042:0028","5321386400:00:020:0039"]}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/estate/GetPKKUinfo");
                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 == 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);
                }
            }

            GetPKKUinfoResponseModel GPKKUIResponse = new GetPKKUinfoResponseModel();

            GPKKUIResponse = JsonConvert.DeserializeObject <GetPKKUinfoResponseModel>(responseString);

            return(GPKKUIResponse);
        }
コード例 #14
0
        /*
         *
         * // 52. Оригінальний метод пошуку нерухомості Nais (короткі дані)
         * // [POST] api/1.0/Estate/GetEstatesAdvancedSearch
         *
         */

        public static GetEstatesResponseModel GetEstatesAdvancedSearch(string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetEstatesAdvancedSearchBodyModel GEASBody = new GetEstatesAdvancedSearchBodyModel
                {
                    RequestList = new List <SubjectSearchInfoAdvanced>
                    {
                        new SubjectSearchInfoAdvanced {
                            sbjCode = "19124549",
                        }
                    }
                };

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

                string body = JsonConvert.SerializeObject(GEASBody);    // Example Body: {"RequestList":[{"dcSbjRlNames":null,"sbjType":"2","sbjCode":"19124549"}]}

                body = "{\"RequestList\":[{\"dcSbjRlNames\":null,\"sbjType\":\"2\",\"sbjCode\":\"19124549\"}]}";

                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);
                }
            }

            GetEstatesResponseModel GEASResponse = new GetEstatesResponseModel();

            GEASResponse = JsonConvert.DeserializeObject <GetEstatesResponseModel>(responseString);

            return(GEASResponse);
        }
コード例 #15
0
        /*
         *
         * 46. Змінити період (sms rrp) моніторингу нерухомості
         * [POST]  /api/1.0/estate/estateincreasemonitoringperiod
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/estateincreasemonitoringperiod' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"OnmNumbers":[1260724348000],"CadastrNumbers":null,"DateTimeEnd":"2020-11-30T00:00:00"}'
         *
         */

        public static EstateInCreaseMonitoringPeriodResponseModel EstateInCreaseMonitoringPeriod(string token, long dateTimeEnd)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                EstateInCreaseMonitoringPeriodRequestBodyModel EICMPRequestBody = new EstateInCreaseMonitoringPeriodRequestBodyModel
                {
                    DateTimeEnd = DateTime.Parse("30.11.2020"),
                    OnmNumbers  = new List <long>
                    {
                        1260724348000
                    }
                };

                string body = JsonConvert.SerializeObject(EICMPRequestBody);

                // Example Body: {"OnmNumbers":[1260724348000],"CadastrNumbers":null,"DateTimeEnd":"2020-11-30T00:00:00"}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/estate/estateincreasemonitoringperiod");
                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 || response.ErrorMessage == "The operation has timed out.")
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            EstateInCreaseMonitoringPeriodResponseModel EICMPResponseRow = new EstateInCreaseMonitoringPeriodResponseModel();

            EICMPResponseRow = JsonConvert.DeserializeObject <EstateInCreaseMonitoringPeriodResponseModel>(responseString);

            return(EICMPResponseRow);
        }
コード例 #16
0
ファイル: GetOrganizationsClass.cs プロジェクト: AX2012/API
        /*
         *
         * 2. Запит на отримання скорочених даних по організаціям за кодом ЄДРПОУ
         * [POST] /api/1.0/organizations/getorganizations
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/getorganizations' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"code": ["40073472"]}'
         *
         */

        public static List <GetOrganizationsResponseModel> GetOrganizations(string code, ref string token)
        {
            if (String.IsNullOrEmpty(token))
            {
                token = AuthorizeClass.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetOrganizationsRequestBodyModel GORequestBody = new GetOrganizationsRequestBodyModel
                {
                    code = new List <string>
                    {
                        code                                                // Перелік кодів ЄДРПОУ
                    }
                };

                string body = JsonConvert.SerializeObject(GORequestBody);   // Example body: {"code": ["40073472"]}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/getorganizations");
                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");
                    token = AuthorizeClass.Authorize();
                }
                else if ((int)response.StatusCode == 200 && responseString == "\"Not found\"")
                {
                    Console.WriteLine("За вказаным кодом організації не знайдено");
                    return(null);
                }
                else if ((int)response.StatusCode != 200)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            List <GetOrganizationsResponseModel> OrganizationsList = new List <GetOrganizationsResponseModel>();

            OrganizationsList = JsonConvert.DeserializeObject <List <GetOrganizationsResponseModel> >(responseString);

            return(OrganizationsList);
        }
コード例 #17
0
        /*
         *
         * // 51. Судові документи по ЮО/ФО
         * // [POST] api/1.0/CourtDecision/getStanRozgliaduSprav
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/CourtDecision/getStanRozgliaduSprav' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"CompanyEdrpou":"42721869","Size":100}'
         *
         */


        public static GetStanRozgliaduSpravResponseModel GetStanRozgliaduSprav(ref string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetStanRozgliaduSpravBodyModel GSRSBody = new GetStanRozgliaduSpravBodyModel
                {
                    CompanyEdrpou = "31729918",
                    Size          = 100,
                    //DateStart = DateTime.Parse("2020-04-13T00:00:00.000Z")
                };

                string body = JsonConvert.SerializeObject(GSRSBody);

                // Example Body: {"CompanyEdrpou":"42721869","Size":100}

                body = "{\"CompanyEdrpou\":\"42721869\",\"Size\":100}";

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/CourtDecision/getStanRozgliaduSprav");
                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 || response.ErrorMessage == "The operation has timed out.")
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetStanRozgliaduSpravResponseModel GSRSResponse = new GetStanRozgliaduSpravResponseModel();

            GSRSResponse = JsonConvert.DeserializeObject <GetStanRozgliaduSpravResponseModel>(responseString);

            return(GSRSResponse);
        }
コード例 #18
0
        /*
         *
         * 49. Перевірка наявності об'єкта за ОНМ (sms rrp)
         * [POST] /api/1.0/estate/smsrrpselectisrealtyexists
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/smsrrpselectisrealtyexists' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIU...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"OnmNumbers":[1260724348000]}'
         *
         */

        public static SmsRrpSelectIsRealtyExistsResponseModel SmsRrpSelectIsRealtyExists(string token, long onmNumber)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                SmsRrpSelectIsRealtyExistsRequestBodyModel SRSIRERequestBody = new SmsRrpSelectIsRealtyExistsRequestBodyModel
                {
                    OnmNumbers = new List <long>
                    {
                        onmNumber
                    }
                };

                string body = JsonConvert.SerializeObject(SRSIRERequestBody);

                // Example Body:

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/estate/smsrrpselectisrealtyexists");
                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 || response.ErrorMessage == "The operation has timed out.")
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            SmsRrpSelectIsRealtyExistsResponseModel SRSIREResponseRow = new SmsRrpSelectIsRealtyExistsResponseModel();

            SRSIREResponseRow = JsonConvert.DeserializeObject <SmsRrpSelectIsRealtyExistsResponseModel>(responseString);

            return(SRSIREResponseRow);
        }
コード例 #19
0
        /*
         *
         * Метод:
         *  59. Оригінальний метод Nais, на отримання повних данних по ЮО або ФОП за кодом NaisId (який ми отримуємо з [POST] /api/1.0/organizations/freenais)
         *  [GET] /api/1.0/organizations/paynais
         *
         * cURL запиту:
         *  curl --location --request GET 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/paynais?id=811202' \
         *  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI...' \
         *  --header 'Content-Type: application/json' \
         *
         * Приклад відповіді:
         *  https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/responseExample/PayNaisResponse.json
         *
         */

        public static OrganizationaisElasticModel Paynais(ref string token, long naisId)
        {
            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/organizations/paynais");
                RestRequest request = new RestRequest(Method.GET);

                request.AddParameter("id", naisId);                             // Код Nais (який ми отримуємо з [POST] /api/1.0/organizations/freenais)
                request.AddHeader("ContentType", "application/json");
                request.AddHeader("Authorization", "Bearer " + token);

                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 (!string.IsNullOrEmpty(responseString))
                {
                    // Перевіряємо на вміст помилки
                    PaynaisErrorResponseModel PaynaisErrorResponse = new PaynaisErrorResponseModel();

                    PaynaisErrorResponse = JsonConvert.DeserializeObject <PaynaisErrorResponseModel>(responseString);

                    if (PaynaisErrorResponse != null)
                    {
                        Console.WriteLine(PaynaisErrorResponse.Errors[0].Message);
                        return(null);
                    }
                }
            }

            // responseString - Оригінальна відповід Nais

            // Приклад відповіді: https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/responseExample/PayNaisResponse.json

            OrganizationaisElasticModel OrganizationaisElastic = new OrganizationaisElasticModel();

            OrganizationaisElastic = JsonConvert.DeserializeObject <OrganizationaisElasticModel>(responseString);

            return(OrganizationaisElastic);
        }
コード例 #20
0
        /*
         *  29. Отримання інформації по фізичній особі
         *  [POST] /api/1.0/person/checkperson
         *
         *  curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/person/checkperson' \
         *  --header 'ContentType: application/json' \
         *  --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         *  --header 'Content-Type: application/json' \
         *  --data-raw '{"Id":null,"FullName":"ШЕРЕМЕТА ВАСИЛЬ АНАТОЛІЙОВИЧ","FirstName":null,"SecondName":null,"LastName":null,"Ipn":"2301715013","Doc":null,"Birthday":null,"RuName":null}'
         *
         */

        public static CheckPersonResponseModel CheckPerson(string token, CheckPersonRequestBodyModel CheckPersonRequestBodyRow)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                //CheckPersonRequestBodyModel CheckPersonRequestBodyRow = new CheckPersonRequestBodyModel
                //{
                //    FullName = personName,              // ПІБ (ШЕРЕМЕТА ВАСИЛЬ АНАТОЛІЙОВИЧ)
                //    Ipn = ipn                           // ІПН (2301715013)
                //};


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

                string body = JsonConvert.SerializeObject(CheckPersonRequestBodyRow);

                // Example Body: {"Id":null,"FullName":"ШЕРЕМЕТА ВАСИЛЬ АНАТОЛІЙОВИЧ","FirstName":null,"SecondName":null,"LastName":null,"Ipn":"2301715013","Doc":null,"Birthday":null,"RuName":null}

                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);
                }
            }

            CheckPersonResponseModel CPResponseRow = new CheckPersonResponseModel();

            CPResponseRow = JsonConvert.DeserializeObject <CheckPersonResponseModel>(responseString);

            return(CPResponseRow);
        }
コード例 #21
0
        /*
         *
         * 28. Метод АРІ, який віддає історію по компанії з можливістю обрати період.
         * [POST] /api/1.0/changes/getchangesbyCode
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/changes/getchangesbyCode' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsIn...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Code":"00131305","FromDate":"20.11.2018","ToDate":"25.11.2019"}'
         *
         */

        public static List <GetChangesByCodeResponseModel> GetChangesByCode(string token, string code, string fromDate, string toDate, int?fieldType)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetChangesByCodeRequestBodyModel GCBCResponseBodyRow = new GetChangesByCodeRequestBodyModel
                {
                    Code      = code,                                           // Код ЄДРПОУ
                    FromDate  = fromDate,                                       // Дата (зміни) від (включно)
                    ToDate    = toDate,                                         // Дата (зміни) до (не включно)
                    FieldType = fieldType                                       // Тип зміни (словник FieldTypeDict можна отритами в  - 31. Основні словники сервісу [POST] /api/1.0/Dictionary/getdictionary)
                };

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

                string body = JsonConvert.SerializeObject(GCBCResponseBodyRow);

                // Example Body: {"Code":"00131305","FromDate":"20.11.2018","ToDate":"25.11.2019"}

                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);
                }
            }

            List <GetChangesByCodeResponseModel> GCBCResponse = new List <GetChangesByCodeResponseModel>();

            GCBCResponse = JsonConvert.DeserializeObject <List <GetChangesByCodeResponseModel> >(responseString);

            return(GCBCResponse);
        }
コード例 #22
0
        public static List <GetContentMonitoringResponseModel> GetContent(ref string token, string reestrId)
        {
            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/getcontent");
                RestRequest request = new RestRequest(Method.POST);

                string body = "\"" + reestrId + "\"";                // Example body: "84583482"

                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("За вказаним Id документа не знайдено");
                    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);
                }
            }

            List <GetContentMonitoringResponseModel> GCMResponse = new List <GetContentMonitoringResponseModel>();

            GCMResponse = JsonConvert.DeserializeObject <List <GetContentMonitoringResponseModel> >(responseString);

            return(GCMResponse);
        }
コード例 #23
0
        /*
         *
         * 47. Видалити об'єкт з мониторингу (sms rrp)
         * [POST] /api/1.0/estate/estateremovefrommonitoring
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/estateremovefrommonitoring' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGc...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"OnmNumbers":[1260724348000],"CadastrNumbers":null}'
         *
         */

        public static EstateRemoveFromMonitoringResponseModel EstateRemoveFromMonitoring(string token, long onmNumber)
        {
            if (String.IsNullOrEmpty(token))
            {
                token = AuthorizeClass.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                EstateRemoveFromMonitoringBodyModel ERFMBodyModel = new EstateRemoveFromMonitoringBodyModel
                {
                    OnmNumbers = new List <long>
                    {
                        onmNumber
                    }
                };

                string body = JsonConvert.SerializeObject(ERFMBodyModel);

                // Example Body: {"OnmNumbers":[1260724348000],"CadastrNumbers":null}

                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/estate/estateremovefrommonitoring");
                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");
                    token = AuthorizeClass.Authorize();
                }

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

            EstateRemoveFromMonitoringResponseModel ERFMResponseRow = new EstateRemoveFromMonitoringResponseModel();

            ERFMResponseRow = JsonConvert.DeserializeObject <EstateRemoveFromMonitoringResponseModel>(responseString);

            return(ERFMResponseRow);
        }
コード例 #24
0
        /*
         *
         * Отримати перелік компаній по яким відбулись зміни в межах Bi моніторингу
         * [POST] /api/1.0/bi/GetDataBiChangeInfo
         *
         * Приклад 1: без Body (через параметри в URL)
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiChangeInfo?LabelId=1c891112-b022-4a83-ad34-d1f976c60a0b&Size=1000&IsOnlyNew=true&DateChange=2019-11-28T19:00:00.000' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...'
         *
         *
         * Приклад 2: з Body
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiChangeInfo' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"LabelId":"1c891112-b022-4a83-ad34-d1f976c60a0b","Size":1000,"DateChange":"2019-11-28T19:00:52.059","IsOnlyNew":true}'
         *
         */


        public static GetDataBiChangeInfoRequestModel GetDataBiChangeInfo(DateTime dateChange, string labelId, bool isNewOnly, int size, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetDataBiChangeInfoBodyModel GBDRequestBody = new GetDataBiChangeInfoBodyModel
                {
                    LabelId    = labelId,                                           // Id списку(Label) (в якому відбулись зміни)
                    Size       = size,                                              // Розмір даних (від 1 до 10000)
                    IsOnlyNew  = isNewOnly,                                         // Отримати тільки нові записи (true - отримати ті які до раніще не отримували / false - отримати всі за дату)
                    DateChange = dateChange                                         // Дата від якої необхадно отримати зміни (при повторному запиті необхідно використовувати MaxDateChange з відповіді)
                };

                string body = JsonConvert.SerializeObject(GBDRequestBody);          // Example Body: {"LabelId":"1c891112-b022-4a83-ad34-d1f976c60a0b","Size":1000,"DateChange":"2019-11-28T19:00:52.059","IsOnlyNew":true}

                RestClient client = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiChangeInfo");
                // https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiChangeInfo?LabelId=1c891112-b022-4a83-ad34-d1f976c60a0b&Size=1000&IsOnlyNew=true&DateChange=2019-11-28T19:00:00.000
                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)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetDataBiChangeInfoRequestModel GetBiDataList = new GetDataBiChangeInfoRequestModel();

            GetBiDataList = JsonConvert.DeserializeObject <GetDataBiChangeInfoRequestModel>(responseString);

            return(GetBiDataList);
        }
コード例 #25
0
        /*
         *
         * Отримати перелік компаний які відібрані в модулі BI
         * [POST] /api/1.0/bi/GetDataBiInfo
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiInfo' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"LabelId":"1c891112-b022-4a83-ad34-d1f976c60a0b","Size":100,"DateStart":"2019-11-28T19:00:52.059"}'
         *
         */

        public static GetDataBiInfoRequestModel GetDataBiInfo(string labelId, int size, DateTime dateStart, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetDataBiInfoRequestBodyModel GBDRequestBody = new GetDataBiInfoRequestBodyModel
                {
                    LabelId   = labelId,                                            // Назва збереженного списку (перелік можна в GET /api/1.0/BI/getbiimportlabels)
                    Size      = size,                                               // К-ть записів в відповіді. При кожному отриманні відповіді всі записи зберігаються з певним Pack id по значенню якого записи можуть бути отримані повторно.
                    DateStart = dateStart                                           // Дата з якої почнеться відбір (відсортованій в порядку зменшення) від якої буде братись Size
                };

                string body = JsonConvert.SerializeObject(GBDRequestBody);          // Example Body: {"LabelId":"1c891112-b022-4a83-ad34-d1f976c60a0b","Size":1000,"DateStart":"2019-11-28T19:00:52.059"}

                //

                RestClient client = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiInfo");
                // https://vkursi-api.azurewebsites.net/api/1.0/bi/GetDataBiInfo?LabelId=1c891112-b022-4a83-ad34-d1f976c60a0b&Size=1000&DateStart=2019-11-28T19:00:52.059
                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)
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetDataBiInfoRequestModel GetBiDataList = new GetDataBiInfoRequestModel();

            GetBiDataList = JsonConvert.DeserializeObject <GetDataBiInfoRequestModel>(responseString);

            return(GetBiDataList);
        }
コード例 #26
0
        /*
         *
         * 68
         *
         */

        public static GetAnketaResponseModel GetAnketa(ref string token, string edrpou)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass();
                token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetAnketaRequestBodyModel GARBody = new GetAnketaRequestBodyModel
                {
                    Code = new List <string> {
                        edrpou
                    },
                };

                string body = JsonConvert.SerializeObject(GARBody);


                RestClient  client  = new RestClient("https://vkursi-api.azurewebsites.net/api/1.0/organizations/GetAnketa");
                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 || response.ErrorMessage == "The operation has timed out.")
                {
                    Console.WriteLine("Запит не успішний");
                    return(null);
                }
            }

            GetAnketaResponseModel GetAnketaResponseRow = new GetAnketaResponseModel();

            GetAnketaResponseRow = JsonConvert.DeserializeObject <GetAnketaResponseModel>(responseString);

            return(GetAnketaResponseRow);
        }
コード例 #27
0
        /*
         *
         * 25. Отримання повного витяга з реєстру нерухомого майна (ДРРП)
         * [POST] /api/1.0/Estate/GetAdvancedRrpReport
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/getadvancedrrpreport' \
         * --header 'ContentType: application/json' \
         * --header 'Content-Type: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --data-raw '{"GroupId":5001466269723,"ObjectId":68345530}'
         *
         */

        public static GetAdvancedRrpReportResponseModel GetAdvancedRrpReport(string token, long?groupId, int?objectId)
        {
            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/estate/getadvancedrrpreport");
                RestRequest request = new RestRequest(Method.POST);

                GetAdvancedRrpReportRequestBodyModel GARRResponseBodyRow = new GetAdvancedRrpReportRequestBodyModel
                {
                    GroupId  = groupId,
                    ObjectId = objectId
                };

                string body = JsonConvert.SerializeObject(GARRResponseBodyRow);

                // Example Body: {"GroupId":5001466269723,"ObjectId":68345530}

                request.AddHeader("ContentType", "application/json");
                request.AddHeader("Content-Type", "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);
                }
            }

            GetAdvancedRrpReportResponseModel GARRRequest = new GetAdvancedRrpReportResponseModel();

            GARRRequest = JsonConvert.DeserializeObject <GetAdvancedRrpReportResponseModel>(responseString);

            return(GARRRequest);
        }
コード例 #28
0
        /*
         *
         * 39. Відомості про власників пакетів акцій (від 5%)
         * [POST] /api/1.0/organizations/getorgshareholders
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/organizations/getorgshareholders' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer eyJhbGciOiJIUzI1Ni...' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"Edrpou":["00131305"]}'
         *
         */
        public static GetOrgShareholdersResponseModel GetOrgShareholders(string token, string edrpou)
        {
            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetOrgShareholdersRequestBodyModel GOSRequestBody = new GetOrgShareholdersRequestBodyModel
                {
                    Edrpou = new List <string>                                   // Перелік кодів ЄДРПОУ (обеження 1)
                    {
                        edrpou
                    }
                };

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

                string body = JsonConvert.SerializeObject(GOSRequestBody);      // Example Body: {"Edrpou":["00131305"]}

                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);
                }
            }

            GetOrgShareholdersResponseModel GOSResponseRow = new GetOrgShareholdersResponseModel();

            GOSResponseRow = JsonConvert.DeserializeObject <GetOrgShareholdersResponseModel>(responseString);

            return(GOSResponseRow);
        }
コード例 #29
0
        /*
         *
         * Метод:
         *  69. API 2.0 Конструктор API
         *  [POST] /api/2.0/ApiConstructor
         *
         * Приклад відповіді:
         *  https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/responseExample/ApiConstructorResponse.json
         *
         */

        public static ApiConstructorResponseModel ApiConstructor(ref string token, string edrpou, HashSet <int> methodsToExecute)
        {
            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/2.0/ApiConstructor");
                RestRequest request = new RestRequest(Method.POST);

                ApiConstructorRequestBodyModel GOFSRequest = new ApiConstructorRequestBodyModel
                {
                    Edrpou = new List <string> {
                        edrpou
                    },
                    MethodsToExecute = methodsToExecute
                };

                string body = JsonConvert.SerializeObject(GOFSRequest); // Example: {"Edrpou":["41462280"],"Ipn":null,"MethodsToExecute":[4,9,41,37,57,66,32,39,70],"GetAdvancedOrganizationFilter":null,"GetRelationsFilter":null,"ShortFinanceYearFilter":null}

                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);
                }
            }

            ApiConstructorResponseModel ACResponseRow = new ApiConstructorResponseModel();

            ACResponseRow = JsonConvert.DeserializeObject <ApiConstructorResponseModel>(responseString);

            return(ACResponseRow);
        }
コード例 #30
0
        /*
         *
         * 42. Запит на отримання геопросторових даних ПККУ
         * [POST] /api/1.0/Estate/GetCadastrCoordinates
         *
         * Опис авторизації(отримання token для Authorization): https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/token/AuthorizeClass.cs
         *
         * curl --location --request POST 'https://vkursi-api.azurewebsites.net/api/1.0/estate/getcadastrcoordinates' \
         * --header 'ContentType: application/json' \
         * --header 'Authorization: Bearer token' \
         * --header 'Content-Type: application/json' \
         * --data-raw '{"CadNumb":["3523681200:02:000:0230"],"Format":"geojson"}'
         *
         */
        public static string GetCadastrCoordinates(string token, string cadNumb, string format)
        {
            // Опис авторизації: https://github.com/vkursi-pro/API/blob/master/vkursi-api-example/token/AuthorizeClass.cs

            if (string.IsNullOrEmpty(token))
            {
                AuthorizeClass _authorize = new AuthorizeClass(); token = _authorize.Authorize();
            }

            string responseString = string.Empty;

            while (string.IsNullOrEmpty(responseString))
            {
                GetCadastrCoordinatesRequestBodyModel GCCRequestBody = new GetCadastrCoordinatesRequestBodyModel
                {
                    CadNumb = new List <string>                                  // Перелік кадастровых номерів
                    {
                        cadNumb
                    },
                    Format = format                                             // Формат відповіді (geoJson, kml, shp)
                };

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

                string body = JsonConvert.SerializeObject(GCCRequestBody);      // Example Body: {"CadNumb":["0521685603:01:004:0001"],"Format":"geojson"}

                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);
                }
            }

            return(responseString);                                               // Дані в вигяляді тексту в залежності від обранного формату (geoJson, kml, shp). shp - повертаеться в вигляді base64 якій можна конвертувати в архів https://base64.guru/converter/decode/file
        }