9 https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/kl1kgvz1zR/swagger.json[Swagger UI]
12 https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/kl1kgvz1zR/plantuml&noCache=934804.0[plant UML UI]
14 serviceOrder API designed for ONAP Beijing Release.
15 This API is build from TMF open API18.0 (applying TMF Guideline 3.0);
16 Only operations GET (by id and list) and POST are available.
19 === Version information
21 __Version__ : 1.0.0_inProgress
27 __BasePath__ : /nbi/api/v1
33 * ServiceOrder : 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.
38 * `application/json;charset=utf-8`
43 * `application/json;charset=utf-8`
49 [[_serviceorder_resource]]
51 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.
54 [[_serviceordercreate]]
55 ==== Create a service order
62 This operation creates a service order entity.
63 The 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.
64 POST 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.
66 Specific business errors for current operation will be encapsulated in
68 HTTP Response 422 Unprocessable entity
70 * 100: OrderItem with 'add' action but serviceSpecification id missing
72 * 101: OrderItem with 'change'/'noChange'/'remove' but service id missing
74 * 102: OrderItem with 'add' action - serviceSpecification id provided but not existing
76 * 103: OrderItem with 'add' action but service id already existing in the inventory
78 * 104: A customer for existing service(s) is provided but he did not exist
80 * 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory
82 * 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided
87 [options="header", cols=".^2,.^3,.^4"]
90 |**Body**|**serviceOrder** +
91 __required__|<<_createserviceorder,CreateServiceOrder>>
97 [options="header", cols=".^2,.^14,.^4"]
99 |HTTP Code|Description|Schema
100 |**201**|Success|<<_createserviceorder,CreateServiceOrder>>
103 List of supported error codes:
104 - 20: Invalid URL parameter value
107 - 23: Missing body field
108 - 24: Invalid body field
110 - 26: Invalid header value
111 - 27: Missing query-string parameter
112 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
113 |**401**|Unauthorized
115 List of supported error codes:
116 - 40: Missing credentials
117 - 41: Invalid credentials
118 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
121 List of supported error codes:
123 - 51: Forbidden requester
125 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
128 List of supported error codes:
129 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
130 |**422**|Unprocessable entity
134 Specific encapsulated business errors for current operation
136 * 100: OrderItem with 'add' action but serviceSpecification id missing
138 * 101: OrderItem with 'change'/'noChange'/'remove' but service id missing
140 * 102: OrderItem with 'add' action - serviceSpecification id provided but not existing
142 * 103: OrderItem with 'add' action but service id already existing in the inventory
144 * 104: A customer for existing service(s) is provided but he did not exist
146 * 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory
148 * 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided|<<_errorrepresentation,ErrorRepresentation>>
149 |**500**|Internal Server Error
151 List of supported error codes:
152 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
153 |**503**|Service Unavailable
155 List of supported error codes:
156 - 5: The service is temporarily unavailable
157 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
161 [[_serviceorderfind]]
162 ==== List service orders
169 Retrieve and list service order entities according to given criteria.
170 Only a predefined set of attribute is proposed.
171 Attribute selection could be described in the fields attribute.
173 Specific business errors for current operation will be encapsulated in
175 HTTP Response 422 Unprocessable entity
180 [options="header", cols=".^2,.^3,.^9,.^4"]
182 |Type|Name|Description|Schema
183 |**Query**|**description** +
185 |**Query**|**externalId** +
187 |**Query**|**fields** +
188 __optional__|this attribute could be used to filter retrieved attribute(s) and/or sort SO.|string
189 |**Query**|**limit** +
190 __optional__|The maximum number of elements to retrieve (it can be greater than the actual available number of items).|integer (int32)
191 |**Query**|**offset** +
192 __optional__|The index of the first element to retrieve. Zero is the first element of the collection.|integer (int32)
193 |**Query**|**orderDate.gt** +
194 __optional__|order date greather than|string
195 |**Query**|**orderDate.lt** +
196 __optional__|order date lower than|string
197 |**Query**|**state** +
198 __optional__|state of the order(s) to be retrieved|string
204 [options="header", cols=".^2,.^14,.^4"]
206 |HTTP Code|Description|Schema
209 `X-Total-Count` (integer (int32)) +
210 `X-Result-Count` (integer (int32))|< <<_serviceorder,ServiceOrder>> > array
213 List of supported error codes:
214 - 20: Invalid URL parameter value
217 - 23: Missing body field
218 - 24: Invalid body field
220 - 26: Invalid header value
221 - 27: Missing query-string parameter
222 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
223 |**401**|Unauthorized
225 List of supported error codes:
226 - 40: Missing credentials
227 - 41: Invalid credentials
228 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
231 List of supported error codes:
233 - 51: Forbidden requester
235 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
238 List of supported error codes:
239 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
240 |**422**|Unprocessable entity
242 Functional error|<<_errorrepresentation,ErrorRepresentation>>
243 |**500**|Internal Server Error
245 List of supported error codes:
246 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
247 |**503**|Service Unavailable
249 List of supported error codes:
250 - 5: The service is temporarily unavailable
251 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
256 ==== Retrieve a service order
258 GET /serviceOrder/{id}
263 This operation retrieves a service order entity.
264 Attribute selection is enabled for all first level attributes.
266 Specific business errors for current operation will be encapsulated in
268 HTTP Response 422 Unprocessable entity
273 [options="header", cols=".^2,.^3,.^9,.^4"]
275 |Type|Name|Description|Schema
278 |**Query**|**fields** +
279 __optional__|Attribute selection|string
285 [options="header", cols=".^2,.^14,.^4"]
287 |HTTP Code|Description|Schema
288 |**200**|Success|<<_serviceorder,ServiceOrder>>
291 List of supported error codes:
292 - 20: Invalid URL parameter value
295 - 23: Missing body field
296 - 24: Invalid body field
298 - 26: Invalid header value
299 - 27: Missing query-string parameter
300 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
301 |**401**|Unauthorized
303 List of supported error codes:
304 - 40: Missing credentials
305 - 41: Invalid credentials
306 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
309 List of supported error codes:
311 - 51: Forbidden requester
313 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
316 List of supported error codes:
317 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
318 |**422**|Unprocessable entity
320 Functional error|<<_errorrepresentation,ErrorRepresentation>>
321 |**500**|Internal Server Error
323 List of supported error codes:
324 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
325 |**503**|Service Unavailable
327 List of supported error codes:
328 - 5: The service is temporarily unavailable
329 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
338 Action type to be describer on the order item.
339 modify is not managed in Beijing release
341 __Type__ : enum (add, modify, delete, noChange)
344 [[_createserviceorder]]
345 === CreateServiceOrder
346 This structure is used in the operation POST for a serviceOrder request.
347 Attribute description is not accurate and should be find in the serviceOrder class.
350 [options="header", cols=".^3,.^11,.^4"]
352 |Name|Description|Schema
355 |**@schemaLocation** +
360 __optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string
362 __optional__|A free-text description of the service order|string
364 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
366 __optional__||< <<_createserviceorderitem,CreateServiceOrderItem>> > array
367 |**orderRelationship** +
368 __optional__||< <<_orderrelationship,OrderRelationship>> > array
370 __optional__|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)|string
372 __optional__||< <<_relatedparty,RelatedParty>> > array
373 |**requestedCompletionDate** +
374 __optional__|Requested delivery date from the requestor perspective|string (date-time)
375 |**requestedStartDate** +
376 __optional__|Order start date wished by the requestor|string (date-time)
380 [[_createserviceorderitem]]
381 === CreateServiceOrderItem
382 This structure is used in the operation POST for a serviceOrder request to describe an item.
383 Attribute description is not accurate and should be find in the serviceOrderItem class.
386 [options="header", cols=".^3,.^11,.^4"]
388 |Name|Description|Schema
390 __optional__|Indicates the base type of the resource.|string
391 |**@schemaLocation** +
392 __optional__|A link to the schema describing this REST resource|string
394 __optional__|Indicates the type of resource.|string
396 __optional__||<<_actiontype,ActionType>>
398 __required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string
399 |**orderItemRelationship** +
400 __optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array
402 __required__||<<_service,Service>>
406 [[_errorrepresentation]]
407 === ErrorRepresentation
408 Representation of an error.
411 [options="header", cols=".^3,.^11,.^4"]
413 |Name|Description|Schema
414 |**@schemaLocation** +
415 __optional__|it provides a link to the schema describing a REST resource|string
417 __optional__|The class type of a REST resource|string
419 __required__|Application related code (as defined in the API or from a common list)|integer (int32)
421 __optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string
423 __required__|Text that explains the reason for error. This can be shown to a client user.|string
424 |**referenceError** +
425 __optional__|url pointing to documentation describing the error|string
427 __optional__|http error code extension like 400-2|string
433 An HUB resource is used by client side to subscribe to notification.
434 Not managed in the Beijing release.
437 [options="header", cols=".^3,.^4"]
449 [[_orderitemrelationship]]
450 === OrderItemRelationship
451 Linked order item to the one containing this attribute.
452 nbi component used this relationship to sort request to ONAP.
455 [options="header", cols=".^3,.^11,.^4"]
457 |Name|Description|Schema
459 __required__|Unique identifier of an order item|string
461 __required__||<<_relationshiptype,RelationshipType>>
465 [[_orderrelationship]]
466 === OrderRelationship
467 Linked order to the one containing this attribute.
468 This relationship is not used to sort ONAP request.
471 [options="header", cols=".^3,.^11,.^4"]
473 |Name|Description|Schema
475 __optional__|Type of the referred order.|string
477 __optional__|A hyperlink to the related order|string
479 __required__|The id of the related order|string
481 __optional__|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)|string
487 A related party defines party which are involved in this order and the role they are playing.
489 With 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:
490 o It 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.
491 o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.
494 [options="header", cols=".^3,.^11,.^4"]
496 |Name|Description|Schema
500 __optional__|An hyperlink to the party - not used in Beijnig release|string
502 __required__|Unique identifier of a related party|string
504 __optional__|Name of the related party|string
506 __required__|The role of the related party (e.g. Owner, requester, fullfiller etc).
507 ONLY 'ONAPcustomer' is considered|string
511 [[_relationshiptype]]
514 Only reliesOn is managed in Beijing release.
516 __Type__ : enum (reliesOn)
521 Service (to be added, modified, deleted) description
524 [options="header", cols=".^3,.^11,.^4"]
526 |Name|Description|Schema
527 |**@schemaLocation** +
528 __optional__|The URL to get the resource schema.
529 Not managed in Beijing Release|string
531 __optional__|To define the service type
532 Not managed in Beijing Release|string
534 __optional__|Reference to the Service (useful for delete or modify command).
535 Not managed in Beijing release.|string
537 __required__|Identifier of a service instance.
538 It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id|string
540 __optional__|Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.|string
542 __optional__||< <<_relatedparty,RelatedParty>> > array
543 |**serviceCharacteristic** +
544 __optional__||< <<_servicecharacteristic,ServiceCharacteristic>> > array
545 |**serviceRelationship** +
546 __optional__||< <<_servicerelationship,ServiceRelationship>> > array
547 |**serviceSpecification** +
548 __optional__||<<_servicespecificationref,ServiceSpecificationRef>>
550 __optional__|The lifecycle state of the service requested;
551 Not managed in Beijing release.|string
555 [[_servicecharacteristic]]
556 === ServiceCharacteristic
557 ServiceCharacteristic
560 [options="header", cols=".^3,.^11,.^4"]
562 |Name|Description|Schema
564 __required__|Name of characteristic|string
566 __optional__||<<_value,Value>>
574 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
577 [options="header", cols=".^3,.^11,.^4"]
579 |Name|Description|Schema
582 |**@schemaLocation** +
587 __optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string
588 |**completionDateTime** +
589 __optional__|Date when the order was completed|string (date-time)
591 __optional__|A free-text description of the service order|string
592 |**expectedCompletionDate** +
593 __optional__||string (date-time)
595 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
597 __optional__|Hyperlink to access the order|string
599 __required__|ID created on repository side|string
601 __optional__||string (date-time)
603 __optional__||< <<_serviceorderitem,ServiceOrderItem>> > array
604 |**orderRelationship** +
605 __optional__||< <<_orderrelationship,OrderRelationship>> > array
607 __optional__|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)|string
609 __optional__||< <<_relatedparty,RelatedParty>> > array
610 |**requestedCompletionDate** +
611 __optional__|Requested delivery date from the requestor perspective|string (date-time)
612 |**requestedStartDate** +
613 __optional__|Order start date wished by the requestor|string (date-time)
615 __optional__|Date when the order was started for processing|string (date-time)
617 __optional__||<<_statetype,StateType>>
621 [[_serviceorderitem]]
623 An identified part of the order. A service order is decomposed into one or more order items.
626 [options="header", cols=".^3,.^11,.^4"]
628 |Name|Description|Schema
630 __optional__|not used in Beijing relase|string
631 |**@schemaLocation** +
632 __optional__|not used in Beijing relase|string
634 __optional__|Used to extend the order item.
635 not used in Beijing relase|string
637 __optional__||<<_actiontype,ActionType>>
639 __required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string
640 |**orderItemRelationship** +
641 __optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array
643 __required__||<<_service,Service>>
645 __optional__||<<_statetype,StateType>>
654 [options="header", cols=".^3,.^11,.^4"]
656 |Name|Description|Schema
658 __optional__|Reference of the service|string
660 __required__|Unique identifier of the service|string
664 [[_servicerelationship]]
665 === ServiceRelationship
666 Linked Services to the one instantiate
667 nbi component used this relationship to sort request to ONAP.
670 [options="header", cols=".^3,.^4"]
674 __required__|<<_service,Service>>
676 __required__|<<_relationshiptype,RelationshipType>>
680 [[_servicespecificationref]]
681 === ServiceSpecificationRef
682 The service specification (these attributes are fetched from the catalogue).
685 [options="header", cols=".^3,.^11,.^4"]
687 |Name|Description|Schema
689 __optional__|Not used in Beijing release|string
690 |**@schemaLocation** +
691 __optional__|Not used in Beijing release|string
693 __optional__|Not used in Beijing release|string
695 __optional__|Reference of the service specification
696 Not used in Beijing release.|string
698 __required__|Unique identifier of the service specification
699 This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.|string
701 __optional__|Name of the service specification
702 Not used in Beijing release|string
703 |**targetServiceSchema** +
704 __optional__||<<_targetserviceschema,TargetServiceSchema>>
706 __optional__|Version of the service Specification
707 Not used in Beijing release|string
713 List of possible state for the order and the orderItem.
715 __Type__ : enum (acknowledged, rejected, pending, held, inProgress, cancelled, completed, failed, partial)
718 [[_targetserviceschema]]
719 === TargetServiceSchema
720 Target to the schema describing the service spec resource
723 [options="header", cols=".^3,.^11,.^4"]
725 |Name|Description|Schema
726 |**@schemaLocation** +
727 __required__|This field provided a link to the schema describing this REST resource.|string
729 __required__|Indicates the (class) type of resource.|string
735 Value is a descriptive structure for service characteristic;
736 For Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.
739 [options="header", cols=".^3,.^11,.^4"]
741 |Name|Description|Schema
742 |**@schemaLocation** +
743 __optional__|This field provided a link to the schema describing this REST resource.
744 Not used in Beijing Release|string
746 __optional__|Indicates the (class) type of resource.
747 Not used in Beijing Release|string
748 |**serviceCharacteristicValue** +
749 __optional__|Value of the characteristic.
750 This attribute must be used in Beijing Release to provide characteristic value.|string