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

User

Type: object

This object contains the user's detail schema


Examples:

{
    "defaultLocale": "fr-BE",
    "email": "john.doe@example.com",
    "firstName": "John",
    "fixedPhoneNumber": "+16175551212",
    "lastName": "doe",
    "mobilePhoneNumber": "+3256601716",
    "title": "Mr",
    "attachedAccounts": [
        {
            "opCoAccountId": "1234567",
            "opCoUserStatus": "ACTIVE",
            "permissions": [
                "EXPORT_INVOICE",
                "VALIDATE_CART",
                "EDIT_CUSTOMER_REF"
            ]
        },
        {
            "opCoAccountId": "1234589",
            "opCoUserStatus": "PENDING",
            "permissions": [
                "VALIDATE_CART"
            ]
        },
        {
            "opCoAccountId": "1234588",
            "opCoUserStatus": "ACTIVE",
            "permissions": [
                "VIEW_BLANKET_ORDER",
                "RELEASE_BLANKET_ORDER"
            ]
        }
    ]
}
{
    "defaultLocale": "fr-BE",
    "email": "bob.doe@example.com",
    "firstName": "Bob",
    "fixedPhoneNumber": "+16175551212",
    "lastName": "doe",
    "mobilePhoneNumber": "+3256601716",
    "title": "Mr",
    "attachedAccounts": [
        {
            "opCoAccountId": "6456467",
            "opCoUserStatus": "ACTIVE",
            "permissions": [
                "EXPORT_INVOICE",
                "VALIDATE_CART"
            ]
        },
        {
            "opCoAccountId": "1233589",
            "opCoUserStatus": "PENDING",
            "permissions": [
                "VALIDATE_CART",
                "EDIT_CUSTOMER_REF"
            ]
        }
    ]
}

Type: object

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

User's title.


Example:

"Dhr."

Type: string

User's firstname.


Example:

"Geert"

Type: string

User's lastname.


Example:

"Corijn"

Type: string

User's email.


Example:

"geert@electracontractors.be"

Type: string

User's default language, use locale to be specific


Example:

"fr-BE"

Type: string

User's mobile phone number, should be valid according to the E.164 format ([+][country code][subscriber number including area code]), If the phone number is not valid the user event will be rejected


Example:

"+3256601716"

Type: string

User's fixed phone number, should be valid according to the E.164 format ([+][country code][subscriber number including area code]), If the phone number is not valid the user event will be rejected


Example:

"+16175551212"

Type: array

List of attached accounts to the user
Deletion without delay scenarios:
- If the user is attached to several accounts, the account is removed from list of attached accounts for this user.
- If the user is attached to only one account, user will be deleted immediately without notifying the admin and without grace period user

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

AttachedAccount

Type: object

Type: string

OpCo's organizatinal customer number that uniquely identifies its account.


Example:

"1234567"

Type: array

List of permissions allowed for the user in the account.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Permission


Enumeration of permission available in the Spark platform:

  • MANAGE_USERS: make the user able to manage other users (this is known as admin user).

  • VIEW_NET_PRICE: make the user able to see net prices.

  • VIEW_GROSS_PRICE: make the user able to see list, gros prices.

  • VIEW_ORDER_LIST: make the user able to access the order list and details data.

  • CONTRIBUTE_CART: make the user able to create and update a cart.

  • VALIDATE_CART : user having this permission will be able to approve cart of the other users. Note: users with this permission require to also have CONTRIBUTE_CART and PLACE_ORDER_WITHOUT_VALIDATION permissions.

  • EXPORT_INVOICE: make the user able to download invoices documents.

  • PLACE_ORDER_WITHOUT_VALIDATION: make the user able to place an order without needing to wait for a validator approval. Note: users with this permission require to also have CONTRIBUTE_CART permission.

  • RELEASE_BLANKET_ORDER: user is able to create release/sub order from blanket order and checkout of blanket order. Notes: users with this permission may not have CONTRIBUTE_CART or PLACE_ORDER_WITHOUT_VALIDATION permission and should be able to perform checkout specific to blanket order, users with this permission require to also have VIEW_BLANKET_ORDER permission.

  • VIEW_BLANKET_ORDER: user is able to view list and details of blanket order (Punchout token would not contain any blanket order related permissions).

  • MANAGE_ADDRESSES In Pilot: this permission will allow the user to create/edit/delete delivery addresses.

  • EDIT_ORDER In Pilot: allows the user to edit open orders and make adjustments as needed.

  • PAY_INVOICE In Pilot: this permission will allow the user to pay invoices online.

