This is a html view of the json schema please take the json schema as reference DOWNLOAD THE JSON SCHEMA

Account


This is object used to describe the account details

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: false

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "BILL_TO"
Type: object

The following properties are required:

  • billingAddress
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: false

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "SOLD_TO"
Type: object

The following properties are required:

  • deliveryAddress
  • defaultLogisticMethod
  • paymentMethods
Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: true

Type: array
No Additional Items

At least one of the items must be:

Type: const
Specific value: "SOLD_TO"
Type: object

The following properties are required:

  • defaultLogisticMethod
  • paymentMethods

Type: object Default: {"source": "OPCO", "version": "v1"}

This object is used to describe some technical meta information related to the event

Type: enum (of string)

The application source of this event

Must be one of:

  • "SPARK"
  • "SPARK_AX"
  • "OPCO"

Type: enum (of string)

The version of the json format event

Must be one of:

  • "v1"

Type: string

OpCo's organizatinal customer number that uniquely identifies its account. In the case of OpCo organised with a regional model or commercial organisation this should be suffix by '{orgId}'. if the accountId is 13563 and the orgId is OVIA so this field should contains 13563OVIA


Examples:

"1234567"
"1234567_OVIA"

Type: enum (of string)

this field allows to distinguish the different combinations possible within one account.

Must be one of:

  • "ACCOUNT"
  • "SUB_ACCOUNT"
  • "PROJECT"

Example:

"ACCOUNT"

Type: boolean Default: false

Boolean to indicate if the account is a guest account to support view of buy box for non logged in users / When value is true no users should be attached to this account, This account would not have a delivery or billing address, access token generated would not contain userID or email info and would never expire


Example:

true

Type: string

Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.


Examples:

"org123"
"SNE"

Type: string

Optional field, needed by OpCo organised with a regional model or commercial organisation. This name will be displayed to the customer into front to make him able to recognise the current commercial org


Examples:

"SONEPAR NORD-EST"
"Sonepar Sud Est"

Type: string

Regional division identifier


Example:

"RD1"

Type: string

registration ID of the company within its country, like siret number in France.


Example:

"12356894100056"

Type: string

VAT number


Example:

"GM4837192941"

Type: string

Name of the organizational customer.


Example:

"Independent Electric"

Type: integer

[Deprecated - Moved to account-customer-relationship].
Number of employees in the company.


Example:

1234

Type: stringFormat: date-time

The date of activation of this account in the opco


Examples:

"2021-10-12T08:30:22.804Z"
"2018-11-13T20:20:39+02:00"

Type: boolean

A generic user has all accesses to the opco. When true : An associate can access this account using the generic user. When false : An associate cannot access this account using the generic user. If not provided, the default configuration value on OpCo level will be used (feature flag on-behalf-without-user-default).


Example:

true

Type: boolean

true in the case the account doesn't have a products exclusion list. If this field is not present then the default value is false


Example:

true

Address

Type: object

billing address applied to all users in the same account.

Type: string

OpCo internal system's unique identifier for the address


Example:

"237564557868778"

Type: string

According to ISO 19060, this field contains one third of the address. In most cases this usually contains the whole addres though.


Example:

"Belleboslaan 17"

Type: string

According to ISO 19060, this field contains one third of the address. This is an optional field.

Type: string

According to ISO 19060, this field contains one third of the address. This is an optional field.

Type: string

City.


Example:

"Montesson"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"FRA"

Type: string

Zip code.


Example:

"78360"

Type: string

department


Example:

"JURA"

Type: string

region


Example:

"Bretagne"


Address

Type: object

A commun definition of an address

Type: string

OpCo internal system's unique identifier for the address


Example:

"237564557868778"

Type: string

According to ISO 19060, this field contains one third of the address. In most cases this usually contains the whole addres though.


Example:

"Belleboslaan 17"

Type: string

According to ISO 19060, this field contains one third of the address. This is an optional field.

Type: string

According to ISO 19060, this field contains one third of the address. This is an optional field.

Type: string

City.


Example:

"Montesson"

Type: string

The ISO 3166-1 alpha-3 of the country


Example:

"FRA"

Type: string

Zip code.


Example:

"78360"

Type: string

department


Example:

"JURA"

Type: string

region


Example:

"Bretagne"
Type: object

Type: string

Extra description about the address


Example:

"Building site #1"

Type: string

Company name, it might differ from the account name


Example:

"Easy Electric"

Type: string

Address contact's Phone number


Example:

"+330287345678"

Type: string

Contact's firstname.


Example:

"John"

Type: string

Contact's lastname.


Example:

"Doe"

Type: string

In Pilot Contact's middle name.


Example:

"Michael"

Type: boolean

Determines whether addessLine1, addessLine2, zipCode, city and country fields are editable or not


Example:

false

Type: boolean Default: false

a boolean to say if this address is the default one or not


Example:

false

Type: string

Optional indications or instructions about the delivery


Example:

"Please leave the parcel next the front door."

Type: string

Optional reference about the customer delivery


Example:

"Reference #123"

Type: string

The default facility id while registering the account to an opco. If the feature flag - Enable Preferred branch - is enabled, pass preferred branch here. Otherwise use account-customer-relationship data model to pass Service Center/Preferred branch, because then a single branch is serving both roles.


Example:

"4335"

Type: enum (of string)

the default logistic method while registering the account to an opco

Must be one of:

  • "PICK_UP"
  • "DELIVERY"

Type: object

the default payment method while registering the account to an opco

