CreateSubscription

The CreateSubscription web serviceClosed XML- or JSON-based information exchange systems that use the Internet for direct application-to-application interaction. These systems can include programs, objects, messages, or documents. enables an external client system to create a SubscriptionClosed A billing entity that incurs a charge. Examples include a network attached device whose usage you want to measure and charge for, or a monthly software subscription within CMPClosed Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. and attach it to an existing CMP AccountClosed In the Cloud Monetisation Platform, a billing entity that can be used to manage payments on one or more subscriptions or payments for services. An account can hold details such as payments or invoices. Number. It differs from the CreateOrder request in that CreateSubscription has no hardware order associated with it. It is used to create (and connect) the Subscription with the assumption that the Subscriber already has the necessary hardware.

The request includes information such as:

The userClosed A person with the capability to log in to the CMP GUI software, such as a customer service advisor or agent. must pass in a valid CMP Account Number along with additional Subscriber values such as a valid CMP Tariff Code values, and a valid CMP Company Number.

Standard CMP rules associated with creating a Subscription, govern which values are mandatory or optional for the request.

If an Agreement Number is not supplied and there is no existing Agreement on the Account then the Agreement is created automatically. This Agreement will be the equivalent of creating an Agreement via the CreateAgreement web service and just passing in the Account Number.

The web service returns a response containing the newly created Subscription number.

Submitting invalid data in the request will result in an error message.

CreateSubscription Request

The CreateSubscription tag instructs the Subscription Service to create a Subscription. This tag contains the following elements:

Element Name

Content Type

Description

Required?

CreationData

Container

A container tag for the Subscription information.

See CreationData Request Container for details

Mandatory

CreationData Request Container

The CreationData request container has the following elements:

Element Name

Content Type

Description

Required?

ExternalReference

String69

The client may use this identifier to correlate the request and the response.

Optional

AccountIdentifier

Integer8

Identifier for the Account to which the order is to be added.

Mandatory

SubscriptionData

Container

Container for Subscription information.

See SubscriptionData Request Container for details.

Mandatory

SubscriptionData Request Container

The SubscriptionData request container has the following elements:

Element Name

Content Type

Description

Required?

AgreementNumber

Integer8

If no existing Agreement Number is supplied and there is an available on in the hierarchy then it will be used. If there is no available Agreement then a new one will be created. If there is more than one Agreement available and no Agreement Number is supplied then an error is thrown.

Optional

EnquirySource

String6

An Enquiry Source can be configured to default in a Campaign, Price Plan and Tariff. In this scenario, the tariff is optional, otherwise its mandatory.

Optional

CampaignNumber

String9

This is mandatory if you have supplied an Enquiry Source, otherwise its optional. A Campaign links an Enquiry Source to a Price Plan.

Optional

PricePlan

String6

A Price Plan can be configured to default in a Package, Tariff and Connection Type in AgentView. With CMP web services the Connection Type must always be supplied irrespective of the default. Web services will default in the Tariff and Package.

This element is deprecated, and any values supplied in the request will be ignored.

Optional

TariffCode

String6

In the WSDL as mandatory, the Tariff can also be optional if defaulted in from an Enquiry Source or Price Plan.

The Tariff is what determines the network that the Subscription will be added to. The network that a Subscription is going to go onto is what determines the following that are presented to the user in AgentView or are valid to populate via a web service. The following are determined by the network that the Subscription is on:

  • Managed Serial Number
  • Non Managed Serial Numbers
  • Network Sub Codes

This element is deprecated, and any values supplied in the request will be ignored.

Mandatory

PackageCode

String6

A Package lists a number of Services. When specifying a Package, you are in effect specifying the Services to be added to the Subscription after creation. A default Package can be set up against either a Price Plan or against a Tariff. Therefore if no Package is supplied, then the default that is specified against either of these is used instead.

The Package Code must be valid for the Tariff that has been selected.

This element is deprecated, and any values supplied in the request will be ignored.

Optional

IgnoreDefaultPackage

Boolean

In AgentView it is possible to clear out a default Package. To achieve this via web services, "true" must be specified. If not, the default value is "false".

Optional

SalesAccountCode

Integer8

A Sales Account Code maps to a sales person. A sales person may have certain serial numbers allocated against them. in this scenario, if a sales account is supplied, this may restrict the list of managed serial numbers that are available to enter. To allocate serial numbers against a sales account, serial number management must be switched on for a the serial number in question.

Optional*

SalespersonIdentifier Integer8 An identity number for a salesperson. Optional*

UserName

String30

This displays a history of all user name changes for the associated Subscription.

