Endpoint - User Config

This request is made in two situations:

Firstly when a customer is going through the integration wizard to integrate the channel for the first time or when required updates are needed. The wizard StepName should be anything but "UserConfig" if you are flowing a user through integration steps. To complete the wizard then return the StepName as "UserConfig" this will indicate the wizard is complete and complete the wizard for the user.

The second instance is when the config is loaded the call is made to load any dynamic ConfigItems that may be required to show on the Linnworks config UI. SaveConfigEndpoint will be called on each wizard step and when the config is saved.

If the config is loaded and the StepName is not "UserConfig" it will load the config wizard and take them through the stages until "UserConfig" is returned. This can be especially useful if the user is required to go through additional steps down the line such as updating an auth token.

This call is not called periodically and only when the user is editing their configuration.

Request

Post

UserConfigRequest

Field NameTypeDescription
AuthorizationTokenStringToken that you generated for this customer.

Sample

{
	"AuthorizationToken": "a8e53e86eead4b69beaa0afcc29b67fb",
}

Response

UserConfigResponse

Field NameTypeDescription
ErrorStringError string if there was an issue with the request.
StepName
Required
StringCurrent Step name, if returned "UserConfig" it will assume that the wizard is complete.
AccountName
Required
StringAccount name being integrated into the system. Will never change and on integration it is suggest that duplicates are checked for. Nb. Customers may expect to have multiple integrations of the same channel in Linnworks.
WizardStepDescription
Required
StringDescription of the current wizard step.
WizardStepTitle
Required
StringUser visible title displayed on the integration wizard.
ConfigItems
Required
ConfigItem[]See Config Item table.
GlobalConfigSettings
Optional
GlobalConfigSettingsA set of global config settings for the individual integration. These include available price tags as well as options to disable UI config elements if not supported.

These options help sellers easily identify what is supported and what is not rather than raising support cases when something seemingly doesn't work.

The default behavior is that all features are supported if no settings are provided by the integration.

ConfigItem

Field NameTypeDescription
ConfigItemId
Required
StringUnique id of either the wizard item or config item.
Description
Required
StringDescription of the config item or wizard item. Will be displayed in tooltips .
GroupName
Required
StringUsed to group the config or wizard items.
ListValuesListValue[]See List Value table.
MustBeSpecifiedBooleanDefines if the user must enter this value in the wizard or config.
Name
Required
StringVisible name on the wizard or config.
ReadOnlyBooleanDefines if the field is a visible only field.
RegexErrorStringMessage that will be shown to the custmer if wizard field validation does not go through.
RegexValidationStringJavaScript Regex validation script.
SelectedValueStringSelected value either default value or value selected in the UI when sent back.
Sortorder
Required
IntOrder of config item to be displayed on the UI.
ValueType
Required
StringValid values:

- STRING
- INT
- DOUBLE
- BOOLEAN
- PASSWORD
- LIST
HidesHeaderAttributeBooleanDetermines whether a header-level attribute (e.g. InventorySync) should be hidden from the config. Used in conjunction with the Name property, where Name identifies the attribute to hide.

ListValue

Field NameTypeDescription
Display
Required
StringUser friendly visible value.
Value
Required
StringKey value that Linnworks will then send back in the SelectedValue field on the SaveConfigEndpont.

GlobalConfigSettings

Field NameTypeDescription
PriceTags
Optional
String[]Price tags that are available to be used in conjunction with the price sync.
For example this may be SALE_PRICE or UK
IsPriceChangeVisible
Optional
BooleanDefines if the price change tick box in the config should be visible for the users

True - Price change tick box will be shown
False- Price change tick box will be hidden
Not provided - Price change tick box will be shown.
IsRefundsVisible
Optional
BooleanDefines if the refunds tick box in the config should be visible for the users

True - Refunds tick box will be shown
False- Refundstick box will be hidden
Not provided - Refundstick box will be shown.
IsCancellationsVisible
Optional
BooleanDefines if the cancellations tick box in the config should be visible for the users

True - Cancellations tick box will be shown
False- Cancellations tick box will be hidden
Not provided - Cancellations tick box will be shown.
IsShippingMappingVisible
Optional
BooleanDefines if the shipping mapping button in the channel integrations screen should be enabled for the users.

True - Shipping mapping button will be enabled
False- Shipping mapping button will be disabled
Not provided - Shipping mapping button will be enabled
IsPaymentMappingVisible
Optional
BooleanDefines if the payment mapping button in the channel integrations screen should be enabled for the users.

True - Payment mapping button will be enabled
False- Payment mapping button will be disabled
Not provided - Payment mapping button will be enabled
IsInventoryMappingVisible
Optional
BooleanDefines if the inventory mapping button in the channel integrations screen should be enabled for the users.

True - Inventory mapping button will be enabled
False- Inventorymapping button will be disabled
Not provided - Inventory mapping button will be enabled

Sample

{
  "Error": null,
  "StepName": "AddCredentials",
  "WizardStepDescription": "This is where you add your website credentials",
  "WizardStepTitle": "Add Credentials",
  "GlobalConfigSettings": {
    "PriceTags": [
      "UK",
      "DE",
      "SALE",
      "UK_SALE"
    ],
    "IsPriceChangeVisible": true,
    "IsMultilocationEnabled": true,
    "IsPaymentMappingVisible": false,
    "IsCancellationsVisible": false,
    "IsRefundsVisible": false,
    "IsInventoryMappingVisible": true
  },
  "ConfigItems": [
    {
      "ConfigItemId": "APIKey",
      "Name": "API Key",
      "Description": "Website API Key",
      "GroupName": "API Credentials",
      "SortOrder": 1,
      "SelectedValue": "AnApiKeyGoesHere",
      "RegExValidation": null,
      "RegExError": null,
      "MustBeSpecified": true,
      "ReadOnly": false,
      "ListValues": [],
      "ValueType": "PASSWORD"
    },
    {
      "ConfigItemId": "APISecretKey",
      "Name": "API Secret Key",
      "Description": "Website API Secret Key",
      "GroupName": "API Credentials",
      "SortOrder": 2,
      "SelectedValue": "MYSuperSecretKey",
      "RegExValidation": null,
      "RegExError": null,
      "MustBeSpecified": true,
      "ReadOnly": false,
      "ListValues": [],
      "ValueType": "PASSWORD"
    },
    {
      "ConfigItemId": "IsOauth",
      "Name": "Is Oauth",
      "Description": "Defines if the authentication type is Oauth",
      "GroupName": "API Settings",
      "SortOrder": 3,
      "SelectedValue": "False",
      "RegExValidation": null,
      "RegExError": null,
      "MustBeSpecified": true,
      "ReadOnly": false,
      "ListValues": [],
      "ValueType": "BOOLEAN"
    },
    {
      "ConfigItemId": "Version",
      "Name": "Version",
      "Description": "Version of the API",
      "GroupName": "API Settings",
      "SortOrder": 3,
      "SelectedValue": "False",
      "RegExValidation": null,
      "RegExError": null,
      "MustBeSpecified": true,
      "ReadOnly": false,
      "ListValues": [
        {
          "Display": "1.6 - Stable",
          "Value": "1.6.0"
        },
        {
          "Display": "1.6 - Beta",
          "Value": "1.6.1"
        },
        {
          "Display": "1.5 - Stable",
          "Value": "1.5.0"
        }
      ],
      "ValueType": "LIST"
    }
  ]
}