Custom Connector
Campbelltown Open Data
Australia
The Campbelltown Open Data Connector provides seamless integration with the City of Campbelltown’s public open data portal — secure, efficient access to all published datasets, records, metadata, and file exports. It supports dataset discovery, record querying, full exports in multiple formats, and attachment access.
Overview
Integration Overview
This document provides a detailed guide for each integration point, its purpose, configuration, and workflow support using the Campbelltown Open Data Connector.
- listDatasets. Retrieves a list of all available datasets.
- getDatasetMetadata. Retrieves detailed metadata for a specific dataset.
- queryRecords. Queries records from a dataset with filtering and pagination.
- getSingleRecord. Retrieves a specific record by its unique ID.
- listExportFormats / exportDataset. Lists export formats, and exports a dataset (csv, json, geojson, kml, shp, parquet, xlsx).
- listAttachments. Retrieves file attachments associated with a dataset.
Documentation
Detailed Integration Documentation
List Datasets & Metadata
| Action | listDatasets / getDatasetMetadata |
|---|---|
| Endpoint | GET /catalog/datasets · GET /catalog/datasets/{dataset_id} |
| Purpose | Retrieves all publicly available datasets, and complete metadata (fields, descriptions, publisher, update frequency) for a specific dataset. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CAMPBELL_BASE_URL. |
| Parameters | listDatasets optional: limit, offset, q, facet. getDatasetMetadata required: dataset_id (path). |
| Output | Successful: a dataset list with metadata, or a full metadata object. Failure: upstream error / dataset not found. |
| Workflow example | Execute listDatasets to populate a catalog, then getDatasetMetadata to generate dynamic forms or tables. |
Query Records & Single Record
| Action | queryRecords / getSingleRecord |
|---|---|
| Endpoint | GET /catalog/datasets/{dataset_id}/records (+ /{record_id}) |
| Purpose | Performs powerful queries against a dataset (filtering, sorting, pagination, field selection), and retrieves a single record by ID. |
| Configuration | Same base URL configuration. |
| Parameters | Required: dataset_id (and record_id for a single record). Optional: where, refine, select, order_by, limit, offset. |
| Output | Successful: JSON with total_count, a records array, and pagination — or a complete record object. Failure: validation / not found. |
| Workflow example | Execute queryRecords with where=status=“Approved”, then display results in dashboards, maps, or reports. |
Export Formats & Export
| Action | listExportFormats / exportDataset |
|---|---|
| Endpoint | GET /catalog/datasets/{dataset_id}/export-formats · /exports/{format} |
| Purpose | Lists all supported export formats for a dataset, and streams a complete export in a chosen format for bulk analysis, backups, or BI. |
| Configuration | Uses streaming responses and extended timeouts for large exports. |
| Parameters | Required: dataset_id (and format for export). Optional: export-specific parameters (e.g. delimiter, timezone). |
| Output | Successful: a JSON array of format identifiers, or a streamed file with Content-Type and Content-Disposition headers. Failure: upstream error / timeout. |
| Workflow example | Execute exportDataset with format=parquet and pipe the stream into storage or analytics platforms. |
List Attachments
| Action | listAttachments |
|---|---|
| Endpoint | GET /catalog/datasets/{dataset_id}/attachments |
| Purpose | Retrieves metadata and download links for files attached to a dataset (PDFs, supporting documents). |
| Configuration | Same base URL configuration. |
| Parameters | Required: dataset_id (path). |
| Output | Successful: a JSON array of attachment objects (title, URL, mime type). Failure: error details. |
| Workflow example | Execute listAttachments to display document links alongside dataset records. |
Example Workflow: Building a Community Data Portal
| Datasets | Use listDatasets to populate a searchable catalog. |
|---|---|
| Details | Execute getDatasetMetadata to understand structure and fields. |
| Interactive apps | Use queryRecords with dynamic filters to drive maps, charts, and tables. |
| Bulk & enrich | Trigger exportDataset (CSV/Parquet) for analysts, and listAttachments for supporting documents. |
Support
For technical support, contact custom-connectors-support@isolutions.sa.