API para desenvolvedores

O Iota fornece uma REST API para a consulta dos dados.

Os endpoints podem entregar o contéudo serializado em JSON, XML e YAML.

O content-type é definido automaticamente pelo header Accept. Por padrão, a resposta é no formato JSON.

Para pedir manualmente, utilize ?content-type=application/json para JSON, ?content-type=text/xml para XML, e ?content-type=text/x-yaml para YAML.

Todos os endpoints utilizam o domínio para descobrir qual a rede ativa para a consulta, isso influência no resultados obtidos.

Rede ativa no momento

Você esta no domínio www.observaprimeirainfancia.org.br, rede ID 2

Endpoints

Endpoint Descrição Parâmetros aceitos
/indicators
Lista de todos os indicadores Filtros:
  • user_id=123
Se user_id for enviado, os indicadores desabilitado por usuário não retornam.
/users
Lista de todos os usuários e sua cidade -
/cities
Lista de todas as cidades -
/networks
Nome da rede e instituição do domínio acessado. -
/download-indicators
Valores calculados por indicador Filtros:
  • user_id=100,222,...
  • city_id=1,5,...
  • region_id=321,...
  • indicator_id=123,..
  • valid_from=2000-01-01,...
  • valid_from_begin=2000-01-01
  • valid_from_end=2010-01-01
Caso o campo region_id não for especificado, a consulta retorna os valores da cidade.
/download-variables
Valores das variáveis Todos os filtros do endpoint /download-indicators, exceto indicator_id, mais:
  • variable_id=123,..

/indicators voltar para endpoints

Exemplo de retorno:

$.get('/indicators', function(ret){console.log(ret)}); // after execute this

ret = {
    "indicators": [
        {
            "source": null,
            "sort_direction": null,
            "variety_name": null,
            "name_url": "crimes-violentos-nao-fatais",
            "visibility_user_id": 3,
            "axis": {
                "created_at": "2012-10-23 01:43:35.541972",
                "name": "Equidade, Justiça Social e Cultura de Paz",
                "id": 3
            },
            "indicator_admins": null,
            "chart_name": null,
            "created_at": "2013-08-20 16:39:54.30607",
            "all_variations_variables_are_required": 1,
            "formula": "$502 / $19 *100000",
            "indicator_type": "normal",
            "id": "251",
            "formula_human": "Número de crimes violentos não fatais / População total *100000",
            "featured_in_home": 0,
            "variable_type": "int",
            "period": "yearly",
            "observations": null,
            "name": "Crimes violentos não fatais",
            "visibility_country_id": null,
            "axis_id": 3,
            "tags": null,
            "goal_explanation": null,
            "goal_operator": null,
            "goal": null,
            "visibility_level": "private",
            "explanation": "Número de crimes violentos não fatais por cem mil habitantes",
            "goal_source": null,
            "user_id": 1,
            "dynamic_variations": null,
            "summarization_method": "sum"
        }
    ]
}

/users voltar para endpoints

Exemplo de retorno:

$.get('/users', function(ret){console.log(ret)}); // after execute this

ret = {
    "users": [
        {
            "city_summary": "Somos um movimento da sociedade civil que reúne setores empresariais, acadêmicos, movimentos sociais e cidadãos, mobilizados com o intuito de selecionar, propor e monitorar indicadores da cidade do Recife na busca da melhoria dos níveis de vida de todos os que habitam a capital pernambucana. Aberto a contribuições múltiplas, o ODR não tem destaque para lideranças individuais nem direcionamento político-partidário ou privilégio de grupos específicos. Nossa missão consiste em mobilizar a sociedade para  selecionar, propor e monitorar um conjunto de indicadores e metas que se constituam numa agenda de desenvolvimento sustentável para o Recife e que levem a transformá-la numa cidade melhor para se viver.",
            "city": {
                "uf": "PE",
                "pais": "br",
                "name_uri": "recife",
                "name": "Recife",
                "id": 110
            },
            "city_id": 110,
            "language": "pt-br",
            "regions_enabled": 1,
            "name": "Observatório do Recife",
            "id": "136"
        }
    ]
}

/cities voltar para endpoints

Exemplo de retorno:

$.get('/cities', function(ret){console.log(ret)}); // after execute this

ret = {
    "cities": [
        {
            "name_uri": "rio-branco",
            "summary": null,
            "id": 546,
            "longitude": "-67.824918",
            "pais": "brasil",
            "name": "Rio Branco",
            "latitude": "-9.9753837",
            "uf": "AC"
        }
    ]
}

