Hi Jonathan, Thank you for the response! My case is B2C and I want this to be synchronous call. I want to know whether a list of services are available at a particular address or not. Assuming that the service location is already created by a POST call, Can we use GET call to retrieve the serviceability of a service? In case of a GET call from the user guide, I do not see service name as a header param to query for service qualification.
Below is the request and response that I am referring.
RequestGET /tmf-api/serviceQualificationManagement/v4/queryServiceQualification/54
Accept: application/jsonResponse{
"id": "54", "href": "http://serverlocation:port/serviceQualificationManagement/v4/queryServiceQualification/54", "description": "Query Service Qualification Illustration - 2 serviceSpec available at this place for this category", "effectiveQualificationDate": "2020-04-13T13:51:41.218Z", "estimatedResponseDate": "2020-04-13T14:00:00.218Z", "expectedQualificationDate": "2020-04-13T13:51:41.218Z", "expirationDate": "2020-04-15T13:51:41.218Z", "externalId": "QSQ-456", "instantSyncQualification": false, "queryServiceQualificationDate": "2020-04-13T13:51:41.218Z", "relatedParty": [ { "id": "456", "href": "http://serverlocation:port/partyManagement/v4/party/456", "name": "Jean Pontus", "role": "Buyer contact", "@type": "RelatedParty", "@referredType": "Individual" } ], "searchCriteria": { "id": "1", "category": {"id": "1", "href": "http://serverlocation:port/serviceCatalogManagement/v4/category/1", "name": "Fiber Access", "@type": "Category" }, "service": { "place": [ { "role": "Installation Place", "@type": "GeographicAddress", "city": "San Francisco", "postcode": "94121", "streetName": "25th", "streetType": "Avenue", "streetNr": "437", "geographicAddress": [ { "levelType": "floor", "levelNumber": "3" } ] } ] }, "@type": "SearchCriteria" }, "serviceQualificationItem": [ { "id": "1", "service": { "serviceSpecification": { "id": "78", "href": "http://serverlocation:port/serviceCatalogManagement/v4/serviceSpecification/78", "name": "X-Fiber Service", "@type": "ServiceSpecification" }, "@type": "Service" }, "@type": "ServiceQualificationItem" }, { "id": "2", "service": { "serviceSpecification": { "id": "87", "href": "http://serverlocation:port/serviceCatalogManagement/v4/serviceSpecification/87", "name": "Standard Fiber Service", "@type": "ServiceSpecification" }, "@type": "Service" }, "@type": "ServiceQualificationItem" } ], "state": "done",
"@type": "QueryServiceQualification" }
------------------------------
Lakshmi Mallidi
Salesforce
------------------------------
Original Message:
Sent: Feb 23, 2022 04:29
From: Jonathan Goldberg
Subject: TMF645 - QueryServiceQualification API Generalisation
Hi Lakshmi
QueryServiceQualification is what we call a TASK resource, that carries out a business operation which is not a simple create/read/update/delete (CRUD).
To execute the task, for example to query services available at an address, you POST the task resource.
It is possible that the implementation will persist the task resource (if the task is asynchronous then it must be persisted) - in that case GET can be used to retrieve the task resource.
The API user guide should have examples of the inputs and outputs for each operation.
------------------------------
Jonathan Goldberg
Amdocs Management Limited
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.
------------------------------