I'm not so sure that this is mandatory - in principle the client and server can do content-type negotiation (of course both sides have to agree on the format).
I've asked the Design Guidelines focal to relate to this issue.
Any opinions and statements made by me on this forum are purely personal, and do not necessarily reflect the position of the TM Forum or my employer.
Original Message:
Sent: Dec 11, 2023 09:52
From: Mahesh Choudhari
Subject: Urgent: Is Stringfied JSON format TMF Open API is in compliance/standards?
ok.. Got it.. Thanks for clarification :)
------------------------------
Mahesh Choudhari
BT Group plc
Original Message:
Sent: Dec 11, 2023 09:48
From: Ragavi Ramasamy
Subject: Urgent: Is Stringfied JSON format TMF Open API is in compliance/standards?
Hello Mahesh,
My understanding on this we should send it in normal JSON format as per TMF API compliance and 630 design guidelines
------------------------------
Ragavi Ramasamy
Halleyx Inc.
Original Message:
Sent: Dec 11, 2023 09:46
From: Mahesh Choudhari
Subject: Urgent: Is Stringfied JSON format TMF Open API is in compliance/standards?
Thanks @Ragavi Ramasamy. Sorry so you mean in our use case we can send it TMF API structure in stringified format i.e with this format with backslash (/)) like \"id\":\"nsUKXXXXXX\",\"name\":\"nsUKXXXXXX\",\"alias1\": \"UKIXXXXXX, ..right?
OR we should send it in normal JSON format as per TMF API compliance and 630 design guidelines?
------------------------------
Mahesh Choudhari
BT Group plc
Original Message:
Sent: Dec 11, 2023 09:23
From: Ragavi Ramasamy
Subject: Urgent: Is Stringfied JSON format TMF Open API is in compliance/standards?
Hello Mahesh,
My understanding on this we should send it as normal JSON object payload.
In your situation, where notifications are directed to customers, you have the flexibility to suppress certain mandatory elements in the API data model, such as specification and targetEntity. I believe this adjustment is acceptable for your specific use case.
------------------------------
Ragavi Ramasamy
Halleyx Inc.
Original Message:
Sent: Dec 11, 2023 08:05
From: Mahesh Choudhari
Subject: Urgent: Is Stringfied JSON format TMF Open API is in compliance/standards?
Need one input about TMF API implementation... recently we have adopted and implemented TMF 638, 639 etc. however during implementation source system is sending Json service or resource payload in stringified version or object rather than plain Json payload format...
But our consumer is telling this is not TMF compliance standard. As per TMF compliance it should be normal JSON object payload rather stringified json payload...
The reason behind keeping this was source system has limitation of sending 1 mb file to Kafka as it has more than 12000 lines hence, they kept stringified version while sending it to consumer via Kafka so that it can provide payload of large no. of lines... f
Following sample for your reference... Do you think is this valid as per TMF compliance/Standard or we should send it has normal JSON object payload?
{
"eventId" : "230584",
"eventTime" : "2023-12-05T06:57:13.013",
"eventType" : "ServiceStateChangeEvent",
"source" : {
"id" : "APPXXXXX"
},
"name" : "srimsie-sip-l3interface",
"event" : {
"service" : "{\"id\":\"nsUKXXXXXX\",\"name\":\"nsUKXXXXXX\",\"alias1\":\"UKIS100000105.L3Interface\",\"alias2\":\"nsUKXXXXXX\",\"startDate\":\"2023-11-08 07:25:22\",\"serviceDate\":\"2023-11-08 07:22:16\",\"href\":\"http://10.54.36.144:61050/tmf-api/serviceInventoryManagement/v4/service?id=nsUKIN10002747&systemName=system\",\"serviceStatus\":\"Planned\",\"serviceType\":\"GWAN-Service\",\"category\":\"RFS\",\"@referredType\":\"GWAN-Service\",\"@type\":\"gwan.tmfv4.resourceTypes.Layer3InterfaceRfsVer3\",\"@baseType\":\"Service\",\"serviceSpecification\":{\"specRemarks\":\"Data" title="http://10.54.36.144:61050/tmf-api/serviceinventorymanagement/v4/service?id=nsukin10002747&systemname=system\%22,\%22servicestatus\%22:\%22planned\%22,\%22servicetype\%22:\%22gwan-service\%22,\%22category\%22:\%22rfs\%22,\%22@referredtype\%22:\%22gwan-service\%22,\%22@type\%22:\%22gwan.tmfv4.resourcetypes.layer3interfacerfsver3\%22,\%22@basetype\%22:\%22service\%22,\%22servicespecification\%22:%7b\%22specremarks\%22:\%22data" href="http://10.54.36.144:61050/tmf-api/serviceInventoryManagement/v4/service?id=nsUKIN10002747&systemName=system\%22,\%22serviceStatus\%22:\%22Planned\%22,\%22serviceType\%22:\%22GWAN-Service\%22,\%22category\%22:\%22RFS\%22,\%22@referredType\%22:\%22GWAN-Service\%22,\%22@type\%22:\%22gwan.tmfv4.resourceTypes.Layer3InterfaceRfsVer3\%22,\%22@baseType\%22:\%22Service\%22,\%22serviceSpecification\%22:%7B\%22specRemarks\%22:\%22Data" rel="noreferrer noopener" target="_blank" class="fui-Link ___10kug0w f3rmtva f1ewtqcl fyind8e f1k6fduh f1w7gpdv fk6fouc fjoy568 figsok6 f1hu3pq6 f11qmguv f19f4twv f1tyq0we f1g0x7ka fhxju0i f1qch9an f1cnd47f fqv5qza f1vmzxwi f1o700av f13mvf36 f1cmlufx f9n3di6 f1ids18y f1tx3yz7 f1deo86v f1eh06m1 f1iescvh fhgqx19 f1olyrje f1p93eir f1nev41a f1h8hb77 f1lqvz6u f10aw75t fsle3fq f17ae5zn">http://xx.xx.xx.xx:xxxxtmf-api/serviceInventoryManagement/v4/service?id=nsUKIN10002747&systemName=system\",\"serviceStatus\":\"Planned\",\"serviceType\":\"GWAN-Service\",\"category\":\"RFS\",\"@referredType\":\"GWAN-Service\",\"@type\":\"gwan.tmfv4.resourceTypes.Layer3InterfaceRfsVer3\",\"@baseType\":\"Service\",\"serviceSpecification\":{\"specRemarks\":\"Data Service\",\"version\":\"V4\",\"name\":\"L3 Interface RFS\",\"masteringSystem\":\"CienaBP\",\"id\":\"L3 Interface RFS\",\"status\":\"Active\",\"@type\":\"GWAN-Service\"},\"serviceCharacteristic\":[{\"id\":\"nsUKIN10002747:BandwidthAttribute\",\"name\":\"BandwidthAttribute\",\"valueType\":\"object\",\"value\":{\"@type\":\"BandwidthAttribute\",\"Bandwidth\":\"10 Mbit/s\",\"RealTime\":\"100\"}},{\"id\":\"nsUKXXXXXXX:OrdersAttribute\",\"name\":\"OrdersAttribute\",\"valueType\":\"object\",\"value\":{\"Ipv6NteRouterWanMask\":\"127\",\"AccessAEndServiceId\":\"nsEDGEXXXXXXX\",\"PeDeviceType\":\"PE Router\",\"@type\":\"OrdersAttribute\",\"AccessTechnologyAEnd\":\"EAD\",\"Ipv6AccessRouterSubIntAddress\":\"2a00:2380:3013:4000:0000:0000:0000:0148\",\"RouterName\":\"acc4.birmingham.ukcore.bt.net\",\"TrafficClass\":\"Premium\",\"PortId\":\"1/0/5\",\"AccessBEndServiceId\":\"nsEDGEXXXXXXXX\",\"PeSubinterfaceId\":\"0/0/0/6.251\",\"BEndSVLANId\":\"161\",\"PeRouterSupplierName\":\"CIS\",\"Ipv4AccessRouterSubIntAddress\":\"31.55.134.113\",\"Type\":\"gwan.tmfv4.resourceTypes.Layer3InterfaceRfsVer3\",\"PeRouterModel\":\"CISCOASR9010\",\"PeRouterSneID\":\"243586\",\"Ipv4NteRouterWanAddress\":\"31.55.134.114\",\"CustomerName\":\"Rootes Routers Ltd\",\"InternetEVCServiceId\":\"UKXXXXXXXX\",\"Ipv4NteRouterWanMask\":\"30\",\"IsVoice\":\"false\",\"RouterIP\":\"85.144.120.210\",\"Ipv6NteRouterWanAddress\":\"2a00:2380:3013:4000:0000:0000:0000:0149\"}}]}"
}
}
------------------------------
Mahesh Choudhari
BT Group plc
------------------------------