Skip to content

prokhor-ozornin/rulaw-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RuLaw.NET is a .NET library for official Russian State Duma API web service for querying and searching information of laws, deputies, authorities, sessions, votings and the like.

NuGet package : https://www.nuget.org/packages/RuLaw


Support

This project needs your support for further developments ! Please consider donating.

  • Yandex.Money : 41001577953208

Image


Initialization

Before you can make requests to the State Duma API, you need to setup it. The following information is required :

  1. APPKey and/or APIKey which you can acquire them here - http://api.duma.gov.ru/pages/dokumentatsiya/obrashchenie-k-api

  2. Data exchange format to use (XML/JSON).

Example (initialize API, using values of API/APP key stored inside application configuration file):

IApiCaller caller = RuLaw.API(api => api.ApiKey(ConfigurationManager.AppSettings["ApiKey"]).AppKey(ConfigurationManager.AppSettings["AppKey"]).Format(ApiDataFormat.Xml));


Supported set of operations:


Topics

Description: Returns list of topics (subject units).

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-tematicheskih-blokov

Code:

IApiCaller caller = ...

IEnumerable<ITopic> topics = caller.Topics();


Law Branches

Description: Returns list of laws branches.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-otrasley-zakonodatelstva

Code:

IApiCaller caller = ...

IEnumerable<ILawBranch> branches = caller.Branches();


Deputies

Description: Returns list of deputies of the State Duma and members of the Federation Council.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-deputatov-gd-i-chlenov-sf

Code:

IApiCaller caller = ...

IEnumerable<IDeputy> deputies = caller.Deputies();

IEnumerable<IDeputy> deputies = caller.Deputies(x=> x.Position(DeputyPosition.DumaDeputy).Current(false).Name("А"));


Committees

Description: Returns list of committees.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-komitetov

Code:

IApiCaller caller = ...

IEnumerable<ICommittee> committees = caller.Committees();


Regional Authorities

Description: Returns list of regional law authorities.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-regionalnih-organov-vlasti

Code:

IApiCaller caller = ...

IEnumerable<IAuthority> authorities = caller.RegionalAuthorities();

IEnumerable<IAuthority> authorities = caller.RegionalAuthorities(x => x.Current(false));


Federal Authorities

Description: Returns list of federal law authorities.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-federalnih-organov-vlasti

Code:

IApiCaller caller = ...

IEnumerable<IAuthority> authorities = caller.FederalAuthorities();

IEnumerable<IAuthority> authorities = caller.FederalAuthorities(x => x.Current());


Law Stages

Description: Returns list of laws review stages.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-stadiy-rassmotreniya

Code:

IApiCaller caller = ...

IEnumerable<ILawStage> stages = caller.Stages();


Instances

Description: Returns list of instances.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-instantsiy-rassmotreniya

Code:

IApiCaller caller = ...

IEnumerable<IInstance> instances = caller.Instances();

IEnumerable<IInstance> instances = caller.Instances(x => x.Current());


Convocations

Description: Returns list of State Duma's convocations and sessions.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/spisok-sozivov-i-sessiy

Code:

IApiCaller caller = ...

IEnumerable<IConvocation> convocations = caller.Convocations();


Laws

Description: Returns list of found laws. Response contains records of laws as well as latest events for each of the law.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/poisk-po-zakonoproektam

Code:

IApiCaller caller = ...

ILawsSearchResult laws = Laws(call => call.Name("курение").Sorting(LawsSorting.DateDescending));


Questions

Description: Returns list of questions of the meetings agend of the State Duma.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/voprosi-zasedaniy-gosudarstvennoy-dumi

Code:

IApiCaller caller = ...

IQuestionsSearchResult questions = caller.Questions(x => x.From(new DateTime(2013, 1, 1)).To(new DateTime(2013, 12, 31)).Name("образование").PageSize(PageSize.Five).Page(2)));


Deputy Info

Description: Returns detailed information about specific deputy of the State Duma.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/svedeniya-o-deputate

Code:

IApiCaller caller = ...

IDeputyInfo deputy = caller.Deputy(99100142);


Deputies Requests

Description: Returns list of deputies requests.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/deputatskie-zaprosi

Code:

IApiCaller caller = ...

IEnumerable<IDeputyRequest> requests = caller.Requests();



Transcripts


By Date

Description: Returns full transcripts text for given date.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/stenogrammi-na-zadannuyu-datu

Code:

IApiCaller caller = ...

IDateTranscriptsResult transcripts = caller.Transcripts().Date(new DateTime(2013, 5, 14));


Deputy's speeches

Description: Returns transcripts of particular deputy's speeches.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/stenogrammi-vistupleniy-deputata

Code:

IApiCaller caller = ...

IDeputyTranscriptsResult transcript = caller.Transcripts().Deputy(id: 99100142, from: new DateTime(2013, 1, 1), to: new DateTime(2013, 12, 31), page: 2, limit: PageSize.Five);

IDeputyTranscriptsResult transcript = caller.Transcripts().Deputy(call => call.Deputy(99100142).From(new DateTime(2013, 1, 1)).To(new DateTime(2013, 12, 31)).Page(2).PageSize(PageSize.Five));


Laws

Description: Returns transcript of given law.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/stenogrammi-po-zakonoproektu

Code:

IApiCaller caller = ...

ILawTranscriptsResult transcripts = caller.Transcripts().Law("140513-6");

Questions

Description: Returns transcripts of Duma's agenda question.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/stenogramma-rassmotreniya-voprosa

Code:

IApiCaller caller = ...

IQuestionTranscriptsResult transcripts = caller.Transcripts().Question(80, 13);


Resolutions

Description: Returns transcripts of resolution's draft.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/stenogrammi-po-proektu-postanovleniya

Code:

IApiCaller caller = ...

IResolutionTranscriptsResult transcripts = caller.Transcripts().Resolution("276569-6");



Voting


Search

Description: Performs search through open results of Duma's voting sessions.

Documentation: http://api.duma.gov.ru/pages/dokumentatsiya/poisk-golosovaniy

Code:

IApiCaller caller = ...

IVotesSearchResult votes = caller.Votes().Search(from: new DateTime(2011, 12, 21)), this.xmlApiCaller.Votes().Search(from: new DateTime(2011, 12, 21), deputy: 99111987);

IVotesSearchResult votes = caller.Votes().Search(call => call.From(new DateTime(2011, 12, 21)).Deputy(99111987));

About

.NET library for official Russian State Duma API web service (http://api.duma.gov.ru) for querying and searching information of laws, deputies, authorities, sessions, votings and the like.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages