Configuration file

🌐

Other languages available for this guide

🇫🇷 La version française de ce guide
🇪🇸 La versión española de esta guía
🇮🇹 La versione italiana di questa guida

Overview

This article explains in detail the structure of the configuration file used to define the behavior of the import engine.

Think of this article as a compendium: instead of reading it from cover to cover, which may be a daunting task, use it to find the information you need. The file contains hyperlinks to make it easier to find the configuration options for your scope.

You will find an example of a file at the end of the article.

Prerequisites

  • A basic or better knowledge of the JSON syntax.
  • A contact in Splio to receive and validate your config file.
  • A text or code editor.

Use your favorite text or code editor to create and edit config files. An editor which can validate JSON syntax is recommended, as it will help you catch the most basic mistakes, such as missing commas, quotation marks, or brackets. If you do not know any such software, you might use JSON Editor Online, which is free software and is available via the website.

Definition of the config file

The configuration file is a text file conforming to the JavaScript Object Notation (JSON) format.

  • Filename: _imports_config.json
  • Encoding: UTF-8 without BOM
  • Format: JSON

The placeholders in the following definition which need to be replaced with actual names and values are enclosed in pointy brackets ("<>"). The optional parts are enclosed within square brackets ("[]"). Ellipsis (". . .") replaces repetitions.

{
   "<universe>":{
     "<scope1>":{
       "<sub-sequence1>":{
         "<configoption11>":"<value11>"[,
         "<configoption12>":"<value12>"[, . . . ] ]
       }[,
       "<sub-sequence2>":{
         "<configoption21>":"<value21>"[,
         "<configoption22>":"<value22>"[, . . . ] ]
       }[, . . . ] ]
     }[,
     "<scope2>":{
       "<sub-sequence3>":{
         "<configoption31>":"<value31>"[, 
         "<configoption32>":"<value32>"[, . . . ] ]
       }[,
       "<sub-sequence4>":{
         "<configoption41>":"<value41>"[,
         "<configoption42>":"<value42>"[, . . . ] ]
       }[, . . . ] ]
     }[, . . . ] ]
   }
 }

Universe

The file must contain exactly one "" object. The name of this object must match the name of your Splio universe and needs to be part of the filename.

Scope

The universe must contain at least one "" object. Scopes represent data types that are imported into the Splio database.

The following scopes are available:

  • contacts
  • products
  • stores
  • orders
  • abandonedcarts
  • ordersitems
  • masterreward, earnreward, burnreward (referring to Loyalty Rewards)
  • creditpoints
  • events
  • deletecontacts
  • cardcode (Loyalty subscriptions)
  • tier_change

Only the contact scope has a corresponding deletion scope.

Sub-sequence

Each scope must contain one or more "" objects. Sub-sequences are used to define import files, which always belong to a specific sub-sequence within a scope. Sub-sequences represent various data sources (e.g., external bases) or imports within the same scope carried out for different reasons.

All configuration options are defined within sub-sequences.

Scopes and configuration options

The following subsections list the configuration options available within each scope.

Contacts

The following configuration options are available for contacts:


Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from file and the field in the file is empty.
default cellphone prefixYesnumericalA prefix (country code) to be added to all local cellphone numbers found in the file. It will not be added to numbers already presented with a country code.
init listsYeslist of numerical valuesA list that must include the numerical IDs of all Splio lists that need to be initialized (that is, emptied) before import.
create contactsNo0 (no) / 1 (yes, default)Allows creating new contacts during import. Enabled by default. By disabling it you can prevent a given import file from creating new contacts.
update contactsNo0 (no) / 1 (yes, default)Allows updating existing contacts on the basis of the import file. Enabled by default. By disabling it you can make sure that no contact records will be updated when importing this file. You can use it to automatically subscribe contacts to lists.

Hint: if you do not wish to clear (initialize) any lists, provide an empty list as value: "init lists": [ ].

Products