Optional

CustomerCostCentre

String20

This is optional but if supplied it must be a valid one. The list of valid Cost Centres is defined against the Agreement that was selected.

Optional

CustomerReference

String60

Reference number given to the customer when the order is placed.

Optional

SubPassword

String10

Details the Subscription level password of the customer.

Optional

DirectoryListingAllowed

Boolean

This includes or excludes the Subscription from internal directory listing.

Optional

ManagedSerialNumbers

Container

A Container for one or more Managed Serial Numbers. See ManagedSerialNumbers Request Container for details.

CMP back office configuration defines if Managed Serial Numbers are optional or mandatory, including validation rules that apply to each Managed Serial Number.

Mandatory

NonManagedSerial Numbers

Container

A Container for one or more Non-Managed Serial Numbers. See NonManagedSerialNumbers Request Container for details.

CMP back office configuration defines if Non-Managed Serial Numbers are optional or mandatory, including validation rules that apply to each Non-Managed Serial Number.

Optional

NetworkSubCodes

Container

A Container for one or more Network Sub Codes. See NetworkSubCodes Request Container for details.

There are 2 network sub codes.

CMP back office configuration defines if Network Sub Codes are optional or mandatory, including validation rules that apply to each.

Optional

ConnectionDetails

Container

See ConnectionDetails Request Container for details.

Mandatory

Address

Container

Choice of:

  • PersonalAddress
  • BusinessAddress

If address details are supplied then a new address is created with those details and associated to the Subscription. If no address is supplied then the address of the Account is used. See Address Request Container for details.

Optional

Contract

Container

See Contract Request Container for details.

Optional

EmailData

Container

See EmailData Request Container for details.

Optional

AttributeGroup

Container

See AttributeGroup Request Container for details.

Optional

DonorLedPortDetails

Container

See DonorLedPortDetails Request Container for details.

Optional

ParentSubscription

Boolean

Defines whether the Subscription being created is a parent. Only one Subscription can be designated as a parent on a particular Account. However, an Account can exist without a parent Subscription.

Optional

OverrideMaxSubscriptions Boolean

If set to false, the ID number provided is checked against the number of subscriptions with which it is already associated. If the ID number is not provided, the default is false. If set to true, this check is ignored.

This check can only be performed if the identity is not set to Disallowed.

Optional

*If both these fields are populated, they must be a valid combination, that is they are for the same person and exist on the Sales Force table.

ManagedSerialNumbers Request Container

The ManagedSerialNumbers request container has the following elements:

Element Name

Content Type

Description

Required?

ManagedSerialNumber

Container

See ManagedSerialNumber request container for details.

Optional

ManagedSerialNumber Request Container

The ManagedSerialNumber request container has the following elements:

Element Name

Content Type

Description

Required?

EnumerationId

Range 1-5

The EnumerationId refers to the Managed Serial Number ID. Max number of of 5.

Mandatory

NetworkSerialNumber

String25

Network Serial Number associated with CMP Subscription Number.

This field is configurable depending on customer business requirements.

Mandatory

NonManagedSerialNumber Request Container

The NonManagedSerialNumbers request container has the following elements:

Element Name

Content Type

Description

Required?

NonManagedSerialNumber

Container

See NonManagedSerialNumber request container for details.

Optional

NonManagedSerialNumber Request Container

The NonManagedSerialNumber request container has the following elements:

Element Name

Content Type

Description

Required?

EnumerationID

Range1-9

The EnumerationId refers to the Non-Managed Serial Number number ID. Max number of 9.

Mandatory

NonManagedSerialNumber

String25

This contains a configurable non-managed serial number (e.g. PUK Number, PIN Number etc.).

Mandatory

NetworkSubCodes Request Container

The NetworkSubCodes request container has the following elements:

Element Name

Content Type

Description

Required?

NetworkSubCode

Container

See NetworkSubCode request container for details.

Optional

NetworkSubCode Request Container

The NetworkSubCode request container has the following elements:

Element Name

Content Type

Description

Required?

EnumerationID

Range1-2

The EnumerationId refers to the Network Sub Code ID. Max number of 2.

Mandatory

NetworkSubCode

String25

This contains an extra code or serial number associated with the network code.

This field is completely configurable depending on customer business requirements.

Mandatory

ConnectionDetails Request Container

The ConnectionDetails request container has the following elements:

Element Name

Content Type

Description

Required?

ConnectionType

String4

The CMP configured Connection Type connecting the Subscription to the network.

Optional

ConnectionDate

Date

The date on which the connection will be processed. YYYY-MM-DD-Z.