/networks voltar para endpoints

Exemplo de retorno:

$.get('/networks', function(ret){console.log(ret)}); // after execute this

ret = {
    "network": {
        "institute": {
            "name": "Movimentos",
            "id": 2,
            "description": "administrado pelos movimentos"
        },
        "name": "Rede Social Brasileira por Cidades Justas e Sustentáveis",
        "id": 2
    }
}

/download-indicators voltar para endpoints

Exemplo de retorno:

$.get('/download-indicators', function(ret){console.log(ret)}); // after execute this

ret = {
    "data": [
        {
            "user_goal": null,
            "justification_of_missing_field": null,
            "valid_from": "01/01/2012",
            "indicator_id": 191,
            "region_id": null,
            "indicator_name": "Orçamento do município destinado a transporte público",
            "formula": "$322/$323*100",
            "city_name": "São Paulo",
            "axis_name": "Melhor Mobilidade, Menos Tráfego",
            "formula_human": "Valor total do orçamento, em reais, destinado a transporte público / Valor total do orçamento da área de transporte do município *100",
            "institute_id": 2,
            "city_id": 1,
            "period": "anual",
            "region_name": null,
            "value": "68.8442061662337",
            "observations": null,
            "variation_order": null,
            "goal_explanation": "Destinar 100% dos recursos públicos da área para a melhoria substantiva do transporte público.",
            "goal_operator": null,
            "tags": null,
            "goal": null,
            "sources": [
                "SEMPLA (Secretaria Municipal de Planejamento)"
            ],
            "explanation": "Percentual do orçamento do município destinado ao transporte público.",
            "updated_at": "2013-11-06 08:52:08.597114",
            "goal_source": "Programa Cidades Sustentáveis",
            "user_id": 11,
            "variation_name": "",
            "technical_information": null
        },
        {
            "user_goal": null,
            "justification_of_missing_field": null,
            "valid_from": "01/01/2012",
            "indicator_id": 191,
            "region_id": null,
            "indicator_name": "Orçamento do município destinado a transporte público",
            "formula": "$322/$323*100",
            "city_name": "Goiânia",
            "axis_name": "Melhor Mobilidade, Menos Tráfego",
            "formula_human": "Valor total do orçamento, em reais, destinado a transporte público / Valor total do orçamento da área de transporte do município *100",
            "institute_id": 2,
            "city_id": 180,
            "period": "anual",
            "region_name": null,
            "value": "32.1055485270197",
            "observations": null,
            "variation_order": null,
            "goal_explanation": "Destinar 100% dos recursos públicos da área para a melhoria substantiva do transporte público.",
            "goal_operator": null,
            "tags": null,
            "goal": null,
            "sources": [
                "Secretaria Municipal de Desenvolvimento Urbano Sustentável - Goiânia",
                "Secretaria Municipal de Trânsito, Transportes e Mobilidade - Goiânia"
            ],
            "explanation": "Percentual do orçamento do município destinado ao transporte público.",
            "updated_at": "2013-11-06 08:52:08.597114",
            "goal_source": "Programa Cidades Sustentáveis",
            "user_id": 763,
            "variation_name": "",
            "technical_information": null
        }
    ]
}

/download-variables voltar para endpoints

Exemplo de retorno:

$.get('/download-variables', function(ret){console.log(ret)}); // after execute this

ret = {
    "data": [
        {
            "source": null,
            "measurement_unit_name": null,
            "valid_from": "01/01/2000",
            "cognomen": "idh_municipal",
            "city_name": "São Paulo",
            "variable_id": 30,
            "city_id": 1,
            "is_basic": 1,
            "institute_id": 2,
            "period": "anual",
            "exp_source": null,
            "value": "0.841",
            "name": "Índice de Desenvolvimento Humano (IDH) Municipal",
            "observations": null,
            "updated_at": "2012-11-28 12:10:16.055272",
            "type": "num",
            "user_id": 11
        },
        {
            "source": null,
            "measurement_unit_name": null,
            "valid_from": "01/01/2000",
            "cognomen": "expect_vida",
            "city_name": "São Paulo",
            "variable_id": 28,
            "city_id": 1,
            "is_basic": 1,
            "institute_id": 2,
            "period": "anual",
            "exp_source": null,
            "value": "71.7",
            "name": "Expectativa de Vida: Esperança de vida ao nascer",
            "observations": null,
            "updated_at": "2013-08-18 13:24:36.795562",
            "type": "num",
            "user_id": 11
        }
    ]
}