Products represent various merchandise which can be purchased by contacts. The following configuration options are available for products:


Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from file and the field in the file is empty.
create productsNo0 (no) / 1 (yes, default)Allows creating new products during import. Enabled by default. By disabling it you can prevent a given import file from creating new products.
update productsNo0 (no) / 1 (yes, default)Allows updating existing products on the basis of the import file. Enabled by default. By disabling it you can prevent products records from being updated when importing.

Stores

Stores represent physical or online stores.

The following configuration options are available for stores:


Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from the file and the field in the file is empty.
create storesNo0 (no) / 1 (yes, default)Allows creating new stores during import. Enabled by default. By disabling it you can prevent a given import file from creating new stores.
update storesNo0 (no) / 1 (yes, default)Allows updating existing stores on the basis of the import file. Enabled by default. By disabling it you can prevent store records from being updated when importing.

Orders

Orders represent purchases made by contacts. The following configuration options are available for orders:

Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from the file and the field in the file is empty.
create ordersNo0 (no) / 1 (yes, default)Allows creating new orders during import. Enabled by default. By disabling it you can prevent a given import file from creating new orders.
update ordersNo0 (no) / 1 (yes, default)Allows updating existing orders based on the import file. Enabled by default. By disabling it you can prevent order records from being updated when importing.
generate loyalty eventsNo0 (no, default) / 1 (yes)Allows the orders to be processed as events by the Loyalty engine, to trigger rules as conditions. Without this parameter, no outcome can be given from rules triggered by orders. Compatible with the same parameter on order items.
only ordersNo0 (no, default) / 1 (yes)Allows the Loyalty engine to process orders without order items for Loyalty rules. This option should be activated on orders or order items for the Loyalty rules to attribute outcomes (never on both).

Abandonedcarts

Abandonedcarts represent purchases that were not completed. The following configuration options are available for abandonedcarts:

Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from the file and the field in the file is empty.
create abandonedcartsNo0 (no) / 1 (yes, default)Allows creating new abandonedcarts during import. Enabled by default. By disabling it you can prevent a given import file from creating new abandonedcarts.
update abandonedcartsNo0 (no) / 1 (yes, default)Allows updating existing abandonedcarts based on the import file. Enabled by default. By disabling it you can prevent abandonedcarts records from being updated when importing.

Ordersitems

Ordersitems represent individual items on an order or in an abandoned cart cart.

Note that items in this scope cannot be updated via import but will be deleted whenever a corresponding order or abandonedcart is imported (e.g., updated).


Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from the file and the field in the file is empty.
generate loyalty eventsNo0 (no, default) / 1 (yes)Allows the orders to be processed as events by the Loyalty engine, to trigger rules as conditions. Without this parameter, no outcome can be given from rules triggered by orders. Compatible with the same parameter on order items.
only ordersNo0 (no, default) / 1 (yes)Allows the Loyalty engine to process orders items without orders for Loyalty rules. This option should be activated on orders or order items for the Loyalty rules to attribute outcomes (never on both).

Loyalty subscriptions (cardcode)

This scope uses the same set of configuration options as Ordersitems above.

Tier change

Configuration optionRequiredValue typeDescription/usage notes
force_pointsNo1 if you want to activateThis parameter will grant the missing amount of qpoints to reach the tier you specified in the body. If you don’t use this parameter, the member will be in the tier without the needed amount of qpoints, and will be downgrade at the next tier downgrade compute.

Credit points (creditpoints), Events (events), Delete contacts (deletecontacts)

This group of import scopes shares the same set of two configuration options.

Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.

Loyalty Rewards (masterreward, earnreward, burnreward)

Importing the rewards-related scopes is described in the Loyalty rewards article.

Configuration optionRequiredValue typeDescription/usage notes
report recipientsYeslist of email addressesEmail addresses of all recipients to receive the report after the import is complete.
alert recipientsYeslist of email addressesEmail addresses of all recipients to receive alerts during import.
overwrite with empty valuesNo0 (no, default) / 1 (yes)For "masterrewards" only
If set to "1" (yes), the existing values will be replaced by NULL when a record is being updated from the file and the field in the file is empty.
⚠️ This option must not be used for the "earnreward" and "burnreward" scopes.