Optional

ConnectionReason

String4

The CMP configured Connection Reason explaining the connection.

Mandatory

ConnectionTime

Time

The time at which the connection will be processed. HH:MM:SS.

Optional

HoldActivation

Boolean

Defaults to ‘false’. When set to ‘true’, the Subscription activation is held until actioned in AgentView or via the ActivateSubscription web service.

If the ‘HoldActivation’ is set to ‘true’ the connection date and time are Optional. If these two fields are populated in this scenario, they will be ignored.

Optional

Address Request Container

The Address request container has the following elements:

Element Name

Content Type

Description

Required?

PersonalAddress

Container

See PersonalAddress Request Container for details.

Optional

BusinessAddress

Container

See BusinessAddress Request Container for details.

Optional

 

Only one type of address container can be specified in a request. If both are supplied, an error is returned.

PersonalAddress Request Container

The PersonalAddress request container has the following elements:

Element Name

Content Type

Description

Required?

Title

String10

The customer's appropriate title for example Mr, Mrs, Miss, Ms or Dr.

This field is always mandatory but can be made optional via configuration if required.

Mandatory

Forename

String50

Customer's first name.

Mandatory

MiddleName

String20

Customer's middle name.

Optional

Surname

String50

Customer's surname.

Mandatory

Address1

String60

Line one of the customer's address.

Mandatory

Address2

String60

Line one of the customer's address.

Optional

Address3

String60

Line one of the customer's address.

Optional

Address4

String60

Line one of the customer's address.

Optional

Address5

String60

Line one of the customer's address.

Optional

Postcode

String10

Customer's post code. Must be entered without spaces.

Optional

DateOfBirth

Date

Customer's date of birth, in the format YYYY-MM-DD. The user can also clear the current date of birth set by specifying CLEAR_FIELD.

Optional

Gender

String

Choice of: Male, Female, Unknown or BLANK.

Optional

MaritalStatus

String

Choice of: Married, Single, Widowed, Divorced, Other, Seperated or BLANK.

Optional

DateOfResidence

Date

The date from which the customer has lived at the address specified, in the format YYYY-MM-DD.

Optional

CustomerType

String10

Selected from one of the available Customer Types configured in CMP.

Optional

AddressType

String10

Identifies if the customer is a home owner, renting, living with parents, council tenant etc. Configurable CMP list.

Optional

AddressCategory

String10

Indicates property value. A category range relating to the address. Configurable CMP list.

Optional

Occupation

String10

The customer's current occupation. Configurable CMP list.

Optional

IDType

String10

The available type of ID used as proof of identity for example passport or driving license. Configurable CMP list.

Optional

IDNumber

String30

The unique ID from the proof of identity.

Optional

TelephoneNumber

String15

Customer's main contact telephone number.

Optional

EveningTelephoneNumber

String15

Customer's additional telephone number they can be reached on.

Optional

FaxNumber

String15

Customer's fax number.

Optional

 

CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'P' for Personal Address.

BusinessAddress Request Container

The BusinessAddress request container has the following elements:

Element Name

Content Type

Description

Required?

CompanyName

String60

Name of company.

Mandatory

Address1

String40

Line one of the company's address.

Mandatory

Address2

String40

Line two of the company's address.

Mandatory

Address3

String40

Line three of the company's address.

Mandatory

Address4

String40

Line four of the company's address.

Optional

Address5

String40

Line five of the company's address.

Optional

Postcode

String10

Company's postcode. Must be entered without spaces.

Optional

CompanyTelephoneNumber

String15

Company's main contact telephone number.

Optional

ContactTelephoneNumber

String15

The individual's contact telephone number.

Optional

FaxNumber

String15

Company's fax number

Optional

CompanyType

String10

Indicates the type of company. Configurable CMP list.

Optional

AddressType

String10

Identifies the company's address. Configurable CMP list.

Optional

AddressCategory

String10

Indicates property value. A category range relating to the address can be configured. Configurable CMP list.

Optional

IndustrialClassificationCode

String10

Indicates the industry the company resides. Configurable CMP list.

Optional

CompanyRegistration

String25

Unique ID the company is registered to.

Optional

DateOfIncorporation

Date

The date the company register at the address specified, in the format YYYY-MM-DD.

Optional

Title

String10

Company's contact title.

Optional

Forename

String15

Company's contact first name.

Optional

MiddleName

String10

Company's contact middle name.

Optional

Surname

String25

Company's contact surname name.

Optional

JobTitle

String30

Company's contact job title.

Optional

 

CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'C' for Company Address.

