feat: add ESPI customer resources from customer_4.1.xsd#7
Merged
Conversation
Add 34 customer resource schema files with customer namespace: - 9 main resources: Customer, CustomerAccount, CustomerAgreement, EndDevice, Meter, ServiceLocation, ServiceSupplier, Statement, ProgramDateIdMappings - 25 supporting types: Organisation, StreetAddress, Document, Agreement, Asset, Location, Status, Priority, and more All schemas use http://naesb.org/espi/customer namespace with 'customer' prefix per ESPI 4.1 specification. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add 18 response files (Feed and Entry for each of 9 resources):
- AtomFeed and AtomEntry responses for Customer, CustomerAccount,
CustomerAgreement, ServiceLocation, EndDevice, Meter,
ServiceSupplier, Statement, and ProgramDateIdMappings
Response link types use cust-feed/{Resource} and cust-entry/{Resource}
convention to distinguish from energy resource responses.
All examples use https://data.greenbuttonconnect.org as host and
http://naesb.org/espi/customer XML namespace.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add 18 path definition files for Data Custodian access:
- Collection paths: /espi/1_1/resource/{Resource}
- Individual paths: /espi/1_1/resource/{Resource}/{id}
- All 9 customer resources: Customer, CustomerAccount,
CustomerAgreement, ServiceLocation, EndDevice, Meter,
ServiceSupplier, Statement, ProgramDateIdMappings
Paths follow ESPI REQ.21.6.2.1 patterns with OAuth2 security,
standard query parameters (published-max/min, updated-max/min,
max-results, start-index, depth), and appropriate function block
annotations (FB_50-58).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update openapi/openapi.yaml to include customer resources: - Add 18 customer resource paths to paths section - Add 9 customer resource schemas to components.schemas - Add 18 customer resource responses to components.responses - Add Customer Resources tag and tag group - Update API description to mention customer/billing data - Document customer namespace and PII considerations Enables Spring Boot code generation for complete ESPI API including both energy usage data and customer/billing information. Spec validates with zero errors (redocly lint) and builds successfully. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This expansion enables Spring Boot developers to generate complete server implementations covering both energy usage data and customer/billing information APIs following the NAESB REQ.21 ESPI standard.
What's New
Customer Resources Added:
Supporting Types: 25 additional types including Organisation, StreetAddress, Document, Agreement, Asset, Location, Status, Priority, and more.
Key Implementation Details:
http://naesb.org/espi/customerXML namespace (separate from energy data)cust-feed/{Resource}andcust-entry/{Resource}conventionFiles Added:
openapi/components/schemas/openapi/components/responses/openapi/paths/openapi/openapi.yamlwith customer resource integrationTest plan
npm test)npm run build)http://naesb.org/espi/customernamespacecust-feed/cust-entryconvention (notespi-feed/espi-entry)https://data.greenbuttonconnect.orgas hostFuture Enhancements
Follow-up PRs could add:
/espi/1_1/resource/Subscription/{subscriptionId}/{Resource})/espi/1_1/resource/Batch/RetailCustomer/{retailCustomerId}/{Resource})🤖 Generated with Claude Code