Type: string

The currency denomination define by ISO 4217


Example:

"EUR"

Type: enum (of string)

Type of payment

Must be one of:

  • "CASH"
  • "CHEQUE"
  • "CREDIT_LINE"
  • "CREDIT_DEBIT_CARD"
  • "PCB_CARD"

Example:

"CREDIT_DEBIT_CARD"

Type: enum (of string) Default: "ONLINE"

The payment channel

Must be one of:

  • "ONLINE"
  • "OFFLINE"

Type: enum (of string)

organisation account status with opco.
- OFFLINE: DEPRECATED if account is conducting business whether it's online or offline, ACTIVE status should be used
- ACTIVE: An account that is conducting business or will conduct business with Sonepar.
- PENDING: Not used yet when the account activation is pending.
- CLOSED: A status used to close the account.
- BLOCKED: Not used yet when the account is temporary disabled for example because of credit limit issue or security issue.
- DELETED: DEPRECATED use CLOSED status instead.

Must be one of:

  • "OFFLINE"
  • "ACTIVE"
  • "PENDING"
  • "CLOSED"
  • "DELETED"
  • "BLOCKED"

Example:

"ACTIVE"

Type: array

List of payment methods

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

Model used to create a payment method

Type: string

The currency denomination define by ISO 4217


Example:

"EUR"

Type: enum (of string)

Type of payment

Must be one of:

  • "CASH"
  • "CHEQUE"
  • "CREDIT_LINE"
  • "CREDIT_DEBIT_CARD"
  • "PCB_CARD"

Example:

"CREDIT_DEBIT_CARD"

Type: enum (of string) Default: "ONLINE"

The payment channel

Must be one of:

  • "ONLINE"
  • "OFFLINE"

Example:

[
    {
        "paymentCurrency": "EUR",
        "paymentType": "CREDIT_LINE"
    }
]

Type: string

Payment terms associated with the account. Example when invoices should be paid.


Examples:

"End of month + 15d"
"End of month + 30d"
"Invoice date +45d"

Type: object

[Deprecated - Moved to account-customer-relationship].
The sale representative of the account

Type: string

firstname of the sale representative


Example:

"John"

Type: string

lastname of the sale representative


Example:

"Doe"

Type: string

phone number of the sale representative


Example:

"0683906389"

Type: string

email of the sale representative


Example:

"john.doe@standelec.com"

Type: array

[Deprecated - Moved to account-customer-relationship].
An array containing the different level of the segment where the accounts is attached (installers, medium or large scale). The first element of the arrays is the first level

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

Type: string

the code of this segment level

Multilingual Object

Type: object

the label of this segment level


Example:

{
    "fr-FR": "Installateur résidentiel et commercial - petit",
    "en-US": "Residential & Commercial Installer - Small"
}

Each additional property must conform to the following schema

Type: string

Examples:

[
    {
        "code": "111-1",
        "label": {
            "fr-FR": "Installateur résidentiel et commercial",
            "en-US": "Residential & Commercial Installer"
        }
    },
    {
        "code": "1be9366881063c8e18457f29b5e1f0db",
        "label": {
            "fr-FR": "Petit",
            "en-US": "Small"
        }
    }
]
[
    {
        "code": "b8f28358d902f28449103518a2464ec2",
        "label": {
            "fr-FR": "Entrepreneurs généraux, Constructeurs, Ingénierie et construction",
            "en-US": "General Contractors, Builders, Engineering & Construction"
        }
    }
]

Type: object

[Deprecated - Moved to account-customer-relationship].

Type: string

id of the purchase group


Example:

"1234"

Type: string

name of the purchase group to be displayed


Example:

"Doe"

Type: string

A reference to parent's account opCoAccountId field. This is used to represent the hierarchy of accounts.

Parent accounts must be sent first. Otherwise, references between parent and children will not be established


Examples:

"1234567"
"1234567_OVIA"

Type: array of enum (of string) Default: ["BILL_TO", "SOLD_TO"]

In the hierarchy of accounts, an account can have none, one, or both of the following roles: BILLTO, SOLDTO

Must contain a minimum of 0 items

No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "BILL_TO"
  • "SOLD_TO"

Examples:

[
    "BILL_TO"
]
[
    "BILL_TO",
    "SOLD_TO"
]
[
    "SOLD_TO"
]
[]

Type: boolean Default: false

Flag to hide the credit limit to customers in CX. When true, the CREDITLINEVIEW permission will be ignored in Spark CX and credit line will not be displayed to users for this account. Otherwise, CREDITLINEVIEW permission will work as specified.


Example:

true

Type: boolean Default: true

Flag controling if marketplace is enabled at an account level. By default (if this account attribute is not set and the cp-marketplace feature flag is set then) marketplace is enabled.

Type: string

In Pilot: Account level delivery instructions

Must be at least 1 characters long


Example:

"YYNNYY"

Type: string

In Pilot: Locale code representing the preferred language at an account level. This must match the code defined in the AX language map record

Must match regular expression: ^[a-z]{2}(-[A-Z]{2})?$

Must be at least 2 characters long


Examples:

"en-GB"
"en-US"

Type: boolean Default: false

Flag defining whether or not open catalog products are available by default to this account. When true, open catalog products are ignored (and need to be explicitly included). When false (default), open catalog products are available by default (but can be individually excluded). The deprecated static configuration inclusion-active-account-list is still taken into account if this attribute is false, but only on search results and not in other areas (i.e. PDP, suggestions).


Example:

true