Contract Request Container

The Contract request container has the following details:

Element Name

Content Type

Description

Required?

ContractNumber

String12

If not supplied, the contact number defaults in the Agreement Number.

Optional

ContractTerm

Integer3

If a contract term is supplied it must be greater than 0. If not supplied, the value is defaulted from the Agreement.

Optional

ContractStartedOn

Date

If not supplied, the current date will be defaulted. YYYY-MM-DD.

Mandatory

EmailData Request Container

The EmailData request container holds details of email data. It has the following elements:

Element Name

Content Type

Description

Required?

EmailType

String6

The types and the default Email Type can be defined via set up. The Email Type supplied must be a valid Email Type as defined via set up.

Typical values are HOME, WORK etc. but these are configurable.

Mandatory

EmailDescription

String70

The actual e-mail address. Only e-mail addresses with a valid format are accepted.

Mandatory

Attribute Request Container

The Attribute request container has the following elements:

Element Name

Content Type

Description

Required?

AttributeGroupId

String6

A unique ID for the Attribute Group. For example, 03A.

Each account can have only a single effective Attribute Group at any one time.

Mandatory

Attribute

Container

Zero or more repetitions. See Attribute request container for details.

Optional

Attribute Request Container

The Attribute request container holds details of one particular Attribute:

Element Name

Content Type

Description

Required?

AttributeId

Decimal2

A unique Id for the Attribute. For example, 01.

This is chosen from a list of Attributes configured against the chosen Attribute Group in CMP Back Office configuration.

Mandatory

AttributeValue

String120

A full description of the Attribute.

For example, Dedicated Lease Line Connection.

Optional

DonorLedPortDetails Request Container

The DonorLedPortDetails request container has the following elements:

Element Name

Content Type

Description

Required?

PacCode

String9

PAC (Porting Authorisation Code).

Mandatory

PortDate

date

If the UseSuggestedDateOnConflict is False then Syniverse will reject this date if its not a valid port date.

Mandatory

UseSuggestedDateOnConflict

Boolean

If this is supplied set to True, Syniverse will send back the next available port date if the PortDate above is not available for porting e.g. Bank Holiday, Weekend etc. The actual PortDate will be set on the response.

Optional

PaymentDetails Request Container

The PaymentDetails request container has the following elements:

Element Name

Content Type

Description

Required?

TransactionReference

String20

A specific transaction reference may be entered here, however CMP generates a unique transaction reference. It is recommended that this field is not populated unless otherwise advised.

Optional

 

PaymentReference

String40

A unique transaction identifier, used by the client application to reference the payment.

Optional

CardReference

String30

A unique reference provided by the payment provider (e.g. Verifone, Chase Paymentech, Datacash etc.). This reference is a PCI compliant mechanism of referring to the payment card.

Optional

TransactionDateTime

DateTime

Transaction date/time. Defaults to current date/time.

Mandatory

CurrencyCode

String

ISO 4217 Currency code (e.g. GBP, EUR, USD).

Mandatory

PaymentType

String6

The method the payment is being made.

Mandatory

CardNumber

String20

The final 4 digits of the number of the credit card used to make the payment.

Optional

StartDate

Container

See StartDate request container for details.

Optional

ExpiryDate

Container

See EndDate request container for details.

Optional

NameOnCard

String20

Cardholder's name

Optional

AVSHouseStreetNumber

String25

The cardholder's address

Optional

PostCode

String19

The cardholder's post code

Optional

CountryCode

String2

The number code for the country where the payment cardholder resides

Optional

ReasonCode

String4

The reason why the payment is being taken.

Optional

ProductService

String30

Captures a descriptions of what the payment was for.

Optional

AuthorisationCode

String16

Obtained by the client application from the Payment Provider to indicate the payment was approved.

Optional

StartDate Request Container

The StartDate request container has the following elements:

Element Name

Content Type

Description

Required?

Month

String6

Valid Month Start Date on the card.

MM

Mandatory

Year

Integer2

Valid Year Start Date on the card.

YY

Mandatory

EndDate Request Container

The ExpiryDate request container has the following elements:

Element Name

Content Type

Description

Required?

Month

String6

Valid Month Start Date on the card.

MM

Mandatory

Year

Integer2

Valid Year Start Date on the card.

YY

Mandatory