Checkout and approve carts without purchase limit check

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.

Requires approvals for cart checkout

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

The user is having limited permissions and requires an approval from the user having VALIDATE_CART permissions

Requires approvals if surpasses allowed purchase limits

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

The user is allowed to contribute and make a checkout if he is ordering under his purchase limit set by his admin, He only requires an approval if he surpasses the purchase limit both at cart limit and monthly purchase limit

User requires permissions to view or release blanket orders

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

The user is allowed to view list of blanket orders and its details. User is able to release and checkout blanket orders

Must be one of:

  • "CONTRIBUTE_CART"
  • "EDIT_CUSTOMER_REF"
  • "EDIT_ORDER"
  • "EDIT_PUBLIC_LIST"
  • "EXPORT_INVOICE"
  • "MANAGE_ADDRESSES"
  • "MANAGE_QUOTE"
  • "MANAGE_USERS"
  • "PAY_INVOICE"
  • "PLACE_ORDER_WITHOUT_VALIDATION"
  • "RELEASE_BLANKET_ORDER"
  • "VALIDATE_CART"
  • "VIEW_BLANKET_ORDER"
  • "VIEW_CREDIT_INFO"
  • "VIEW_GROSS_PRICE"
  • "VIEW_NET_PRICE"
  • "VIEW_ORDER_LIST"

Example:

"VIEW_NET_PRICE"

Type: string

User's job denomination code. This is code of the reference value provided for the reference type 'JobTitle'.This is required when the job title reference table is not empty for an opco


Example:

"003"

Type: string

user's job denomination, This is required when the job title reference table is not empty for an opco


Example:

"Manager"

Type: enum (of string)

User opCoUserStatus in the OpCo ERP.

Must be one of:

  • "ACTIVE"
  • "CREATION_PENDING_AT_MASTER"
  • "PENDING"
  • "ACTIVATION_EXPIRED"
  • "DELETED"
  • "BLOCKED"

Example:

"ACTIVE"

Price

Type: object

The max amount that this user can purchase by cart


Examples:

{
    "amount": 100000,
    "scale": 2,
    "currency": "EUR"
}
{
    "amount": 10000000,
    "scale": 4,
    "currency": "USD"
}

Type: integer

the actual unscaled amount based on list or customer


Example:

205987

Type: integer

the scale to be applied on the unscaled amount


Example:

2

Type: string

the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

PurchaseLimitByPeriod

Type: object

The max amount that this user can purchase within a period


Examples:

{
    "limit": {
        "amount": 100000,
        "scale": 2,
        "currency": "EUR"
    },
    "period": "MONTHLY"
}
{
    "limit": {
        "amount": 1000000,
        "scale": 2,
        "currency": "EUR"
    },
    "period": "MONTHLY"
}
{
    "limit": {
        "amount": 1000000,
        "scale": 2,
        "currency": "EUR"
    },
    "period": "MONTHLY"
}

Price

Type: object

contains the amount informations based on the type of prices we might have

Type: integer

the actual unscaled amount based on list or customer


Example:

205987

Type: integer

the scale to be applied on the unscaled amount


Example:

2

Type: string

the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed


Example:

"EUR"

Type: enum (of string)

The period for which the limit is applied.
- MONTHLY: to define purchase limit for current calendar month

Must be one of:

  • "MONTHLY"

Example:

"MONTHLY"