Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Hide If
special@authenticated
Note
titleTo access this API specification you wil need to be logged in

To login with your TM Forum account please click on the Login button below

Button Hyperlink
titleLogin
typeprimary
urlhttps://projects.tmforum.org/wiki/login.action?os_destination=%2Fdisplay%2FAPI%2FOpen%2BAPI%2BTable

Don't have an account? You can register by clicking here:

Button Hyperlink
titleRegister
typeprimary
urlhttps://www.tmforum.org/user-registration/
targettrue

Show If
special@authenticated

For every single of operation on the entities use the following templates and provide sample REST notification POST calls.
It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in the REST Guidelines reproduced below.

REGISTER LISTENER POST /hub

Description :
Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. Subsequent POST calls will be rejected by the service if it does not support multiple listeners. In this case DELETE /api/hub/{id} must be called before an endpoint can be created again.
Behavior :
Returns HTTP/1.1 status code 204 if the request was successful.
Returns HTTP/1.1 status code 409 if request is not successful.

REQUEST

POST /api/hub
Accept: application/json

{"callback": "http://in.listener.com"}

RESPONSE

201
Content-Type: application/json
Location: /api/hub/42

{"id":"42","callback":"http://in.listener.com","query":null}

UNREGISTER LISTENER DELETE hub/{id}

Description :
Clears the communication endpoint address that was set by creating the Hub.
Behavior :
Returns HTTP/1.1 status code 204 if the request was successful.
Returns HTTP/1.1 status code 404 if the resource is not found.

REQUEST

DELETE /api/hub/{id}
Accept: application/json

RESPONSE

204

publish adhocCollectionAVCN POST /listener

Description:
Publish the changes to adhocCollection for the following attributes:

  • lastModifiedTime
  • AdminState
  • jobPriority
  • executionstate
  • scheduleDef
  • Id
  • sourceTime
  • ObjectType

Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{ "event":{
" lastModifiedTime": "",
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection" }, "eventType": "adhocCollectionAVCN " }

RESPONSE

201
Content-Type: application/json

publish measurementCollectionJobAVCN POST /listener

Description:
Publish the changes to measurementCollectionJob for the following attributes:

  • reportingPeriod
  • granularity
  • monitoredObjectsCriteria
  • AdminState
  • jobPriority
  • executionstate
  • scheduleDef
  • Id
  • sourceTime
  • ObjectType

Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{ "event":{
"reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": {
"monitoredObjectClass": "SDH-Route"
}
},
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"},"eventType": " MeasurementCollectionJobAVCN "}

RESPONSE

201
Content-Type: application/json

publish measurementProductionJobAVCN POST /listener

Description:
Publish the changes to MeasurementProductionJob for the following attributes:

  • granularity
  • monitoredObjectsCriteria
  • AdminState
  • jobPriority
  • executionstate
  • scheduleDef
  • Id
  • sourceTime
  • ObjectType

Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{ "event":{
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": {
"monitoredObjectClass": "SDH-Route"
}
},
"AdminState": "UNLOCKED",
"jobPriority": "5",
"executionState" : "Executing",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"id": "collJob001",
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"},"eventType": " MeasurementProductionJobAVCN"}

RESPONSE

201
Content-Type: application/json

publish measurementCollectionJobOCN POST /listener

Description:
Publish the creation of MeasurementCollectionJob.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

200
Content-Type: application/json

{
"event":{
"measurementCollectionJob": {
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15M",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
},
"eventType": " MeasurementCollectionJobOCN "
}

RESPONSE

201
Content-Type: application/json

publish measurementProductionJobOCN POST /listener

Description:
Publish the creation of MeasurementProductionJob.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{ "event":{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}"eventType": " MeasurementProductionJobOCN "}

RESPONSE

201
Content-Type: application/json

 

publish measurementCollectionJobODelN POST /listener

Description:
Publish the deletion of MeasurementCollectionJob.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

200
Content-Type: application/json

{
"event":{
"measurementCollectionJob": {
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"reportingPeriod": "R_15M",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15M",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
},
"eventType": " MeasurementCollectionJobODelN "
}

RESPONSE

201
Content-Type: application/json

publish measurementProductionJobODelN POST /listener

Description:
Publish the deletion of MeasurementProductionJob.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{ "event":{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "2",
"jobPriority": "5",
"executionState": "ExecutionState",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15M",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
},
"sourceTime" : "11-26-2014 16:00:00 +0530",
"ObjectType" : "AdhocCollection"
}"eventType": " MeasurementProductionJobODelN "}

RESPONSE

201
Content-Type: application/json

publish filesReady POST /listener

Description:
Publish the filesReady event.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{
"event": {
"id": "1",
"compressionType": "NO_COMPRESSION",
"packingType": "NO_PACKING",
"fileInfo": {
"fileName": "SDH-NE_SDH-Route_20131126163000+0530_900.csv",
"fileLocation": "/pm/pmdata/collJob001/",
"readyTime": "11-26-2014 16:30:00 +0530"
},
"fileTransferStatus": "COMPLETE"
},
"eventType": "FilesReady"
}

RESPONSE

201
Content-Type: application/json

publish filesPreparationError POST /listener

Description:
Publish the filespreparationerror event.
Behavior:
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.

REQUEST

POST /client/listener
Accept: application/json

{
"event": {
"id": "1",
"compressionType": "NO_COMPRESSION",
"packingType": "NO_PACKING",
"fileInfo": {
"fileName": "SDH-NE_SDH-Route_20131126163000+0530_900.csv",
"fileLocation": "/pm/pmdata/collJob001/",
"readyTime": "11-26-2014 16:30:00 +0530"
},
"reason": " filePreparationErrorReason ",
"description": " prepation error for link down "
},
"eventType": "FilesPreparationError"
}

RESPONSE

201
Content-Type: application/json


Example see TMF REST Design Guidelines.

 


© TM Forum 2015. All Rights Reserved.