MEF Quote Notification (Mef Lso Cantata Quote Notification)
MEF Quote Notification from MEF — 2 path(s) described in OpenAPI.
MEF Quote Notification from MEF — 2 path(s) described in OpenAPI.
openapi: 3.0.1
info:
description: |
**This file forms part of Mplify 115.1**
This API implements Business Requirements described in MEF 80 and Mplify 80.0.1
Quote API allows the Buyer to submit a request to find out how much the installation
of an instance of a Product Offering, an update to an existing Product, or
a disconnect of an existing Product will cost.
List of supported Use Cases:
- Send Quote Notification
Copyright 2025 Mplify Alliance and its contributors
This file includes content based on the TM Forum Quote Management API
(TMF648 v4.0.0) available at
https://github.com/tmforum-apis/TMF648_QuoteManagement, which is licensed by
the TM Forum under the Apache License version 2.0. Such content has been
modified by the Mplify Alliance and its contributors.
title: Quote Notification
version: 4.0.0
servers:
- url: 'https://{serverBase}/mefApi/cantata/quoteNotification/v4/'
variables:
serverBase:
default: mplify.net
description: The base of Buyer's URL.
tags:
- description: |
The Buyer's endpoint to send particular event types notifications to.
name: Notification listeners
paths:
/listener/quoteStateChangeEvent:
post:
deprecated: false
description: |
This endpoint is used to receive notifications on Quote state change
operationId: listenToQuoteStateChangeEvent
parameters:
- name: buyerId
in: query
description: >-
The unique identifier of the organization that is acting as the
Buyer. MUST be specified in the request when the requester
represents more than one Buyer.
required: false
schema:
type: string
- name: sellerId
in: query
description: >-
The unique identifier of the organization that is acting as the
Seller. MUST be specified in the request when the responding entity
represents more than one Seller.
required: false
schema:
type: string
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/QuoteStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Quote State Change Notification endpoint
tags:
- Notification listeners
/listener/quoteItemStateChangeEvent:
post:
deprecated: false
description: >
This endpoint is used to receive notifications on Quote Item state
change
operationId: listenToQuoteItemStateChangeEvent
parameters:
- name: buyerId
in: query
description: >-
The unique identifier of the organization that is acting as the
Buyer. MUST be specified in the request when the requester
represents more than one Buyer.
required: false
schema:
type: string
- name: sellerId
in: query
description: >-
The unique identifier of the organization that is acting as the
Seller. MUST be specified in the request when the responding entity
represents more than one Seller.
required: false
schema:
type: string
requestBody:
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/QuoteItemStateChangeEvent'
required: true
responses:
'204':
description:
'No Content (https://tools.ietf.org/html/rfc7231#section-6.3.5)'
'400':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error400'
description: Bad Request
'401':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error401'
description: Unauthorized
'403':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error403'
description: Forbidden
'500':
content:
application/json;charset=utf-8:
schema:
$ref: '#/components/schemas/Error500'
description: Internal Server Error
summary: Quote Item State Change Notification endpoint
tags:
- Notification listeners
components:
schemas:
Error400Code:
description: >-
One of the following error codes:
- missingQueryParameter: The URI is missing a required query-string
parameter
- missingQueryValue: The URI is missing a required query-string
parameter value
- invalidQuery: The query section of the URI is invalid.
- invalidBody: The request has an invalid body
enum:
- missingQueryParameter
- missingQueryValue
- invalidQuery
- invalidBody
type: string
Error:
description: >
Standard Class used to describe API response error
Not intended to be used directly. The `code` in the HTTP header is used
as a discriminator for the type of error returned in runtime.
properties:
reason:
description: >-
Text that explains the reason for the error. This can be shown to a
client user.
maxLength: 255
type: string
message:
description: >-
Text that provides more details and corrective actions related to
the error. This can be shown to a client user.
type: string
referenceError:
description: URL pointing to documentation describing the error
format: uri
type: string
required:
- reason
type: object
Error400:
allOf:
- $ref: '#/components/schemas/Error'
- properties:
code:
description: >-
One of the following error codes:
- missingQueryParameter: The URI is missing a required
query-string parameter
- missingQueryValue: The URI is missing a required query-string
parameter value
- invalidQuery: The query section of the URI is invalid.
- invalidBody: The request has an invalid body
$ref: '#/components/schemas/Error400Code'
required:
- code
type: object
description:
'Bad Request. (https://tools.ietf.org/html/rfc7231#section-6.5.1)'
Error401:
allOf:
- $ref: '#/components/schemas/Error'
- properties:
code:
description: >-
One of the following error codes:
- missingCredentials: No credentials provided.
- invalidCredentials: Provided credentials are invalid or
expired
$ref: '#/components/schemas/Error401Code'
required:
- code
type: object
description:
'Unauthorized. (https://tools.ietf.org/html/rfc7235#section-3.1)'
Error401Code:
description: |-
One of the following error codes:
- missingCredentials: No credentials provided.
- invalidCredentials: Provided credentials are invalid or expired
enum:
- missingCredentials
- invalidCredentials
type: string
Error403:
allOf:
- $ref: '#/components/schemas/Error'
- properties:
code:
description: |-
This code indicates that the server understood
the request but refuses to authorize it because
of one of the following error codes:
- accessDenied: Access denied
- forbiddenRequester: Forbidden requester
- tooManyUsers: Too many users
$ref: '#/components/schemas/Error403Code'
required:
- code
type: object
description:
'Forbidden. (https://tools.ietf.org/html/rfc7231#section-6.5.3)'
Error403Code:
description: |-
This code indicates that the server understood
the request but refuses to authorize it because
of one of the following error codes:
- accessDenied: Access denied
- forbiddenRequester: Forbidden requester
- tooManyUsers: Too many users
enum:
- accessDenied
- forbiddenRequester
- tooManyUsers
type: string
Error500:
description: >-
Internal Server Error.
(https://tools.ietf.org/html/rfc7231#section-6.6.1)
allOf:
- $ref: '#/components/schemas/Error'
- type: object
properties:
code:
description: >-
The following error code:
- internalError: Internal server error - the server encountered
an unexpected condition that prevented it from fulfilling the
request.
type: string
enum:
- internalError
required:
- code
Event:
description: >-
Event class is used to describe information structure used for
notification.
type: object
properties:
eventId:
description: Id of the event
type: string
eventTime:
description: Date-time when the event occurred
type: string
format: date-time
eventType:
description: The type of the notification.
type: string
event:
description: The event linked to the involved resource object
type: object
required:
- event
- eventId
- eventTime
- eventType
MEFQuoteItemStateType:
description: |
Possible values for the status of a QuoteItem.
Following mapping has been used between `MEFQuoteItemStateType` and MEF
80:
| MEFQuoteItemStateType | MEF 80 |
| ----------------------------| --------------------------------- |
| answered | ANSWERED |
| acknowledged | ACKNOWLEDGED |
| approved.orderable | ORDERABLE |
| approved.orderableAlternate | ORDERABLE_ALTERNATE |
| inProgress | IN_PROGRESS |
| inProgress.draft | IN_PROGRESS_DRAFT |
| abandoned | ABANDONED |
| rejected | REJECTED |
| unableToProvide | UNABLE_TO_PROVIDE |
enum:
- answered
- acknowledged
- approved.orderable
- approved.orderableAlternate
- inProgress
- inProgress.draft
- rejected
- abandoned
- unableToProvide
type: string
MEFQuoteStateType:
description: |
Possible values for the status of a Quote.
Following mapping has been used between `MEFQuoteStateType` and MEF 80:
| QuoteStateType | MEF 80 |
| ----------------------------------------- | --------------------------------- |
| accepted | ACCEPTED |
| acknowledged | ACKNOWLEDGED |
| answered | ANSWERED |
| approved.orderable | ORDERABLE |
| approved.orderableAlternate | ORDERABLE_ALTERNATE |
| declined | DECLINED |
| expired | EXPIRED |
| cancelled | CANCELLED |
| unableToProvide | UNABLE_TO_PROVIDE |
| inProgress | IN_PROGRESS |
| inProgress.draft | IN_PROGRESS_DRAFT |
| rejected | REJECTED |
enum:
- accepted
- acknowledged
- answered
- approved.orderable
- approved.orderableAlternate
- cancelled
- unableToProvide
- declined
- expired
- inProgress
- inProgress.draft
- rejected
type: string
QuoteItemStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- description: QuoteItemStateChangeEvent structure
type: object
properties:
eventType:
description:
Indicates the type of product offering qualification event.
type: string
enum:
- quoteItemStateChangeEvent
event:
description: |
A reference to the Quote that is source of the notification.
$ref: '#/components/schemas/QuoteItemStateChangeEventPayload'
required:
- event
- eventType
QuoteItemStateChangeEventPayload:
description:
A reference to the Quote that is the source of the notification.
type: object
properties:
id:
description: The Quote unique identifier.
type: string
href:
description: Link to the Quote
type: string
quoteItemId:
description: >-
ID of the Quote Item (within the Quote) which state change triggered
the event
type: string
state:
description: The state reached at change date
$ref: '#/components/schemas/MEFQuoteItemStateType'
required:
- id
- quoteItemId
- state
QuoteStateChangeEvent:
allOf:
- $ref: '#/components/schemas/Event'
- description: QuoteStateChangeEvent structure
type: object
properties:
eventType:
description:
Indicates the type of product offering qualification event.
type: string
enum:
- quoteStateChangeEvent
event:
description: |
A reference to the Quote that is source of the notification.
$ref: '#/components/schemas/QuoteStateChangeEventPayload'
required:
- event
- eventType
QuoteStateChangeEventPayload:
description:
A reference to the Quote that is the source of the notification.
type: object
properties:
id:
description: The Quote unique identifier.
type: string
href:
description: Link to the Quote
type: string
state:
description: The state reached at change date
$ref: '#/components/schemas/MEFQuoteStateType'
required:
- id
- state