Custom Connector
Istanbul Metropolitan Municipality Connector
Turkey
The Istanbul Metropolitan Municipality Connector integrates with the IMM Open Data Portal API (CKAN v3), enabling access to municipal datasets — transportation, urban planning, and public services. It supports dataset searches, metadata retrieval, and resource access in JSON, with optional API-key authentication for restricted datasets.
Overview
Integration Overview
This document provides a detailed guide for each integration point, its purpose, configuration, and workflow support using the Istanbul Metropolitan Municipality Connector.
- packageSearch. Search for datasets using filters and queries.
- packageShow. Retrieve details for a specific dataset.
- packageList. List all dataset names or IDs.
- resourceShow. Retrieve details for a specific resource.
- groupList / groupShow. List all groups, or retrieve a specific group.
- organizationList / organizationShow. List all organizations, or retrieve a specific one.
- tagList. List all tags.
- userList. List all users.
- licenseList. List available licenses.
Documentation
Detailed Integration Documentation
Package Search
| Action | packageSearch |
|---|---|
| Purpose | Searches for datasets (packages) using query, facets, or sorting — discovering datasets such as traffic or public-services data. |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | Optional: q (search query); fq (filter query); sort (e.g. score desc, name asc); rows (default 10); start (default 0); facet (boolean); facet.mincount; facet.limit. |
| Output | Successful: JSON with success, result (count, sort, results array of package objects, facets), and help. Failure: success:false with error type and message. |
| Workflow example | Execute packageSearch with q=traffic and rows=10 to list datasets for urban-mobility applications. |
Package Show / List
| Action | packageShow / packageList |
|---|---|
| Purpose | Retrieves detailed information for a specific dataset (resources, tags, metadata), or lists all dataset names/IDs for a quick catalog overview. |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | packageShow required: id (dataset ID or name); optional use_default_schema, include_tracking. packageList optional: limit; offset. |
| Output | Successful: JSON with success, result (a package object with resources/tags/extras, or an array of dataset IDs/names), and help. Failure: 404 Dataset not found. |
| Workflow example | Execute packageShow with id=traffic-flow-dataset to review resources, or packageList with limit=20 for catalog exploration. |
Resource Show
| Action | resourceShow |
|---|---|
| Purpose | Retrieves details for a specific resource within a dataset — URL, format, and size — enabling direct data access. |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | Required: id (resource ID). Optional: include_tracking. |
| Output | Successful: JSON with success, result (id, url, format, description, size, created, last_modified), and help. Failure: 404 Resource not found. |
| Workflow example | Execute resourceShow with id=resource-id to retrieve a resource URL for data download. |
Groups (list / show)
| Action | groupList / groupShow |
|---|---|
| Purpose | Lists all groups (optionally with details) for thematic organization, or retrieves a specific group including its datasets. |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | groupList optional: order_by; sort; limit; offset; groups; all_fields. groupShow required: id; optional include_datasets, include_dataset_count, include_extras, include_users, include_groups, include_followers. |
| Output | Successful: JSON with success, result (group names or objects with id, name, title, description, datasets), and help. Failure: 404 Group not found. |
| Workflow example | Execute groupList with all_fields=true, then groupShow with id=transportation and include_datasets=true for thematic exploration. |
Organizations (list / show)
| Action | organizationList / organizationShow |
|---|---|
| Purpose | Lists all organizations (municipal departments / data providers), or retrieves a specific one including its datasets. |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | organizationList optional: order_by; sort; limit; offset; organizations; all_fields. organizationShow required: id; optional include_datasets, include_dataset_count, include_extras, include_users, include_groups, include_followers. |
| Output | Successful: JSON with success, result (organization names or objects with id, name, title, description, package_count, datasets), and help. Failure: 404 Organization not found. |
| Workflow example | Execute organizationList with all_fields=true, then organizationShow with id=municipal-services and include_datasets=true to source department data. |
Tags, Users & Licenses
| Action | tagList / userList / licenseList |
|---|---|
| Purpose | Lists all tags (keyword-based discovery), all users (administration/community), and available licenses (compliance). |
| Configuration | Configure the base URL via CONNECTOR_ENV_ISTANBULOPENDATAPORTALAPI_BASE_URL. Optionally provide an API key (Authorization header) for restricted datasets. |
| Parameters | tagList optional: vocabulary_id; all_fields. userList optional: q; order_by; all_fields. licenseList: none. |
| Output | Successful: JSON with success, result (tag names/objects; user names/objects; license objects with id, title, url), and help. Failure: error details. |
| Workflow example | Execute tagList with all_fields=true to filter datasets by topic, and licenseList to confirm legal data usage. |
Example Workflow: Urban Mobility Dashboard
| Search datasets | Use packageSearch with q=transport and identify a target dataset ID (e.g. traffic-flow-dataset). |
|---|---|
| Retrieve metadata & resources | Use packageShow to review resources, then resourceShow to access specific data URLs. |
| Analyze group & org data | Use groupShow with id=transportation and organizationShow to explore related datasets and providers. |
| Build dashboard | Integrate the data into a GCP-hosted dashboard for real-time traffic insights. |
Support
For technical support, contact custom-connectors-support@isolutions.sa.