72ba73672428dce0e758fc8d479a69e46315a28b
[externalapi/nbi.git] / docs / offeredapis / serviceOrder / asciiDoc.adoc
1 = API ServiceOrder
2
3
4 [[_overview]]
5 == Overview
6
7 === Api URL
8
9 https://api-designer.sso.infra.ftgroup/swagger-ui/?url=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/swagger.json[Swagger UI]
10
11
12 https://plantuml.rd.francetelecom.fr/proxy?fmt=svg&src=https://api-designer.sso.infra.ftgroup/api/1.0/apis/Ve1zj3V1gj/plantuml&noCache=366455.0[plant UML UI]
13
14 serviceOrder API designed for ONAP.
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.
17
18
19 === Version information
20 [%hardbreaks]
21 __Version__ : 3.0.0_inProgress
22
23
24 === URI scheme
25 [%hardbreaks]
26 __Host__ : serverRoot
27 __BasePath__ : /nbi/api/v3
28 __Schemes__ : HTTPS
29
30
31 === Tags
32
33 * Hub
34 * Notification
35 * 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.
36
37
38 === Produces
39
40 * `application/json;charset=utf-8`
41
42
43 [[_paths]]
44 == Resources
45
46 [[_hub_resource]]
47 === Hub
48
49 [[_hubcreate]]
50 ==== Create Hub
51 ....
52 POST /hub
53 ....
54
55
56 ===== Description
57 Specific business errors for current operation will be encapsulated in
58
59 HTTP Response 422 Unprocessable entity
60
61
62 ===== Parameters
63
64 [options="header", cols=".^2,.^3,.^4"]
65 |===
66 |Type|Name|Schema
67 |**Body**|**Hub** +
68 __required__|<<_createhub,CreateHub>>
69 |===
70
71
72 ===== Responses
73
74 [options="header", cols=".^2,.^14,.^4"]
75 |===
76 |HTTP Code|Description|Schema
77 |**201**|Success +
78 **Headers** :  +
79 `location` (string)|file
80 |**400**|Bad Request
81
82 List of supported error codes:
83 - 20: Invalid URL parameter value
84 - 21: Missing body
85 - 22: Invalid body
86 - 23: Missing body field
87 - 24: Invalid body field
88 - 25: Missing header
89 - 26: Invalid header value
90 - 27: Missing query-string parameter
91 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
92 |**401**|Unauthorized
93
94 List of supported error codes:
95 - 40: Missing credentials
96 - 41: Invalid credentials
97 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
98 |**403**|Forbidden
99
100 List of supported error codes:
101 - 50: Access denied
102 - 51: Forbidden requester
103 - 52: Forbidden user
104 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
105 |**404**|Not Found
106
107 List of supported error codes:
108 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
109 |**422**|Unprocessable entity
110
111 Functional error|<<_errorrepresentation,ErrorRepresentation>>
112 |**500**|Internal Server Error
113
114 List of supported error codes:
115 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
116 |**503**|Service Unavailable
117
118 List of supported error codes:
119 - 5: The service is temporarily unavailable
120 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
121 |===
122
123
124 ===== Consumes
125
126 * `application/json;charset=utf-8`
127
128
129 [[_hubfind]]
130 ==== Retrieve a lits of hub
131 ....
132 GET /hub
133 ....
134
135
136 ===== Description
137 Specific business errors for current operation will be encapsulated in
138
139 HTTP Response 422 Unprocessable entity
140
141
142 ===== Parameters
143
144 [options="header", cols=".^2,.^3,.^4"]
145 |===
146 |Type|Name|Schema
147 |**Query**|**eventType** +
148 __optional__|enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)
149 |**Query**|**id** +
150 __optional__|string
151 |===
152
153
154 ===== Responses
155
156 [options="header", cols=".^2,.^14,.^4"]
157 |===
158 |HTTP Code|Description|Schema
159 |**200**|Success|< <<_hub,Hub>> > array
160 |**400**|Bad Request
161
162 List of supported error codes:
163 - 20: Invalid URL parameter value
164 - 21: Missing body
165 - 22: Invalid body
166 - 23: Missing body field
167 - 24: Invalid body field
168 - 25: Missing header
169 - 26: Invalid header value
170 - 27: Missing query-string parameter
171 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
172 |**401**|Unauthorized
173
174 List of supported error codes:
175 - 40: Missing credentials
176 - 41: Invalid credentials
177 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
178 |**403**|Forbidden
179
180 List of supported error codes:
181 - 50: Access denied
182 - 51: Forbidden requester
183 - 52: Forbidden user
184 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
185 |**404**|Not Found
186
187 List of supported error codes:
188 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
189 |**422**|Unprocessable entity
190
191 Functional error|<<_errorrepresentation,ErrorRepresentation>>
192 |**500**|Internal Server Error
193
194 List of supported error codes:
195 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
196 |**503**|Service Unavailable
197
198 List of supported error codes:
199 - 5: The service is temporarily unavailable
200 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
201 |===
202
203
204 ===== Produces
205
206 * `application/json;charset=utf-8`
207
208
209 [[_hubget]]
210 ==== Retrieve an HUB by id
211 ....
212 GET /hub/{hubId}
213 ....
214
215
216 ===== Description
217 Retrieve an HUB by id
218
219 Specific business errors for current operation will be encapsulated in
220
221 HTTP Response 422 Unprocessable entity
222
223
224 ===== Parameters
225
226 [options="header", cols=".^2,.^3,.^4"]
227 |===
228 |Type|Name|Schema
229 |**Path**|**hubId** +
230 __required__|string
231 |===
232
233
234 ===== Responses
235
236 [options="header", cols=".^2,.^14,.^4"]
237 |===
238 |HTTP Code|Description|Schema
239 |**200**|Success|<<_hub,Hub>>
240 |**400**|Bad Request
241
242 List of supported error codes:
243 - 20: Invalid URL parameter value
244 - 21: Missing body
245 - 22: Invalid body
246 - 23: Missing body field
247 - 24: Invalid body field
248 - 25: Missing header
249 - 26: Invalid header value
250 - 27: Missing query-string parameter
251 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
252 |**401**|Unauthorized
253
254 List of supported error codes:
255 - 40: Missing credentials
256 - 41: Invalid credentials
257 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
258 |**403**|Forbidden
259
260 List of supported error codes:
261 - 50: Access denied
262 - 51: Forbidden requester
263 - 52: Forbidden user
264 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
265 |**404**|Not Found
266
267 List of supported error codes:
268 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
269 |**422**|Unprocessable entity
270
271 Functional error|<<_errorrepresentation,ErrorRepresentation>>
272 |**500**|Internal Server Error
273
274 List of supported error codes:
275 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
276 |**503**|Service Unavailable
277
278 List of supported error codes:
279 - 5: The service is temporarily unavailable
280 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
281 |===
282
283
284 ===== Produces
285
286 * `application/json;charset=utf-8`
287
288
289 [[_hubdelete]]
290 ==== delete hub
291 ....
292 DELETE /hub/{hubId}
293 ....
294
295
296 ===== Description
297 Specific business errors for current operation will be encapsulated in
298
299 HTTP Response 422 Unprocessable entity
300
301
302 ===== Parameters
303
304 [options="header", cols=".^2,.^3,.^4"]
305 |===
306 |Type|Name|Schema
307 |**Path**|**hubId** +
308 __required__|string
309 |===
310
311
312 ===== Responses
313
314 [options="header", cols=".^2,.^14,.^4"]
315 |===
316 |HTTP Code|Description|Schema
317 |**204**|Success|No Content
318 |**400**|Bad Request
319
320 List of supported error codes:
321 - 20: Invalid URL parameter value
322 - 21: Missing body
323 - 22: Invalid body
324 - 23: Missing body field
325 - 24: Invalid body field
326 - 25: Missing header
327 - 26: Invalid header value
328 - 27: Missing query-string parameter
329 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
330 |**401**|Unauthorized
331
332 List of supported error codes:
333 - 40: Missing credentials
334 - 41: Invalid credentials
335 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
336 |**403**|Forbidden
337
338 List of supported error codes:
339 - 50: Access denied
340 - 51: Forbidden requester
341 - 52: Forbidden user
342 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
343 |**404**|Not Found
344
345 List of supported error codes:
346 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
347 |**422**|Unprocessable entity
348
349 Functional error|<<_errorrepresentation,ErrorRepresentation>>
350 |**500**|Internal Server Error
351
352 List of supported error codes:
353 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
354 |**503**|Service Unavailable
355
356 List of supported error codes:
357 - 5: The service is temporarily unavailable
358 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
359 |===
360
361
362 [[_notification_resource]]
363 === Notification
364
365 [[_notificationserviceordercreationnotification]]
366 ==== Service order creation notification
367 ....
368 POST /notification/serviceOrderCreationNotification
369 ....
370
371
372 ===== Description
373 Service order creation notification
374
375 Specific business errors for current operation will be encapsulated in
376
377 HTTP Response 422 Unprocessable entity
378
379
380 ===== Parameters
381
382 [options="header", cols=".^2,.^3,.^4"]
383 |===
384 |Type|Name|Schema
385 |**Body**|**serviceOrderCreationNotification** +
386 __required__|<<_serviceordercreationnotification,ServiceOrderCreationNotification>>
387 |===
388
389
390 ===== Responses
391
392 [options="header", cols=".^2,.^14,.^4"]
393 |===
394 |HTTP Code|Description|Schema
395 |**204**|Success|No Content
396 |**400**|Bad Request
397
398 List of supported error codes:
399 - 20: Invalid URL parameter value
400 - 21: Missing body
401 - 22: Invalid body
402 - 23: Missing body field
403 - 24: Invalid body field
404 - 25: Missing header
405 - 26: Invalid header value
406 - 27: Missing query-string parameter
407 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
408 |**401**|Unauthorized
409
410 List of supported error codes:
411 - 40: Missing credentials
412 - 41: Invalid credentials
413 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
414 |**403**|Forbidden
415
416 List of supported error codes:
417 - 50: Access denied
418 - 51: Forbidden requester
419 - 52: Forbidden user
420 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
421 |**404**|Not Found
422
423 List of supported error codes:
424 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
425 |**422**|Unprocessable entity
426
427 Functional error|<<_errorrepresentation,ErrorRepresentation>>
428 |**500**|Internal Server Error
429
430 List of supported error codes:
431 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
432 |**503**|Service Unavailable
433
434 List of supported error codes:
435 - 5: The service is temporarily unavailable
436 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
437 |===
438
439
440 ===== Consumes
441
442 * `application/json;charset=utf-8`
443
444
445 [[_notificationserviceorderitemstatechangenotification]]
446 ==== ServiceOrder Item State Change Notification description
447 ....
448 POST /notification/serviceOrderItemStateChangeNotification
449 ....
450
451
452 ===== Description
453 Specific business errors for current operation will be encapsulated in
454
455 HTTP Response 422 Unprocessable entity
456
457
458 ===== Parameters
459
460 [options="header", cols=".^2,.^3,.^4"]
461 |===
462 |Type|Name|Schema
463 |**Body**|**serviceOrderItemStateChangeNotification** +
464 __required__|<<_serviceorderitemstatechangenotification,ServiceOrderItemStateChangeNotification>>
465 |===
466
467
468 ===== Responses
469
470 [options="header", cols=".^2,.^14,.^4"]
471 |===
472 |HTTP Code|Description|Schema
473 |**204**|Success|No Content
474 |**400**|Bad Request
475
476 List of supported error codes:
477 - 20: Invalid URL parameter value
478 - 21: Missing body
479 - 22: Invalid body
480 - 23: Missing body field
481 - 24: Invalid body field
482 - 25: Missing header
483 - 26: Invalid header value
484 - 27: Missing query-string parameter
485 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
486 |**401**|Unauthorized
487
488 List of supported error codes:
489 - 40: Missing credentials
490 - 41: Invalid credentials
491 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
492 |**403**|Forbidden
493
494 List of supported error codes:
495 - 50: Access denied
496 - 51: Forbidden requester
497 - 52: Forbidden user
498 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
499 |**404**|Not Found
500
501 List of supported error codes:
502 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
503 |**422**|Unprocessable entity
504
505 Functional error|<<_errorrepresentation,ErrorRepresentation>>
506 |**500**|Internal Server Error
507
508 List of supported error codes:
509 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
510 |**503**|Service Unavailable
511
512 List of supported error codes:
513 - 5: The service is temporarily unavailable
514 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
515 |===
516
517
518 ===== Consumes
519
520 * `application/json;charset=utf-8`
521
522
523 [[_notificationserviceorderstatechangenotification]]
524 ==== Service order state change notification description
525 ....
526 POST /notification/serviceOrderStateChangeNotification
527 ....
528
529
530 ===== Description
531 Specific business errors for current operation will be encapsulated in
532
533 HTTP Response 422 Unprocessable entity
534
535
536 ===== Parameters
537
538 [options="header", cols=".^2,.^3,.^4"]
539 |===
540 |Type|Name|Schema
541 |**Body**|**serviceOrderstateChangeNotification** +
542 __required__|<<_serviceorderstatechangenotification,ServiceOrderStateChangeNotification>>
543 |===
544
545
546 ===== Responses
547
548 [options="header", cols=".^2,.^14,.^4"]
549 |===
550 |HTTP Code|Description|Schema
551 |**204**|Success|No Content
552 |**400**|Bad Request
553
554 List of supported error codes:
555 - 20: Invalid URL parameter value
556 - 21: Missing body
557 - 22: Invalid body
558 - 23: Missing body field
559 - 24: Invalid body field
560 - 25: Missing header
561 - 26: Invalid header value
562 - 27: Missing query-string parameter
563 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
564 |**401**|Unauthorized
565
566 List of supported error codes:
567 - 40: Missing credentials
568 - 41: Invalid credentials
569 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
570 |**403**|Forbidden
571
572 List of supported error codes:
573 - 50: Access denied
574 - 51: Forbidden requester
575 - 52: Forbidden user
576 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
577 |**404**|Not Found
578
579 List of supported error codes:
580 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
581 |**422**|Unprocessable entity
582
583 Functional error|<<_errorrepresentation,ErrorRepresentation>>
584 |**500**|Internal Server Error
585
586 List of supported error codes:
587 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
588 |**503**|Service Unavailable
589
590 List of supported error codes:
591 - 5: The service is temporarily unavailable
592 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
593 |===
594
595
596 ===== Consumes
597
598 * `application/json;charset=utf-8`
599
600
601 [[_serviceorder_resource]]
602 === ServiceOrder
603 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.
604
605
606 [[_serviceordercreate]]
607 ==== Create a service order
608 ....
609 POST /serviceOrder
610 ....
611
612
613 ===== Description
614 This operation creates a service order entity.
615 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.
616 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.
617
618 In Beijing Release, NBI will use only POST {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API. This mean that only the 'service-instance' level will be created in AAI. Additional resource like VNF and/OR VF are not created.
619
620 In Casablanca release, NBI has been improved to also be able to use POST {{url}}/e2eServiceInstances/v3 SO API. This API is able to instantiate in ONAP E2E service; This is useful for CCVPN and VoLTE UC.
621 Depending on the service category defined in SDC, NBI will use one or the other SO API. If category starts with e2e, NBI will use {url}}/e2eServiceInstances/v3 SO API - else it will use {{url}}/ecomp/mso/infra/serviceInstances/v4 SO API.
622
623 Specific business errors for current operation will be encapsulated in
624
625 HTTP Response 422 Unprocessable entity
626
627 * 100: OrderItem with 'add' action but serviceSpecification id missing
628
629 * 101: OrderItem with 'change'/'noChange'/'remove' but service id missing
630
631 * 102: OrderItem with 'add' action - serviceSpecification id provided but not existing
632
633 * 103: OrderItem with 'add' action but service id already existing in the inventory
634
635 * 104: A customer for existing service(s) is provided but he did not exist
636
637 * 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory
638
639 * 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided
640
641
642 ===== Parameters
643
644 [options="header", cols=".^2,.^3,.^4"]
645 |===
646 |Type|Name|Schema
647 |**Body**|**serviceOrder** +
648 __required__|<<_createserviceorder,CreateServiceOrder>>
649 |===
650
651
652 ===== Responses
653
654 [options="header", cols=".^2,.^14,.^4"]
655 |===
656 |HTTP Code|Description|Schema
657 |**201**|Success|<<_serviceorder,ServiceOrder>>
658 |**400**|Bad Request
659
660 List of supported error codes:
661 - 20: Invalid URL parameter value
662 - 21: Missing body
663 - 22: Invalid body
664 - 23: Missing body field
665 - 24: Invalid body field
666 - 25: Missing header
667 - 26: Invalid header value
668 - 27: Missing query-string parameter
669 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
670 |**401**|Unauthorized
671
672 List of supported error codes:
673 - 40: Missing credentials
674 - 41: Invalid credentials
675 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
676 |**403**|Forbidden
677
678 List of supported error codes:
679 - 50: Access denied
680 - 51: Forbidden requester
681 - 52: Forbidden user
682 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
683 |**404**|Not Found
684
685 List of supported error codes:
686 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
687 |**422**|Unprocessable entity
688
689 Functional error
690
691 Specific encapsulated business errors for current operation
692
693 * 100: OrderItem with 'add' action but serviceSpecification id missing
694
695 * 101: OrderItem with 'change'/'noChange'/'remove' but service id missing
696
697 * 102: OrderItem with 'add' action - serviceSpecification id provided but not existing
698
699 * 103: OrderItem with 'add' action but service id already existing in the inventory
700
701 * 104: A customer for existing service(s) is provided but he did not exist
702
703 * 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory
704
705 * 106: [Not managed for current Relese] Issue with lcpCloudRegionId and tenantId provided|<<_errorrepresentation,ErrorRepresentation>>
706 |**500**|Internal Server Error
707
708 List of supported error codes:
709 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
710 |**503**|Service Unavailable
711
712 List of supported error codes:
713 - 5: The service is temporarily unavailable
714 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
715 |===
716
717
718 ===== Consumes
719
720 * `application/json;charset=utf-8`
721
722
723 ===== Produces
724
725 * `application/json;charset=utf-8`
726
727
728 [[_serviceorderfind]]
729 ==== List service orders
730 ....
731 GET /serviceOrder
732 ....
733
734
735 ===== Description
736 Retrieve and list service order entities according to given criteria.
737 Only a predefined set of attribute is proposed.
738 Attribute selection could be described in the fields attribute.
739
740 Specific business errors for current operation will be encapsulated in
741
742 HTTP Response 422 Unprocessable entity
743
744
745 ===== Parameters
746
747 [options="header", cols=".^2,.^3,.^9,.^4"]
748 |===
749 |Type|Name|Description|Schema
750 |**Query**|**description** +
751 __optional__||string
752 |**Query**|**externalId** +
753 __optional__||string
754 |**Query**|**fields** +
755 __optional__|this attribute could be used to filter retrieved attribute(s) and/or sort SO.|string
756 |**Query**|**limit** +
757 __optional__|The maximum number of elements to retrieve (it can be greater than the actual available number of items).|integer (int32)
758 |**Query**|**offset** +
759 __optional__|The index of the first element to retrieve. Zero is the first element of the collection.|integer (int32)
760 |**Query**|**orderDate.gt** +
761 __optional__|order date greather than|string
762 |**Query**|**orderDate.lt** +
763 __optional__|order date lower than|string
764 |**Query**|**state** +
765 __optional__|state of the order(s) to be retrieved|string
766 |===
767
768
769 ===== Responses
770
771 [options="header", cols=".^2,.^14,.^4"]
772 |===
773 |HTTP Code|Description|Schema
774 |**200**|Success +
775 **Headers** :  +
776 `X-Total-Count` (integer (int32)) +
777 `X-Result-Count` (integer (int32))|< <<_serviceorder,ServiceOrder>> > array
778 |**400**|Bad Request
779
780 List of supported error codes:
781 - 20: Invalid URL parameter value
782 - 21: Missing body
783 - 22: Invalid body
784 - 23: Missing body field
785 - 24: Invalid body field
786 - 25: Missing header
787 - 26: Invalid header value
788 - 27: Missing query-string parameter
789 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
790 |**401**|Unauthorized
791
792 List of supported error codes:
793 - 40: Missing credentials
794 - 41: Invalid credentials
795 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
796 |**403**|Forbidden
797
798 List of supported error codes:
799 - 50: Access denied
800 - 51: Forbidden requester
801 - 52: Forbidden user
802 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
803 |**404**|Not Found
804
805 List of supported error codes:
806 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
807 |**422**|Unprocessable entity
808
809 Functional error|<<_errorrepresentation,ErrorRepresentation>>
810 |**500**|Internal Server Error
811
812 List of supported error codes:
813 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
814 |**503**|Service Unavailable
815
816 List of supported error codes:
817 - 5: The service is temporarily unavailable
818 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
819 |===
820
821
822 ===== Produces
823
824 * `application/json;charset=utf-8`
825
826
827 [[_serviceorderget]]
828 ==== Retrieve a service order
829 ....
830 GET /serviceOrder/{id}
831 ....
832
833
834 ===== Description
835 This operation retrieves a service order entity.
836 Attribute selection is enabled for all first level attributes.
837
838 Specific business errors for current operation will be encapsulated in
839
840 HTTP Response 422 Unprocessable entity
841
842
843 ===== Parameters
844
845 [options="header", cols=".^2,.^3,.^9,.^4"]
846 |===
847 |Type|Name|Description|Schema
848 |**Path**|**id** +
849 __required__||string
850 |**Query**|**fields** +
851 __optional__|Attribute selection|string
852 |===
853
854
855 ===== Responses
856
857 [options="header", cols=".^2,.^14,.^4"]
858 |===
859 |HTTP Code|Description|Schema
860 |**200**|Success|<<_serviceorder,ServiceOrder>>
861 |**400**|Bad Request
862
863 List of supported error codes:
864 - 20: Invalid URL parameter value
865 - 21: Missing body
866 - 22: Invalid body
867 - 23: Missing body field
868 - 24: Invalid body field
869 - 25: Missing header
870 - 26: Invalid header value
871 - 27: Missing query-string parameter
872 - 28: Invalid query-string parameter value|<<_errorrepresentation,ErrorRepresentation>>
873 |**401**|Unauthorized
874
875 List of supported error codes:
876 - 40: Missing credentials
877 - 41: Invalid credentials
878 - 42: Expired credentials|<<_errorrepresentation,ErrorRepresentation>>
879 |**403**|Forbidden
880
881 List of supported error codes:
882 - 50: Access denied
883 - 51: Forbidden requester
884 - 52: Forbidden user
885 - 53: Too many requests|<<_errorrepresentation,ErrorRepresentation>>
886 |**404**|Not Found
887
888 List of supported error codes:
889 - 60: Resource not found|<<_errorrepresentation,ErrorRepresentation>>
890 |**422**|Unprocessable entity
891
892 Functional error|<<_errorrepresentation,ErrorRepresentation>>
893 |**500**|Internal Server Error
894
895 List of supported error codes:
896 - 1: Internal error|<<_errorrepresentation,ErrorRepresentation>>
897 |**503**|Service Unavailable
898
899 List of supported error codes:
900 - 5: The service is temporarily unavailable
901 - 6: Orange API is over capacity, retry later !|<<_errorrepresentation,ErrorRepresentation>>
902 |===
903
904
905 ===== Produces
906
907 * `application/json;charset=utf-8`
908
909
910 [[_definitions]]
911 == Definitions
912
913 [[_actiontype]]
914 === ActionType
915 Action type to be describer on the order item.
916 modify is not managed in Beijing release
917
918 __Type__ : enum (add, modify, delete, noChange)
919
920
921 [[_createhub]]
922 === CreateHub
923 This structure is used as a request for POST Hub operation
924
925
926 [options="header", cols=".^3,.^11,.^4"]
927 |===
928 |Name|Description|Schema
929 |**callback** +
930 __required__|Address where notification must be send|string
931 |**query** +
932 __required__|The query must have an eventType=notificationName information.
933 Optionally a ? could be added to reduce hub.
934 query”:”eventType = ServiceOrderStateChangeNotification”&amp;serviceOrder.state=COMPLETED|string
935 |===
936
937
938 [[_createserviceorder]]
939 === CreateServiceOrder
940 This structure is used in the operation POST for a serviceOrder request.
941 Attribute description is not accurate and should be find in the serviceOrder class.
942
943
944 [options="header", cols=".^3,.^11,.^4"]
945 |===
946 |Name|Description|Schema
947 |**@baseType** +
948 __optional__||string
949 |**@schemaLocation** +
950 __optional__||string
951 |**@type** +
952 __optional__||string
953 |**category** +
954 __optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string
955 |**description** +
956 __optional__|A free-text description of the service order|string
957 |**externalId** +
958 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
959 |**orderItem** +
960 __optional__||< <<_createserviceorderitem,CreateServiceOrderItem>> > array
961 |**orderRelationship** +
962 __optional__||< <<_orderrelationship,OrderRelationship>> > array
963 |**priority** +
964 __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
965 |**relatedParty** +
966 __optional__||< <<_relatedparty,RelatedParty>> > array
967 |**requestedCompletionDate** +
968 __optional__|Requested delivery date from the requestor perspective|string (date-time)
969 |**requestedStartDate** +
970 __optional__|Order start date wished by the requestor|string (date-time)
971 |===
972
973
974 [[_createserviceorderitem]]
975 === CreateServiceOrderItem
976 This structure is used in the operation POST for a serviceOrder request to describe an item.
977 Attribute description is not accurate and should be find in the serviceOrderItem class.
978
979
980 [options="header", cols=".^3,.^11,.^4"]
981 |===
982 |Name|Description|Schema
983 |**@baseType** +
984 __optional__|Indicates the base type of the resource.|string
985 |**@schemaLocation** +
986 __optional__|A link to the schema describing this REST resource|string
987 |**@type** +
988 __optional__|Indicates the type of resource.|string
989 |**action** +
990 __optional__||<<_actiontype,ActionType>>
991 |**id** +
992 __required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string
993 |**orderItemRelationship** +
994 __optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array
995 |**service** +
996 __required__||<<_service,Service>>
997 |===
998
999
1000 [[_errorrepresentation]]
1001 === ErrorRepresentation
1002 Representation of an error.
1003
1004
1005 [options="header", cols=".^3,.^11,.^4"]
1006 |===
1007 |Name|Description|Schema
1008 |**@schemaLocation** +
1009 __optional__|it provides a link to the schema describing a REST resource|string
1010 |**@type** +
1011 __optional__|The class type of a REST resource|string
1012 |**code** +
1013 __required__|Application related code (as defined in the API or from a common list)|integer (int32)
1014 |**message** +
1015 __optional__|Text that provide more details and corrective actions related to the error. This can be shown to a client user|string
1016 |**reason** +
1017 __required__|Text that explains the reason for error. This can be shown to a client user.|string
1018 |**referenceError** +
1019 __optional__|url pointing to documentation describing the error|string
1020 |**status** +
1021 __optional__|http error code extension like 400-2|string
1022 |===
1023
1024
1025 [[_eventtype]]
1026 === EventType
1027 __Type__ : enum (ServiceOrderCreationNotification, ServiceOrderStateChangeNotification, ServiceOrderItemStateChangeNotification)
1028
1029
1030 [[_hub]]
1031 === Hub
1032 An HUB resource is used by client side to subscribe to notification.
1033 Not managed in the Beijing release.
1034
1035
1036 [options="header", cols=".^3,.^11,.^4"]
1037 |===
1038 |Name|Description|Schema
1039 |**callback** +
1040 __required__|Address where notification must be send|string
1041 |**id** +
1042 __optional__|Hub Id|string
1043 |**query** +
1044 __required__||string
1045 |===
1046
1047
1048 [[_notification]]
1049 === Notification
1050 Used to describe notification for this API
1051
1052 __Type__ : object
1053
1054
1055 [[_orderitemrelationship]]
1056 === OrderItemRelationship
1057 Linked order item to the one containing this attribute.
1058 nbi component used this relationship to sort request to ONAP.
1059
1060
1061 [options="header", cols=".^3,.^11,.^4"]
1062 |===
1063 |Name|Description|Schema
1064 |**id** +
1065 __required__|Unique identifier of an order item|string
1066 |**type** +
1067 __required__||<<_relationshiptype,RelationshipType>>
1068 |===
1069
1070
1071 [[_ordermessage]]
1072 === OrderMessage
1073 An optional array of messages associated with the Order
1074
1075
1076 [options="header", cols=".^3,.^11,.^4"]
1077 |===
1078 |Name|Description|Schema
1079 |**code** +
1080 __optional__|A code associated to this message|string
1081 |**correctionRequired** +
1082 __required__|Indicator that an action is required to allow service order fullfilment to follow up|boolean
1083 |**field** +
1084 __optional__|Service Order attribute related to this error message|string
1085 |**messageInformation** +
1086 __optional__|Message related to this order|string
1087 |**severity** +
1088 __required__||<<_severitymessage,SeverityMessage>>
1089 |===
1090
1091
1092 [[_orderrelationship]]
1093 === OrderRelationship
1094 Linked order to the one containing this attribute.
1095 This relationship is not used to sort ONAP request.
1096
1097
1098 [options="header", cols=".^3,.^11,.^4"]
1099 |===
1100 |Name|Description|Schema
1101 |**@referredType** +
1102 __optional__|Type of the referred order.|string
1103 |**href** +
1104 __optional__|A hyperlink to the related order|string
1105 |**id** +
1106 __required__|The id of the related order|string
1107 |**type** +
1108 __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
1109 |===
1110
1111
1112 [[_relatedparty]]
1113 === RelatedParty
1114 A related party defines party which are involved in this order and the role they are playing.
1115 for Beijing release:
1116 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:
1117 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.
1118 o If no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.
1119
1120
1121 [options="header", cols=".^3,.^11,.^4"]
1122 |===
1123 |Name|Description|Schema
1124 |**@referredType** +
1125 __optional__||string
1126 |**href** +
1127 __optional__|An hyperlink to the party - not used in Beijnig release|string
1128 |**id** +
1129 __required__|Unique identifier of a related party|string
1130 |**name** +
1131 __optional__|Name of the related party|string
1132 |**role** +
1133 __required__|The role of the related party (e.g. Owner, requester, fullfiller etc).
1134 ONLY 'ONAPcustomer' is considered|string
1135 |===
1136
1137
1138 [[_relationshiptype]]
1139 === RelationshipType
1140 Relationship type;
1141 Only reliesOn is managed in Beijing release.
1142
1143 __Type__ : enum (reliesOn)
1144
1145
1146 [[_service]]
1147 === Service
1148 Service (to be added, modified, deleted) description
1149
1150
1151 [options="header", cols=".^3,.^11,.^4"]
1152 |===
1153 |Name|Description|Schema
1154 |**@schemaLocation** +
1155 __optional__|The URL to get the resource schema.
1156 Not managed in Beijing Release|string
1157 |**@type** +
1158 __optional__|To define the service type
1159 Not managed in Beijing Release|string
1160 |**href** +
1161 __optional__|Reference to the Service (useful for delete or modify command).
1162 Not managed in Beijing release.|string
1163 |**id** +
1164 __required__|Identifier of a service instance.
1165 It must be valued if orderItem action is 'delete' and corresponds to a AAI service.id|string
1166 |**name** +
1167 __optional__|Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.|string
1168 |**relatedParty** +
1169 __optional__||< <<_relatedparty,RelatedParty>> > array
1170 |**serviceCharacteristic** +
1171 __optional__||< <<_servicecharacteristic,ServiceCharacteristic>> > array
1172 |**serviceRelationship** +
1173 __optional__||< <<_servicerelationship,ServiceRelationship>> > array
1174 |**serviceSpecification** +
1175 __optional__||<<_servicespecificationref,ServiceSpecificationRef>>
1176 |**serviceState** +
1177 __optional__|The lifecycle state of the service requested;
1178 Not managed in Beijing release.|string
1179 |===
1180
1181
1182 [[_servicecharacteristic]]
1183 === ServiceCharacteristic
1184 ServiceCharacteristic
1185
1186
1187 [options="header", cols=".^3,.^11,.^4"]
1188 |===
1189 |Name|Description|Schema
1190 |**name** +
1191 __required__|Name of characteristic|string
1192 |**value** +
1193 __optional__||<<_value,Value>>
1194 |**valueType** +
1195 __optional__||string
1196 |===
1197
1198
1199 [[_serviceorder]]
1200 === ServiceOrder
1201 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
1202
1203
1204 [options="header", cols=".^3,.^11,.^4"]
1205 |===
1206 |Name|Description|Schema
1207 |**@baseType** +
1208 __optional__||string
1209 |**@schemaLocation** +
1210 __optional__||string
1211 |**@type** +
1212 __optional__||string
1213 |**category** +
1214 __optional__|Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, …)|string
1215 |**completionDateTime** +
1216 __optional__|Date when the order was completed|string (date-time)
1217 |**description** +
1218 __optional__|A free-text description of the service order|string
1219 |**expectedCompletionDate** +
1220 __optional__||string (date-time)
1221 |**externalId** +
1222 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
1223 |**href** +
1224 __optional__|Hyperlink to access the order|string
1225 |**id** +
1226 __required__|ID created on repository side|string
1227 |**orderDate** +
1228 __optional__||string (date-time)
1229 |**orderItem** +
1230 __optional__||< <<_serviceorderitem,ServiceOrderItem>> > array
1231 |**orderMessage** +
1232 __optional__||< <<_ordermessage,OrderMessage>> > array
1233 |**orderRelationship** +
1234 __optional__||< <<_orderrelationship,OrderRelationship>> > array
1235 |**priority** +
1236 __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
1237 |**relatedParty** +
1238 __optional__||< <<_relatedparty,RelatedParty>> > array
1239 |**requestedCompletionDate** +
1240 __optional__|Requested delivery date from the requestor perspective|string (date-time)
1241 |**requestedStartDate** +
1242 __optional__|Order start date wished by the requestor|string (date-time)
1243 |**startDate** +
1244 __optional__|Date when the order was started for processing|string (date-time)
1245 |**state** +
1246 __optional__||<<_statetype,StateType>>
1247 |===
1248
1249
1250 [[_serviceordercreationnotification]]
1251 === ServiceOrderCreationNotification
1252 Notification structure for a service order creation notification
1253
1254
1255 [options="header", cols=".^3,.^11,.^4"]
1256 |===
1257 |Name|Description|Schema
1258 |**event** +
1259 __required__||<<_serviceordersummary,ServiceOrderSummary>>
1260 |**eventDate** +
1261 __required__||string (date-time)
1262 |**eventId** +
1263 __required__||string
1264 |**eventType** +
1265 __required__|**Default** : `"ServiceOrderCreationNotification"`|string
1266 |===
1267
1268
1269 [[_serviceorderitem]]
1270 === ServiceOrderItem
1271 An identified part of the order. A service order is decomposed into one or more order items.
1272
1273
1274 [options="header", cols=".^3,.^11,.^4"]
1275 |===
1276 |Name|Description|Schema
1277 |**@baseType** +
1278 __optional__|not used in Beijing relase|string
1279 |**@schemaLocation** +
1280 __optional__|not used in Beijing relase|string
1281 |**@type** +
1282 __optional__|Used to extend the order item.
1283 not used in Beijing relase|string
1284 |**action** +
1285 __optional__||<<_actiontype,ActionType>>
1286 |**id** +
1287 __required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string
1288 |**orderItemMessage** +
1289 __optional__||< <<_ordermessage,OrderMessage>> > array
1290 |**orderItemRelationship** +
1291 __optional__||< <<_orderitemrelationship,OrderItemRelationship>> > array
1292 |**percentProgress** +
1293 __optional__|Progress of the delivery in percentage.|string
1294 |**service** +
1295 __required__||<<_service,Service>>
1296 |**state** +
1297 __optional__||<<_statetype,StateType>>
1298 |===
1299
1300
1301 [[_serviceorderitemstatechangenotification]]
1302 === ServiceOrderItemStateChangeNotification
1303
1304 [options="header", cols=".^3,.^11,.^4"]
1305 |===
1306 |Name|Description|Schema
1307 |**event** +
1308 __required__||<<_serviceordersummarywithitem,ServiceOrderSummaryWithItem>>
1309 |**eventDate** +
1310 __required__||string (date-time)
1311 |**eventId** +
1312 __required__||string
1313 |**eventType** +
1314 __required__|**Default** : `"ServiceOrderStateChangeNotification"`|string
1315 |===
1316
1317
1318 [[_serviceorderitemsummary]]
1319 === ServiceOrderItemSummary
1320 Service Order item summary to be used for notification
1321
1322
1323 [options="header", cols=".^3,.^11,.^4"]
1324 |===
1325 |Name|Description|Schema
1326 |**action** +
1327 __optional__||<<_actiontype,ActionType>>
1328 |**id** +
1329 __required__|Identifier of the line item (generally it is a sequence number 01, 02, 03, …)|string
1330 |**service** +
1331 __required__||<<_service,Service>>
1332 |**state** +
1333 __optional__||<<_statetype,StateType>>
1334 |===
1335
1336
1337 [[_serviceorderstatechangenotification]]
1338 === ServiceOrderStateChangeNotification
1339 Service order state change notification description
1340
1341
1342 [options="header", cols=".^3,.^11,.^4"]
1343 |===
1344 |Name|Description|Schema
1345 |**event** +
1346 __required__||<<_serviceordersummary,ServiceOrderSummary>>
1347 |**eventDate** +
1348 __required__||string (date-time)
1349 |**eventId** +
1350 __required__||string
1351 |**eventType** +
1352 __required__|**Default** : `"ServiceOrderStateChangeNotification"`|string
1353 |===
1354
1355
1356 [[_serviceordersummary]]
1357 === ServiceOrderSummary
1358 This structure is used to provide a subset of serviceOrder attributes to be provided in particular for notification messages
1359
1360
1361 [options="header", cols=".^3,.^11,.^4"]
1362 |===
1363 |Name|Description|Schema
1364 |**completionDateTime** +
1365 __optional__|Date when the order was completed|string (date-time)
1366 |**externalId** +
1367 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
1368 |**href** +
1369 __optional__|Hyperlink to access the order|string
1370 |**id** +
1371 __required__|ID created on repository side|string
1372 |**orderDate** +
1373 __optional__||string (date-time)
1374 |**state** +
1375 __optional__||<<_statetype,StateType>>
1376 |===
1377
1378
1379 [[_serviceordersummarywithitem]]
1380 === ServiceOrderSummaryWithItem
1381 Service order item summary with item description
1382
1383
1384 [options="header", cols=".^3,.^11,.^4"]
1385 |===
1386 |Name|Description|Schema
1387 |**completionDateTime** +
1388 __optional__|Date when the order was completed|string (date-time)
1389 |**externalId** +
1390 __optional__|ID given by the consumer and only understandable by him (to facilitate his searches)|string
1391 |**href** +
1392 __optional__|Hyperlink to access the order|string
1393 |**id** +
1394 __required__|ID created on repository side|string
1395 |**orderDate** +
1396 __optional__||string (date-time)
1397 |**orderItem** +
1398 __optional__||< <<_serviceorderitemsummary,ServiceOrderItemSummary>> > array
1399 |**state** +
1400 __optional__||<<_statetype,StateType>>
1401 |===
1402
1403
1404 [[_serviceref]]
1405 === ServiceRef
1406 Service references
1407
1408
1409 [options="header", cols=".^3,.^11,.^4"]
1410 |===
1411 |Name|Description|Schema
1412 |**href** +
1413 __optional__|Reference of the service|string
1414 |**id** +
1415 __required__|Unique identifier of the service|string
1416 |===
1417
1418
1419 [[_servicerelationship]]
1420 === ServiceRelationship
1421 Linked Services to the one instantiate
1422 nbi component used this relationship to sort request to ONAP.
1423
1424
1425 [options="header", cols=".^3,.^4"]
1426 |===
1427 |Name|Schema
1428 |**service** +
1429 __required__|<<_service,Service>>
1430 |**type** +
1431 __required__|<<_relationshiptype,RelationshipType>>
1432 |===
1433
1434
1435 [[_servicespecificationref]]
1436 === ServiceSpecificationRef
1437 The service specification (these attributes are fetched from the catalogue).
1438
1439
1440 [options="header", cols=".^3,.^11,.^4"]
1441 |===
1442 |Name|Description|Schema
1443 |**@baseType** +
1444 __optional__|Not used in Beijing release|string
1445 |**@schemaLocation** +
1446 __optional__|Not used in Beijing release|string
1447 |**@type** +
1448 __optional__|Not used in Beijing release|string
1449 |**href** +
1450 __optional__|Reference of the service specification
1451 Not used in Beijing release.|string
1452 |**id** +
1453 __required__|Unique identifier of the service specification
1454 This information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.|string
1455 |**name** +
1456 __optional__|Name of the service specification
1457 Not used in Beijing release|string
1458 |**targetServiceSchema** +
1459 __optional__||<<_targetserviceschema,TargetServiceSchema>>
1460 |**version** +
1461 __optional__|Version of the service Specification
1462 Not used in Beijing release|string
1463 |===
1464
1465
1466 [[_severitymessage]]
1467 === SeverityMessage
1468 __Type__ : enum (information, error)
1469
1470
1471 [[_statetype]]
1472 === StateType
1473 List of possible state for the order and the orderItem.
1474
1475 __Type__ : enum (acknowledged, rejected, pending, held, inProgress, cancelled, completed, failed, partial)
1476
1477
1478 [[_targetserviceschema]]
1479 === TargetServiceSchema
1480 Target to the schema describing the service spec resource
1481
1482
1483 [options="header", cols=".^3,.^11,.^4"]
1484 |===
1485 |Name|Description|Schema
1486 |**@schemaLocation** +
1487 __required__|This field provided a link to the schema describing this REST resource.|string
1488 |**@type** +
1489 __required__|Indicates the (class) type of resource.|string
1490 |===
1491
1492
1493 [[_value]]
1494 === Value
1495 Value is a descriptive structure for service characteristic;
1496 For Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.
1497
1498
1499 [options="header", cols=".^3,.^11,.^4"]
1500 |===
1501 |Name|Description|Schema
1502 |**@schemaLocation** +
1503 __optional__|This field provided a link to the schema describing this REST resource.
1504 Not used in Beijing Release|string
1505 |**@type** +
1506 __optional__|Indicates the (class) type of resource.
1507 Not used in Beijing Release|string
1508 |**serviceCharacteristicValue** +
1509 __optional__|Value of the characteristic.
1510 This attribute must be used in Beijing Release to provide characteristic value.|string
1511 |===
1512