Add new changes for Sync26 (geohashlist+Commonalities & ICM) - #123
Conversation
|
population-density-data-API-Readiness-Checklist.md - file should be deleted for Sync26 - release automation takes care about all needed information |
|
For asynchronous responses CloudEvents format is not recommended now, see detailed guidelines: |
…eleted for Sync26 - release automation takes care about all needed information
|
Thanks, @rartych. We reviewed the current design again against the updated Commonalities guidance. Our understanding is that the API already follows the recommended asynchronous-response pattern:
Therefore, although the callback mechanism was previously described as CloudEvents-based, the actual payload does not use the CloudEvents structure ( Could you please confirm which specific part of the current API definition you consider non-compliant with section 5.7.6.1? If we are overlooking a CloudEvents-specific structure or another required change, we will address it. |
|
Hi @camaraproject/population-density-data_codeowners, The deadline for creating the snapshot is before July 31. Can we merge this PR to create it? |
What type of PR is this?
Add one of the following kinds:
What this PR does / why we need it:
This PR extends the Population Density Data API with support for a new optional area type:
GEOHASHLIST.POLYGONremains the mandatory area type for all MNO implementations, whileGEOHASHLISTis introduced as an optional area representation for providers that can support geohash-based requests. Changes included:GEOHASHLISTvalue toareaType.GeohashListandGeohashschemas.^[0-9bcdefghjkmnpqrstuvwxyz]{1,12}$precisionfield toPOLYGONrequests only. Ifprecisionis provided together withGEOHASHLIST, the API returns400 INVALID_ARGUMENT.422error:POPULATION_DENSITY_DATA.UNSUPPORTED_AREA_TYPEto indicate that the requestedareaTypeis valid in the API specification but not supported by the MNO.CellPopulationDensityData.geohashto reference the commonGeohashschema, ensuring the same geohash definition is reused in both request and response models.GEOHASHLISTbehaviour:NO_DATA;AREA_NOT_SUPPORTED.This PR also clarifies the behaviour for unsupported precision values:
1–12, the request is rejected with400 INVALID_ARGUMENT.422 POPULATION_DENSITY_DATA.UNSUPPORTED_PRECISIONThis applies both to the
precisionfield forPOLYGONrequests and to the length of each geohash inGEOHASHLISTrequests.Alignment with CAMARA Commonalities
This PR also aligns the API definition with the updated CAMARA Commonalities requirements.
Commonalities version update (
Comm-Spring26-005)x-camara-commonalitiesfrom0.6to the full semantic version0.8.0.Notification credentials (
Comm-Spring26-004)The
sinkCredentialmodel has been aligned with the updated CAMARA notification credential model:PLAINandREFRESHTOKENcredential types.PRIVATE_KEY_JWTcredential type, which supports token renewal through an authorization server.ACCESSTOKENPRIVATE_KEY_JWTImplementation note: the Nexo platform does not currently support
PRIVATE_KEY_JWT. It has been included in the API specification for forward compatibility. For the current one-time callback use case, the credential type used in practice remainsACCESSTOKEN.Reinforced input validation (
Comm-Spring26-006)Validation constraints have been added to string, array and integer fields in accordance with the CAMARA OWASP-oriented validation guidelines. These constraints do not invalidate any value that was already valid under the previous API definition.
For Population Density Data, the following limits have been added:
Geohash:maxLength: 12;sink:maxLength: 2048; request and intervalstartTime/endTime:maxLength: 64;OperationId:maxLength: 256;statusInfo:maxLength: 512geohashes:maxItems: 1000;timedPopulationDensityData:maxItems: 168;CellPopulationDensityDataArray:maxItems: 10000precision:format: int32;maxPplDensity,minPplDensityandpplDensity:format: int32,minimum: 0,maximum: 2147483647Error model and traceability
The standard CAMARA validation constraints have also been applied to the shared error and tracing fields:
ErrorInfoincludes the standard description and constraints:status:format: int32, with values restricted to the range100–599;codeandmessage: standardmaxLengthconstraints.x-correlatorincludes the standard CAMARA description andmaxLengthconstraint.Backwards compatibility
All Commonalities-related changes are backwards compatible, except for the removal of the deprecated
PLAINandREFRESHTOKENnotification credential types. No practical impact is expected, as the previous API specification already required the use ofACCESSTOKEN.Which issue(s) this PR fixes:
Fixes #110, #109, #105
Special notes for reviewers:
This PR is based on conversations that can be followed at #110.
Changelog input
Additional documentation
This section can be blank.