Sample CreateSubscription Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://mdsuk.com/ws/dise3g/subscription/definition">
<soapenv:Header/>
<soapenv:Body>
<def:CreateSubscription>
<def:CreationData>
<!--You may enter the following 3 items in any order-->
<!--Optional:-->
<ExternalReference>REQ3</ExternalReference>
<AccountIdentifier>10</AccountIdentifier>
<SubscriptionData>
<!--You may enter the following 25 items in any order-->
<TariffCode>TEST</TariffCode>
<!--Optional:-->
<PackageCode>MRC</PackageCode>
<SubPassword>4587</SubPassword>
<ManagedSerialNumbers>
<!--0 to 5 repetitions:-->
<ManagedSerialNumber>
<EnumerationId>1</EnumerationId>
<NetworkSerialNumber>07111111111</NetworkSerialNumber>
</ManagedSerialNumber>
<ManagedSerialNumber>
<EnumerationId>2</EnumerationId>
<NetworkSerialNumber>8944639875053791234</NetworkSerialNumber>
</ManagedSerialNumber>
<ManagedSerialNumber>
<EnumerationId>3</EnumerationId>
<NetworkSerialNumber>789456123789456</NetworkSerialNumber>
</ManagedSerialNumber>
</ManagedSerialNumbers>
<!--Optional:-->
<NonManagedSerialNumbers>
<!--0 to 9 repetitions:-->
<NonManagedSerialNumber>
<EnumerationId>4</EnumerationId>
<NonManagedSerialNumber>CONNREF</NonManagedSerialNumber>
</NonManagedSerialNumber>
</NonManagedSerialNumbers>
<!--Optional:-->
<ConnectionDetails>
<!--You may enter the following 5 items in any order-->
<ConnectionType>CONN</ConnectionType>
<!--Optional:-->
<ConnectionDate>2014-09-19</ConnectionDate>
<ConnectionReason>CR</ConnectionReason>
<!--Optional:-->
<HoldActivation>false</HoldActivation>
</ConnectionDetails>
<!--Optional:-->
<OverrideMaxSubscriptions>false</OverrideMaxSubscriptions>
<Contract>
<!--You may enter the following 3 items in any order-->
<ContractNumber>123456789</ContractNumber>
<ContractTerm>24</ContractTerm>
<ContractStartedOn>2014-09-19</ContractStartedOn>
</Contract>
<!--Optional:-->
<EmailData>
<!--You may enter the following 2 items in any order-->
<EmailType>HOME</EmailType>
<EmailDescription>joe.bloggs@mdscem.com</EmailDescription>
</EmailData>
<!--Optional:-->
<AttributeGroup>
<AttributeGroupId>SUBS</AttributeGroupId>
<!--Zero or more repetitions:-->
<Attribute>
<AttributeId>1</AttributeId>
<!--Optional:-->
<AttributeValue>False</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>2</AttributeId>
<!--Optional:-->
<AttributeValue>BRANCHID1</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>3</AttributeId>
<!--Optional:-->
<AttributeValue>HANDSET1</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>4</AttributeId>
<!--Optional:-->
<AttributeValue>HANDSET DESCRIPTION</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>5</AttributeId>
<!--Optional:-->
<AttributeValue>PACKAGE CODE</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>6</AttributeId>
<!--Optional:-->
<AttributeValue>PACKAGE DESCRIPTION</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>7</AttributeId>
<!--Optional:-->
<AttributeValue>Yes</AttributeValue>
</Attribute>
<Attribute>
<AttributeId>8</AttributeId>
<!--Optional:-->
<AttributeValue>Channel 123</AttributeValue>
</Attribute>
</AttributeGroup>
<!--Optional:-->
</SubscriptionData>
</def:CreationData>
</def:CreateSubscription>
</soapenv:Body>
</soapenv:Envelope>

CreateSubscription Response

The CreateSubscription response is the response to the CreateSubscription Request. This contains the following elements:

Element Name

Content Type

Description

Required?

ExternalReference

String69

Returned unmodified in the response. The client may use this identifier to correlate the request and the response.

Optional

SubscriptionIdentifier

Ìnteger8

Identifies the unique Subscription ID of the Subscription created.

Mandatory

PortDate

date

The date on which the number was ported in.

Optional

Sample CreateSubscription Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:CreateSubscriptionResponse xmlns:ns2="http://mdsuk.com/ws/dise3g/subscription/definition" xmlns:ns3="http://mdsuk.com/ws/dise3g/workflow/definition" xmlns:ns4="http://mdsuk.com/ws/dise3g/fault/exception">
<ns2:Result>
<ExternalReference>REQ3</ExternalReference>
<SubscriptionIdentifier>2</SubscriptionIdentifier>
</ns2:Result>
</ns2:CreateSubscriptionResponse>
</soapenv:Body>
</soapenv:Envelope>