diff --git a/devkits/data-exchange/README.md b/devkits/data-exchange/README.md index 731ca159..6b33d7c0 100644 --- a/devkits/data-exchange/README.md +++ b/devkits/data-exchange/README.md @@ -1,27 +1,25 @@ # Data Exchange Devkit -Beckn Protocol v2.0 devkit demonstrating **inline data delivery** via DDM's `DatasetItem` schema. Instead of downloading datasets from external URLs, data is embedded directly in beckn messages using the `dataPayload` attribute. +Beckn Protocol v2.0 devkit for inline data delivery with `DatasetItem` and `dataPayload`. ## Use Cases | Use Case | BPP (Provider) | BAP (Consumer) | dataPayload | Description | -|----------|---------------|----------------|-------------|-------------| -| [usecase1](./usecase1/) | IntelliGrid AMI Services (AMISP) | BESCOM (discom) | `IES_Report` — 15-min kWh meter readings | AMI meter data exchange under existing contract | -| [usecase2](./usecase2/) | BESCOM (discom) | APERC (state regulator) | `IES_ARR_Filing` — cost line items, fiscal years | ARR filing submission under regulatory mandate | +|---|---|---|---|---| +| [usecase1](./usecase1/) | IntelliGrid AMI Services (AMISP) | BESCOM (discom) | `IES_Report` | AMI meter data exchange delivered inline on `on_confirm` | +| [usecase2](./usecase2/) | BESCOM (discom) | APERC (state regulator) | `IES_ARR_Filing` | ARR filing submission delivered inline on `on_confirm` | Both use cases share the same Docker infrastructure, adapter configs, and test scripts. ## Key Schemas -**DatasetItem** from [DDM](https://github.com/beckn/DDM) provides `dataPayload` for inline data delivery and `accessMethod` to declare delivery mode (`INLINE`, `DOWNLOAD`, `DATA_ENCLAVE`, `OFF_CHANNEL`). - -**IES_Report** from [India Energy Stack](https://github.com/India-Energy-Stack/ies-docs) carries meter telemetry in OpenADR 3.1.0 format. - -**IES_ARR_Filing** from [India Energy Stack](https://github.com/India-Energy-Stack/ies-docs) carries Aggregate Revenue Requirement filings with fiscal year line items. +- `DatasetItem` from [DDM](https://github.com/beckn/DDM) provides `dataPayload` for inline delivery and `accessMethod` for delivery mode. +- `IES_Report` from [India Energy Stack](https://github.com/India-Energy-Stack/ies-docs) carries meter telemetry in OpenADR 3.1.0 format. +- `IES_ARR_Filing` from [India Energy Stack](https://github.com/India-Energy-Stack/ies-docs) carries ARR filing line items. ## Transaction Flow -``` +```text BPP (Provider) Catalog Service Discovery Service BAP (Consumer) | | | | | |<-- subscribe ------| | @@ -30,253 +28,78 @@ BPP (Provider) Catalog Service Discovery Service BAP (Consumer) |-- publish --------->| | | | (DatasetItem | | | | catalog) | | | - | | | | | | |<---- discover -------| - | | | (search datasets)| | | |---- on_discover ---->| - | | | (catalog results)| | | | | |---------------------+--------------------+----------------------| | Direct BAP <-> BPP negotiation | | | - |<---- select (choose dataset + offer) --------------------------| - |---- on_select (terms) ---------------------------------------->| - | | - |<---- init (details) -------------------------------------------| - |---- on_init (ready) ------------------------------------------>| - | | - |<---- confirm --------------------------------------------------| - |---- on_confirm (active) -------------------------------------->| - | | - |<---- status (check delivery) ----------------------------------| - |---- on_status (PROCESSING) ----------------------------------->| + |<---- select ----------------------------------------------------| + |---- on_select ------------------------------------------------->| | | - | +- Delivery mode A: URL download -------------------------+ | - | | on_status (DELIVERY_COMPLETE) | | - | | dataset:downloadUrl + dataset:checksum | >| - | +----------------------------------------------------------+ | + |<---- init ------------------------------------------------------| + |---- on_init --------------------------------------------------->| | | - | +- Delivery mode B: Inline dataPayload --------------------+ | - | | on_status (DELIVERY_COMPLETE) | | - | | dataPayload: IES_Report / IES_ARR_Filing | >| - | +----------------------------------------------------------+ | + |<---- confirm ---------------------------------------------------| + |---- on_confirm (active + inline dataPayload) ------------------>| + | dataPayload: IES_Report / IES_ARR_Filing | | | - |<---- cancel ---------------------------------------------------| - |---- on_cancel ------------------------------------------------>| + |<---- cancel ----------------------------------------------------| + |---- on_cancel ------------------------------------------------->| ``` -## Prerequisites - -- Git, Docker, Docker Compose -- Postman (optional, for manual testing) - ## Quick Start ```bash -# 1. Start infrastructure (shared across both use cases) +# 1. Start infrastructure cd install docker compose -f docker-compose-adapter.yml up -d # 2. Verify services -curl http://localhost:8081/health # BAP adapter -curl http://localhost:8082/health # BPP adapter -curl http://localhost:3001/api/health # BAP sandbox -curl http://localhost:3002/api/health # BPP sandbox +curl http://localhost:8081/health +curl http://localhost:8082/health +curl http://localhost:3001/api/health +curl http://localhost:3002/api/health -# 3. Run the Arazzo workflows (one runner per usecase, lives next to its arazzo file) -cd ../usecase1/workflows && ./run-arazzo.sh # AMI meter data -cd ../../usecase2/workflows && ./run-arazzo.sh # ARR filing +# 3. Run the workflows +cd ../usecase1/workflows && ./run-arazzo.sh +cd ../../usecase2/workflows && ./run-arazzo.sh # Single workflow, verbose: -./run-arazzo.sh -w select-through-status -v +./run-arazzo.sh -w select-through-confirm -v ``` ## Repository Structure -``` -data-exchange/ -├── config/ # Shared Onix adapter configs -│ ├── local-simple-bap.yaml # BAP adapter (port 8081) -│ ├── local-simple-bpp.yaml # BPP adapter (port 8082) -│ └── local-simple-routing-*.yaml # Routing rules -├── install/ -│ ├── docker-compose-adapter.yml # Default stack (shared docker bridge) -│ ├── docker-compose-over-internet.yml # Isolated-network stack + path router -│ ├── Caddyfile # path router config (:9000) -│ └── ngrok.yml.example # template for ngrok agent -├── scripts/ -│ ├── generate_postman_collection.py # Postman collection generator -│ └── subscribe-catalog.sh # one-time catalog-service subscribe (network setup) -├── usecase1/ # AMISP → Discom (AMI meter data) -│ ├── examples/ # beckn 2.0 JSON payloads -│ ├── postman/ # data-exchange-usecase1.{BAP,BPP}-DEG -│ └── workflows/ -│ ├── data-exchange.arazzo.yaml # Arazzo 1.0.1 workflow spec -│ └── run-arazzo.sh # Arazzo runner (local or PUBLIC_URL) -└── usecase2/ # Discom → Regulator (ARR filing) - ├── examples/ - ├── postman/ - └── workflows/ - ├── data-exchange.arazzo.yaml - └── run-arazzo.sh -``` +- `config/` - shared adapter configs +- `install/` - Docker Compose and ngrok setup +- `scripts/` - helper scripts +- `usecase1/` - AMI meter data exchange +- `usecase2/` - ARR filing exchange ## Network Configuration | Parameter | Value | -|-----------|-------| +|---|---| | Network ID | `nfh.global/testnet-deg` | | BAP ID | `bap.example.com` | | BPP ID | `bpp.example.com` | | BAP Adapter | `http://localhost:8081/bap/caller` | | BPP Adapter | `http://localhost:8082/bpp/caller` | -## Run end-to-end over the public internet - -By default (`docker-compose-adapter.yml`) BAP and BPP share a docker bridge -and reach each other by container DNS names (`onix-bap`, `onix-bpp`). To -exercise the protocol with both sides talking strictly over the public -internet, the devkit ships an alternative compose file that puts the two -sides on **separate, mutually unreachable** docker networks and exposes them -through a single ngrok tunnel. +## Run over the public internet -``` - internet - │ - https:/// (ngrok) - │ - :9000 (host) - │ - ┌──beckn-router──┐ (only container on both nets) - │ │ - /bap/* │ │ /bpp/* - │ │ - ┌── bap_side ────┘ └──── bpp_side ──┐ - │ onix-bap:8081 ✕ no link ✕ onix-bpp:8082│ - │ sandbox-bap:3001 sandbox-bpp:3002 - │ redis redis │ - └─────────────────────────────────────────────────-┘ -``` - -Beckn URIs become: - -``` -bapUri = https:///bap/receiver -bppUri = https:///bpp/receiver -``` - -Body-digest signing is unaffected by the URL change, so registry entries for -`bap.example.com` / `bpp.example.com` keep working as-is. - -### One-time prerequisites - -1. ngrok account + authtoken (free plan is enough). -2. Copy the ngrok config template and fill in your token: - - ```bash - mkdir -p "$HOME/Library/Application Support/ngrok" - cp install/ngrok.yml.example "$HOME/Library/Application Support/ngrok/ngrok.yml" - # edit the file: paste your authtoken; optionally set `domain:` to your - # reserved ngrok-free.dev subdomain for a stable URL across restarts. - ``` - - Validate: `ngrok config check`. - -### Per-session steps - -```bash -# 1. Stop the default stack if it's running (the airtight stack uses the -# same host ports 8081/8082/3001/3002; only one stack at a time). -cd install -docker compose -f docker-compose-adapter.yml down 2>/dev/null - -# 2. Bring up the airtight stack (separate networks per side + router on :9000) -docker compose -f docker-compose-over-internet.yml up -d -curl -s http://localhost:9000 # → "beckn-router ok" - -# 3. (Optional) Verify isolation: from inside bap_side, onix-bpp must be NXDOMAIN -docker run --rm --network install_bap_side busybox \ - sh -c 'nslookup onix-bpp; nc -zv -w 3 onix-bpp 8082' -# Expected: "can't find onix-bpp: NXDOMAIN" and "nc: bad address 'onix-bpp'" - -# 4. Open the tunnel (foreground in its own terminal, or backgrounded) -ngrok start --all -# Note the public URL printed by ngrok; export it: -export PUBLIC_URL=https://.ngrok-free.dev - -# 5. Run the Arazzo workflows over the public URL. Each usecase's runner sits -# next to its arazzo file under workflows/. When PUBLIC_URL is set the -# runner materialises a tmpdir with a copy of the arazzo file and patched -# example payloads (docker-DNS bapUri/bppUri rewritten to the public URL) -# before invoking Respect — example files on disk stay untouched. -cd ../usecase1/workflows -PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh - -cd ../../usecase2/workflows -PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh - -# Single workflow, verbose: -PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh -w select-through-status -v -``` - -A passing run proves end-to-end internet traversal: there is no docker-bridge -fallback between the two halves, so every BAP↔BPP hop must have travelled -through the public URL fronting the router. - -### Verify the traffic really left the box - -Open the ngrok inspector at `http://localhost:4040`. For each transactional -step you should see three rows recorded by the public tunnel: - -| Direction | Path | -|---|---| -| your curl → BAP | `POST /bap/caller/` | -| **BAP → BPP (over internet)** | `POST /bpp/receiver/` | -| **BPP → BAP callback (over internet)** | `POST /bap/receiver/on_` | - -### Notes and limitations - -- The two URIs share a hostname and differ only by path prefix because - ngrok's free plan reserves a single domain per account. From the beckn - protocol's point of view they are still two distinct URIs and the test is - valid. For two truly distinct hostnames, switch the tunnel to Cloudflare - Tunnel (`cloudflared tunnel --url http://localhost:8081` and `:8082`, two - free random `*.trycloudflare.com` URLs) or move ngrok to a paid plan. -- The `discover` step calls out to an external discovery service - (`34.14.221.66.sslip.io`); its outcome is independent of the over-internet - wiring tested here. (The catalog-service subscription, also external, is - not part of the transactional suite — see - `scripts/subscribe-catalog.sh`.) - -### Cleanup - -```bash -cd install -docker compose -f docker-compose-over-internet.yml down -# kill the ngrok agent in its terminal (Ctrl-C) or: pkill -f 'ngrok start' -``` - -### Cleanup - -```bash -# Stop the proxy and tunnel -cd install -docker compose -f docker-compose-adapter.yml --profile internet down -# kill the ngrok agent in its terminal (Ctrl-C) or: pkill -f 'ngrok start' -``` +The devkit also ships an isolated Docker setup that routes traffic through a single public URL. See `install/docker-compose-over-internet.yml` and the workflow runner notes in each use case folder. -## Regenerating Postman Collections +## Regenerate Postman Collections ```bash -python3 scripts/generate_postman_collection.py --role BAP # both use cases -python3 scripts/generate_postman_collection.py --role BPP # both use cases -python3 scripts/generate_postman_collection.py --role BAP --usecase usecase1 # one use case +python3 scripts/generate_postman_collection.py --role BAP +python3 scripts/generate_postman_collection.py --role BPP +python3 scripts/generate_postman_collection.py --role BAP --usecase usecase1 ``` ## Related -- [DDM DatasetItem Schema](https://github.com/beckn/DDM/tree/main/specification/schema/DatasetItem/v1) — `dataPayload` and `accessMethod` -- [IES Core Schemas](https://github.com/beckn/DEG/tree/ies-specs/specification/external/schema/ies/core) — IES_Report, IES_Program, IES_Policy (OpenADR 3.1.0) -- [IES ARR Schemas](https://github.com/beckn/DEG/tree/ies-specs/specification/external/schema/ies/arr) — IES_ARR_Filing, IES_ARR_FiscalYear, IES_ARR_LineItem -- [India Energy Stack (ies-docs)](https://github.com/India-Energy-Stack/ies-docs) — Upstream IES documentation -- beckn/beckn-onix#655 — ONIX regex engine issue with OpenADR duration patterns +- [DDM DatasetItem Schema](https://github.com/beckn/DDM/tree/main/specification/schema/DatasetItem/v1) +- [IES Core Schemas](https://github.com/India-Energy-Stack/ies-docs) diff --git a/devkits/data-exchange/install/docker-compose-over-internet.yml b/devkits/data-exchange/install/docker-compose-over-internet.yml index 9449ede7..3847d5b0 100644 --- a/devkits/data-exchange/install/docker-compose-over-internet.yml +++ b/devkits/data-exchange/install/docker-compose-over-internet.yml @@ -23,11 +23,12 @@ # and enter your authtoken from ngrok website and start ngrok. This exposes port 9000. # ngrok start --all --config ngrok.yml -# With local env, you can run end--to-end automated workflows using arazzo scripts from workflow folder. -# Set PUBLIC_URL to the external URL shown in ngrok dashboard, and run all workflows +# With local env, you can run end-to-end automated workflows using the +# Arazzo scripts from the workflow folder. +# Set PUBLIC_URL to the external URL shown in ngrok dashboard, and run all workflows: # PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh -# for runnig specific workflows e.g. select-through-status, you can run -# PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh -w select-through-status -v +# For a specific workflow, use for example: +# PUBLIC_URL=$PUBLIC_URL ./run-arazzo.sh -w select-through-confirm -v services: # ---------- BAP side ---------- diff --git a/devkits/data-exchange/usecase1/examples/on-confirm-response.json b/devkits/data-exchange/usecase1/examples/on-confirm-response.json index eb59bac9..c8226154 100644 --- a/devkits/data-exchange/usecase1/examples/on-confirm-response.json +++ b/devkits/data-exchange/usecase1/examples/on-confirm-response.json @@ -29,7 +29,7 @@ "id": "commitment-ami-meter-001", "status": { "descriptor": { - "code": "ACTIVE" + "code": "CLOSED" } }, "resources": [ @@ -53,29 +53,100 @@ "resourceIds": [ "ds-ami-meter-data-blr-zone-a-q1-2026" ] - }, - "commitmentAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-ami-meter-data-blr-zone-a-q1-2026", - "schema:name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026", - "schema:temporalCoverage": "2026-01-01/2026-03-31", - "dataset:accessMethod": "INLINE" } } ], - "consideration": [ + "performance": [ { - "id": "consideration-ami-existing-contract", + "id": "perf-ami-meter-delivery-001", "status": { - "code": "ACTIVE" + "code": "DELIVERY_COMPLETE", + "name": "AMI meter data delivered inline via dataPayload" }, - "considerationAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/PriceSpecification/v2.1/context.jsonld", - "@type": "PriceSpecification", - "currency": "INR", - "value": 0, - "description": "Covered under existing AMI services contract (BESCOM-AMISP-2025-001)" + "commitmentIds": [ + "commitment-ami-meter-001" + ], + "performanceAttributes": { + "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", + "@type": "DatasetItem", + "schema:identifier": "ds-ami-meter-data-blr-zone-a-q1-2026", + "schema:name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026", + "schema:temporalCoverage": "2026-01-01/2026-03-31", + "dataset:accessMethod": "INLINE", + "dataPayload": { + "@context": "https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/core/context.jsonld", + "@type": "IES_Report", + "id": "rpt-ami-blr-zone-a-20260401", + "objectType": "REPORT", + "createdDateTime": "2026-04-01T09:20:00Z", + "modificationDateTime": "2026-04-01T09:20:00Z", + "programID": "prog-bescom-ami-metering-2026", + "eventID": "evt-ami-scheduled-read-20260401", + "clientName": "IntelliGrid-VEN-BLR-ZONE-A", + "clientID": "intelligrid-ven-blr-zone-a-001", + "reportName": "AMI_15min_usage_BLR_ZoneA_20260401", + "payloadDescriptors": [ + { + "objectType": "REPORT_PAYLOAD_DESCRIPTOR", + "payloadType": "USAGE", + "readingType": "DIRECT_READ", + "units": "KWH", + "accuracy": 0.5, + "confidence": 98 + } + ], + "resources": [ + { + "resourceName": "METER-BESCOM-SM-2025-654321", + "intervalPeriod": { + "start": "2026-04-01T00:00:00+05:30", + "duration": "PT15M" + }, + "intervals": [ + { + "id": 0, + "intervalPeriod": { + "start": "2026-04-01T00:00:00+05:30", + "duration": "PT15M" + }, + "payloads": [ + { "type": "USAGE", "values": [0.42] } + ] + }, + { + "id": 1, + "intervalPeriod": { + "start": "2026-04-01T00:15:00+05:30", + "duration": "PT15M" + }, + "payloads": [ + { "type": "USAGE", "values": [0.38] } + ] + }, + { + "id": 2, + "intervalPeriod": { + "start": "2026-04-01T00:30:00+05:30", + "duration": "PT15M" + }, + "payloads": [ + { "type": "USAGE", "values": [0.35] } + ] + }, + { + "id": 3, + "intervalPeriod": { + "start": "2026-04-01T00:45:00+05:30", + "duration": "PT15M" + }, + "payloads": [ + { "type": "USAGE", "values": [0.31] } + ] + } + ] + } + ] + } } } ], @@ -84,29 +155,31 @@ "id": "intelligrid-amisp-001", "descriptor": { "name": "IntelliGrid AMI Services" - }, - "participantAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld", - "@type": "Organization", - "id": "intelligrid-amisp-001", - "name": "IntelliGrid AMI Services" } }, { "id": "bescom-discom-001", "descriptor": { "name": "BESCOM - Distribution Company" - }, - "participantAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld", - "@type": "Organization", - "id": "bescom-discom-001", - "name": "BESCOM - Distribution Company" } } ], - "performance": [], - "settlements": [] + "settlements": [ + { + "id": "settlement-payment-completed", + "considerationId": "consideration-ami-existing-contract", + "status": "COMPLETE", + "settlementAttributes": { + "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", + "@type": "Payment", + "beckn:paymentStatus": "COMPLETED", + "beckn:amount": { + "currency": "INR", + "value": 0 + } + } + } + ] } } } diff --git a/devkits/data-exchange/usecase1/examples/on-status-response-processing.json b/devkits/data-exchange/usecase1/examples/on-status-response-processing.json deleted file mode 100644 index f060262e..00000000 --- a/devkits/data-exchange/usecase1/examples/on-status-response-processing.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "0d1e2f3a-4b5c-6789-3456-789012345678", - "timestamp": "2026-04-01T09:20:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "AMI Meter Data Exchange", - "shortDesc": "AMI meter data exchange under existing AMISP contract" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-ami-meter-001", - "status": { - "descriptor": { - "code": "ACTIVE" - } - }, - "resources": [ - { - "id": "ds-ami-meter-data-blr-zone-a-q1-2026", - "descriptor": { - "name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026" - }, - "quantity": { - "unitText": "report", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-ami-meter-data-inline", - "descriptor": { - "name": "AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026" - }, - "resourceIds": [ - "ds-ami-meter-data-blr-zone-a-q1-2026" - ] - } - } - ], - "performance": [ - { - "id": "perf-ami-meter-preparation-001", - "status": { - "code": "PROCESSING", - "name": "AMI meter data aggregation and validation in progress" - }, - "commitmentIds": [ - "commitment-ami-meter-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-ami-meter-data-blr-zone-a-q1-2026", - "schema:name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026", - "schema:temporalCoverage": "2026-01-01/2026-03-31" - } - } - ], - "participants": [ - { - "id": "intelligrid-amisp-001", - "descriptor": { - "name": "IntelliGrid AMI Services" - } - }, - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Distribution Company" - } - } - ], - "settlements": [] - } - } -} diff --git a/devkits/data-exchange/usecase1/examples/on-status-response-ready-inline.json b/devkits/data-exchange/usecase1/examples/on-status-response-ready-inline.json deleted file mode 100644 index ace3406b..00000000 --- a/devkits/data-exchange/usecase1/examples/on-status-response-ready-inline.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "1e2f3a4b-5c6d-7890-4567-890123456789", - "timestamp": "2026-04-01T09:25:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "AMI Meter Data Exchange", - "shortDesc": "AMI meter data exchange under existing AMISP contract" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-ami-meter-001", - "status": { - "descriptor": { - "code": "CLOSED" - } - }, - "resources": [ - { - "id": "ds-ami-meter-data-blr-zone-a-q1-2026", - "descriptor": { - "name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026" - }, - "quantity": { - "unitText": "report", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-ami-meter-data-inline", - "descriptor": { - "name": "AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026" - }, - "resourceIds": [ - "ds-ami-meter-data-blr-zone-a-q1-2026" - ] - } - } - ], - "performance": [ - { - "id": "perf-ami-meter-delivery-001", - "status": { - "code": "DELIVERY_COMPLETE", - "name": "AMI meter data delivered inline via dataPayload" - }, - "commitmentIds": [ - "commitment-ami-meter-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-ami-meter-data-blr-zone-a-q1-2026", - "schema:name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026", - "schema:temporalCoverage": "2026-01-01/2026-03-31", - "dataset:accessMethod": "INLINE", - "dataPayload": { - "@context": "https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/core/context.jsonld", - "@type": "IES_Report", - "id": "rpt-ami-blr-zone-a-20260401", - "objectType": "REPORT", - "createdDateTime": "2026-04-01T09:20:00Z", - "modificationDateTime": "2026-04-01T09:20:00Z", - "programID": "prog-bescom-ami-metering-2026", - "eventID": "evt-ami-scheduled-read-20260401", - "clientName": "IntelliGrid-VEN-BLR-ZONE-A", - "clientID": "intelligrid-ven-blr-zone-a-001", - "reportName": "AMI_15min_usage_BLR_ZoneA_20260401", - "payloadDescriptors": [ - { - "objectType": "REPORT_PAYLOAD_DESCRIPTOR", - "payloadType": "USAGE", - "readingType": "DIRECT_READ", - "units": "KWH", - "accuracy": 0.5, - "confidence": 98 - } - ], - "resources": [ - { - "resourceName": "METER-BESCOM-SM-2025-654321", - "intervalPeriod": { - "start": "2026-04-01T00:00:00+05:30", - "duration": "PT15M" - }, - "intervals": [ - { - "id": 0, - "intervalPeriod": { - "start": "2026-04-01T00:00:00+05:30", - "duration": "PT15M" - }, - "payloads": [ - { "type": "USAGE", "values": [0.42] } - ] - }, - { - "id": 1, - "intervalPeriod": { - "start": "2026-04-01T00:15:00+05:30", - "duration": "PT15M" - }, - "payloads": [ - { "type": "USAGE", "values": [0.38] } - ] - }, - { - "id": 2, - "intervalPeriod": { - "start": "2026-04-01T00:30:00+05:30", - "duration": "PT15M" - }, - "payloads": [ - { "type": "USAGE", "values": [0.35] } - ] - }, - { - "id": 3, - "intervalPeriod": { - "start": "2026-04-01T00:45:00+05:30", - "duration": "PT15M" - }, - "payloads": [ - { "type": "USAGE", "values": [0.31] } - ] - } - ] - } - ] - } - } - } - ], - "participants": [ - { - "id": "intelligrid-amisp-001", - "descriptor": { - "name": "IntelliGrid AMI Services" - } - }, - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Distribution Company" - } - } - ], - "settlements": [ - { - "id": "settlement-payment-completed", - "considerationId": "consideration-ami-existing-contract", - "status": "COMPLETE", - "settlementAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", - "@type": "Payment", - "beckn:paymentStatus": "COMPLETED", - "beckn:amount": { - "currency": "INR", - "value": 0 - } - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase1/examples/on-status-response-ready-url.json b/devkits/data-exchange/usecase1/examples/on-status-response-ready-url.json deleted file mode 100644 index 6c60d6d8..00000000 --- a/devkits/data-exchange/usecase1/examples/on-status-response-ready-url.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "1e2f3a4b-5c6d-7890-4567-890123456780", - "timestamp": "2026-04-01T09:25:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "AMI Meter Data Exchange", - "shortDesc": "AMI meter data exchange under existing AMISP contract" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-ami-meter-001", - "status": { - "descriptor": { - "code": "CLOSED" - } - }, - "resources": [ - { - "id": "ds-ami-meter-data-blr-zone-a-q1-2026", - "descriptor": { - "name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026" - }, - "quantity": { - "unitText": "report", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-ami-meter-data-inline", - "descriptor": { - "name": "AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026" - }, - "resourceIds": [ - "ds-ami-meter-data-blr-zone-a-q1-2026" - ] - } - } - ], - "performance": [ - { - "id": "perf-ami-meter-delivery-001", - "status": { - "code": "DELIVERY_COMPLETE", - "name": "AMI meter data available for download" - }, - "commitmentIds": [ - "commitment-ami-meter-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-ami-meter-data-blr-zone-a-q1-2026", - "schema:name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026", - "schema:temporalCoverage": "2026-01-01/2026-03-31", - "dataset:accessMethod": "DOWNLOAD", - "dataset:exportFormat": "JSON", - "dataset:downloadUrl": "https://intelligrid.example.in/exports/ami-meter-data-blr-zone-a-q1-2026.json", - "dataset:downloadExpiresAt": "2026-04-08T09:25:05Z", - "dataset:fileSizeBytes": 245000, - "dataset:checksum": { - "algorithm": "SHA-256", - "value": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2" - } - } - } - ], - "participants": [ - { - "id": "intelligrid-amisp-001", - "descriptor": { - "name": "IntelliGrid AMI Services" - } - }, - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Distribution Company" - } - } - ], - "settlements": [ - { - "id": "settlement-payment-completed", - "considerationId": "consideration-ami-existing-contract", - "status": "COMPLETE", - "settlementAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", - "@type": "Payment", - "beckn:paymentStatus": "COMPLETED", - "beckn:amount": { - "currency": "INR", - "value": 0 - } - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase1/examples/status-request.json b/devkits/data-exchange/usecase1/examples/status-request.json deleted file mode 100644 index 4ddb7459..00000000 --- a/devkits/data-exchange/usecase1/examples/status-request.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "9c0d1e2f-3a4b-5678-2345-678901234567", - "timestamp": "2026-04-01T09:20:00Z" - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-ami-meter-001", - "status": { - "descriptor": { - "code": "ACTIVE" - } - }, - "resources": [ - { - "id": "ds-ami-meter-data-blr-zone-a-q1-2026", - "descriptor": { - "name": "IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026" - }, - "quantity": { - "unitText": "report", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-ami-meter-data-inline", - "descriptor": { - "name": "AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026" - }, - "resourceIds": [ - "ds-ami-meter-data-blr-zone-a-q1-2026" - ] - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BAP-DEG.postman_collection.json b/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BAP-DEG.postman_collection.json index 3d99fca5..aaa154fa 100644 --- a/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BAP-DEG.postman_collection.json +++ b/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BAP-DEG.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "ddec813b-3183-45e5-aa2a-560719a2b87b", + "_postman_id": "3e9d9174-c758-4de1-a3e6-56619879b329", "name": "data-exchange-usecase1.BAP-DEG", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": "Postman collection for Buyer Application Platform implementing data-exchange-usecase1 APIs based on Beckn Protocol v2" @@ -165,38 +165,6 @@ "response": [] } ] - }, - { - "name": "status", - "item": [ - { - "name": "status-request", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\"\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bap_adapter_url}}/status", - "host": [ - "{{bap_adapter_url}}" - ], - "path": [ - "status" - ] - }, - "description": "Status request: status-request" - }, - "response": [] - } - ] } ], "event": [ diff --git a/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BPP-DEG.postman_collection.json b/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BPP-DEG.postman_collection.json index f8234549..44212a63 100644 --- a/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BPP-DEG.postman_collection.json +++ b/devkits/data-exchange/usecase1/postman/data-exchange-usecase1.BPP-DEG.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "a6b84332-f16d-421b-9aa4-b79945951d53", + "_postman_id": "a2e6dec2-2b91-4666-92e8-9e406519faaf", "name": "data-exchange-usecase1.BPP-DEG", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": "Postman collection for Buyer Provider Platform implementing data-exchange-usecase1 APIs based on Beckn Protocol v2" @@ -48,7 +48,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_confirm\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Exchange\",\n \"shortDesc\": \"AMI meter data exchange under existing AMISP contract\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n },\n \"commitmentAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"schema:name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\",\n \"schema:temporalCoverage\": \"2026-01-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\"\n }\n }\n ],\n \"consideration\": [\n {\n \"id\": \"consideration-ami-existing-contract\",\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"considerationAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/PriceSpecification/v2.1/context.jsonld\",\n \"@type\": \"PriceSpecification\",\n \"currency\": \"INR\",\n \"value\": 0,\n \"description\": \"Covered under existing AMI services contract (BESCOM-AMISP-2025-001)\"\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"intelligrid-amisp-001\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Services\"\n },\n \"participantAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld\",\n \"@type\": \"Organization\",\n \"id\": \"intelligrid-amisp-001\",\n \"name\": \"IntelliGrid AMI Services\"\n }\n },\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Distribution Company\"\n },\n \"participantAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld\",\n \"@type\": \"Organization\",\n \"id\": \"bescom-discom-001\",\n \"name\": \"BESCOM - Distribution Company\"\n }\n }\n ],\n \"performance\": [],\n \"settlements\": []\n }\n }\n}", + "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_confirm\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Exchange\",\n \"shortDesc\": \"AMI meter data exchange under existing AMISP contract\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-ami-meter-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"AMI meter data delivered inline via dataPayload\"\n },\n \"commitmentIds\": [\n \"commitment-ami-meter-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"schema:name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\",\n \"schema:temporalCoverage\": \"2026-01-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\",\n \"dataPayload\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/core/context.jsonld\",\n \"@type\": \"IES_Report\",\n \"id\": \"rpt-ami-blr-zone-a-20260401\",\n \"objectType\": \"REPORT\",\n \"createdDateTime\": \"2026-04-01T09:20:00Z\",\n \"modificationDateTime\": \"2026-04-01T09:20:00Z\",\n \"programID\": \"prog-bescom-ami-metering-2026\",\n \"eventID\": \"evt-ami-scheduled-read-20260401\",\n \"clientName\": \"IntelliGrid-VEN-BLR-ZONE-A\",\n \"clientID\": \"intelligrid-ven-blr-zone-a-001\",\n \"reportName\": \"AMI_15min_usage_BLR_ZoneA_20260401\",\n \"payloadDescriptors\": [\n {\n \"objectType\": \"REPORT_PAYLOAD_DESCRIPTOR\",\n \"payloadType\": \"USAGE\",\n \"readingType\": \"DIRECT_READ\",\n \"units\": \"KWH\",\n \"accuracy\": 0.5,\n \"confidence\": 98\n }\n ],\n \"resources\": [\n {\n \"resourceName\": \"METER-BESCOM-SM-2025-654321\",\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:00:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"intervals\": [\n {\n \"id\": 0,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:00:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.42\n ]\n }\n ]\n },\n {\n \"id\": 1,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:15:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.38\n ]\n }\n ]\n },\n {\n \"id\": 2,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:30:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.35\n ]\n }\n ]\n },\n {\n \"id\": 3,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:45:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.31\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"intelligrid-amisp-001\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Services\"\n }\n },\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Distribution Company\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-ami-existing-contract\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", "options": { "raw": { "language": "json" @@ -134,92 +134,6 @@ } ] }, - { - "name": "on_status", - "item": [ - { - "name": "on-status-response-processing", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Exchange\",\n \"shortDesc\": \"AMI meter data exchange under existing AMISP contract\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-ami-meter-preparation-001\",\n \"status\": {\n \"code\": \"PROCESSING\",\n \"name\": \"AMI meter data aggregation and validation in progress\"\n },\n \"commitmentIds\": [\n \"commitment-ami-meter-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"schema:name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\",\n \"schema:temporalCoverage\": \"2026-01-01/2026-03-31\"\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"intelligrid-amisp-001\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Services\"\n }\n },\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Distribution Company\"\n }\n }\n ],\n \"settlements\": []\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-processing" - }, - "response": [] - }, - { - "name": "on-status-response-ready-inline", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Exchange\",\n \"shortDesc\": \"AMI meter data exchange under existing AMISP contract\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-ami-meter-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"AMI meter data delivered inline via dataPayload\"\n },\n \"commitmentIds\": [\n \"commitment-ami-meter-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"schema:name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\",\n \"schema:temporalCoverage\": \"2026-01-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\",\n \"dataPayload\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/core/context.jsonld\",\n \"@type\": \"IES_Report\",\n \"id\": \"rpt-ami-blr-zone-a-20260401\",\n \"objectType\": \"REPORT\",\n \"createdDateTime\": \"2026-04-01T09:20:00Z\",\n \"modificationDateTime\": \"2026-04-01T09:20:00Z\",\n \"programID\": \"prog-bescom-ami-metering-2026\",\n \"eventID\": \"evt-ami-scheduled-read-20260401\",\n \"clientName\": \"IntelliGrid-VEN-BLR-ZONE-A\",\n \"clientID\": \"intelligrid-ven-blr-zone-a-001\",\n \"reportName\": \"AMI_15min_usage_BLR_ZoneA_20260401\",\n \"payloadDescriptors\": [\n {\n \"objectType\": \"REPORT_PAYLOAD_DESCRIPTOR\",\n \"payloadType\": \"USAGE\",\n \"readingType\": \"DIRECT_READ\",\n \"units\": \"KWH\",\n \"accuracy\": 0.5,\n \"confidence\": 98\n }\n ],\n \"resources\": [\n {\n \"resourceName\": \"METER-BESCOM-SM-2025-654321\",\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:00:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"intervals\": [\n {\n \"id\": 0,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:00:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.42\n ]\n }\n ]\n },\n {\n \"id\": 1,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:15:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.38\n ]\n }\n ]\n },\n {\n \"id\": 2,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:30:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.35\n ]\n }\n ]\n },\n {\n \"id\": 3,\n \"intervalPeriod\": {\n \"start\": \"2026-04-01T00:45:00+05:30\",\n \"duration\": \"PT15M\"\n },\n \"payloads\": [\n {\n \"type\": \"USAGE\",\n \"values\": [\n 0.31\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"intelligrid-amisp-001\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Services\"\n }\n },\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Distribution Company\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-ami-existing-contract\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-ready-inline" - }, - "response": [] - }, - { - "name": "on-status-response-ready-url", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Exchange\",\n \"shortDesc\": \"AMI meter data exchange under existing AMISP contract\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-ami-meter-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\"\n },\n \"quantity\": {\n \"unitText\": \"report\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-ami-meter-data-inline\",\n \"descriptor\": {\n \"name\": \"AMI Meter Data Inline Delivery - Bengaluru Zone A Q1 2026\"\n },\n \"resourceIds\": [\n \"ds-ami-meter-data-blr-zone-a-q1-2026\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-ami-meter-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"AMI meter data available for download\"\n },\n \"commitmentIds\": [\n \"commitment-ami-meter-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-ami-meter-data-blr-zone-a-q1-2026\",\n \"schema:name\": \"IntelliGrid AMI Meter Data - Bengaluru Zone A - Q1 2026\",\n \"schema:temporalCoverage\": \"2026-01-01/2026-03-31\",\n \"dataset:accessMethod\": \"DOWNLOAD\",\n \"dataset:exportFormat\": \"JSON\",\n \"dataset:downloadUrl\": \"https://intelligrid.example.in/exports/ami-meter-data-blr-zone-a-q1-2026.json\",\n \"dataset:downloadExpiresAt\": \"2026-04-08T09:25:05Z\",\n \"dataset:fileSizeBytes\": 245000,\n \"dataset:checksum\": {\n \"algorithm\": \"SHA-256\",\n \"value\": \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\"\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"intelligrid-amisp-001\",\n \"descriptor\": {\n \"name\": \"IntelliGrid AMI Services\"\n }\n },\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Distribution Company\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-ami-existing-contract\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-ready-url" - }, - "response": [] - } - ] - }, { "name": "publish", "item": [ diff --git a/devkits/data-exchange/usecase1/workflows/data-exchange.arazzo.yaml b/devkits/data-exchange/usecase1/workflows/data-exchange.arazzo.yaml index b9954e51..c4d849f3 100644 --- a/devkits/data-exchange/usecase1/workflows/data-exchange.arazzo.yaml +++ b/devkits/data-exchange/usecase1/workflows/data-exchange.arazzo.yaml @@ -3,36 +3,22 @@ info: title: Energy Data Exchange Workflow - Use Case 1 (AMI Meter Data) version: 1.0.0 description: > - End-to-end Beckn 2.0 workflow for inline energy data exchange via - DatasetItem with IES_Report dataPayload. - Scenario: IntelliGrid AMI Services (AMISP) publishes meter data, - BESCOM (discom) discovers and acquires it with in-message delivery. + End-to-end Beckn 2.0 workflow for inline AMI meter data exchange. + The main delivery happens in on_confirm with DatasetItem dataPayload. Run via the workflow runner (from usecase1/workflows/): - Local mode (default, against docker-compose-adapter.yml on localhost): + Local mode: ./run-arazzo.sh - ./run-arazzo.sh -w select-through-status -v + ./run-arazzo.sh -w select-through-confirm -v - Over-internet mode (against the public ngrok URL fronting - docker-compose-over-internet.yml): + Over-internet mode: PUBLIC_URL=https://.ngrok-free.dev ./run-arazzo.sh - Direct respect invocation (advanced; no on-the-fly URI rewrites): + Direct respect invocation: npx @redocly/cli respect data-exchange.arazzo.yaml \ --severity 'SCHEMA_CHECK=off' -v - Available workflows: publish-catalog, discover, select-through-status, - data-exchange-cancellation - - The catalog-service subscription is a one-time network-level setup - call (not part of the transactional flow); see - ../../scripts/subscribe-catalog.sh. - - Override server URLs (optional, defaults in x-serverUrl): - -S beckn-bap-caller=http://localhost:8081/bap/caller \ - -S beckn-bpp-caller=http://localhost:8082/bpp/caller - sourceDescriptions: - name: beckn-bap-caller type: openapi @@ -67,8 +53,8 @@ workflows: payload: $ref: "../examples/discover-request.json" - - workflowId: select-through-status - summary: Discom selects, confirms, and receives AMI meter data delivery + - workflowId: select-through-confirm + summary: Discom selects, confirms, and receives AMI meter data inline on confirm steps: - stepId: select description: Discom selects AMI meter data dataset for inline delivery @@ -79,7 +65,7 @@ workflows: $ref: "../examples/select-request.json" - stepId: on-select - description: AMISP responds with terms for selected dataset (existing contract) + description: AMISP responds with terms for the selected dataset operationId: beckn-bpp-caller.onSelect requestBody: contentType: application/json @@ -95,7 +81,7 @@ workflows: $ref: "../examples/init-request.json" - stepId: on-init - description: BPP confirms contract is ready for payment + description: BPP confirms the contract is ready for confirmation operationId: beckn-bpp-caller.onInit requestBody: contentType: application/json @@ -103,7 +89,7 @@ workflows: $ref: "../examples/on-init-response.json" - stepId: confirm - description: BAP confirms contract with payment settlement + description: BAP confirms the contract and expects inline delivery operationId: beckn-bap-caller.confirm requestBody: contentType: application/json @@ -111,51 +97,13 @@ workflows: $ref: "../examples/confirm-request.json" - stepId: on-confirm - description: BPP acknowledges payment and begins credential preparation + description: BPP confirms the contract and delivers AMI meter data inline operationId: beckn-bpp-caller.onConfirm requestBody: contentType: application/json payload: $ref: "../examples/on-confirm-response.json" - - stepId: status - description: BAP checks delivery status - operationId: beckn-bap-caller.status - requestBody: - contentType: application/json - payload: - $ref: "../examples/status-request.json" - - - stepId: on-status-processing - description: BPP reports credential verification in progress - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-processing.json" - - - stepId: on-status-ready-url - description: > - BPP delivers data via URL download link. The performanceAttributes - contain dataset:downloadUrl, dataset:checksum, and dataset:fileSizeBytes - for the consumer to fetch the data off-beckn. - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-ready-url.json" - - - stepId: on-status-ready-inline - description: > - AMISP delivers AMI meter data inline via dataPayload. - This is the key step demonstrating DatasetItem's in-message - delivery with an IES_Report (OpenADR telemetry) embedded in dataPayload. - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-ready-inline.json" - - workflowId: data-exchange-cancellation summary: Contract cancellation with refund steps: diff --git a/devkits/data-exchange/usecase1/workflows/run-arazzo.sh b/devkits/data-exchange/usecase1/workflows/run-arazzo.sh index 13fcd91b..2edc58ba 100755 --- a/devkits/data-exchange/usecase1/workflows/run-arazzo.sh +++ b/devkits/data-exchange/usecase1/workflows/run-arazzo.sh @@ -5,7 +5,7 @@ # # Usage (from usecase1/workflows/): # ./run-arazzo.sh # run all workflows -# ./run-arazzo.sh -w select-through-status -v # single workflow, verbose +# ./run-arazzo.sh -w select-through-confirm -v # single workflow, verbose # # Over-the-internet mode: # PUBLIC_URL=https://your-domain.ngrok-free.dev ./run-arazzo.sh diff --git a/devkits/data-exchange/usecase2/examples/on-confirm-response.json b/devkits/data-exchange/usecase2/examples/on-confirm-response.json index 6ad1c53a..eb5f39ef 100644 --- a/devkits/data-exchange/usecase2/examples/on-confirm-response.json +++ b/devkits/data-exchange/usecase2/examples/on-confirm-response.json @@ -29,7 +29,7 @@ "id": "commitment-arr-filing-001", "status": { "descriptor": { - "code": "ACTIVE" + "code": "CLOSED" } }, "resources": [ @@ -53,29 +53,66 @@ "resourceIds": [ "ds-bescom-arr-filing-fy2025-26" ] - }, - "commitmentAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-bescom-arr-filing-fy2025-26", - "schema:name": "BESCOM ARR Filing - FY 2025-26", - "schema:temporalCoverage": "2025-04-01/2026-03-31", - "dataset:accessMethod": "INLINE" } } ], - "consideration": [ + "performance": [ { - "id": "consideration-arr-regulatory-mandate", + "id": "perf-arr-filing-delivery-001", "status": { - "code": "ACTIVE" + "code": "DELIVERY_COMPLETE", + "name": "ARR filing delivered inline via dataPayload" }, - "considerationAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/PriceSpecification/v2.1/context.jsonld", - "@type": "PriceSpecification", - "currency": "INR", - "value": 0, - "description": "Mandatory regulatory filing - no commercial consideration" + "commitmentIds": [ + "commitment-arr-filing-001" + ], + "performanceAttributes": { + "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", + "@type": "DatasetItem", + "schema:identifier": "ds-bescom-arr-filing-fy2025-26", + "schema:name": "BESCOM ARR Filing - FY 2025-26", + "schema:temporalCoverage": "2025-04-01/2026-03-31", + "dataset:accessMethod": "INLINE", + "dataPayload": { + "@context": "https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/arr/context.jsonld", + "@type": "IES_ARR_Filing", + "id": "arr-filing-bescom-fy2025-26", + "objectType": "FILING", + "createdDateTime": "2026-04-01T09:20:00Z", + "modificationDateTime": "2026-04-01T09:20:00Z", + "fiscalYear": "2025-26", + "utilityName": "BESCOM", + "reportName": "ARR_Filing_FY2025_26", + "payloadDescriptors": [ + { + "objectType": "FILING_PAYLOAD_DESCRIPTOR", + "payloadType": "ARR", + "units": "INR" + } + ], + "resources": [ + { + "resourceName": "ARR-Line-Item-001", + "lineItems": [ + { + "id": 0, + "description": "Power purchase cost", + "amount": 1250000000 + }, + { + "id": 1, + "description": "Transmission charges", + "amount": 230000000 + }, + { + "id": 2, + "description": "Operations and maintenance", + "amount": 80000000 + } + ] + } + ] + } } } ], @@ -84,29 +121,31 @@ "id": "bescom-discom-001", "descriptor": { "name": "BESCOM - Bangalore Electricity Supply Company" - }, - "participantAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld", - "@type": "Organization", - "id": "bescom-discom-001", - "name": "BESCOM - Bangalore Electricity Supply Company" } }, { "id": "aperc-regulator-001", "descriptor": { "name": "APERC - AP Electricity Regulatory Commission" - }, - "participantAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld", - "@type": "Organization", - "id": "aperc-regulator-001", - "name": "APERC - AP Electricity Regulatory Commission" } } ], - "performance": [], - "settlements": [] + "settlements": [ + { + "id": "settlement-payment-completed", + "considerationId": "consideration-arr-regulatory-mandate", + "status": "COMPLETE", + "settlementAttributes": { + "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", + "@type": "Payment", + "beckn:paymentStatus": "COMPLETED", + "beckn:amount": { + "currency": "INR", + "value": 0 + } + } + } + ] } } } diff --git a/devkits/data-exchange/usecase2/examples/on-status-response-processing.json b/devkits/data-exchange/usecase2/examples/on-status-response-processing.json deleted file mode 100644 index e9fd7cb6..00000000 --- a/devkits/data-exchange/usecase2/examples/on-status-response-processing.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "0d1e2f3a-4b5c-6789-3456-789012345678", - "timestamp": "2026-04-01T09:20:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "ARR Filing Data Exchange", - "shortDesc": "ARR filing submission under regulatory mandate" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-arr-filing-001", - "status": { - "descriptor": { - "code": "ACTIVE" - } - }, - "resources": [ - { - "id": "ds-bescom-arr-filing-fy2025-26", - "descriptor": { - "name": "BESCOM ARR Filing - FY 2025-26" - }, - "quantity": { - "unitText": "filing", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-arr-filing-inline", - "descriptor": { - "name": "ARR Filing Inline Delivery - BESCOM FY 2025-26" - }, - "resourceIds": [ - "ds-bescom-arr-filing-fy2025-26" - ] - } - } - ], - "performance": [ - { - "id": "perf-arr-filing-preparation-001", - "status": { - "code": "PROCESSING", - "name": "ARR filing preparation and validation in progress" - }, - "commitmentIds": [ - "commitment-arr-filing-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-bescom-arr-filing-fy2025-26", - "schema:name": "BESCOM ARR Filing - FY 2025-26", - "schema:temporalCoverage": "2025-04-01/2026-03-31" - } - } - ], - "participants": [ - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Bangalore Electricity Supply Company" - } - }, - { - "id": "aperc-regulator-001", - "descriptor": { - "name": "APERC - AP Electricity Regulatory Commission" - } - } - ], - "settlements": [] - } - } -} diff --git a/devkits/data-exchange/usecase2/examples/on-status-response-ready-inline.json b/devkits/data-exchange/usecase2/examples/on-status-response-ready-inline.json deleted file mode 100644 index 56a836ce..00000000 --- a/devkits/data-exchange/usecase2/examples/on-status-response-ready-inline.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "1e2f3a4b-5c6d-7890-4567-890123456789", - "timestamp": "2026-04-01T09:25:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "ARR Filing Data Exchange", - "shortDesc": "ARR filing submission under regulatory mandate" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-arr-filing-001", - "status": { - "descriptor": { - "code": "CLOSED" - } - }, - "resources": [ - { - "id": "ds-bescom-arr-filing-fy2025-26", - "descriptor": { - "name": "BESCOM ARR Filing - FY 2025-26" - }, - "quantity": { - "unitText": "filing", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-arr-filing-inline", - "descriptor": { - "name": "ARR Filing Inline Delivery - BESCOM FY 2025-26" - }, - "resourceIds": [ - "ds-bescom-arr-filing-fy2025-26" - ] - } - } - ], - "performance": [ - { - "id": "perf-arr-filing-delivery-001", - "status": { - "code": "DELIVERY_COMPLETE", - "name": "ARR filing delivered inline via dataPayload" - }, - "commitmentIds": [ - "commitment-arr-filing-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-bescom-arr-filing-fy2025-26", - "schema:name": "BESCOM ARR Filing - FY 2025-26", - "schema:temporalCoverage": "2025-04-01/2026-03-31", - "dataset:accessMethod": "INLINE", - "dataPayload": { - "@context": "https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/arr/context.jsonld", - "objectType": "ARR_FILING", - "filingId": "KERC/ARR/BESCOM/2025-26", - "filingDate": "2025-11-15", - "filingType": "ANNUAL", - "licensee": "Bangalore Electricity Supply Company Limited", - "licenseeCode": "BESCOM", - "stateProvince": "Karnataka", - "regulatoryCommission": "KERC", - "currency": "INR", - "unitScale": "CRORE", - "status": "SUBMITTED", - "formReference": "Form 1", - "fiscalYears": [ - { - "fiscalYear": "FY 2025-26", - "yearType": "CONTROL_PERIOD", - "amountBasis": "PROPOSED", - "lineItems": [ - { - "lineItemId": "power-purchase-cost", - "serialNumber": 1, - "category": "VARIABLE", - "subCategory": "POWER_PURCHASE", - "head": "Power Purchase Cost", - "amount": 18245.50, - "formReference": "Form 1.1" - }, - { - "lineItemId": "transmission-cost", - "serialNumber": 2, - "category": "FIXED", - "subCategory": "NETWORK_COST", - "head": "Transmission Cost", - "amount": 2150.00, - "componentOf": "network-and-sldc-cost" - }, - { - "lineItemId": "o-and-m-expenses", - "serialNumber": 3, - "category": "FIXED", - "subCategory": "O_AND_M", - "head": "O&M Expenses", - "amount": 3420.75 - }, - { - "lineItemId": "depreciation", - "serialNumber": 4, - "category": "FIXED", - "subCategory": "DEPRECIATION", - "head": "Depreciation", - "amount": 1890.30 - }, - { - "lineItemId": "interest-on-loan", - "serialNumber": 5, - "category": "FIXED", - "subCategory": "INTEREST", - "head": "Interest on Loan Capital", - "amount": 1245.00 - }, - { - "lineItemId": "return-on-equity", - "serialNumber": 6, - "category": "FIXED", - "subCategory": "RETURN_ON_EQUITY", - "head": "Return on Equity", - "amount": 980.25 - }, - { - "lineItemId": "non-tariff-income", - "serialNumber": 7, - "category": "INCOME", - "subCategory": "NON_TARIFF_INCOME", - "head": "Non-Tariff Income", - "amount": -450.00 - }, - { - "lineItemId": "total-arr", - "serialNumber": 8, - "category": "ARR", - "subCategory": "NET_ARR", - "head": "Aggregate Revenue Requirement", - "amount": 27481.80, - "formula": "power-purchase-cost + transmission-cost + o-and-m-expenses + depreciation + interest-on-loan + return-on-equity + non-tariff-income" - } - ] - } - ] - } - } - } - ], - "participants": [ - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Bangalore Electricity Supply Company" - } - }, - { - "id": "aperc-regulator-001", - "descriptor": { - "name": "APERC - AP Electricity Regulatory Commission" - } - } - ], - "settlements": [ - { - "id": "settlement-payment-completed", - "considerationId": "consideration-arr-regulatory-mandate", - "status": "COMPLETE", - "settlementAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", - "@type": "Payment", - "beckn:paymentStatus": "COMPLETED", - "beckn:amount": { - "currency": "INR", - "value": 0 - } - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase2/examples/on-status-response-ready-url.json b/devkits/data-exchange/usecase2/examples/on-status-response-ready-url.json deleted file mode 100644 index dd5bfa68..00000000 --- a/devkits/data-exchange/usecase2/examples/on-status-response-ready-url.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "on_status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "1e2f3a4b-5c6d-7890-4567-890123456780", - "timestamp": "2026-04-01T09:25:05Z", - "schemaContext": [ - "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld" - ] - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "descriptor": { - "name": "ARR Filing Data Exchange", - "shortDesc": "ARR filing submission under regulatory mandate" - }, - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-arr-filing-001", - "status": { - "descriptor": { - "code": "CLOSED" - } - }, - "resources": [ - { - "id": "ds-bescom-arr-filing-fy2025-26", - "descriptor": { - "name": "BESCOM ARR Filing - FY 2025-26" - }, - "quantity": { - "unitText": "filing", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-arr-filing-inline", - "descriptor": { - "name": "ARR Filing Inline Delivery - BESCOM FY 2025-26" - }, - "resourceIds": [ - "ds-bescom-arr-filing-fy2025-26" - ] - } - } - ], - "performance": [ - { - "id": "perf-arr-filing-delivery-001", - "status": { - "code": "DELIVERY_COMPLETE", - "name": "ARR filing available for download" - }, - "commitmentIds": [ - "commitment-arr-filing-001" - ], - "performanceAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld", - "@type": "DatasetItem", - "schema:identifier": "ds-bescom-arr-filing-fy2025-26", - "schema:name": "BESCOM ARR Filing - FY 2025-26", - "schema:temporalCoverage": "2025-04-01/2026-03-31", - "dataset:accessMethod": "DOWNLOAD", - "dataset:exportFormat": "JSON", - "dataset:downloadUrl": "https://bescom.example.in/exports/arr-filing-fy2025-26.json", - "dataset:downloadExpiresAt": "2026-04-08T09:25:05Z", - "dataset:fileSizeBytes": 245000, - "dataset:checksum": { - "algorithm": "SHA-256", - "value": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2" - } - } - } - ], - "participants": [ - { - "id": "bescom-discom-001", - "descriptor": { - "name": "BESCOM - Bangalore Electricity Supply Company" - } - }, - { - "id": "aperc-regulator-001", - "descriptor": { - "name": "APERC - AP Electricity Regulatory Commission" - } - } - ], - "settlements": [ - { - "id": "settlement-payment-completed", - "considerationId": "consideration-arr-regulatory-mandate", - "status": "COMPLETE", - "settlementAttributes": { - "@context": "https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld", - "@type": "Payment", - "beckn:paymentStatus": "COMPLETED", - "beckn:amount": { - "currency": "INR", - "value": 0 - } - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase2/examples/status-request.json b/devkits/data-exchange/usecase2/examples/status-request.json deleted file mode 100644 index f1fbeefd..00000000 --- a/devkits/data-exchange/usecase2/examples/status-request.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "context": { - "networkId": "nfh.global/testnet-deg", - "version": "2.0.0", - "action": "status", - "bapId": "bap.example.com", - "bapUri": "http://onix-bap:8081/bap/receiver", - "bppId": "bpp.example.com", - "bppUri": "http://onix-bpp:8082/bpp/receiver", - "transactionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", - "messageId": "9c0d1e2f-3a4b-5678-2345-678901234567", - "timestamp": "2026-04-01T09:20:00Z" - }, - "message": { - "contract": { - "id": "660e9500-f30c-52e5-b827-557766551300", - "status": { - "code": "ACTIVE" - }, - "commitments": [ - { - "id": "commitment-arr-filing-001", - "status": { - "descriptor": { - "code": "ACTIVE" - } - }, - "resources": [ - { - "id": "ds-bescom-arr-filing-fy2025-26", - "descriptor": { - "name": "BESCOM ARR Filing - FY 2025-26" - }, - "quantity": { - "unitText": "filing", - "unitCode": "EA", - "value": "1" - } - } - ], - "offer": { - "id": "offer-arr-filing-inline", - "descriptor": { - "name": "ARR Filing Inline Delivery - BESCOM FY 2025-26" - }, - "resourceIds": [ - "ds-bescom-arr-filing-fy2025-26" - ] - } - } - ] - } - } -} diff --git a/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BAP-DEG.postman_collection.json b/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BAP-DEG.postman_collection.json index 311ad048..a1cbf832 100644 --- a/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BAP-DEG.postman_collection.json +++ b/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BAP-DEG.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "3572e8fa-fd16-4773-8c7f-7cf73a0daf13", + "_postman_id": "c54a8a7d-d4ae-40b7-8bbb-a17102d2ec94", "name": "data-exchange-usecase2.BAP-DEG", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": "Postman collection for Buyer Application Platform implementing data-exchange-usecase2 APIs based on Beckn Protocol v2" @@ -165,38 +165,6 @@ "response": [] } ] - }, - { - "name": "status", - "item": [ - { - "name": "status-request", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\"\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bap_adapter_url}}/status", - "host": [ - "{{bap_adapter_url}}" - ], - "path": [ - "status" - ] - }, - "description": "Status request: status-request" - }, - "response": [] - } - ] } ], "event": [ diff --git a/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BPP-DEG.postman_collection.json b/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BPP-DEG.postman_collection.json index 20d8676b..3853e5f4 100644 --- a/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BPP-DEG.postman_collection.json +++ b/devkits/data-exchange/usecase2/postman/data-exchange-usecase2.BPP-DEG.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "8856cd89-b083-4621-8695-83145a6dc7dd", + "_postman_id": "97d9f752-7377-4279-b3d3-9fd1d47f765c", "name": "data-exchange-usecase2.BPP-DEG", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": "Postman collection for Buyer Provider Platform implementing data-exchange-usecase2 APIs based on Beckn Protocol v2" @@ -48,7 +48,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_confirm\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"ARR Filing Data Exchange\",\n \"shortDesc\": \"ARR filing submission under regulatory mandate\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n },\n \"commitmentAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-bescom-arr-filing-fy2025-26\",\n \"schema:name\": \"BESCOM ARR Filing - FY 2025-26\",\n \"schema:temporalCoverage\": \"2025-04-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\"\n }\n }\n ],\n \"consideration\": [\n {\n \"id\": \"consideration-arr-regulatory-mandate\",\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"considerationAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/PriceSpecification/v2.1/context.jsonld\",\n \"@type\": \"PriceSpecification\",\n \"currency\": \"INR\",\n \"value\": 0,\n \"description\": \"Mandatory regulatory filing - no commercial consideration\"\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n },\n \"participantAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld\",\n \"@type\": \"Organization\",\n \"id\": \"bescom-discom-001\",\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n }\n },\n {\n \"id\": \"aperc-regulator-001\",\n \"descriptor\": {\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n },\n \"participantAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Organization/v2.0/context.jsonld\",\n \"@type\": \"Organization\",\n \"id\": \"aperc-regulator-001\",\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n }\n }\n ],\n \"performance\": [],\n \"settlements\": []\n }\n }\n}", + "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_confirm\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"ARR Filing Data Exchange\",\n \"shortDesc\": \"ARR filing submission under regulatory mandate\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-arr-filing-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"ARR filing delivered inline via dataPayload\"\n },\n \"commitmentIds\": [\n \"commitment-arr-filing-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-bescom-arr-filing-fy2025-26\",\n \"schema:name\": \"BESCOM ARR Filing - FY 2025-26\",\n \"schema:temporalCoverage\": \"2025-04-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\",\n \"dataPayload\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/arr/context.jsonld\",\n \"@type\": \"IES_ARR_Filing\",\n \"id\": \"arr-filing-bescom-fy2025-26\",\n \"objectType\": \"FILING\",\n \"createdDateTime\": \"2026-04-01T09:20:00Z\",\n \"modificationDateTime\": \"2026-04-01T09:20:00Z\",\n \"fiscalYear\": \"2025-26\",\n \"utilityName\": \"BESCOM\",\n \"reportName\": \"ARR_Filing_FY2025_26\",\n \"payloadDescriptors\": [\n {\n \"objectType\": \"FILING_PAYLOAD_DESCRIPTOR\",\n \"payloadType\": \"ARR\",\n \"units\": \"INR\"\n }\n ],\n \"resources\": [\n {\n \"resourceName\": \"ARR-Line-Item-001\",\n \"lineItems\": [\n {\n \"id\": 0,\n \"description\": \"Power purchase cost\",\n \"amount\": 1250000000\n },\n {\n \"id\": 1,\n \"description\": \"Transmission charges\",\n \"amount\": 230000000\n },\n {\n \"id\": 2,\n \"description\": \"Operations and maintenance\",\n \"amount\": 80000000\n }\n ]\n }\n ]\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n }\n },\n {\n \"id\": \"aperc-regulator-001\",\n \"descriptor\": {\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-arr-regulatory-mandate\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", "options": { "raw": { "language": "json" @@ -134,92 +134,6 @@ } ] }, - { - "name": "on_status", - "item": [ - { - "name": "on-status-response-processing", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"ARR Filing Data Exchange\",\n \"shortDesc\": \"ARR filing submission under regulatory mandate\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"ACTIVE\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-arr-filing-preparation-001\",\n \"status\": {\n \"code\": \"PROCESSING\",\n \"name\": \"ARR filing preparation and validation in progress\"\n },\n \"commitmentIds\": [\n \"commitment-arr-filing-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-bescom-arr-filing-fy2025-26\",\n \"schema:name\": \"BESCOM ARR Filing - FY 2025-26\",\n \"schema:temporalCoverage\": \"2025-04-01/2026-03-31\"\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n }\n },\n {\n \"id\": \"aperc-regulator-001\",\n \"descriptor\": {\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n }\n }\n ],\n \"settlements\": []\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-processing" - }, - "response": [] - }, - { - "name": "on-status-response-ready-inline", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"ARR Filing Data Exchange\",\n \"shortDesc\": \"ARR filing submission under regulatory mandate\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-arr-filing-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"ARR filing delivered inline via dataPayload\"\n },\n \"commitmentIds\": [\n \"commitment-arr-filing-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-bescom-arr-filing-fy2025-26\",\n \"schema:name\": \"BESCOM ARR Filing - FY 2025-26\",\n \"schema:temporalCoverage\": \"2025-04-01/2026-03-31\",\n \"dataset:accessMethod\": \"INLINE\",\n \"dataPayload\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DEG/ies-specs/specification/external/schema/ies/arr/context.jsonld\",\n \"objectType\": \"ARR_FILING\",\n \"filingId\": \"KERC/ARR/BESCOM/2025-26\",\n \"filingDate\": \"2025-11-15\",\n \"filingType\": \"ANNUAL\",\n \"licensee\": \"Bangalore Electricity Supply Company Limited\",\n \"licenseeCode\": \"BESCOM\",\n \"stateProvince\": \"Karnataka\",\n \"regulatoryCommission\": \"KERC\",\n \"currency\": \"INR\",\n \"unitScale\": \"CRORE\",\n \"status\": \"SUBMITTED\",\n \"formReference\": \"Form 1\",\n \"fiscalYears\": [\n {\n \"fiscalYear\": \"FY 2025-26\",\n \"yearType\": \"CONTROL_PERIOD\",\n \"amountBasis\": \"PROPOSED\",\n \"lineItems\": [\n {\n \"lineItemId\": \"power-purchase-cost\",\n \"serialNumber\": 1,\n \"category\": \"VARIABLE\",\n \"subCategory\": \"POWER_PURCHASE\",\n \"head\": \"Power Purchase Cost\",\n \"amount\": 18245.5,\n \"formReference\": \"Form 1.1\"\n },\n {\n \"lineItemId\": \"transmission-cost\",\n \"serialNumber\": 2,\n \"category\": \"FIXED\",\n \"subCategory\": \"NETWORK_COST\",\n \"head\": \"Transmission Cost\",\n \"amount\": 2150.0,\n \"componentOf\": \"network-and-sldc-cost\"\n },\n {\n \"lineItemId\": \"o-and-m-expenses\",\n \"serialNumber\": 3,\n \"category\": \"FIXED\",\n \"subCategory\": \"O_AND_M\",\n \"head\": \"O&M Expenses\",\n \"amount\": 3420.75\n },\n {\n \"lineItemId\": \"depreciation\",\n \"serialNumber\": 4,\n \"category\": \"FIXED\",\n \"subCategory\": \"DEPRECIATION\",\n \"head\": \"Depreciation\",\n \"amount\": 1890.3\n },\n {\n \"lineItemId\": \"interest-on-loan\",\n \"serialNumber\": 5,\n \"category\": \"FIXED\",\n \"subCategory\": \"INTEREST\",\n \"head\": \"Interest on Loan Capital\",\n \"amount\": 1245.0\n },\n {\n \"lineItemId\": \"return-on-equity\",\n \"serialNumber\": 6,\n \"category\": \"FIXED\",\n \"subCategory\": \"RETURN_ON_EQUITY\",\n \"head\": \"Return on Equity\",\n \"amount\": 980.25\n },\n {\n \"lineItemId\": \"non-tariff-income\",\n \"serialNumber\": 7,\n \"category\": \"INCOME\",\n \"subCategory\": \"NON_TARIFF_INCOME\",\n \"head\": \"Non-Tariff Income\",\n \"amount\": -450.0\n },\n {\n \"lineItemId\": \"total-arr\",\n \"serialNumber\": 8,\n \"category\": \"ARR\",\n \"subCategory\": \"NET_ARR\",\n \"head\": \"Aggregate Revenue Requirement\",\n \"amount\": 27481.8,\n \"formula\": \"power-purchase-cost + transmission-cost + o-and-m-expenses + depreciation + interest-on-loan + return-on-equity + non-tariff-income\"\n }\n ]\n }\n ]\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n }\n },\n {\n \"id\": \"aperc-regulator-001\",\n \"descriptor\": {\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-arr-regulatory-mandate\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-ready-inline" - }, - "response": [] - }, - { - "name": "on-status-response-ready-url", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"networkId\": \"nfh.global/testnet-deg\",\n \"version\": \"{{version}}\",\n \"action\": \"on_status\",\n \"bapId\": \"{{bap_id}}\",\n \"bapUri\": \"{{bap_uri}}\",\n \"bppId\": \"{{bpp_id}}\",\n \"bppUri\": \"{{bpp_uri}}\",\n \"transactionId\": \"{{transaction_id}}\",\n \"messageId\": \"{{$guid}}\",\n \"timestamp\": \"{{iso_date}}\",\n \"schemaContext\": [\n \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\"\n ]\n },\n \"message\": {\n \"contract\": {\n \"id\": \"660e9500-f30c-52e5-b827-557766551300\",\n \"descriptor\": {\n \"name\": \"ARR Filing Data Exchange\",\n \"shortDesc\": \"ARR filing submission under regulatory mandate\"\n },\n \"status\": {\n \"code\": \"ACTIVE\"\n },\n \"commitments\": [\n {\n \"id\": \"commitment-arr-filing-001\",\n \"status\": {\n \"descriptor\": {\n \"code\": \"CLOSED\"\n }\n },\n \"resources\": [\n {\n \"id\": \"ds-bescom-arr-filing-fy2025-26\",\n \"descriptor\": {\n \"name\": \"BESCOM ARR Filing - FY 2025-26\"\n },\n \"quantity\": {\n \"unitText\": \"filing\",\n \"unitCode\": \"EA\",\n \"value\": \"1\"\n }\n }\n ],\n \"offer\": {\n \"id\": \"offer-arr-filing-inline\",\n \"descriptor\": {\n \"name\": \"ARR Filing Inline Delivery - BESCOM FY 2025-26\"\n },\n \"resourceIds\": [\n \"ds-bescom-arr-filing-fy2025-26\"\n ]\n }\n }\n ],\n \"performance\": [\n {\n \"id\": \"perf-arr-filing-delivery-001\",\n \"status\": {\n \"code\": \"DELIVERY_COMPLETE\",\n \"name\": \"ARR filing available for download\"\n },\n \"commitmentIds\": [\n \"commitment-arr-filing-001\"\n ],\n \"performanceAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/DDM/main/specification/schema/DatasetItem/v1/context.jsonld\",\n \"@type\": \"DatasetItem\",\n \"schema:identifier\": \"ds-bescom-arr-filing-fy2025-26\",\n \"schema:name\": \"BESCOM ARR Filing - FY 2025-26\",\n \"schema:temporalCoverage\": \"2025-04-01/2026-03-31\",\n \"dataset:accessMethod\": \"DOWNLOAD\",\n \"dataset:exportFormat\": \"JSON\",\n \"dataset:downloadUrl\": \"https://bescom.example.in/exports/arr-filing-fy2025-26.json\",\n \"dataset:downloadExpiresAt\": \"2026-04-08T09:25:05Z\",\n \"dataset:fileSizeBytes\": 245000,\n \"dataset:checksum\": {\n \"algorithm\": \"SHA-256\",\n \"value\": \"a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2\"\n }\n }\n }\n ],\n \"participants\": [\n {\n \"id\": \"bescom-discom-001\",\n \"descriptor\": {\n \"name\": \"BESCOM - Bangalore Electricity Supply Company\"\n }\n },\n {\n \"id\": \"aperc-regulator-001\",\n \"descriptor\": {\n \"name\": \"APERC - AP Electricity Regulatory Commission\"\n }\n }\n ],\n \"settlements\": [\n {\n \"id\": \"settlement-payment-completed\",\n \"considerationId\": \"consideration-arr-regulatory-mandate\",\n \"status\": \"COMPLETE\",\n \"settlementAttributes\": {\n \"@context\": \"https://raw.githubusercontent.com/beckn/schemas/refs/heads/main/schema/Payment/v2.0/context.jsonld\",\n \"@type\": \"Payment\",\n \"beckn:paymentStatus\": \"COMPLETED\",\n \"beckn:amount\": {\n \"currency\": \"INR\",\n \"value\": 0\n }\n }\n }\n ]\n }\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "{{bpp_adapter_url}}/on_status", - "host": [ - "{{bpp_adapter_url}}" - ], - "path": [ - "on_status" - ] - }, - "description": "On_status request: on-status-response-ready-url" - }, - "response": [] - } - ] - }, { "name": "publish", "item": [ diff --git a/devkits/data-exchange/usecase2/workflows/data-exchange.arazzo.yaml b/devkits/data-exchange/usecase2/workflows/data-exchange.arazzo.yaml index f1706c2a..e649a83e 100644 --- a/devkits/data-exchange/usecase2/workflows/data-exchange.arazzo.yaml +++ b/devkits/data-exchange/usecase2/workflows/data-exchange.arazzo.yaml @@ -3,36 +3,22 @@ info: title: Energy Data Exchange Workflow - Use Case 2 (ARR Filing) version: 1.0.0 description: > - End-to-end Beckn 2.0 workflow for ARR filing data exchange via - DatasetItem with IES_ARR_Filing dataPayload. - Scenario: BESCOM (discom) submits ARR filing data to - APERC (state regulator) with in-message delivery. + End-to-end Beckn 2.0 workflow for inline ARR filing exchange. + The main delivery happens in on_confirm with DatasetItem dataPayload. Run via the workflow runner (from usecase2/workflows/): - Local mode (default, against docker-compose-adapter.yml on localhost): + Local mode: ./run-arazzo.sh - ./run-arazzo.sh -w select-through-status -v + ./run-arazzo.sh -w select-through-confirm -v - Over-internet mode (against the public ngrok URL fronting - docker-compose-over-internet.yml): + Over-internet mode: PUBLIC_URL=https://.ngrok-free.dev ./run-arazzo.sh - Direct respect invocation (advanced; no on-the-fly URI rewrites): + Direct respect invocation: npx @redocly/cli respect data-exchange.arazzo.yaml \ --severity 'SCHEMA_CHECK=off' -v - Available workflows: publish-catalog, discover, select-through-status, - cancellation - - The catalog-service subscription is a one-time network-level setup - call (not part of the transactional flow); see - ../../scripts/subscribe-catalog.sh. - - Override server URLs (optional, defaults in x-serverUrl): - -S beckn-bap-caller=http://localhost:8081/bap/caller \ - -S beckn-bpp-caller=http://localhost:8082/bpp/caller - sourceDescriptions: - name: beckn-bap-caller type: openapi @@ -67,8 +53,8 @@ workflows: payload: $ref: "../examples/discover-request.json" - - workflowId: select-through-status - summary: Regulator selects, confirms, and receives ARR filing delivery + - workflowId: select-through-confirm + summary: Regulator selects, confirms, and receives ARR filing inline on confirm steps: - stepId: select description: Regulator selects ARR filing dataset for inline delivery @@ -79,7 +65,7 @@ workflows: $ref: "../examples/select-request.json" - stepId: on-select - description: Discom responds with terms for selected ARR filing (regulatory mandate) + description: Discom responds with terms for the selected ARR filing operationId: beckn-bpp-caller.onSelect requestBody: contentType: application/json @@ -95,7 +81,7 @@ workflows: $ref: "../examples/init-request.json" - stepId: on-init - description: Discom confirms readiness to deliver ARR filing + description: Discom confirms the contract is ready for confirmation operationId: beckn-bpp-caller.onInit requestBody: contentType: application/json @@ -103,7 +89,7 @@ workflows: $ref: "../examples/on-init-response.json" - stepId: confirm - description: Regulator confirms ARR filing exchange + description: Regulator confirms the ARR filing exchange operationId: beckn-bap-caller.confirm requestBody: contentType: application/json @@ -111,48 +97,13 @@ workflows: $ref: "../examples/confirm-request.json" - stepId: on-confirm - description: Discom acknowledges and begins ARR filing preparation + description: Discom confirms the contract and delivers ARR filing inline operationId: beckn-bpp-caller.onConfirm requestBody: contentType: application/json payload: $ref: "../examples/on-confirm-response.json" - - stepId: status - description: Regulator checks ARR filing delivery status - operationId: beckn-bap-caller.status - requestBody: - contentType: application/json - payload: - $ref: "../examples/status-request.json" - - - stepId: on-status-processing - description: Discom reports ARR filing preparation in progress - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-processing.json" - - - stepId: on-status-ready-url - description: Discom delivers ARR filing via URL download - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-ready-url.json" - - - stepId: on-status-ready-inline - description: > - Discom delivers ARR filing inline via dataPayload. - This step demonstrates DatasetItem's in-message delivery - with an IES_ARR_Filing embedded in dataPayload. - operationId: beckn-bpp-caller.onStatus - requestBody: - contentType: application/json - payload: - $ref: "../examples/on-status-response-ready-inline.json" - - workflowId: cancellation summary: ARR filing exchange cancellation steps: diff --git a/devkits/data-exchange/usecase2/workflows/run-arazzo.sh b/devkits/data-exchange/usecase2/workflows/run-arazzo.sh index 3ccc3140..a0d0ca14 100755 --- a/devkits/data-exchange/usecase2/workflows/run-arazzo.sh +++ b/devkits/data-exchange/usecase2/workflows/run-arazzo.sh @@ -5,7 +5,7 @@ # # Usage (from usecase2/workflows/): # ./run-arazzo.sh # run all workflows -# ./run-arazzo.sh -w select-through-status -v # single workflow, verbose +# ./run-arazzo.sh -w select-through-confirm -v # single workflow, verbose # # Over-the-internet mode: # PUBLIC_URL=https://your-domain.ngrok-free.dev ./run-arazzo.sh