Hybris Sales UX API
Serviceability
Service Qualification API is one of the Pre-Ordering Management API families. Service Qualification. API's goal is to provide service technical eligibility in the context of the interaction.
Base URI Parameter
Name | Type | M/O | Description |
---|---|---|---|
businessId | string | M | businessId string M Business unit identifier. Example: “JM”,”PA”,”CR”,”PR” |
Headers
Name | Type | M/O | Description |
---|---|---|---|
Correlation-ID | string | O | This is a unique identifier for the current call chain that can be used to tie together log entries on multiple layers. Could be uuid value, Min 16 Characters Example: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b |
channelId | string | C/M | Defalut value : ECOM |
lob | string | O | Defines line of business. Example: "FIXED" |
Security Headers
Name | Type | M/O | Description |
---|---|---|---|
client_id | string | M | Client Id value for Client Id Enforcement policy. Environment Specific Value. Eg: 6f0ed16a7b494d76b2d60e05bc3b3332 |
client_secret | string | M | Client secret value for Client Id Enforcement policy. Environment Specific Value, eg: e4CD4D43449846aA9D8Cb9c43fAd324a |
This API is available for all five BUs (JM, PA, CR, PR ). Below are the key points
- API expects the below-mentioned query parameters
name | type | description | required |
---|---|---|---|
offset | Integer | the starting point of the page to be searched (number of records to be skipped). | N |
limit | Integer | Defines the number of records to be retrieved. | N |
searchCriteria | Object | Value will be JSON object with URL encoding. All fields are optional in a JSON object. | M |
Example:
{
"id": "9090",
"streetNr": "225",
"streetName": "Strathmore",
"postcode": "5004",
"locality": "Brighton",
"city": "Brighton",
"stateOrProvince": "SA",
"country": "Australia",
"latitude": "1.430937",
"longitude": "43.597208"
}
- SouthBound Systems For Jamaica, Panama and Costa Rica, ArcGIS is providing serviceability information. For LCPR, Marvin DB is providing serviceability information. For Chile, Siebel is providing serviceability information.
- In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name” represents access technology type like (FTTX, HFC, CU).
Key Points for Jamaica
- For Jamaica, only latitude and longitude are expected from the front end. Mule API will throw an error if these details are missing.
searchCriteria = {
"latitude": "10.03",
"longitude":"84.04"
}
URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A
- Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTX, HFC, CU) and address class priority).
- In HFC, network mode can be FUDIG, ANDIG and ANALO.
- In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” priority” represents priority of polygon.FTTX = priority 1
HFC = priority 2
Copper/CU = priority 3
- As we are not getting commercial status, plant capacity and return type(Full-duplex and half-duplex), we are assuming that
a. All addresses are commercially available.
b. Node has capacity available to serve location.
c. VOD (video on demand) may not be available for some locations, but we will not be able to tell customers as this info does not exist in GIS in Jamaica.
- In response, if all serviceQualificationItem have the same priority polygons with the same address class, priority will be given to the polygon that appears at the first index in the array.
- In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
- In response, if “serviceQualificationItem/service/feature/featureCharacteristic[x]/name” =”node_status” and “serviceQualificationItem/service/feature/featureCharacteristic[x]/value”=”E” location is serviceable. If “value” is “P” or “U”, location i s not serviceable.
- If response has only one serviceability object with priority 3 and serviceQualificationItem/service/feature/featureCharacteristic/name = CU then location is not serviceable.
- If response has only one serviceability object with serviceQualificationItem/service/feature/featureCharacteristic/name =HFC and serviceQualificationItem/service/feature/featureCharacteristic[x]/name = "netModeHfc" and value = "ANALO" then location is not serviceable.
Response for JM
[
{
"instantSyncQualification": true,
"queryServiceQualificationDate": "2022-09-15T08:33:58.225Z",
"searchCriteria": {
"service": {
"place": [
{
"geographicLocationRefOrValue": {
"@type": "GeographicLocation",
"geometry": [
{
"x": "17.982278",
"y": "-76.824238"
}
]
}
}
]
}
},
"serviceQualificationItem": [
{
"id": "1275",
"service": {
"feature": [
{
"name": "FTTX",
"featureCharacteristic": [
{
"name": "priority",
"value": "1"
},
{
"name": "polygonId",
"value": 1275
},
{
"name": "name",
"value": "WSGFDH78"
},
{
"name": "msanId",
"value": "WESX"
},
{
"name": "globalId",
"value": "{30C50AF7-4A41-45CE-9A4E-7C89D4359C89}"
},
{
"name": "shapeLength",
"value": 2848.4291333418605
},
{
"name": "node_status",
"value": "E"
},
{
"name": "cab_combo",
"value": "WSGFDH78"
}
]
}
],
"serviceCharacteristic": [
{
"name": "tvType",
"value": "IPTV"
},
{
"name": "voiceType",
"value": "SIP"
},
{
"name": "broadBandType",
"value": "GPON"
},
{
"name": "bbMaxUploadSpeed",
"value": "100Mbs"
},
{
"name": "bbMaxDownLoadSpeed",
"value": "100Mbs"
}
],
"place": [
{
"id": "WSG"
}
],
"state": "feasibilityChecked"
}
},
{
"id": "3422",
"service": {
"feature": [
{
"name": "HFC",
"featureCharacteristic": [
{
"name": "priority",
"value": "2"
},
{
"name": "polygonId",
"value": 3422
},
{
"name": "node",
"value": "JM-00-209"
},
{
"name": "name",
"value": "JM-00-209"
},
{
"name": "hub",
"value": "H0"
},
{
"name": "netModeHfc",
"value": "ANDIG"
},
{
"name": "globalId",
"value": "{EF7C4349-AE52-4065-8985-A3825DE42CAB}"
},
{
"name": "shapeLength",
"value": 2591.7853616515213
},
{
"name": "node_status",
"value": "E"
}
]
}
],
"serviceCharacteristic": [
{
"name": "tvType",
"value": "AVS"
},
{
"name": "voiceType",
"value": "SIP"
},
{
"name": "broadBandType",
"value": "DOCSIS"
},
{
"name": "bbMaxUploadSpeed",
"value": "10 Mbs"
},
{
"name": "bbMaxDownLoadSpeed",
"value": "50 Mbs"
}
],
"place": [
{
"name": "THIRD STREET, KINGSTON"
}
],
"state": "feasibilityChecked"
}
}
],
"state": "done"
}
]
Key Points for Panama
- For Panama, only latitude and longitude are expected from the front end. Mule API will throw an error if these details are missing.
searchCriteria = {
"latitude": "10.03",
"longitude":"84.04"
}
URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A
- Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTX, HFC).
- In HFC, network mode is FUDIG only for Panama,
- As we are not getting commercial status, plant capacity and return type(Full-duplex and half-duplex), we are assuming that a. All addresses are commercially available. b. Node has capacity available to serve location. c. VOD (video on demand) may not be available for some locations, but we will not be able to tell customers as this info does not exist in GIS.
- In response, if all serviceQualificationItem have the same priority polygons, priority will be given to the polygon that appears at the first index in the array.
- In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
Arcgis Field Description
Item | variable | Content | Type | Length | Comment | HFC | FTTH | Comments |
---|---|---|---|---|---|---|---|---|
1 | availableDate | Opening date for sale | Date | 10 | A Status Field and the available Date Will need to be provided for any future polygons If not informed or not aviailable CRM will consider this location as ready for service Mm/dd/yyyyy | yes | yes | Mm/dd/yyyyy |
2 | Node | Cluster of contiguous home passed (2K tipically) | char | 50 | yes | no | Only apply in HFC | |
3 | Subnode | Logical division of Node, e.g: 4 subnodes per node | char | 50 | Not used in CWP | No Used | ||
4 | ON | HFC Optical Node (Troba in Spanish) | Char | Not used in CWP | No Used | |||
5 | CMTS | CMTS ID | Char | Not avialbale in CWP | yes | no | Only apply in HFC | |
6 | NET_MODE_HFC | Network mode HFC | Char | 5 | CWP always “FUDIG” (full digital) | yes | no | Only apply in HFC |
7 | OLT | OLT ID | char | Not avialbale in CWP | no | yes | Only apply in FTTH | |
8 | FDH | Fiber Distribution Hub aka Cabinet | Char | no | yes | Only apply in FTTH | ||
9 | FDP | Fiber Distribution Point, aka NAP, aka Terminal | Char | no | yes | Only apply in FTTH | ||
10 | accessTech | Access Net type | Char | 6 | FTTx, HFC | yes | yes | FTTx, HFC |
11 | BBType | Broadband Technology Type | Char | 10 | GPON /DOCSIS / UNFEASIBLE | yes | yes | GPON /DOCSIS |
12 | BBMaxUpSpeed | Upload Speed for Internet | Int | 10 | yes | yes | ||
13 | BBMaxDownSpeed | Download Speed for Internet | Int | 10 | Not necessary for ecommerce first phases | yes | yes | |
14 | TVType | TV Technology Type | Char | 10 | IPTV /Digital HFC /Analog HFC / UNFEASIBLE | yes | yes | IPTV /Digital HFC |
15 | VoiceType | Voice Technology Type | Char | 10 | TOIP /TDM /UNFEASIBLE | yes | yes | TOIP |
16 | District | Distrito geográfico | Char | yes | yes | |||
17 | addressClass | Location classs | Char | 10 | Rural, Metropolitan. Is important as Rural data may be les accurate | No used | ||
18 | Priority | Commercial Priority | Char | Fiber - 1, HFC Metro- 2, HFC Rural- 3 | yes | yes | 1-FTTH 2-HFC | |
19 | Segmentocliente | Customer segment | TBD | TBD | yes | yes | A/B/C/D | |
20 | Longitude | Long | Float | 11 | Signed and up to 7 decimal places | yes | yes | |
21 | Latitude | Lat | Float | 11 | Signed and up to 7 decimal places | yes | yes | |
22 | AppName | System identifier from where ArcGis is invoked, for tracking purposes | char | 20 | Hybris, SGO, Liberate, etc |
Response for PA
[
{
"instantSyncQualification": true,
"queryServiceQualificationDate": "2022-08-24T06:51:30.991Z",
"searchCriteria": {
"service": {
"place": [
{
"geographicLocationRefOrValue": {
"@type": "GeographicLocation",
"geometry": [
{
"x": "9.025482",
"y": "-79.516297"
}
]
}
}
]
}
},
"serviceQualificationItem": [
{
"id": "21504",
"expectedServiceAvailabilityDate": "2011-01-01T00:00:00.000Z",
"category": {
"id": "21504",
"name": "B",
"@referredType": "economySegment"
},
"service": {
"feature": [
{
"name": "HFC",
"featureCharacteristic": [
{
"name": "priority",
"value": "2"
},
{
"name": "node",
"value": "8-SC-ED-ED-009-00"
},
{
"name": "name",
"value": "8-SC-ED-ED-009-00"
},
{
"name": "addressClass",
"value": "_"
},
{
"name": "netModeHfc",
"value": "FUDIG"
},
{
"name": "oltId",
"value": "-"
},
{
"name": "globalId",
"value": "{538E816A-BD14-4F4D-A363-7B179889552B}"
},
{
"name": "shapeLength",
"value": 0.06220896756986875
},
{
"name": "folderpath",
"value": "MAST3R Coverage/CWP/Panama"
},
{
"name": "FDH",
"value": "_"
},
{
"name": "FDP",
"value": "0"
},
{
"name": "HUB",
"value": "PDA"
}
]
}
],
"serviceCharacteristic": [
{
"name": "tvType",
"value": "Digital HFC"
},
{
"name": "voiceType",
"value": "TOIP"
},
{
"name": "broadBandType",
"value": "DOCSIS"
},
{
"name": "bbMaxUploadSpeed",
"value": 15
},
{
"name": "bbMaxDownLoadSpeed",
"value": 600
}
],
"place": [
{
"id": "ED"
}
],
"state": "feasibilityChecked"
}
}
],
"state": "done"
}
]
Key Points for CostaRica
- In Costa Rica, the ArcGIS system expects Latitude and Longitude value for serviceability. API will throw an error if Lat and Long are missing in the request.
searchCriteria = {
"latitude": "10.03",
"longitude":"84.04"
}
URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A
- Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTH, HFC) and address class priority).
- In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name” represents access technology type FTTH or HFC.
- In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” priority” represents priority of polygon. • Fiber – priority 1• HFC (address class =” Metro”) - priority 2• HFC (address class =” Rural”) - priority 3
- In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” addressClass” represents the below mentioned polygon address class. • Metro• Rural
- In response, if all serviceQualificationItem have the same priority polygons with the same address class, priority will be given to the polygon that appears at the first index in the array.
- In response, if all serviceQualificationItem objects have the same priority (overlapping HFC polygons), but the address class has a different value (Metro or Rural ), then priority will be based on the address class.
- In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
Key Points for Chile
- For Chile, the searchCriteria query param value will be JSON object with URL encoding#Example:
searchCriteria= { "latitude": "10.03", "longitude":"84.04"}
URL encoded: %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0ANote:
In case of missing query param or longitude and latitude or Id, API will throw an error.
The MuleSoft API response will have a maximum number of 100 queryServiceQualification objects, sorted by GIS_ID (place.id) for requested latitude and longitude values. 100 records restriction is from the Siebel side and is configurable.
In BSS, there may be more than 100 records corresponding to the requested latitude and longitude value. For getting the rest of the available records, the front end needs to set the offset value as 101 and hit the API again with the same payload. If the total number of records is less than 100 means no more records are available in BSS.For example, if Siebel finds 120 records for requested latitude and longitude for the first get call (Initial offset value is 1), the API will return the first 100 queryServiceQualification objects.
- If the offset is 21, the API will return the last 100 records.
- If the offset 11, the API will return the records from 11th to 110.
- Custom response header “x-result-count” returns the number of items returned in the response body. It can be used to set offset value for iterative API call.
- If no offset is sent by the front end, then the default Offset value is 1.
- In the API response, the field “serviceQualificationItem.service.place.id” returns GIS House ID for the house. House id is mandatory for customer registration..
- In API response, field serviceQualificationItem/service/serviceType represents the services available for installation. If serviceType=” null” means no service available on a given address hence no serviceability. Other possible values are,
Please Note:
. Voice –No standalone Voice sell in Ecomm (almost zero sales so out of scope).
Internet – No standalone internet sell in Ecomm.
if the location has 3PLAY customer can have any combination for 2PLAY or 1PLAY.
- In response, field “serviceQualificationItem.service.feature.name” returns Network type/technology type: FTTH or HFC and is required for serviceability decision.
- In response, field serviceQualificationItem.service. feature. feature Characteristic. name =”returnType” represents the mode of transmission. This field needs to be considered if feature.name=HFC. This field doesn’t impact serviceability but impacts user experience.
- If returnType value =”FULLDUPLEX”, the customer can enjoy VOD (video on demand). VOD is free of charge and included for free for all customers those lives in a place where the network is a fullduplex.
- If returnType value =”HALFDUPLEX”, the customer can not enjoy VOD (video on demand).
- In API response if field “serviceQualificationItem.service.serviceCharacteristic.name =” comercialStatus” and value = “N” It means no serviceability.
- In the API response, if the field “serviceQualificationItem.service.serviceCharacteristic.name =”addressStatus” and value = “INACTIVE” means the address is invalid hence no serviceability..
- In the API response, if field serviceQualificationItem.service.serviceCharacteristic.name ="isNodeCapacityFull" and Value =” Y” then it means Node is not able to serve any new address hence no serviceability.
- In the API response, if field serviceQualificationItem.service.feature.name = “HFC” and serviceQualificationItem.service.serviceCharacteristic.name="networkMode" and Value = “ANALO” Or “ANPRE” OR “SINRE” then as per business there will be no TV offer available in hybris for customer hence no serviceability and customer must be redirected to “Click to Call”This rule is not applicable to FTTH.
- Please find below table for Serviceability summery
Key points for Puerto Rico
- In Puerto Rico, the local Marvin DB (copy of CSG DB) system expects a unique House ID to provide Services available on that specific house. API will throw an error if House ID is missing in the request.
Example:
searchCriteria = {"id": "662423423"}
The value will be JSON object with URL encoding.
- Service availability response may have multiple service available items based on Local Marvin DB and sorted by access technology like TV/VOICE/INTERNET/1GB_OFFER
- As Puerto Rico eCom's requirement is to check only 4 services on an address, API will return the status of the services.
- Technology details, ‘FTTH or COAX’ has been added in response and eCom can consider it if there is any requirement, while these are not available in Marvin DB in all the records.
- attribute "startMode" will define about the location is self install or not and possiable values of "startMode" are 1) selfInstallEnabled - Location eligable to self install2) selfInstallDisabled - Location not-eligable to self install3) unknown - location would be new or techinicain not visited
Response Body
Media type representation is application/json.
Code Status: 200
[
{
"instantSyncQualification": true,
"queryServiceQualificationDate": "2021-05-07T04:14:37.180-04:00",
"serviceQualificationItem": [
{
"id": "321432452",
"expectedServiceAvailabilityDate": "2021-04-09T00:00:00.000-04:00",
"service": {
"feature": [
{
"name": "TV",
"featureCharacteristic": [
{
"name": "Status",
"value": "ACTIVE"
}
]
},
{
"name": "INTERNET",
"featureCharacteristic": [
{
"name": "Status",
"value": "DISCO"
}
]
},
{
"name": "VOICE",
"featureCharacteristic": [
{
"name": "Status",
"value": "NEVER"
}
]
},
{
"name": "1GB_offer",
"featureCharacteristic": [
{
"name": "Status",
"value": "N"
}
]
}
],
"place": [
{
"id": "00909000011645",
"@type": "BO",
"geographicLocationRefOrValue": {
"geometry": [
{
"x": "18.1415",
"y": "18.3535"
}
],
"@type": "GeographicLocation"
}
}
],
"serviceCharacteristic": [
{
"name": "NetworkType",
"value": "Fiber"
},
{
"name": "InternetSource",
"value": "A"
},
{
"name": "PoleNumber",
"value": "P06949"
},
{
"name": "VertexCode",
"value": "720010010"
},
{
"name": "BusinessUnit",
"value": "7900"
}
],
"state": "feasibilityChecked"
}
}
],
"state": "done"
}
]