Програмные Интерфейсы для расчета Инфляции
Обзор
Програмные интерфейсы позволяют использовать данные об уровне инфляции разных стран и логику инфляционных калькуляторов на сторонних веб сайтах, блогах и приложениях. Например, используя веб сервисы, можно разместить инфяционный калькулятор на своем сайте, при этом он всегда будет использовать самые свежие данные.
Веб сервисы поддерживают разные протоколы и стандарты, такие как json, jsonp, xml(soap)
Условия Использования
Веб сервисы и програмные интерфейсы предоставляются бесплатно при условии соблюдения следующих пунктов:
- Некоммерческое использование
- Указание ссылки на источник данных - statbureau.org. Например: <a href = "https://www.statbureau.org" >www.statbureau.org</a>
Сервисы
Вы можете использовать следующие методы:
decimal CalculateInflationRate(string country, DateTime start, DateTime end)
Метод позволяет рассчитать уровень инфляции (в процентах) между двумя месяцами (включительно) для выбранной страны.
- country - страна (belarus, brazil, canada, european-union, eurozone, france, germany, greece, india, japan, kazakhstan, mexico, russia, spain, turkey, ukraine, united-kingdom, united-states)
- start - первый месяц, включительно
- end - последний месяц, включительно
- возвращает уровень инфляции, в процентах, десятичное число
decimal CalculatePriceChange(string country, DateTime start, DateTime end, decimal amount, List<DateTime> denominationsToApply)
Этот метод позволяет рассчитать изменение цены со временем, вызванное инфляцией, в выбранной стране за указанный период.
- country - страна (belarus, brazil, canada, european-union, eurozone, france, germany, greece, india, japan, kazakhstan, mexico, russia, spain, turkey, ukraine, united-kingdom, united-states)
- start - первый месяц, включительно
- end - последний месяц, включительно
- amount - цена в начале первого месяца
- denominationsToApply - список деноминаций в формате даты, которые нужно учитывать, например деноминация в России 1998-1-1
- возвращает цену в конце второго месяца
decimal CalculateValueChange(string country, DateTime start, DateTime end, decimal amount, List<DateTime> denominationsToApply)
Этот метод позволяет опроеделить изменение покупательной способности (ценности) денег в выбранной стране за указаный период.
- country - страна (belarus, brazil, canada, european-union, eurozone, france, germany, greece, india, japan, kazakhstan, mexico, russia, spain, turkey, ukraine, united-kingdom, united-states)
- start - первый месяц, включительно
- end - последний месяц, включительно
- amount - сумма в начале первого месяца
- denominationsToApply - список деноминаций в формате даты, которые нужно учитывать, например деноминация в России 1998-1-1
- возвращает сумму в конце второго месяца
List<Denomination> GetDenominations(string country)
Возвращает список деноминаций для выбранной страны - даты и коэффициенты.
List<MonthlyInflation> GetData(string country)
Возвращает все данные для выбранной страны, которые у нас есть, инфляция по месяцам.
Json/Jsonp
Список json адресов:
- /calculate-inflation-rate-json
- /calculate-inflation-price-json
- /calculate-inflation-value-json
- /get-denominations-json
- /get-data-json
Список jsonp адресов:
- /calculate-inflation-rate-jsonp
- /calculate-inflation-price-jsonp
- /calculate-inflation-value-jsonp
- /get-denominations-jsonp
- /get-data-jsonp
Json и jsonp реализация поддерживают параметр 'format', который позволяет привести возвращаемое значение к формату денег.
Xml/SOAP (не рекомендуется)
Все методы также доступны в стандарте Xml/Soap по следующему адресу: https://www.statbureau.org/WebServices/InflationService.svc, а wsdl файл с описанием методов можно скачать здесь.
Поддержку Xml/SOAP протокола планируется убрать в будущем, пожалуйста используйте Json/JsonP.
Пример
Ниже представлен достаточно наивный, но работающий пример использования jsonp сервисов для создания простого инфляционного калькулятора. Этот пример можно использовать на сторонних сайтах для расчета изменения цены за любой период.
Ниже представлен результат этого кода. Пример так же доступен тут: пример.
Отзывы и Вопросы
Для связи с нами, пожалуйста воспользуйтесь этой страницей.