Salesforce UX API
product-inventory-specification-TMF637
This operation retrieves a product entity by input MSISDN/SubscriptionId.
Key points for Puerto Rico
Below are the key points for PR business unit..
https://[host]/sfdc-ux/v1/{businessId}/product
- API expects the below-mentioned query parameters (Y - Mandatory & N - Optional)
name | type | description | required |
---|---|---|---|
publicIdentifier | string | Public identifier value of a product, like MSISDN, subscription id. | Y |
publicIdentifierType | string | Public identifier type value. Allowed values are MSISDN and SubscriptionId. | Y |
- API expects the below-mentioned header parameters (Y - Mandatory & N - Optional)
name | value | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. | Y |
client_secret | string | Password associated with the client_id. | Y |
X-Correlation-ID | string | An identifier for the current call chain that can be used to tie together log entries on multiple layers (e.g. client, server, mainframe). This identifier must be designed to be unique across all applications. Note - Mule default behavior creates a sample x-correlation-id field if value is not passed from client, API will use this value in case value is not passed in API request | Y/N |
channelId | string | Channel to business: In this case, expected channelId will be: "SFDC-B2C" | Y |
lob | string | The Line of Business Identifier currently available are: FIXED PREPAID POSTPAID | Y |
targetSystem | String | This describes the end system request is for Eg: “MATRIXX". | Y |
Possible response success
This section defines all the possible data structures received by the client and that must be considered satisfactory at the time of responding to the method.
[ 200 ]
OK - listProduct request processed successfully, response body contains an entity corresponding to the requested resource.
[
{
"id": "S-80001",
"name": "Sub-ABC",
"description": "Subscription details",
"status": "active",
"@type": "Subscription",
"productCharacteristic": [
{
"name": "LastActivityTime",
"value": "2022-03-22T13:27:06.000000Z"
},
{
"name": "CurrentStatusTransitionTime",
"value": "2022-03-22T13:27:06.000000Z"
},
{
"name": "UserCount",
"value": "1"
}
],
"relatedParty": [
{
"id": "SU-80001",
"role": "Owner",
"@type": "SubscriptionUserRef"
}
],
"product": [
{
"id": "1",
"name": "Prepaid Subscription Setup",
"status": "active",
"startDate": "2022-03-22T09:27:06.000000-04:00",
"orderDate": "2022-03-22T09:27:06.000000-04:00",
"@type": "Offer",
"productOffering": {
"id": "Prepaid Subscription Setup",
"@type": "CatalogProductOfferRef"
},
"productTerm": [
{
"name": "3",
"duration": {
"amount": 1,
"units": "monthly"
},
"validFor": {
"startDateTime": "2022-05-22T09:27:06.000000-04:00",
"endDateTime": "2022-06-22T09:27:06.000000-04:00"
},
"@type": "CycleInfoRef"
}
],
"productPrice": [
{
"productOfferingPrice": {
"id": "9",
"@type": "ProductOfferingPriceRef"
}
}
],
"productCharacteristic": [
{
"name": "CurrentStatusTransitionTime",
"value": "2022-03-22T09:27:06.000000-04:00"
},
{
"name": "CycleModifyAllowed",
"value": "false"
},
{
"name": "OfferStatusDescription",
"value": "active"
},
{
"name": "CatalogItemId",
"value": "39"
},
{
"name": "OfferType",
"value": "purchased_bundle"
}
]
},
{
"id": "2",
"name": "Prepaid Balance",
"status": "active",
"startDate": "2022-03-22T09:27:06.000000-04:00",
"orderDate": "2022-03-22T09:27:06.000000-04:00",
"@type": "Offer",
"productPrice": [
{
"productOfferingPrice": {
"id": "11",
"@type": "ProductOfferingPriceRef"
}
}
],
"productRelationship": [
{
"relationshipType": "parent",
"product": {
"id": "1"
}
}
],
"productCharacteristic": [
{
"name": "CurrentStatusTransitionTime",
"value": "2022-03-22T09:27:06.000000-04:00"
},
{
"name": "OfferStatusDescription",
"value": "active"
},
{
"name": "OfferType",
"value": "bundle_purchased_offer"
},
{
"name": "PrimaryBalanceResourceId",
"value": "1"
}
]
}
]
}
]
Definitions
name | type | description | required |
---|---|---|---|
id | string | External ID of the subscription. | N |
name | string | Descriptive name of subscription. | N |
description | string | Is the description of the response. Hard coded as static in Mule API. | N |
status | string | Status of the subscription. | N |
@type | string | The actual type of an response. | N |
productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. Note - Please refer Customer Characteristic below for more details | N |
productCharacteristic.name | string | Name of the characteristic | N |
productCharacteristic.value | any | The value of the characteristic | N |
productCharacteristic.valueType | string | Data type of the value of the characteristic | N |
relatedParty | array | ||
relatedParty.id | string | Subscription User unique Id at Matrixx | N |
relatedParty.role | string | the role of subscription user | N |
relatedParty.@type | string | Reference of subscription user | N |
product | array | N | |
product.id | string | Unique identifier for this offer (within subscriber/group). | N |
product.name | string | External ID of product offer in pricing DB. | N |
product.status | string | The offer status. | N |
product.startDate | datetime | When the offer was activated. Not set if status is pre-active. If active at purchase time, ActivationTime and PurchaseTime have the same value. | N |
product.orderDate | datetime | When the offer was purchased. | N |
product.@type | string | type of product/offer | N |
product.productOffering | object | A EntityRef is a detailed description of a bill structure. | N |
product.productOffering.id | string | External ID of catalog item in pricing DB, if associated with a catalog item. I.e., not for purchased offers which are part of a bundle. | N |
product.productOffering.@type | string | 'When sub-classing, this defines the sub-class entity name' | N |
product.productTerm | array | N | |
product.productTerm.name | string | Unique identifier for the purchased item cycle period. | N |
product.productTerm.duration | object | N | |
product.productTerm.duration.amount | number | Number of periods in a purchased item cycle. | N |
product.productTerm.duration.units | string | The period type. 1=Hourly, 2=Daily, 3=Weekly, 4=Monthly, 5=Yearly, 6=Minutes" | N |
product.productTerm.validFor | object | N | |
product.productTerm.validFor.startDateTime | datetime | Start of current cycle period (latest period for which recurring processing has been attempted). | N |
product.productTerm.validFor.endDateTime | datetime | End of current cycle period (latest period for which recurring processing has been attempted). | N |
product.productTerm.@type | string | N | |
product.productPrice | array | N | |
product.productPrice.productOfferingPrice | object | N | |
product.productPrice.productOfferingPrice.id | string | ID of product offer in pricing DB. | N |
product.productPrice.productOfferingPrice.@type | string | Refarence of ProductOfferingPrice | N |
product.productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. Note - Please refer Customer Characteristic below for more details | N |
product.productCharacteristic.name | string | Name of the characteristic | N |
product.productCharacteristic.value | any | The value of the characteristic | N |
product.productCharacteristic.valueType | string | Data type of the value of the characteristic | N |
product.productRelationship | array | N | |
product.productRelationship.relationshipType | string | N | |
product.productRelationship.product | object | N | |
product.productRelationship.product.id | string | If this purchased offer was purchased as part of a bundle, this field holds the resource ID of the bundle. Otherwise the value is zero (null). | N |
Characteristics Values:
Name | Description | Sample |
---|---|---|
LastActivityTime | This value is used for determining lifecycle inactivity trigger(s). It represents the maximum of the LastActivityUpdateTime of the subscriber and the LastActivityUpdateTime for all of the associated devices unless excluding device activity for current status definition. This field is only updated by eligible activity while in a lifecycle state which features inactivity condition(s), when transitioning status, or when the LastActivityUpdateTime is explicitly modified. | { "name": "LastActivityTime", "value": "2022-03-22T13:27:06.000000Z" } |
CurrentStatusTransitionTime | The time at which the subscription transitioned to the current status. | { "name": "CurrentStatusTransitionTime", "value": "2022-03-22T13:27:06.000000Z" } |
UserCount | Number of users for this subscription. | { "name": "UserCount", "value": "1" } |
product.Characteristics Values:
Name | Description | Sample |
---|---|---|
CurrentStatusTransitionTime | The time at which the subscription transitioned to the current status. | { "name": "CurrentStatusTransitionTime", "value": "2022-03-22T09:27:06.000000-04:00" } |
ModifyAllowed | If true, the cycle is configured to allow for modification. | { "name": "CycleModifyAllowed", "value": "false" } |
OfferStatusDescription | Status description of the purchased offer. | { "name": "OfferStatusDescription", "value": "active" } |
CatalogItemId | Catalog item ID in pricing DB, if associated with a catalog item. I.e., not for purchased offers which are part of a bundle. | { "name": "CatalogItemId", "value": "39" } |
OfferType | Type of purchased offer. 1 = purchased_offer, 2 = purchased_bundle, 3 = bundle_purchased_offer Note - Mule API is doing logic, based on description making integer as string and passing to SF. | { "name": "OfferType", "value": "purchased_bundle" } |
PrimaryBalanceResourceId | Resource ID of primary balance. | { "name": "PrimaryBalanceResourceId", "value": "1" } |