Column Types
Concept
For each column of a target data model, you can define a columnType
to determine which format or - in some cases - which data type the output is supposed to have. By default, the columntType
equals string
. If you want a different data type for the output data, you can set the key to either int
, float
or boolean
. Suppose you prefer the enumerated type (enum). In that case, you need to set columnType
to category
, and in the next step, you need to define the dropdownOptions
array where you determine the selectable options. The cells of a boolean
- or category
-column are displayed as dropdown fields inside our user interface.
Apart from defining the data type, all the options mentioned above and the other options contain pre-built data validations to ensure that the user-submitted data is in the correct format. An error message is shown if the imported data does not fit the column type's validation rule. The error messages can be customized by using our i18nOverrides
prop.
On this page, you will find a collection of all available options for the columnType
prop within the nuvo importer with examples of valid input data and the output format that is output in the onResults function.
To use the column types, you must define the columnType
property of a column within the columns
object that is part of the settings
class.
Here is a small implementation example:
<NuvoImporter
licenseKey="Your License Key"
settings={{
developerMode: true,
identifier: "product_data",
columns: [
{
label: "Product ID",
key: "product_id",
columnType: "string",
},
{
label: "EAN",
key: "ean_gtin",
columnType: "gtin",
},
{
label: "Price",
key: "price",
columnType: "float",
},
{
label: "Manufacturing Date",
key: "man_date",
columnType: "date_dmy",
},
]
/>
List of column types
Text (default)
Type | "string" |
Description | The cells in this column are displayed as free text fields. The output has the data type string . string is the default columnType if no columnType is defined. |
Valid input | "Hello World", "Nuvo GmbH" or "20095 Hamburg" |
Output format |
[
{
"company_name": "Nuvo GmbH"
}
]
Integer number
Type* | "int" |
Description | The cells in this column are displayed as free text fields that display an error message if the input is not numerical or a decimal number. The output has the data type int . A dot as thousand separator is allowed. |
Valid input | "1", "20", "318" or "1.000" |
Output format |
[
{
"counter": 100
}
]
Decimal number (float)
Type | "float" |
Description | The cells in this column are displayed as free text fields that display an error message if the input is not numerical. The output has the data type float . A dot is accepted as thousand separator and a comma as decimal separator. |
Valid input | "1", "20,2", "318,4" or "10.000,25" |
Output format |
[
{
"price": 10.22
}
]
Boolean
Type | "boolean" |
Description | The cells in this column are displayed as dropdown fields with the options "Yes" or "No". The user can map the unique values of its imported and mapped column to either one of the option within the "Match Columns"-Step. |
Output format |
[
{
"deal_ongoing": true
}
]
Category (dropdown)
Type | category |
Description | The cells in this column are displayed as dropdown fields with the options defined within the dropdownOptions array. Therefore, in order to use this column type it is required to define the dropdownOptions property. In the "Match Columns"-Step, the unique values of the imported and matched column are assigned to the different options. You can also enable multiselection by setting isMultiSelect to true . The documentation for the dropdownOptions setting can be found here and for isMultiSelect here. |
Output format |
[
{
"shop_category": "Smartphone"
}
]
Bank Identifier Code (BIC)
Type | "bic" |
Description | The cells in this column are displayed as free text fields that display an error message if the input does not match the bank identifier code format (spaces are not allowed). |
Valid input | "SOBKDEBBXXX", "GENODEF1SFD" or "NTSBDEB1XXX" |
Output format |
[
{
"client_bic": "GENODEF1SFD"
}
]
Country Code Alpha 2
Type | "country_code_alpha_2" |
Description | The cells in this column are displayed as dropdown fields with all available country alpha 2 codes as selectable options. The unique values of the imported and mapped column are assigned to these options within the "Match Columns"-Step. You can find a list of all valid alpha 2 country codes here. |
Output format |
[
{
"origin_country": "DE"
}
]
Country Code Alpha 3
Type | "country_code_alpha_3" |
Description | The cells in this column are displayed as dropdown fields with all available country alpha 3 codes as selectable options. The unique values of the imported and mapped column are assigned to these options within the "Match Columns"-Step. You can find a list of all valid alpha 3 country codes here. |
Output format |
[
{
"origin_country": "USA"
}
]
Currency Code
Type | "currency_code" |
Description | The cells in this column are displayed as dropdown fields with all available currency codes as selectable options. The unique values of the imported and mapped column are assigned to these options within the "Match Columns"-Step. |
Output format |
[
{
"price_currency": "EUR"
}
]
Currency EUR
Type | "currency_eur" |
Description | This column type combines the amount as well as the currency information for euro. Whether the input is the amount, or the amount in combination with "EUR" or "€" symbol, it will all be normalized within the "Review Entries"-Step. The output object contains both information in separate properties, the amount as a float and the currency "EUR" as string . |
Valid input | "40,00 EUR", "42,50€" or "45,22" |
Output format |
[
{
"price": {
"value": 45.22,
"type": "EUR"
}
}
]
Currency USD
Type | "currency_usd" |
Description | This column type combines the amount as well as the currency information for US Dollar. Whether the input is the amount, or the amount in combination with "USD" or "$" symbol, it will all be normalized within the "Review Entries"-Step. The output object contains both information in separate properties, the amount as a float and the currency "USD" as string . |
Valid input | "40,00 USD", "42,50$", "USD 35,09" or "$45.22" |
Output format |
[
{
"price": {
"value": 45.22,
"type": "USD"
}
}
]
Date DMY (dd.mm.yyyy)
Type | "date_dmy" |
Description | The cells in this column are displayed as date fields that display an error message if the input does not match the "dd.mm.yyyy" format. |
Valid input | "01.10.2022", "30.4.2020" or "27.02.2022" |
Output format |
[
{
"order_date": "01.10.2022"
}
]
Date ISO (yyyy-mm-dd)
Type | "date_iso" |
Description | The cells in this column are displayed as date fields that display an error message if the input does not match the "yyyy-mm-dd" format. |
Valid input | "2022-10-10", "2020-5-1" or "2022-02-27" |
Output format |
[
{
"order_date": "2022-05-15"
}
]
Date MDY (mm.dd.yyyy)
Type | "date_mdy" |
Description | The cells in this column are displayed as date fields that display an error message if the input does not match the "mm.dd.yyyy" format. |
Valid input | "10.1.2021", "04.30.2021" or "02.27.2022" |
Output format |
[
{
"order_date": "12.31.2022"
}
]
Date SQL (YYYY-MM-DD HH:MM:SS)
Type | "date_sql" |
Description | The cells in this column are displayed as SQL datetime fields that display an error message if the input does not match the "YYYY-MM-DD HH:MM:SS" format. |
Valid input | "2022-01-20 10:12:13", "1999-01-31 01:59:30" or "2022-02-27 11:59:33" |
Output format |
[
{
"order_date": "2022-01-20 12:12:12"
}
]
Email Address
Type | "email" |
Description | The cells in this column are displayed as email fields that display an error message if the input is not a valid email address. |
Valid input | "[email protected]", "[email protected]" or "[email protected]" |
Output format |
[
{
"mail_address": "[email protected]"
}
]
European VAT Number
Type | "vat_eu" |
Description | The cells in this column are displayed as free text fields that display an error message if the input is not a valid European VAT number. If you need more information regarding European VAT numbers, have a look here. |
Valid input | "DE999999999", "DK12345678" or "FR12345678901" |
Output format |
[
{
"ust_id": "DK12345678"
}
]
GTIN/EAN
Type | "gtin" |
Description | The cells in this column are gtin/ean fields that display an error message if the input is not a valid GTIN/EAN. Further information regarding the GTIN/EAN verification can be found here. |
Valid input | "4270002835450", "12345670" or "012345000010" |
Output format |
[
{
"ean": "4270002835450"
}
]
International Bank Account Number (IBAN)
Type | "iban" |
Description | The cells in this column are displayed as IBAN fields that display an error message if the input is not a valid European IBAN. |
Valid input | "DE89370400440532013000", "BE71096123456769" or "AT483200000012345864" |
Output format |
[
{
"customer_iban": "AT483200000012345864"
}
]
Percentage
Type | "percentage" |
Description | The cells in this column are displayed as percentage fields that display an error message if the input is not a numeric value nor contains a string with only numbers and a percentage sign (%). All valid inputs are converted into percent (0,12 -> 12%), but the output is a float. |
Valid input | "12%", "12" or "12,8" |
Output format |
[
{
"market_share": 0.1
}
]
Phone Number
Type | "phone" |
Description | The cells in this column are displayed as phone number fields that display an error message if the input is not a valid phone number (spaces are not allowed). The input needs to start with "00", or with "+" and the country code. |
Valid input | "0049123419191919" or "+49123419191919" |
Output format |
[
{
"customer_phone": "0049123419191919"
}
]
Time HH:MM (12h format)
Type | "time_hm" |
Description | The cells in this column are displayed as time fields that display an error message if the input does not match the "HH:MM" format. Other time values will be converted into the 12-hour format. |
Valid input | "12:01", "23:59" or "1999-1-31 01:59:30" |
Output format |
[
{
"purchase_time": "10:21 pm"
}
]
Time HH:MM (24h format)
Type | "time_hm_24" |
Description | The cells in this column are displayed as time fields that display an error message if the input does not match the "HH:MM" format. Other time values will be converted into the 24-hour format. |
Valid input | "12:01", "23:59" or "1999-1-31 01:59:30" |
Output format |
[
{
"purchase_time": "22:21"
}
]
Time HH:MM:SS (12h format)
Type | "time_hms" |
Description | The cells in this column are displayed as time fields that display an error message if the input does not match the "HH:MM:SS" format. Other time values will be converted into the 12-hour format. |
Valid input | "12:01", "23:59:12", "1999-1-31 01:59:30" |
Output format |
[
{
"purchase_time": "10:21:12 pm"
}
]
Time HH:MM:SS (24h format)
Type | "time_hms_24" |
Description | The cells in this column are displayed as time fields that display an error message if the input does not match the "HH:MM:SS" format. Other time values will be converted into the 24-hour format. |
Valid input | "12:01", "23:59:12" or "1999-1-31 01:59:30" |
Output format |
[
{
"purchase_time": "22:21:12"
}
]
URL
Type | "url" |
Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url. The input is not allowed to contain a prefix like "www" or "https". |
Valid input | "getnuvo.com", "comdocks.com/product" or "docs.getnuvo.com/docs/start#technical-implementation" |
Output format |
[
{
"website": "getnuvo.com"
}
]
URL with https
Type | "url_https" |
Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url beginning with "https". |
Valid input | "https://getnuvo.com", "https://www.comdocks.com/product" or "docs.getnuvo.com/docs/start#technical-implementation" |
Output format |
[
{
"website": "https://getnuvo.com"
}
]
URL with www
Type | "url_www" |
Description | The cells in this column are displayed as website fields that display an error message if the input is not a valid url beginning with "www". |
Valid input | "www.getnuvo.com", "www.comdocks.com/product" or "www.docs.getnuvo.com/docs/start#technical-implementation" |
Output format |
[
{
"website": "www.getnuvo.com"
}
]
ZIP Code AT & DE
Type | "zip_code_de" |
Description | The cells in this column are displayed as zip code fields that display an error message if the input is not a valid German or Austrian postal code. |
Valid input | "12345" or "1234" |
Output format |
[
{
"address_zip": "12345"
}
]
Full Example
Below is a code snippet of a target data model containing all column types:
columns = [
{
"key": "string",
"label": "Text",
"description": "Normal Text field",
"columnType": "string"
},
{
"key": "integer",
"label": "Integer",
"description": "An integer number.",
"columnType": "int"
},
{
"key": "float",
"label": "Float number",
"description": "A float number. ",
"columnType": "float"
},
{
"key": "bool",
"label": "Boolean",
"description": "A yes no field",
"columnType": "boolean"
},
{
"key": "bic",
"label": "BIC",
"description": "Bank Identification Code",
"columnType": "bic"
},
{
"key": "iban",
"label": "IBAN",
"description": "Put a correct IBAN number ",
"columnType": "iban"
},
{
"key": "currency_code",
"label": "Currency code",
"columnType": "currency_code"
},
{
"key": "eur_currency",
"label": "EUR currency",
"columnType": "currency_eur"
},
{
"key": "usd_currency",
"label": "US currency",
"columnType": "currency_usd"
},
{
"key": "date_dmy",
"label": "DMY date",
"example": "01.01.2022",
"columnType": "date_dmy"
},
{
"key": "dateiso",
"label": "Date ISO format",
"example": "2020-02-11",
"columnType": "date_iso"
},
{
"key": "date_dmy",
"label": "MDY Date ",
"example": "mm.dd.yyyy",
"columnType": "date_mdy"
},
{
"key": "sql_date",
"label": "SQL format",
"description": "SQL datetime input",
"columnType": "datetime"
},
{
"key": "mail",
"label": "Email Address",
"columnType": "email"
},
{
"key": "vat",
"label": "VAT number",
"description": "EU VAT number",
"columnType": "vat_eu"
},
{
"key": "gtin",
"label": "GTIN",
"columnType": "gtin"
},
{
"key": "share",
"label": "Percentage",
"description": "Provide percentage number",
"columnType": "percentage"
},
{
"key": "phone",
"label": "Phone number",
"columnType": "phone"
},
{
"key": "time_12",
"label": "Time hh:mm",
"columnType": "time_hm"
},
{
"key": "time24",
"label": "Time HH:mm 24h format",
"columnType": "time_hm_24"
},
{
"key": "url",
"label": "URL",
"columnType": "url"
},
{
"key": "example_https_url",
"label": "URL HTTPS",
"columnType": "url_https"
},
{
"key": "example_url_www",
"label": "URL WWW",
"columnType": "url_www"
},
{
"key": "time_12_s",
"label": "Time 12h with seconds",
"columnType": "time_hms"
},
{
"key": "time_24s",
"label": "Time 24h with seconds",
"columnType": "time_hms_24"
},
{
"key": "country_code_a2",
"label": "Country Code Alpha2",
"columnType": "country_code_alpha_2"
},
{
"key": "alpha3_code",
"label": "Alpha3 country code",
"columnType": "country_code_alpha_3"
},
{
"key": "zip",
"label": "ZIP Code",
"columnType": "zip_code_de"
}
]