Changing customer properties

To change the properties of an existing customer, use the ModifyPartner method. You can change the following properties:

  • Re-assign the customer to another customer
  • Change the service types provided to the customer
  • Set flags to the customer
  • Change the address of the customer
  • Change a trial customer to in production
🚧

Customer ID's cannot be changed.

Required Parameters

ParameterDescriptionSupported values
partnerIdA group of parameters related to the partnerPartnerInfo (has child parameters of its own see the PartnerInfo child parameters table below)

PartnerInfo child parameters

Parameter

Description

Supported values

ID

The ID of the Customer

<int> Integer

ParentId

The ID of the parent customer

<int> Integer

Name

The name to assign to the customer

OptionalNonEmptyString String

Level

The level of the customer in the hierarchy tree (must be lower than the level of the parent customer)

<PartnerPrivilege::Enum>

  • Undefined
  • Distributor
  • SubDistributor
  • Reseller
  • EndCustomer

ChildServiceTypes

The type of service the customer company can provide to its own customers

<PartnerServiceType::FlagsType>

  • Undefined
  • AllInclusive
  • SoftwareOnly

ServiceType

The type of service provided to the customer

<PartnerServiceType::Enum>

  • Undefined
  • AllInclusive
  • SoftwareOnly

State

The current state of the customer

<PartnerState::Enum>

  • Undefined
  • InProduction
  • InTrial

DeviceCountry

The country the device is in

<std::string>

LocationId

The location that the customer is assigned to (it is used to set a default storage pool for the customer's devices).

Normally, the location is identified automatically by the country in which a customer is located (the Country parameter), but you can specify it yourself as well.

<int> Integer

You can get the list of available locations using the EnumerateLocations method

Flags

Properties the customer has configured

<PartnerFlag::FlagsType>

  • Undefined
  • HasCustomBranding
  • HasCustomUpdatePackages
  • UnsubscribedFromTrialNotifications
  • CanInvoiceOthers
  • Count

Company

A group of parameters related to the company

PartnerCompanyInfo (has child parameters of its own see the PartnerCompanyInfo child parameters table below)

TrialRegistrationTime

The time stamp that the trial was registered for the Customer

<std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018

TrialExpirationTime

The time stamp of when the trial will expire for the Customer

<std::time_t> Integer in Unix format. For example, 1535673599 stands for August 30, 2018

AdvancedPartnerProperties

Advanced information relating to the Partner

AdvancedPartnerPropertiesInfo (has child parameters of its own see the AdvancedPartnerPropertiesInfo child parameters table below)

PartnerCompanyInfo Child Parameters

ParameterDescriptionSupported values
PostAddressThe postal address for the Customer's companyPostAddressInfo (has child parameters of its own see the PostAddress child parameters table below)
PhoneNumberThe phone number for the Customer's company<std::String> String
FaxNumberThe fax number for the Customer's company<std::String> String
WebsiteAddressThe website address in full for the Customer's company<std::String> String
LegalCompanyNameThe legal name of the Customer's company<std::String> String
ChamberOfCommerceNumberThe chamber of commerce number for the Customer's company<std::String> String
VatNumberThe VAT number for the Customer's company<std::String> String
BankAccountNumberThe bank account number for the Customer's company<std::String> String
BillingContactPersonIdThe ID for the person to contact with regards to billing for the Customer's company<std::String> String

PostAddressInfo Child parameters

Parameter

Description

Supported values

Country

The country in which the customer is located.

Based on the country, each customer is assigned to a location (see the LocationId parameter). Several neighboring countries may belong to the same location. The location is used to set a default storage pool for devices belonging to the customer.

<std::String> String

Country code in ISO Alpha-2 format (recommended) or official country/area name in English.

If the parameter is not submitted, the location of the parent customer is used.

State

The state in which the customer is located

<std::String> String

District

The district in which the customer is located

<std::String> String

City

The city in which the customer is located

<std::String> String

ZipCode

The ZipCode in which the customer is located

<std::String> String

Address

The street address at which the customer is located

<std::String> String

AdvancedPartnerPropertiesInfo Child Parameters

Parameter

Description

Supported values

RegionId

The ID number for the region the customer is in

<int> Integer

ResponsibleUserId

The ID for the responsible user

<int> Integer

Optional parameters

Parameter

Description

Supported values

forceRemoveCustomColumnValuesInOldScope

Do you wish to force remove custom column values for the device

bool Boolean

  • True
  • False

Sample request

It is possible to change as much about a customer or as little as you like. Provide the partnerID to select the customer whose information you need to change, then all other parameters entered will be changed to the information sent in the method.

The below example shows the change of name from "Zeus & Sons" to "Zeus And Sons" and limiting the available service types this Customer can provide to it's customers to AllInclusive only.

{
    "id": "jsonrpc",
    "visa": "{{visa}}",
    "method": "ModifyPartner",
    "jsonrpc": "2.0",
    "params": {
	"partnerInfo": {
		"Id": 12345,
		"Name": "Zeus And Sons",
		"ChildServiceTypes": ["AllInclusive"]
	}
}

Sample response

{
    "id": "jsonrpc",
    "jsonrpc": "2.0",
    "result": null,
    "visa": "{{visa}}"
}