← Наука и космос

Калькулятор углерода

GET /carbon/calculate

Расчёт выбросов CO2 (в кг) для конкретного вида деятельности и количества. Поддерживает такие виды деятельности, как полёты, вождение, потребление электроэнергии и отопление. Укажите тип деятельности и количество (например, проехавшие километры, потреблённые кВт·ч). Возвращает общий эквивалент CO2. Полезно для трекеров личного углеродного следа, инструментов корпоративной отчётности об устойчивом развитии и экологических приложений, помогающих пользователям понять своё воздействие.

Посмотрите визуализацию

Параметры

activity обязательный

Activity type

amount обязательный

Amount

Примеры запросов

Базовое использование
curl "https://nordapi.ee/api/v1/carbon/calculate?activity=flight_long&amount=5000"
CO2 from a long-haul flight (5000 km)
curl "https://nordapi.ee/api/v1/carbon/calculate?activity=flight_long&amount=5000"
CO2 from driving 100 km
curl "https://nordapi.ee/api/v1/carbon/calculate?activity=driving&amount=100"
CO2 from 500 kWh electricity
curl "https://nordapi.ee/api/v1/carbon/calculate?activity=electricity&amount=500"

Ответ в реальном времени

HTTP 500: "# UndefinedFunctionError at GET /api/v1/carbon/calculate\n\nException:\n\n    ** (UndefinedFunctionError) function App.Carbon.calculate/2 is undefined (module App.Carbon is not available)\n        (app 0.1.0) App.Carbon.calculate(\"flight_long\", 5000.0)\n        (app 0.1.0) lib/app_web/controllers/api/v1/carbon_controller.ex:17: AppWeb.API.V1.CarbonController.calculate/2\n        (app 0.1.0) lib/app_web/controllers/api/v1/carbon_controller.ex:1: AppWeb.API.V1.CarbonController.action/2\n        (app 0.1.0) lib/app_web/controllers/api/v1/carbon_controller.ex:1: AppWeb.API.V1.CarbonController.phoenix_controller_pipeline/2\n        (phoenix 1.8.5) lib/phoenix/router.ex:416: Phoenix.Router.__call__/5\n        (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.plug_builder_call/2\n        (app 0.1.0) deps/plug/lib/plug/debugger.ex:155: AppWeb.Endpoint.\"call (overridable 3)\"/2\n        (app 0.1.0) lib/app_web/endpoint.ex:1: AppWeb.Endpoint.call/2\n        (phoenix 1.8.5) lib/phoenix/endpoint/sync_code_reload_plug.ex:22: Phoenix.Endpoint.SyncCodeReloadPlug.do_call/4\n        (bandit 1.10.4) lib/bandit/pipeline.ex:131: Bandit.Pipeline.call_plug!/2\n        (bandit 1.10.4) lib/bandit/pipeline.ex:42: Bandit.Pipeline.run/5\n        (bandit 1.10.4) lib/bandit/http1/handler.ex:13: Bandit.HTTP1.Handler.handle_data/3\n        (bandit 1.10.4) lib/bandit/delegating_handler.ex:18: Bandit.DelegatingHandler.handle_data/3\n        (bandit 1.10.4) lib/bandit/delegating_handler.ex:8: Bandit.DelegatingHandler.handle_continue/2\n        (stdlib 7.3) gen_server.erl:2424: :gen_server.try_handle_continue/3\n        (stdlib 7.3) gen_server.erl:2291: :gen_server.loop/4\n        (stdlib 7.3) proc_lib.erl:333: :proc_lib.init_p_do_apply/3\n    \n\n## Connection details\n\n### Params\n\n    %{\"activity\" => \"flight_long\", \"amount\" => \"5000\"}\n\n### Request info\n\n  * URI: http://localhost:4000/api/v1/carbon/calculate\n  * Query string: activity=flight_long&amount=5000\n\n### Headers\n  \n  * accept-encoding: gzip\n  * host: localhost:4000\n  * user-agent: req/0.5.17\n\n### Session\n\n    %{}\n"