Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 60 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
For the best results, use the latest published release.**

## Table of Contents
- **[r1.3](#r13)**
- **[r1.2](#r12)**
- **[r1.1](#r11)**

Expand All @@ -13,12 +14,67 @@ 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

# r1.3
## Release Notes

This initial public release contains the definition and documentation of
* Brand Registration v0.1.0
* Verified Caller v0.1.0

The API definition(s) are based on
* Commonalities r3.3
* Identity and Consent Management r3.3

## Brand Registration v0.1.0
This is the initial public version of the Brand Registration API.

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/brand-registration.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/brand-registration.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/VerifiedCaller/blob/r1.3/code/API_definitions/brand-registration.yaml)

### Added
* Add new endpoint to create, edit, query and delete a brand registration for call enrichment by @alpaycetin74 in https://github.com/camaraproject/VerifiedCaller/pull/47

### Changed
* N/A

### Fixed
* N/A

### Removed
* N/A

## Verified Caller v0.1.0
This is the first initial version of Verified Caller API

- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/verified-caller.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/verified-caller.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/VerifiedCaller/blob/r1.3/code/API_definitions/verified-caller.yaml)

### Added
### Added
* Add new endpoint to pre-announce a call to be branded by @alpaycetin74 in https://github.com/camaraproject/VerifiedCaller/pull/43

### Changed
* N/A

### Fixed
* Remove occurrences of "Pre-Announce" from API name throughout the repository by @alpaycetin74 in https://github.com/camaraproject/VerifiedCaller/pull/61
Comment thread
alpaycetin74 marked this conversation as resolved.
* Fix resource path version in API specification & broken links in CHANGELOG by @alpaycetin74 in https://github.com/camaraproject/VerifiedCaller/pull/57

### Removed
* N/A

**Full Changelog**: https://github.com/camaraproject/VerifiedCaller/commits/r1.3

# r1.2
## Release Notes

This **pre-release** contains the definition and documentation of
* Brand Registration v0.1.0-rc.1
* Verified Caller Pre-Announcement v0.1.0-rc.2
* Verified Caller v0.1.0-rc.2

The API definition(s) are based on
* Commonalities r3.2
Expand All @@ -44,7 +100,7 @@ This is the first release candidate for the first initial version of Brand Regis
### Removed
* N/A

## Verified Caller Pre-Announcement v0.1.0-rc.2
## Verified Caller v0.1.0-rc.2
This is the second release candidate for the first initial version of Verified Caller Preannouncement API

- API definition **with inline documentation**:
Expand Down Expand Up @@ -72,7 +128,7 @@ This is the second release candidate for the first initial version of Verified C

This **pre-release** contains the definition and documentation of
* Brand Registration v0.1.0-rc.1
* Verified Caller Pre-Announcement v0.1.0-rc.1
* Verified Caller v0.1.0-rc.1

The API definition(s) are based on
* Commonalities r3.2
Expand All @@ -99,7 +155,7 @@ This is the first release candidate for the first initial version of Brand Regis
* N/A


## Verified Caller Pre-Announcement v0.1.0-rc.1
## Verified Caller v0.1.0-rc.1
This is the first release candidate for the first initial version of Verified Caller Preannouncement API

- API definition **with inline documentation**:
Expand Down
18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,22 @@ Sandbox API Repository to describe, develop, document, and test the VerifiedCall

## Release Information

Pre-releases of this sub project are available in https://github.com/camaraproject/VerifiedCaller/releases
For changes see [CHANGELOG.md](https://github.com/camaraproject/VerifiedCaller/blob/main/CHANGELOG.md)
* Note: Please be aware that the project will have 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`: Public release r1.3 of version `0.1.0` of Brand Registration and Verified Caller API is available [here](https://github.com/camaraproject/VerifiedCaller/releases/r1.3)

* Brand Registration API definition **with inline documentation**:
* [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/brand-registration.yaml&nocors)
* [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/brand-registration.yaml)
* OpenAPI [YAML spec file](https://github.com/camaraproject/VerifiedCaller/blob/r1.3/code/API_definitions/brand-registration.yaml)

* Verified Caller API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/verified-caller.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/VerifiedCaller/r1.3/code/API_definitions/verified-caller.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/VerifiedCaller/blob/r1.3/code/API_definitions/verified-caller.yaml)

* Pre-releases of this sub project are available in https://github.com/camaraproject/VerifiedCaller/releases
* The latest public release is available here: https://github.com/camaraproject/VerifiedCaller/releases/latest
* For changes see [CHANGELOG.md](https://github.com/camaraproject/VerifiedCaller/blob/main/CHANGELOG.md)

## Contributing
* Meetings
Expand Down
38 changes: 3 additions & 35 deletions code/API_definitions/brand-registration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ openapi: 3.0.3
info:
title: Brand Registration
description: |
This API provides the ability to associate calling party numbers to be associated with a human-readable string that is to be displayed to the callee on their device screen instead of the calling number.
This API provides the ability to associate a calling party number with a human-readable string that is displayed to the callee on their device screen instead of the calling number.

# Introduction

Expand Down Expand Up @@ -49,7 +49,7 @@ info:
# Further info and support

(FAQs will be added in a later version of the documentation)
version: 0.1.0-rc.1
version: 0.1.0

license:
name: Apache 2.0
Expand All @@ -59,7 +59,7 @@ externalDocs:
description: Project documentation at Camara
url: https://github.com/camaraproject/VerifiedCaller
servers:
- url: '{apiRoot}/brand-registration/v0.1rc1'
- url: '{apiRoot}/brand-registration/v0.1'
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -674,47 +674,15 @@ components:
- 422
code:
enum:
- IDENTIFIER_MISMATCH
- SERVICE_NOT_APPLICABLE
- MISSING_IDENTIFIER
- UNSUPPORTED_IDENTIFIER
- UNNECESSARY_IDENTIFIER
examples:
GENERIC_422_IDENTIFIER_MISMATCH:
summary: Identifier mismatch
description: Inconsistency between identifiers not pointing to the same device
value:
status: 422
code: IDENTIFIER_MISMATCH
message: Provided identifiers are not consistent.
GENERIC_422_SERVICE_NOT_APPLICABLE:
summary: Service not applicable
description: Service not applicable for the provided identifier
value:
status: 422
code: SERVICE_NOT_APPLICABLE
message: The service is not available for the provided identifier.
GENERIC_422_MISSING_IDENTIFIER:
summary: Missing identifier
description: An identifier is not included in the request and the device identification cannot be derived from the 3-legged access token
value:
status: 422
code: MISSING_IDENTIFIER
message: The device cannot be identified.
GENERIC_422_UNSUPPORTED_IDENTIFIER:
summary: Unsupported identifier
description: None of the provided identifiers is supported by the implementation
value:
status: 422
code: UNSUPPORTED_IDENTIFIER
message: The identifier provided is not supported.
GENERIC_422_UNNECESSARY_IDENTIFIER:
summary: Unnecessary identifier
description: An explicit identifier is provided when a device or phone number has already been identified from the access token
value:
status: 422
code: UNNECESSARY_IDENTIFIER
message: The device is already identified by the access token.
Generic429:
description: Too Many Requests
headers:
Expand Down
29 changes: 7 additions & 22 deletions code/API_definitions/verified-caller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ openapi: 3.0.3
info:
title: Verified Caller
description: |
This API provides the ability to ...
This API provides the ability to verify the authenticity of a call from a calling party to a specific called party.

# Introduction

Consumers of Verified Caller API can initiate the verification of the authenticity of a call from a calling party, optionally to a specific called party. A relationship between the API consumer and the service provider has to be already established for a calling party. This can be achieved by using the brand-registration API, or another mechanism agreed upon by the API consumer and the service provider.
Consumers of Verified Caller API can initiate the verification of the authenticity of a call from a calling party to a specific called party. A relationship between the API consumer and the service provider has to be already established for a calling party. This can be achieved by using the brand-registration API, or another mechanism agreed upon by the API consumer and the service provider.

Verified Caller API could be useful in scenarios such as:
- Telesales
Expand Down Expand Up @@ -37,14 +37,7 @@ info:

# Identifying the device from the access token

This API requires the API consumer to identify the called party as the subject of the API as follows:
- When the API is invoked using a two-legged access token, the called party will be identified from the optional `calledParticipant` object, **unless** inclusion of the parameter contradicts with applicable regulations. If 'calledParticipant' parameter is not provided, the verification service is applied only based on the identity of the caller.
- When a three-legged access token is used however, 'calledParticipant' MUST NOT be provided, as the subject will be uniquely identified from the access token.

This approach simplifies API usage for API consumers using a three-legged access token to invoke the API by relying on the information that is associated with the access token and was identified during the authentication process.

## Error handling:
- If the subject can be identified from the access token and the optional `calledParticipant` object is also included in the request, then the server will return an error with the `422 UNNECESSARY_IDENTIFIER` error code. This will be the case even if the same party is identified by these two methods, as the server is unable to make this comparison.
Not applicable as this API requires the API consumer to identify the called party as the subject of the API using the mandatory `calledParticipant` object.

# Additional CAMARA error responses

Expand All @@ -58,7 +51,7 @@ info:

(FAQs will be added in a later version of the documentation)

version: 0.1.0-rc.2
version: 0.1.0
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
Expand All @@ -67,21 +60,21 @@ externalDocs:
description: Project documentation at Camara
url: https://github.com/camaraproject/VerifiedCaller
servers:
- url: '{apiRoot}/verified-caller/v0.1rc2'
- url: '{apiRoot}/verified-caller/v0.1'
variables:
apiRoot:
default: http://localhost:9091
description: API root
tags:
- name: Create Pre-announcement
description: Create a call pre-announcement for a Calling and optionally a Called Party
description: Create a call pre-announcement for a Calling and a Called Party
paths:
/pre-announce:
post:
tags:
- Create Pre-announcement
summary: Create a call pre-announcement in the service platform
description: Create a call pre-announcement for a Calling and optionaly a Called Party that will remain valid for a specified duration.
description: Create a call pre-announcement for a Calling and a Called Party that will remain valid for a specified duration.
operationId: createPreAnnouncement
parameters:
- $ref: '#/components/parameters/x-correlator'
Expand Down Expand Up @@ -437,7 +430,6 @@ components:
code:
enum:
- SERVICE_NOT_APPLICABLE
- UNNECESSARY_IDENTIFIER
examples:
GENERIC_422_SERVICE_NOT_APPLICABLE:
summary: Service not applicable
Expand All @@ -446,13 +438,6 @@ components:
status: 422
code: SERVICE_NOT_APPLICABLE
message: The service is not available for the provided identifier.
GENERIC_422_UNNECESSARY_IDENTIFIER:
summary: Unnecessary identifier
description: An explicit identifier is provided when a device or phone number has already been identified from the access token
value:
status: 422
code: UNNECESSARY_IDENTIFIER
message: The device is already identified by the access token.
Generic429:
description: Too Many Requests
headers:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: POST /registrations
Feature: Camara Brand Registration API, v0.1.0 - Operation: POST /registrations

# Input to be provided by the implementation to the tests
# References to OAS spec schemas refer to schemas specified in /code/API_definitions/brand-registration.yml
# Implementation indications:
# * api_root: API root of the server URL
# * apiRoot: API root of the server URL
#
# Testing assets:
# * An optional customer identifier "customerId1" to indicate the owner of the registration, typically for logically grouping & billing the registration operations.
Expand All @@ -15,7 +15,7 @@ Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: POST /registrat

Background: Brand Registration setup
Given an environment at "apiRoot"
And the resource "/brand-registration/v0.1rc1/registrations"
And the resource "/brand-registration/v0.1/registrations"
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"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: DEL
Feature: Camara Brand Registration API, v0.1.0 - Operation: DEL

# Input to be provided by the implementation to the tests
# References to OAS spec schemas refer to schemas specified in /code/API_definitions/brand-registration.yml
# Implementation indications:
# * api_root: API root of the server URL
# * apiRoot: API root of the server URL
#
# Testing assets:
# * A pre-existing brand registration "registrationId1" that can be successfully associated with the API consumer by the service provider
Expand All @@ -16,7 +16,7 @@ Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: DEL

Background: Brand Registration setup
Given an environment at "apiRoot"
Comment thread
alpaycetin74 marked this conversation as resolved.
And the resource "/brand-registration/v0.1rc1/registrations"
And the resource "/brand-registration/v0.1/registrations"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
And the request URI includes a registrationId parameter that is is a valid UUID format
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: GET
Feature: Camara Brand Registration API, v0.1.0 - Operation: GET

# Input to be provided by the implementation to the tests
# References to OAS spec schemas refer to schemas specified in /code/API_definitions/brand-registration.yml
# Implementation indications:
# * api_root: API root of the server URL
# * apiRoot: API root of the server URL
#
# Testing assets:
# * A pre-existing brand registration "registrationId1" that can be successfully associated with the API consumer by the service provider
Expand All @@ -16,7 +16,7 @@ Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: GET

Background: Brand Registration setup
Given an environment at "apiRoot"
Comment thread
alpaycetin74 marked this conversation as resolved.
And the resource "/brand-registration/v0.1rc1/registrations"
And the resource "/brand-registration/v0.1/registrations"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
And the request URI includes a registrationId parameter that is is a valid UUID format
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: PUT /registrations
Feature: Camara Brand Registration API, v0.1.0 - Operation: PUT /registrations

# Input to be provided by the implementation to the tests
# References to OAS spec schemas refer to schemas specified in /code/API_definitions/brand-registration.yml
# Implementation indications:
# * api_root: API root of the server URL
# * apiRoot: API root of the server URL
#
# Testing assets:
# * A pre-existing brand registration "registrationId1" that can be successfully associated with the API consumer by the service provider
Expand All @@ -16,7 +16,7 @@ Feature: Camara Brand Registration API, v0.1.0-rc.1 - Operation: PUT /registrati

Background: Brand Registration setup
Given an environment at "apiRoot"
Comment thread
alpaycetin74 marked this conversation as resolved.
And the resource "/brand-registration/v0.1rc1/registrations"
And the resource "/brand-registration/v0.1/registrations"
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"
Expand Down
Loading