diff options
Diffstat (limited to 'docs/offeredapis/swaggers/serviceOrder_1_0_0.yaml')
-rw-r--r-- | docs/offeredapis/swaggers/serviceOrder_1_0_0.yaml | 768 |
1 files changed, 768 insertions, 0 deletions
diff --git a/docs/offeredapis/swaggers/serviceOrder_1_0_0.yaml b/docs/offeredapis/swaggers/serviceOrder_1_0_0.yaml new file mode 100644 index 0000000..9d26cd3 --- /dev/null +++ b/docs/offeredapis/swaggers/serviceOrder_1_0_0.yaml @@ -0,0 +1,768 @@ +swagger: "2.0" +info: + description: "serviceOrder API designed for ONAP Beijing Release.\nThis API is build\ + \ from TMF open API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by\ + \ id and list) and POST are available." + version: "1.0.0_inProgress" + title: "API ServiceOrder" + x-logo: + url: "/redoc/logo.png" + backgroundColor: "#FFFFFF" +host: "serverRoot" +basePath: "/nbi/api/v1" +schemes: +- "https" +consumes: +- "application/json;charset=utf-8" +produces: +- "application/json;charset=utf-8" +tags: +- name: "ServiceOrder" + description: "A Service Order is a type of order which can be used to describe a\ + \ group of operations on service – one service order item per service. An action\ + \ at the level of the service order item describe the operation to be done on\ + \ a service (add, terminate for example). The service order is triggered from\ + \ the BSS system in charge of the product order management to ONAP that will manage\ + \ the service fulfillment." +paths: + /serviceOrder: + post: + tags: + - "ServiceOrder" + operationId: "serviceOrderCreate" + summary: "Create a service order" + description: "This operation creates a service order entity.\nThe TMF Open API\ + \ specification document provides the list of mandatory and non mandatory\ + \ attributes when creating a ServiceOrder, including any possible rule conditions\ + \ and applicable default values.\nPOST should be used without specifying the\ + \ id and the href, the Service Order Management system is in charge of generating\ + \ the id + href for the ServiceOrder.\n\nSpecific business errors for current\ + \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n\ + \n - 100: OrderItem with 'add' action but serviceSpecification id missing\n\ + \ \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n\ + \ \n - 102: OrderItem with 'add' action - serviceSpecification id provided\ + \ but not existing\n \n - 103: OrderItem with 'add' action but service id\ + \ already existing in the inventory\n \n - 104: A customer for existing\ + \ service(s) is provided but he did not exist\n \n - 105: OrderItem with\ + \ 'change'/'noChange'/'remove' - Service id provided but it is not existing\ + \ in the inventory\n \n - 106: [Not managed for current Relese] Issue with\ + \ lcpCloudRegionId and tenantId provided\n " + deprecated: false + parameters: + - name: "serviceOrder" + required: true + in: "body" + description: "" + schema: + $ref: "#/definitions/CreateServiceOrder" + responses: + 201: + description: "Success" + schema: + $ref: "#/definitions/CreateServiceOrder" + 400: + description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\ + \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\ + \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\ + \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\ + \ parameter value" + schema: + $ref: "#/definitions/ErrorRepresentation" + 401: + description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\ + \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials" + schema: + $ref: "#/definitions/ErrorRepresentation" + 403: + description: "Forbidden\n\nList of supported error codes:\n- 50: Access\ + \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\ + \ requests" + schema: + $ref: "#/definitions/ErrorRepresentation" + 404: + description: "Not Found\n\nList of supported error codes:\n- 60: Resource\ + \ not found" + schema: + $ref: "#/definitions/ErrorRepresentation" + 422: + description: "Unprocessable entity\n\nFunctional error\n\nSpecific encapsulated\ + \ business errors for current operation\n\n - 100: OrderItem with 'add'\ + \ action but serviceSpecification id missing\n \n - 101: OrderItem with\ + \ 'change'/'noChange'/'remove' but service id missing\n \n - 102: OrderItem\ + \ with 'add' action - serviceSpecification id provided but not existing\n\ + \ \n - 103: OrderItem with 'add' action but service id already existing\ + \ in the inventory\n \n - 104: A customer for existing service(s) is\ + \ provided but he did not exist\n \n - 105: OrderItem with 'change'/'noChange'/'remove'\ + \ - Service id provided but it is not existing in the inventory\n \n\ + \ - 106: [Not managed for current Relese] Issue with lcpCloudRegionId\ + \ and tenantId provided\n " + schema: + $ref: "#/definitions/ErrorRepresentation" + 500: + description: "Internal Server Error\n\nList of supported error codes:\n\ + - 1: Internal error" + schema: + $ref: "#/definitions/ErrorRepresentation" + 503: + description: "Service Unavailable\n\nList of supported error codes:\n- 5:\ + \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\ + \ retry later !" + schema: + $ref: "#/definitions/ErrorRepresentation" + get: + tags: + - "ServiceOrder" + operationId: "serviceOrderFind" + summary: "List service orders" + description: "Retrieve and list service order entities according to given criteria.\n\ + Only a predefined set of attribute is proposed.\nAttribute selection could\ + \ be described in the fields attribute.\n\nSpecific business errors for current\ + \ operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n" + deprecated: false + parameters: + - name: "externalId" + required: false + in: "query" + description: "" + type: "string" + - name: "state" + required: false + in: "query" + description: "state of the order(s) to be retrieved" + type: "string" + - name: "description" + required: false + in: "query" + description: "" + type: "string" + - name: "orderDate.gt" + required: false + in: "query" + description: "order date greather than" + type: "string" + - name: "orderDate.lt" + required: false + in: "query" + description: "order date lower than" + type: "string" + - name: "fields" + required: false + in: "query" + description: "this attribute could be used to filter retrieved attribute(s)\ + \ and/or sort SO." + type: "string" + - name: "offset" + required: false + in: "query" + description: "The index of the first element to retrieve. Zero is the first\ + \ element of the collection." + type: "integer" + format: "int32" + - name: "limit" + required: false + in: "query" + description: "The maximum number of elements to retrieve (it can be greater\ + \ than the actual available number of items)." + type: "integer" + format: "int32" + responses: + 200: + description: "Success" + schema: + type: "array" + items: + $ref: "#/definitions/ServiceOrder" + headers: + X-Total-Count: + description: "" + type: "integer" + format: "int32" + X-Result-Count: + description: "" + type: "integer" + format: "int32" + 400: + description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\ + \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\ + \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\ + \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\ + \ parameter value" + schema: + $ref: "#/definitions/ErrorRepresentation" + 401: + description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\ + \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials" + schema: + $ref: "#/definitions/ErrorRepresentation" + 403: + description: "Forbidden\n\nList of supported error codes:\n- 50: Access\ + \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\ + \ requests" + schema: + $ref: "#/definitions/ErrorRepresentation" + 404: + description: "Not Found\n\nList of supported error codes:\n- 60: Resource\ + \ not found" + schema: + $ref: "#/definitions/ErrorRepresentation" + 422: + description: "Unprocessable entity\n\nFunctional error" + schema: + $ref: "#/definitions/ErrorRepresentation" + 500: + description: "Internal Server Error\n\nList of supported error codes:\n\ + - 1: Internal error" + schema: + $ref: "#/definitions/ErrorRepresentation" + 503: + description: "Service Unavailable\n\nList of supported error codes:\n- 5:\ + \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\ + \ retry later !" + schema: + $ref: "#/definitions/ErrorRepresentation" + /serviceOrder/{id}: + get: + tags: + - "ServiceOrder" + operationId: "serviceOrderGet" + summary: "Retrieve a service order" + description: "This operation retrieves a service order entity. \nAttribute selection\ + \ is enabled for all first level attributes.\n\nSpecific business errors for\ + \ current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable\ + \ entity\n" + deprecated: false + parameters: + - name: "id" + in: "path" + required: true + type: "string" + description: "" + - name: "fields" + required: false + in: "query" + description: "Attribute selection" + type: "string" + responses: + 200: + description: "Success" + schema: + $ref: "#/definitions/ServiceOrder" + 400: + description: "Bad Request\n\nList of supported error codes:\n- 20: Invalid\ + \ URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing\ + \ body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid\ + \ header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string\ + \ parameter value" + schema: + $ref: "#/definitions/ErrorRepresentation" + 401: + description: "Unauthorized\n\nList of supported error codes:\n- 40: Missing\ + \ credentials\n- 41: Invalid credentials\n- 42: Expired credentials" + schema: + $ref: "#/definitions/ErrorRepresentation" + 403: + description: "Forbidden\n\nList of supported error codes:\n- 50: Access\ + \ denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many\ + \ requests" + schema: + $ref: "#/definitions/ErrorRepresentation" + 404: + description: "Not Found\n\nList of supported error codes:\n- 60: Resource\ + \ not found" + schema: + $ref: "#/definitions/ErrorRepresentation" + 422: + description: "Unprocessable entity\n\nFunctional error" + schema: + $ref: "#/definitions/ErrorRepresentation" + 500: + description: "Internal Server Error\n\nList of supported error codes:\n\ + - 1: Internal error" + schema: + $ref: "#/definitions/ErrorRepresentation" + 503: + description: "Service Unavailable\n\nList of supported error codes:\n- 5:\ + \ The service is temporarily unavailable\n- 6: Orange API is over capacity,\ + \ retry later !" + schema: + $ref: "#/definitions/ErrorRepresentation" +definitions: + ActionType: + description: "Action type to be describer on the order item.\nmodify is not managed\ + \ in Beijing release" + type: "string" + enum: + - "add" + - "modify" + - "delete" + - "noChange" + StateType: + description: "List of possible state for the order and the orderItem." + type: "string" + enum: + - "acknowledged" + - "rejected" + - "pending" + - "held" + - "inProgress" + - "cancelled" + - "completed" + - "failed" + - "partial" + RelationshipType: + description: "Relationship type;\nOnly reliesOn is managed in Beijing release." + type: "string" + enum: + - "reliesOn" + ErrorRepresentation: + description: "Representation of an error." + required: + - "code" + - "reason" + type: "object" + properties: + code: + description: "Application related code (as defined in the API or from a common\ + \ list)" + type: "integer" + format: "int32" + reason: + description: "Text that explains the reason for error. This can be shown to\ + \ a client user." + type: "string" + message: + description: "Text that provide more details and corrective actions related\ + \ to the error. This can be shown to a client user" + type: "string" + status: + description: "http error code extension like 400-2" + type: "string" + referenceError: + description: "url pointing to documentation describing the error" + type: "string" + '@type': + description: "The class type of a REST resource" + type: "string" + '@schemaLocation': + description: "it provides a link to the schema describing a REST resource" + type: "string" + ServiceRelationship: + description: "Linked Services to the one instantiate\nnbi component used this\ + \ relationship to sort request to ONAP." + required: + - "type" + - "service" + type: "object" + properties: + type: + $ref: "#/definitions/RelationshipType" + service: + $ref: "#/definitions/Service" + ServiceRef: + description: "Service references" + required: + - "id" + type: "object" + properties: + id: + description: "Unique identifier of the service" + type: "string" + href: + description: "Reference of the service" + type: "string" + ServiceCharacteristic: + description: "ServiceCharacteristic" + required: + - "name" + type: "object" + properties: + name: + description: "Name of characteristic" + type: "string" + valueType: + description: "" + type: "string" + value: + $ref: "#/definitions/Value" + RelatedParty: + description: "A related party defines party which are involved in this order and\ + \ the role they are playing.\nfor Beijing release:\nWith the current version\ + \ of APIs used from SO and AAI we need to manage a ‘customer’. This customer\ + \ concept is confusing with Customer BSS concept. We took the following rules\ + \ to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder\ + \ in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided\ + \ in the serviceOrder header (we will not consider in this release the party\ + \ at item level); External API component will check if this customer exists\ + \ and create it in AAI if not.\no\tIf no relatedParty are provided the service\ + \ will be affected to ‘generic’ customer (dummy customer) – we assume this ‘\ + generic’ customer always exists." + required: + - "id" + - "role" + type: "object" + properties: + id: + description: "Unique identifier of a related party" + type: "string" + href: + description: "An hyperlink to the party - not used in Beijnig release" + type: "string" + role: + description: "The role of the related party (e.g. Owner, requester, fullfiller\ + \ etc).\nONLY 'ONAPcustomer' is considered" + type: "string" + name: + description: "Name of the related party" + type: "string" + '@referredType': + description: "" + type: "string" + ServiceSpecificationRef: + description: "The service specification (these attributes are fetched from the\ + \ catalogue)." + required: + - "id" + type: "object" + properties: + id: + description: "Unique identifier of the service specification\nThis information\ + \ will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin\ + \ the request." + type: "string" + href: + description: "Reference of the service specification\nNot used in Beijing\ + \ release." + type: "string" + name: + description: "Name of the service specification\nNot used in Beijing release" + type: "string" + version: + description: "Version of the service Specification\nNot used in Beijing release" + type: "string" + targetServiceSchema: + $ref: "#/definitions/TargetServiceSchema" + '@type': + description: "Not used in Beijing release" + type: "string" + '@schemaLocation': + description: "Not used in Beijing release" + type: "string" + '@baseType': + description: "Not used in Beijing release" + type: "string" + Service: + description: "Service (to be added, modified, deleted) description" + required: + - "id" + type: "object" + properties: + id: + description: "Identifier of a service instance.\nIt must be valued if orderItem\ + \ action is 'delete' and corresponds to a AAI service.id" + type: "string" + href: + description: "Reference to the Service (useful for delete or modify command).\n\ + Not managed in Beijing release." + type: "string" + name: + description: "Name of the service - When orderItem action is 'add' this name\ + \ will be used in ONAP/SO request as InstaceName." + type: "string" + serviceState: + description: "The lifecycle state of the service requested;\nNot managed in\ + \ Beijing release." + type: "string" + '@type': + description: "To define the service type\nNot managed in Beijing Release" + type: "string" + '@schemaLocation': + description: "The URL to get the resource schema.\nNot managed in Beijing\ + \ Release" + type: "string" + serviceCharacteristic: + type: "array" + items: + $ref: "#/definitions/ServiceCharacteristic" + serviceRelationship: + type: "array" + items: + $ref: "#/definitions/ServiceRelationship" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + serviceSpecification: + $ref: "#/definitions/ServiceSpecificationRef" + OrderItemRelationship: + description: "Linked order item to the one containing this attribute.\nnbi component\ + \ used this relationship to sort request to ONAP." + required: + - "type" + - "id" + type: "object" + properties: + type: + $ref: "#/definitions/RelationshipType" + id: + description: "Unique identifier of an order item" + type: "string" + ServiceOrderItem: + description: "An identified part of the order. A service order is decomposed into\ + \ one or more order items." + required: + - "id" + - "service" + type: "object" + properties: + id: + description: "Identifier of the line item (generally it is a sequence number\ + \ 01, 02, 03, …)" + type: "string" + action: + $ref: "#/definitions/ActionType" + state: + $ref: "#/definitions/StateType" + '@type': + description: "Used to extend the order item.\nnot used in Beijing relase" + type: "string" + '@schemaLocation': + description: "not used in Beijing relase" + type: "string" + '@baseType': + description: "not used in Beijing relase" + type: "string" + orderItemRelationship: + type: "array" + items: + $ref: "#/definitions/OrderItemRelationship" + service: + $ref: "#/definitions/Service" + ServiceOrder: + description: "A Service Order is a type of order which can be used to place an\ + \ order between a customer and a service provider or between a service provider\ + \ and a partner and vice versa" + required: + - "id" + type: "object" + properties: + id: + description: "ID created on repository side" + type: "string" + href: + description: "Hyperlink to access the order" + type: "string" + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + priority: + description: "A way that can be used by consumers to prioritize orders in\ + \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ + \ and 4 the lowest)" + type: "string" + description: + description: "A free-text description of the service order" + type: "string" + category: + description: "Used to categorize the order that can be useful for the OM system\ + \ (e.g. “broadband”, “TVOption”, ...)" + type: "string" + state: + $ref: "#/definitions/StateType" + orderDate: + description: "" + type: "string" + format: "date-time" + completionDateTime: + description: "Date when the order was completed" + type: "string" + format: "date-time" + requestedStartDate: + description: "Order start date wished by the requestor" + type: "string" + format: "date-time" + requestedCompletionDate: + description: "Requested delivery date from the requestor perspective" + type: "string" + format: "date-time" + expectedCompletionDate: + description: "" + type: "string" + format: "date-time" + startDate: + description: "Date when the order was started for processing" + type: "string" + format: "date-time" + '@baseType': + description: "" + type: "string" + '@type': + description: "" + type: "string" + '@schemaLocation': + description: "" + type: "string" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + orderRelationship: + type: "array" + items: + $ref: "#/definitions/OrderRelationship" + orderItem: + type: "array" + items: + $ref: "#/definitions/ServiceOrderItem" + OrderRelationship: + description: "Linked order to the one containing this attribute.\nThis relationship\ + \ is not used to sort ONAP request." + required: + - "id" + type: "object" + properties: + type: + description: "The type of related order, can be : “dependency” if the order\ + \ needs to be “not started” until another order item is complete (a service\ + \ order in this case) or “cross-ref” to keep track of the source order (a\ + \ productOrder)" + type: "string" + id: + description: "The id of the related order" + type: "string" + href: + description: "A hyperlink to the related order" + type: "string" + '@referredType': + description: "Type of the referred order." + type: "string" + TargetServiceSchema: + description: "Target to the schema describing the service spec resource" + required: + - "@type" + - "@schemaLocation" + type: "object" + properties: + '@type': + description: "Indicates the (class) type of resource." + type: "string" + '@schemaLocation': + description: "This field provided a link to the schema describing this REST\ + \ resource." + type: "string" + Value: + description: "Value is a descriptive structure for service characteristic;\nFor\ + \ Beijing we only manage 'basic' attribute - the serviceCharacteristicValue\ + \ must be used." + type: "object" + properties: + '@type': + description: "Indicates the (class) type of resource.\nNot used in Beijing\ + \ Release" + type: "string" + '@schemaLocation': + description: "This field provided a link to the schema describing this REST\ + \ resource.\nNot used in Beijing Release" + type: "string" + serviceCharacteristicValue: + description: "Value of the characteristic.\nThis attribute must be used in\ + \ Beijing Release to provide characteristic value." + type: "string" + CreateServiceOrderItem: + description: "This structure is used in the operation POST for a serviceOrder\ + \ request to describe an item.\nAttribute description is not accurate and should\ + \ be find in the serviceOrderItem class." + required: + - "id" + - "service" + type: "object" + properties: + id: + description: "Identifier of the line item (generally it is a sequence number\ + \ 01, 02, 03, …)" + type: "string" + action: + $ref: "#/definitions/ActionType" + '@type': + description: "Indicates the type of resource." + type: "string" + '@schemaLocation': + description: "A link to the schema describing this REST resource" + type: "string" + '@baseType': + description: "Indicates the base type of the resource." + type: "string" + orderItemRelationship: + type: "array" + items: + $ref: "#/definitions/OrderItemRelationship" + service: + $ref: "#/definitions/Service" + CreateServiceOrder: + description: "This structure is used in the operation POST for a serviceOrder\ + \ request.\nAttribute description is not accurate and should be find in the\ + \ serviceOrder class." + type: "object" + properties: + externalId: + description: "ID given by the consumer and only understandable by him (to\ + \ facilitate his searches)" + type: "string" + priority: + description: "A way that can be used by consumers to prioritize orders in\ + \ Service Order Management system (from 0 to 4 : 0 is the highest priority,\ + \ and 4 the lowest)" + type: "string" + description: + description: "A free-text description of the service order" + type: "string" + category: + description: "Used to categorize the order that can be useful for the OM system\ + \ (e.g. “broadband”, “TVOption”, ...)" + type: "string" + requestedStartDate: + description: "Order start date wished by the requestor" + type: "string" + format: "date-time" + requestedCompletionDate: + description: "Requested delivery date from the requestor perspective" + type: "string" + format: "date-time" + '@baseType': + description: "" + type: "string" + '@type': + description: "" + type: "string" + '@schemaLocation': + description: "" + type: "string" + relatedParty: + type: "array" + items: + $ref: "#/definitions/RelatedParty" + orderRelationship: + type: "array" + items: + $ref: "#/definitions/OrderRelationship" + orderItem: + type: "array" + items: + $ref: "#/definitions/CreateServiceOrderItem" + Hub: + description: "An HUB resource is used by client side to subscribe to notification.\n\ + Not managed in the Beijing release." + discriminator: "id" + required: + - "callback" + type: "object" + properties: + id: + description: "" + type: "string" + query: + description: "" + type: "string" + callback: + description: "" + type: "string" |