diff --git a/CHANGELOG.md b/CHANGELOG.md index ee0b735..4d46b9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,11 @@ ## Table of contents +- **[r3.2](#r32) Fall25** - **[r3.1](#r31)** -- **[r2.2](#r22)** +- **[r2.2](#r22) Spring25** - **[r2.1](#r21)** -- **[r1.3](#r13)** +- **[r1.3](#r13) Fall24** - **[r1.2](#r12)** - **[r1.1](#r11)** - **[v0.4.0](#v040)** @@ -19,6 +20,69 @@ The below sections record the changes for each API version in each release as fo * for subsequent release-candidate(s), only the delta to the previous release-candidate * for a public release, the consolidated changes since the previous public release +# r3.2 + +This release contains the definition and documentation of +* sim-swap 2.1.0 +* sim-swap-subscriptions 0.3.0 + +The API definition(s) are based on +* Commonalities v0.6.0 +* Identity and Consent Management v0.4.0 + +## sim-swap 2.1.0 + +**sim-swap v2.1.0 is the public release of the Sim Swap API** + +- API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r3.2/code/API_definitions/sim-swap.yaml) + +### Added +* Add a documentation note when regulations prevent less than 100 days for check by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/213 +* Documented Error Responses info.description section by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/221 +* Include new test scenario to check maxAge outside of monitored period by @fernandopradocabrillo in https://github.com/camaraproject/SimSwap/pull/236 + +### Changed +* Update x-correlator format by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/222 +* Align date-time definition with latest Commonalities by @fernandopradocabrillo in https://github.com/camaraproject/SimSwap/pull/229 + +### Removed +* Remove AUTHENTICATION_REQUIRED error code by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/216 + +## Sim Swap Subscriptions v0.3.0 + +**sim-swap-subscriptions v0.3.0 is the public release of the Sim Swap Subscriptions API** + +- API definition **with inline documentation**: + - OpenAPI [YAML spec file](https://github.com/camaraproject/SimSwap/blob/r3.2/code/API_definitions/sim-swap-subscriptions.yaml) + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap-subscriptions.yaml&nocors) + - [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap-subscriptions.yaml) + +### Added +* [Sim-Swap-Subscriptions]: Add `type` and `format` for `startsAt` by @maxl2287 in https://github.com/camaraproject/SimSwap/pull/207 +* [Sim-Swap-Subscriptions]: Add `subscriptionMaxEvents` as a config-property by @maxl2287 in https://github.com/camaraproject/SimSwap/pull/204 +* Enhancements Subscription/Notification Architecture by @fernandopradocabrillo in https://github.com/camaraproject/NumberVerification/pull/226 + +### Changed +* Update x-correlator format by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/222 +* Event name from `subscription-ends` to `subscription-ended` by @fernandopradocabrillo in https://github.com/camaraproject/NumberVerification/pull/226 +* Align date-time definition with latest Commonalities by @fernandopradocabrillo in https://github.com/camaraproject/SimSwap/pull/229 + +### Removed +* [Sim-Swap-Subscriptions]: Remove `phoneNumber` from the required properties in the Swap-Event by @maxl2287 in https://github.com/camaraproject/SimSwap/pull/206 +* [Sim-Swap-Subscriptions]: remove `SUBSCRIPTION_MISMATCH` error-code by @maxl2287 in https://github.com/camaraproject/SimSwap/pull/209 +* Remove AUTHENTICATION_REQUIRED error code by @bigludo7 in https://github.com/camaraproject/SimSwap/pull/216 + +### Fixed +* [Sim-Swap-Subscriptions]: Document that `subscription-ended` notification is also sent when deleted by requester by @maxl2287 in https://github.com/camaraproject/SimSwap/pull/205 + +## New Contributors +* @maxl2287 made their first contribution in https://github.com/camaraproject/SimSwap/pull/208 + +**Full Changelog**: https://github.com/camaraproject/SimSwap/compare/r2.2...r3.2 + # r3.1 This release contains the definition and documentation of diff --git a/README.md b/README.md index 2450523..74f9021 100644 --- a/README.md +++ b/README.md @@ -25,17 +25,17 @@ Incubating API Repository to evolve and maintain the definitions and documentati ## Status and released versions * Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**. -* `NEW`: Pre-release r3.1 features the following APIs: - * version 2.1.0-rc.2 of the **API sim-swap** - available [here](https://github.com/camaraproject/SimSwap/tree/r3.1) +* `NEW`: Public release r3.2 features the following APIs: + * version 2.1.0 of the **API sim-swap** - available [here](https://github.com/camaraproject/SimSwap/tree/r3.2) * API definitions **with inline documentation**: - * OpenAPI [YAML](https://github.com/camaraproject/SimSwap/blob/r3.1/code/API_definitions/sim-swap.yaml) - * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.1/code/API_definitions/sim-swap.yaml&nocors) - * [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.1/code/API_definitions/sim-swap.yaml) - * version 0.3.0-rc.1 of the **API sim-swap-subscriptions** - available [here](https://github.com/camaraproject/SimSwap/tree/r3.1) + * OpenAPI [YAML](https://github.com/camaraproject/SimSwap/blob/r3.2/code/API_definitions/sim-swap.yaml) + * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap.yaml&nocors) + * [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap.yaml) + * version 0.3.0 of the **API sim-swap-subscriptions** - available [here](https://github.com/camaraproject/SimSwap/tree/r3.2) * API definitions **with inline documentation**: - * OpenAPI [YAML](https://github.com/camaraproject/SimSwap/blob/r3.1/code/API_definitions/sim-swap-subscriptions.yaml) - * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.1/code/API_definitions/sim-swap-subscriptions.yaml&nocors) - * [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.1/code/API_definitions/sim-swap-subscriptions.yaml) + * OpenAPI [YAML](https://github.com/camaraproject/SimSwap/blob/r3.2/code/API_definitions/sim-swap-subscriptions.yaml) + * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap-subscriptions.yaml&nocors) + * [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimSwap/r3.2/code/API_definitions/sim-swap-subscriptions.yaml) * Previous Public release r2.2 features the following APIs: * version 2.0.0 of the **API sim-swap** - available [here](https://github.com/camaraproject/SimSwap/tree/r2.2) @@ -51,7 +51,7 @@ Incubating API Repository to evolve and maintain the definitions and documentati * The latest public release is available here: https://github.com/camaraproject/SimSwap/releases/latest * Other releases of this sub project are available in https://github.com/camaraproject/SimSwap/releases -* For changes see [CHANGELOG.md](https://github.com/camaraproject/Simswap/blob/main/CHANGELOG.md) +* For changes see [CHANGELOG.md](https://github.com/camaraproject/SimSwap/blob/main/CHANGELOG.md) ## Contributing diff --git a/code/API_definitions/sim-swap-subscriptions.yaml b/code/API_definitions/sim-swap-subscriptions.yaml index dd362dc..28f649f 100644 --- a/code/API_definitions/sim-swap-subscriptions.yaml +++ b/code/API_definitions/sim-swap-subscriptions.yaml @@ -96,14 +96,14 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: wip + version: 0.3.0 x-camara-commonalities: 0.6 externalDocs: description: Product documentation at CAMARA url: https://github.com/camaraproject/ servers: - - url: '{apiRoot}/sim-swap-subscriptions/vwip' + - url: '{apiRoot}/sim-swap-subscriptions/v0.3' variables: apiRoot: default: http://localhost:9091 @@ -443,7 +443,7 @@ components: type: string format: date-time example: 2025-01-17T13:18:23.682Z - description: The subscription expiration time (in date-time format) requested by the API consumer. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. Up to API project decision to keep it. + description: The subscription expiration time (in date-time format) requested by the API consumer. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. subscriptionMaxEvents: type: integer description: | diff --git a/code/API_definitions/sim-swap.yaml b/code/API_definitions/sim-swap.yaml index 3f053d7..cbdb456 100644 --- a/code/API_definitions/sim-swap.yaml +++ b/code/API_definitions/sim-swap.yaml @@ -77,13 +77,13 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: wip + version: 2.1.0 x-camara-commonalities: 0.6 externalDocs: description: Product documentation at Camara url: https://github.com/camaraproject/SimSwap servers: - - url: "{apiRoot}/sim-swap/vwip" + - url: "{apiRoot}/sim-swap/v2" variables: apiRoot: default: http://localhost:9091 diff --git a/code/Test_definitions/sim-swap-checkSimSwap.feature b/code/Test_definitions/sim-swap-checkSimSwap.feature index 416d347..ea1b4e8 100644 --- a/code/Test_definitions/sim-swap-checkSimSwap.feature +++ b/code/Test_definitions/sim-swap-checkSimSwap.feature @@ -1,15 +1,15 @@ -Feature: CAMARA SIM Swap API, v2.1.0-rc.2 - Operation checkSimSwap +Feature: CAMARA SIM Swap API, v2.1.0 - Operation checkSimSwap # Input to be provided by the implementation to the tester # # Testing assets: # - # References to OAS spec schemas refer to schemas specifies in sim_swap.yaml, version v2.1.0-rc.2 + # References to OAS spec schemas refer to schemas specified in sim_swap.yaml # # check if SIM swap has been performed during a past period Background: Common checkSimSwap setup - Given the resource "sim-swap/v2rc2/check" + Given the resource "/sim-swap/v2/check" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature b/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature index 873d146..07cd54d 100644 --- a/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature +++ b/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature @@ -1,15 +1,15 @@ -Feature: CAMARA SIM Swap API, v2.1.0-rc.2 - Operation retrieveSimSwapDate +Feature: CAMARA SIM Swap API, v2.1.0 - Operation retrieveSimSwapDate # Input to be provided by the implementation to the tester # # Testing assets: # - # References to OAS spec schemas refer to schemas specifies in sim_swap.yaml, version v2.1.0-rc.2 + # References to OAS spec schemas refer to schemas specified in sim_swap.yaml # # Get timestamp of last MSISDN <-> IMSI pairing change for the provided phone number. Background: Common retrieveSimSwapDate setup - Given the resource "sim-swap/v2rc2/retrieve-date" + Given the resource "/sim-swap/v2/retrieve-date" And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/code/Test_definitions/sim-swap-subscriptions.feature b/code/Test_definitions/sim-swap-subscriptions.feature index 20c4b1e..1e64169 100644 --- a/code/Test_definitions/sim-swap-subscriptions.feature +++ b/code/Test_definitions/sim-swap-subscriptions.feature @@ -1,4 +1,4 @@ -Feature: CAMARA sim swap subscriptions API, v0.3.0-rc.1 +Feature: CAMARA sim swap subscriptions API, v0.3.0 # Input to be provided by the implementation to the tester # # Testing assets: @@ -6,10 +6,10 @@ Feature: CAMARA sim swap subscriptions API, v0.3.0-rc.1 # * Be able to perform a sim swap for this mobile line shifting from sim card 1 to sim card 2 # * a callback url identified as "callbackUrl" allows to receive notification # - # References to OAS spec schemas refer to schemas specifies in sim-swap-subscriptions.yaml, version v0.3.0-rc.1 + # References to OAS spec schemas refer to schemas specified in sim-swap-subscriptions.yaml Background: Common subscriptions setup - Given the resource "/sim-swap-subscriptions/v0.3rc1/subscriptions" as BaseURL + Given the resource "/sim-swap-subscriptions/v0.3/subscriptions" as BaseURL And the header "Content-Type" is set to "application/json" And the header "Authorization" is set to a valid access token And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator" diff --git a/documentation/API_documentation/sim-swap-API-Readiness-Checklist.md b/documentation/API_documentation/sim-swap-API-Readiness-Checklist.md index 6a2411d..f6adc94 100644 --- a/documentation/API_documentation/sim-swap-API-Readiness-Checklist.md +++ b/documentation/API_documentation/sim-swap-API-Readiness-Checklist.md @@ -1,18 +1,18 @@ # API Readiness Checklist -Checklist for sim-swap 2.1.0-rc.2 in r3.1 +Checklist for sim-swap 2.1.0 in r3.2 | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:| | 1 | API definition | M | M | M | M | Y | [relative link](code/API_definitions/sim-swap.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | Embed documentation into API spec - [link](/code/API_definitions/sim-swap.yaml) | | 6 | User stories | O | O | O | M | Y | [check](/documentation/API_documentation/SIM-Swap_check_User_Story.md) [retrieve](/documentation/API_documentation/SIM-Swap_retrieve_User_Story.md) | -| 7 | Basic API test cases & documentation | O | M | M | M | Y | [check](/code/Test_definitions/check-sim-swap.feature) [retrieve](/code/Test_definitions/retrieve-sim-swap-date.feature) | -| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [check](/code/Test_definitions/check-sim-swap.feature) [retrieve](/code/Test_definitions/retrieve-sim-swap-date.feature) | -| 9 | Test result statement | O | O | O | M | tbd | see [issue #186](https://github.com/camaraproject/SimSwap/issues/186) | +| 7 | Basic API test cases & documentation | O | M | M | M | Y | [check](/code/Test_definitions/sim-swap-checkSimSwap.feature) [retrieve](/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature) | +| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [check](/code/Test_definitions/sim-swap-checkSimSwap.feature) [retrieve](/code/Test_definitions/sim-swap-retrieveSimSwapDate.feature) | +| 9 | Test result statement | O | O | O | M | tbd | see [issue #233](https://github.com/camaraproject/SimSwap/issues/233) | | 10 | API release numbering convention applied | M | M | M | M | Y | | | 11 | Change log updated | M | M | M | M | Y | [relative link](/CHANGELOG.md) | | 12 | Previous public release was certified | O | O | O | M | Y | [relative link](https://www.open-gateway.gsma.com/operators-map) | diff --git a/documentation/API_documentation/sim-swap-subscriptions-API-Readiness-Checklist.md b/documentation/API_documentation/sim-swap-subscriptions-API-Readiness-Checklist.md index 084d04a..05432b0 100644 --- a/documentation/API_documentation/sim-swap-subscriptions-API-Readiness-Checklist.md +++ b/documentation/API_documentation/sim-swap-subscriptions-API-Readiness-Checklist.md @@ -1,12 +1,12 @@ # API Readiness Checklist -Checklist for sim-swap-subscriptions 0.3.0-rc.1 in r3.1 +Checklist for sim-swap-subscriptions 0.3.0 in r3.2 | Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | |----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:| | 1 | API definition | M | M | M | M | Y | [relative link](code/API_definitions/sim-swap-subscriptions.yaml) | -| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) | -| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) | | 4 | API versioning convention applied | M | M | M | M | Y | | | 5 | API documentation | M | M | M | M | Y | Embedded documentation into API spec - [link](/code/API_definitions/sim-swap.yaml) | | 6 | User stories | O | O | O | M | N | |