dxp-ux
Retrieve Customer Details(TMF-629)
/customer/{id}
[GET]
This operation retrieves a customer details entity used by accountNumber (Consumer Account Number) or MSISDN from Salesforce.
URL
https://[localhost]:[port]/dxp-ux/v1/{businessId}/customer/{id}
URL PARAMS
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. Expected one is "PR"-Puerto Rico | Y |
id | string | accountNumber (Consumer Account Number) or MSISDN | Y |
Header
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 | N |
channelId | string | Expected value APP | Y |
Query Parameters
name | value | description | required |
---|---|---|---|
type | string | Expected values are 'msisdn' or 'customerAccountNumber' | Y |
characteristics.name | string | Expected value is sourceSystem | Y |
characteristics.value | string | Expected value is Digital | Y |
[ 200 ] PREPAID
OK - list request processed successfully, response body contains an entity corresponding to the requested resource.
{
"id": "0016300001MwDHaAAN",
"href": "https://cwc--propeac01.sandbox.my.salesforce.com/0016300001MwDHaAAN",
"state": "Active",
"account": [
{
"id": "31515070-31513558",
"name": "Connection Fee Prepaid",
"@type": "BillingAccount",
"autopayFlag": "N"
}
],
"characteristic": [
{
"value": "Customer",
"name": "accountType"
},
{
"value": "Prepaid",
"name": "paymentType"
},
{
"value": "Connection Fee",
"name": "firstName"
},
{
"value": "Prepaid",
"name": "lastName"
},
{
"value": "B2C",
"name": "consumerSegment"
},
{
"value": "PR",
"name": "billingEntity"
},
{
"value": "EN",
"name": "language"
},
{
"value": "1234",
"name": "ConsumerPINNumber"
},
{
"value": "Phone",
"name": "customerContactNotificationPreference"
},
{
"value": "false",
"name": "hasFraud"
},
{
"value": "SOHO/Small",
"name": "consumerSubType"
}
],
"contactMedium": [
{
"mediumType": "Address",
"preferred": true,
"characteristic": {
"phoneNumber": "3765786457",
"emailAddress": "mobileconnectionfee@gmail.com",
"contactType": "Primary"
},
"@referredType": "ContactAddress"
}
],
"creditProfile": [
{
"creditRiskRating": "PRE"
}
],
"relatedParty": [
{
"id": "0016300001MwDHbAAN",
"@type": "SalesforceBillingAccountRef"
}
]
}
Definitions
Each of the request parameters is detailed.
name | type | description | required |
---|---|---|---|
id | string | Consumer Account Number generated and used in Billing Account Number | N |
href | string | reference the customer | N |
state | string | Status of the account: Active, Suspend, Disconnected N | |
account | array | Billing Account Number (BAN-CAN) | N |
account.id | string | name of the billing account | N |
account.name | string | account type | N |
account.@type | string | account type | N |
account.autopayFlag | string | indicator of the Auto Pay enabled, Possible values are Y or N | N |
contactMedium.mediumType | string | type of contact, Eg: Address | N |
contactMedium.preferred | boolean | preferred | N |
contactMedium.characteristic.phoneNumber | string | phone number of the contact | N |
contactMedium.characteristic.emailAddress | string | email address of the contact | N |
contactMedium.characteristic.contactType | string | indicates Primary or Secondary contact for the Customer account | N |
contactMedium.@referredType | string | referred type of contactMedium | N |
creditProfile | array | A list of credit profiles | N |
creditProfile.creditRiskRating | string | customer credit rating | N |
relatedParty | array | A related party | N |
relatedParty.id | string | Salesforce reference Id of the billing account | N |
relatedParty@type | string | Related party type | N |
characteristic | array | characteristic values, refer below table for more details | N |
characteristic.name | string | Name of the characteristic | N |
characteristic.value | string | Value of the characteristic | N |
Characteristic Values
name | type | description | required |
---|---|---|---|
accountType | string | account type of the customer | N |
paymentType | string | payment type of the customer and the options are: Possible values are Prepaid & Postpaid | N |
firstName | string | First name of the customer | N |
lastName | string | last name of the customer | N |
identificationType | string | Customer Identification type | N |
identificationNumber | string | Customer Identification Number | N |
consumerSegment | string | Default to BASICO for CR accounts | N |
billingEntity | string | Business unit identifier of the customer | N |
dateOfBirth | string | Date of Birth of the person account | N |
language | string | preferred language by the customer for communication | N |
ConsumerPINNumber | string | consumer PIN for Customer validation | N |
customerContactNotificationPreference | string | communicated channel customer would like to be contacted: Possible values are email & phone | N |
hasFraud | string | flag that indicated the fraud customer, possible values are true or false | N |
consumerSubType | string | Expected values for B2B, possible values are SOHO/Small or LE/CE or Government or Wholesale | N |
[ 200 ] POSTPAID
OK - list request processed successfully, response body contains an entity corresponding to the requested resource.
{
"id": "0016300001MgqvyAAB",
"href": "https://cwc--propeac01.sandbox.my.salesforce.com/0016300001MgqvyAAB",
"state": "New",
"account": [
{
"id": "21003052-21002922",
"name": "Testing Ariaa - Billing",
"@type": "BillingAccount",
"autopayFlag": "Y"
}
],
"characteristic": [
{
"value": "Customer",
"name": "accountType"
},
{
"value": "Postpaid",
"name": "paymentType"
},
{
"value": "Testing",
"name": "firstName"
},
{
"value": "Ariaa",
"name": "lastName"
},
{
"value": "B2C",
"name": "consumerSegment"
},
{
"value": "PR",
"name": "billingEntity"
},
{
"value": "2001-11-15",
"name": "dateOfBirth"
},
{
"value": "EN",
"name": "language"
},
{
"value": "4444",
"name": "ConsumerPINNumber"
},
{
"value": "Phone",
"name": "customerContactNotificationPreference"
},
{
"value": "false",
"name": "hasFraud"
},
{
"value": "SOHO/Small",
"name": "consumerSubType"
}
],
"contactMedium": [
{
"mediumType": "Address",
"preferred": true,
"characteristic": {
"phoneNumber": "6777777777",
"emailAddress": "tyui@gmail.com",
"contactType": "Primary"
},
"@referredType": "ContactAddress"
}
],
"creditProfile": [
{
"creditRiskRating": "A"
}
],
"relatedParty": [
{
"id": "0016300001MgqvzAAB",
"@type": "SalesforceBillingAccountRef"
}
]
}
Possible Error Scenarios:
IF WE ARE PASSING INVALID (characteristic.name) IN QUERYPARAMS
{
"errors": [
{
"code": 400,
"message": "SF:INVALID_CUSTOMER",
"description": "Customer Account Details not found for input MSISDN: 17874031275"
}
]
}
IF WE ARE PASSING INVALID LOB
{
"errors": [
{
"code": 501,
"message": "LLA:NOT_IMPLEMENTED",
"description": "Provide valid lob"
}
]
}
IF WE ARE PASSING INVALID (id) IN URIPARAMS
{
"errors": [
{
"code": 400,
"message": "SF:GET_Customer_BY_ID",
"description": "MSISDN provided is not valid"
}
]
}
IF WE ARE PASSING INVALID (type) IN queryParams
{
"errors": [
{
"code": 400,
"message": "SF:GET_Customer_BY_ID",
"description": "accountNumber provided is not available"
}
]
}