PostalCodes.info · Capability

Country Dataset Export

Run with Naftiko

Capability Spec

country-dataset-export.yaml Raw ↑
apiVersion: naftiko.dev/v1
kind: CapabilityComposition
metadata:
  name: country-dataset-export
  title: Country Dataset Export Workflow
  description: Mint a same-origin download token and pull a complete country postal-code dataset in CSV, JSON or XLSX.
  tags:
    - Postal Codes
    - Open Data
    - Bulk Data
    - Logistics
spec:
  inputs:
    country:
      type: string
      description: ISO 3166-1 alpha-2 country code.
      pattern: ^[A-Za-z]{2}$
    format:
      type: string
      enum: [csv, xlsx, json]
      default: json
  steps:
    - id: token
      capability: postalcodes-info-postal-code-reference-api/createDownloadToken
      with:
        headers:
          X-Requested-With: XMLHttpRequest
          Referer: https://postalcodes.info/datasets
      outputs:
        token: $.token

    - id: download
      capability: postalcodes-info-postal-code-reference-api/downloadCountryDataset
      with:
        country: ${inputs.country}
        format: ${inputs.format}
        t: ${steps.token.token}
      outputs:
        file: $.file

    - id: persist
      kind: io.store
      description: Persist the country dataset locally and record the snapshot version (e.g., 2026.1).
      with:
        body: ${steps.download.file}
        path: ./postalcodes-info/${inputs.country}-${snapshotVersion()}.${inputs.format}

  outputs:
    file: ${steps.download.file}
    path: ${steps.persist.path}