Technical Documentation for Integration Cloud

Learn how to use Integration Cloud to set up secure and automatic integrations with SuperOffice CRM.

Table of content

Introduction

Integration Cloud is a standard integration-app developed by Siteshop ApS that lets you push data to or pull data from SuperOffice CRM, including both the Online and On-premise versions.

Integration Cloud offers you a simple yet powerful way to integrate your business applications with SuperOffice, without having to learn to use a new integration application.

Simply send or upload data in the correct format with the correct field names and Integration Cloud makes sure the right fields are updated in SuperOffice.

It’s like using a very simple API only with CSV, XML or JSON files. The integration itself, the logging, monitoring and security is fully managed by Siteshop as long as you send data in the right format.

Overview

This documentation is aimed for CRM integration professionals, administrators and consultans.

In this technical documentation you will find all the needed information so you to set up secure and automatic integrations to and from SuperOffice, using Integration Cloud.

Integration Cloud is very simple to use and includes many powerful features to meet your demands for integration.

Use cases

Integration Cloud is designed especially with automatic integrations in mind and as it supports the most popular data formats Integration Cloud can be used for many situations. Here are a few of the typical use cases:

  • ERP integration
  • Integration with any SQL based business application
  • Turning custom legacy integrations in to standard and online ready
  • Making data available for other systems like BI, datawarehouses etc.
  • Auto import data from web-shops like Magento, Woo commerce etc.

Methods

Data can be sent to or retrieved from Integration Cloud in different ways. If you want to import data to SuperOffice you can use these:

Imports

  • CSV file upload to Integration Cloud sFTP
  • XML file upload to Integration Cloud sFTP
  • JSON file upload to Integration Cloud sFTP
  • JSON web service calls to Integration Cloud import web services
  • Send data from local SQL database with SIC Agent that uploads to Integration Cloud

If you want to export data from SuperOffice Integration Cloud provides this method:

Exports

  • JSON WS calls to Integration Cloud export web services

Per standard data must be delivered with the correct field names (see all field names in separate documents). However, if this is not possible Integration Cloud can adapt to your specific field names (requires Integration Cloud Pro).

If your data is only available through an external API this is possible too. This will however be a custom job that must be specified, estimated, and executed by Siteshop as a stand-alone project.

List of features

Integration Cloud introduces many clever features designed to make automatic integrations as fast, secure, and reliable as possible.

This includes features that can handle large amounts of data, makes sure performance is always high, monitors every import and generally ensure a reliable integration.

Main features

  • Import / update data from CSV, XML, JSON, SQL sources
  • Import / update data from JSON web service
  • Export data through JSON web service
  • Cloud-based, Zero footprint
  • Automatic field mapping / no field-mapping interface
  • Import triggers when data arrives
  • Export triggers when web service is called
  • Export caching, to allow even complicated exports to yield fast results
  • Built-in sFTP account
  • Built-in web services
  • Delta Boost ignores unchanged data (CSV imports only)
  • Data queuing for many files
  • Supports both SuperOffice Online and On-premise
  • Data rows with poor quality or format are filtered away to ensure a robust integration


Security

  • Monitor / Logging
  • IP-SEC, https, sFTP, file encryption, IntegrationID
  • We don’t need login to your cloud drives, you’ll get login to sFTP
  • Certified by SuperOffice and WatchCOM
  • GDPR compliant. Imported customer data is automatically deleted from Siteshop servers
  • Integration Cloud warns Siteshop service team when SuperOffice connection is not active
  • Dynamic access token for JSON web service call, preventing unauthorized data tamper

Hotline

Support is available through Siteshop (support@siteshop.dk or +45 70 20 19 78).

Getting started

Supported SuperOffice entities

Integration Cloud lets you insert or update data on most SuperOffice objects (entities).

  • Company (including more-page fields and Interests)
  • Contact Person (including more-page fields and Interests)
  • Project (including more-page fields)
  • Projects members
  • Sales (including more-page fields)
  • Appointments / Tasks (including more-page fields)
  • Documents (including more-page fields)
  • Relations
  • Selections (static)
  • Selection members
  • Product & Price lists (for SuperOffice price lists)
  • User-defined Tables (coming soon)
  • All user-defined fields and lists

Different entities need different fields so you must produce specific import files / JSON calls for each entity. If you want companies, person and sales to be automatically imported you need at least one company file, one contact file and one sales file.

Please read our specific documents for each data type.

Also read the segment further down in this documentation on “User keys / Unique IDs” to understand how to link e.g. Sales and Documents to the correct Companies and Projects.

IntegrationID and IntegrationIDCheck

The IntegrationID is an identifier that each Integration Cloud customer gets assigned when signing up.

The IntegrationID is part of the security system and helps ensure that data sent from one customer does not end up in another customers database. It is also used to check that each row has a start and an ending and is not broken up.

For this reason the IntegrationID must be the very first field and the IntegrationIDCheck the very last field.


How to map fields

Field-mapping is one of the most important topics in an integration setup. The way Integration Cloud handles this per standard, is to have made the mapping for you already so all you need to do is give the fields in your input data the correct fields names.

In other words, field mapping is done by simply giving your input date the correct field names.

A complete list of all available fields for all available entities is found here.

Standard fields

All standard fields in SuperOffice have logical naming like “Name”, “Phone1”, “Category”, etc.

                                                                             
More-page fields

User-defined fields (more-page fields) have a different naming method that maps to the SuperOffice Prog-ID of each user-defined field like “CompUserNum01”, “PersUserText05”, “SaleUserDec02” etc.

So if your input data contains a field called “CompUserText11” it will automatically map to a Company more-page field in SuperOffice with the Prog-id “Siteshop:CompUserText11”.

And if your input data contains a field called “SaleUserDec02” it will automatically map to a Sales more-page field in SuperOffice with the Prog-id “Siteshop:SaleUserDec02”.

Example for a company file:

IntegrationID;CompUserKey01;Name;OrgNo;PostalAddress1;CompUserText01;CompUserNum01;IntegrationIDCheck
PS111232;2032102;Siteshop ApS;21252832;Diplomvej 381;CRM-app developers;250000;PS111232

Explanation:

IntegrationIDThe customer-specific identifier. Is assigned when signing up to Integration Cloud
CompUserKey01Unique ID for each row. Usually customer number or similar
NameCompany name
OrgNoOrg. no. / Vat no.
PostalAddress1Postal Address 1 field
CompUserText01A Text more-page field with the Prog-id Siteshop:CompUserText01
CompUserNum01A Number more-page field with the Prog-id Siteshop:CompUserNum01
IntegrationIDcheckThe customer-specific identifier. Is assigned when signing up to Integration Cloud

As mentioned above data must per standard be delivered with the correct field names. However, if this is not possible Integration Cloud can adapt to your specific field names instead. This requires Integration Cloud Pro license.

Example showing how to enter a Prog ID for a user-defined field in SuperOffice

User Keys / Unique ID’s

Each import file must include at least one unique ID per row – these are called User Keys. User Keys helps to avoid duplicate entries and makes it possible to update data. User Keys are also important when you need to import e.g. contacts to specific companies.

The unique ID must always be placed in a more-page field (with a correct named Prog ID) specifically made for this purpose.

The UserKey field is mandatory and if the UserKey field is blank in the input data that specific row will not be imported.
When the input contains a User Key that does not exist in SuperOffice, Integration Cloud will add data as new.
When the input contains a User Key that does exist in SuperOffice, Integration Cloud will update data on the existing entry.

As an example, Company files must include a User Key for each company. Appointment files must include a User Key for each appointment but also one for the company it should be attached to.

These are the SuperOffice Prog id’s used for each entity:

CompaniesSiteshop:CompUserKey01
ProjectsSiteshop:ProjUserKey01
PersonsSiteshop:PersUserKey01
SalesSiteshop:SaleUserKey01
AppointmentsSiteshop:AppoUserKey01
DocumentsSiteshop:DocuUserKey01

They should all be created as “Short Text” fields in SuperOffice with “Text Length” of 39 and checked as “Indexed”. We also recommend you to make the field “Read Only”

Example showing how the company User Key “CompUserKey01” must be created.

AssociateName and CountryName

AssociateName / AssociateFullName

When importing or updating the Our Contact fields you can use either the User ID (AssociateName) or the full name (AssociateFullName).

Our Contact is a list that cannot be added new items to through the integration so the values must be found. If you try to import a value to the list that does not exist Integration Cloud will select the user (Siteshop Information Studio) which is a system user.

In this example data could be either “ANDERSDYRE” (AssociateName) or “Anders Dyre” (AssociateFullName)

CountryName

When importing / updating the CountryName field you can use either the “Name”, “English name” or “Postal prefix” in the [CountryName] field.

The integration will not add new countries to the list so if your input data has different country names or codes than SuperOffice, you must either adjust input data or adjust the SuperOffice list items.

Cost & Earning

When importing a sale, cost and earning can be set next to amount. There are three different methods of doing so, which will be decided during the setup period with Siteshop.

  1. The fields “EarningPercent” & “Amount” can be included in the data
  2. The fields “Earning” & “Amount” can be included in the data
  3. The fields “Cost” & “Amount” can be included in the data

Including fields “EarningPercent” & “Amount” in the data

It’s possible to include the field “EarningPercent” directly in the data. This way SuperOffice will calculate the earning as X% of the amount.
Ensure percentages are represented as decimal numbers without percent sign. For example, 83,5% should be included as 83,5.

Including fields “Earning” & “Amount” in the data

One can include the two fields “Earning” & “Amount”. These two fields will then be used to calculate the “EarningPercent”. Which SuperOffice will use to calculate the earning as X% of the amount.
The EarningPercent will be calulated is as follows: EarningPercent=100*(Earning/Amount)

Including fields “Cost” & “Amount” in the data

It’s possible to include the two fields “Cost” and “Amount”. These two fields will be used to calculate the “EarningPercent”. Which SuperOffice will use to calculate the earning as X% of the amount.
The EarningPecent will in this case be calculated as follows:
EarningPercent=100*(1-Cost/Amount)

Date formats, Booleans and Lists

When importing to date fields, check boxes or lists there are certain formats and rules to follow.

Date format

If you need to import dates to date fields in SuperOffice CRM Online, whether it is standard or user-defined – the date must have this exact format:

dd-MM-yyyy HH:mm:ss

Note that SuperOffice CRM Online support two kinds of dates: “Date” and “Unlimited Date”.

Date has a lower limit of “01-01-1970 00:00:00” and an upper limit of “01-19-2038 00:00:00”.

Unlimited date can go from “01-01-0001 00:00:00“ to “31-12-9999 00:00:00”.

Examples:                                                                                       
11-08-2020 08:15:30
01-01-2020 00:00:00
31-12-2020 23:59:59
01-01-1970 00:00:00 (lowest limited date)
19-01-2038 00:00:00 (highest limited date)

Check boxes (Booleans)

If you need to update any check boxes in SuperOffice (standard or MorePage) data must be either “TRUE” or “FALSE”.


TRUE
= Checked
FALSE = Not Checked

Lists

When setting a value for any drop-down list fields in SuperOffice the input data must be the exact same value, spelled the exact same way, using the same upper and lower case.

If the input data is a value that does not exist in the list in SuperOffice, it will be added automatically for most lists – except for the following standard lists, which Integration Cloud will not add to automatically:

  • Company.Our Contact
  • Company.Country
  • Person.Consent (Purpose, Source and Legale base)
  • Project.Our Contact
  • Project.Type
  • Person.Our Contact
  • Sale.Our Contact
  • Sale.Sale Type
  • Sale.Status
  • Sale.Stage name
  • Appointment.Our Contact
  • Appointment.Type
  • Document.Our Contact
  • Product.Pricelist

Preparing the CRM-system

Before you begin importing data to SuperOffice CRM you must make sure that the following preparations have been made.

  1. Make sure that a MorePage field for the unique ID (User Key) has been created for each of data types you wish to import using the right Prog ID (see section on “User Keys / Unique ID’s”)

  2. Country code in the input data must match either the “Name”, “English name” or “Postal prefix” fields in the SuperOffice country list. Adjust either input data or SuperOffice

  3. Make sure that data for AssociateName or AssociateFullName (Our contact) matches either the User ID or Full name for the SuperOffice users

  4. Make sure you have added the necessary “Sale Types” and “Stages” if you are importing sales

  5. Create the MorePage fields you need and make sure to give them the right Prog ID’s and types

Security

Integration Cloud uses IP-security per default to ensure that data for a specific customer only can send from one location. This can only be disabled in certain situations in agreement with Siteshop to do so. IP whitelisting is done with Siteshop during activation of Integration Cloud.

Integration Cloud comes with a built-in sFTP server where you can upload .CSV, .XML or JSON files to. To do this you must receive username, password and IntegrationID from Siteshop.

Every Integration Cloud customer gets a unique IntegrationID that are used as a safety measurement to validate that each data file and each row comes from the right customer.

.CSV files can be zipped and password protected before uploading to Integration Cloud. The password must be shared with Siteshop.

As Integration Cloud uses push and pull principles no access to the customer server is needed from the Siteshop cloud. No credentials are needed and therefore not stored on any Siteshop server.

No imported customer data is stored on the Siteshop cloud server. As soon as data has been processed into SuperOffice the input files are deleted.

When importing through JSON web services a special authenticator code is needed for security. This is obtained from Siteshop when needed.

Sign Up / On-boarding

To start using Integration Cloud you must first sign up on the SuperOffice App Store here.

During the sign up you will be asked to log in to SuperOffice. You must do this as a SuperOffice Administrator.

When you are done you can contact Siteshop (sales@siteshop.dk or (+45) 70 20 19 78) to obtain your IntegrationID, sFTP details and have the registration completed.

Testing the integration

We highly recommend that you follow these steps when you are ready to test import:

We highly recommend you follow these steps when you are ready to test import:

  1. Import data with all needed fields filled out – but only a few rows
  2. Check the log (in the Log folder on the sFTP) to see how data is validated
  3. Adjust according to the log if necessary
  4. Log in to SuperOffice and go through every field in the integration and make sure they are correctly imported
  5. Check that all lists are selected correctly
  6. Adjust the input data if needed
  7. Send more data with more rows
  8. Check the log again
  9. Check SuperOffice again

When every test is successfully completed you can then import more or all of the remaining data.

We recommend you use a Field Mapping document as documentation for the integration. This document should describe exactly which fields are sent in the input data and where each field is expected to go in SuperOffice. This also makes for a good list to go through when testing.

We recommend you use a Field Mapping document as documentation for the integration. This document should describe exactly which fields are sent in the input data and where each field is expected to go in SuperOffice. This also makes for a good list to go through when testing.

Data amounts – full load or incremental?

It is always recommended that you send only new and updated data to Integration Cloud. This is to minimize the load on the service but also to optimize the time for the integration to finish the job.

Full loads of data can of course be sent too but the amount of data will determine how often you will be allowed to send full loads. Please contact Siteshop (sales@siteshop.dk) to coordinate this.

Delta boost

When using the .CSV upload method with Integration Cloud, there is a built-in Delta boost feature enabled automatically.

This feature will determine if the data you send is new, updated or similar to the data you sent last time. Integration Cloud will then only process the rows that are new or updated.

The point of this is to lower the strain on the integration and thus make the integration run quickly using .CSV imports.

Document

Documents can be imported using CSV sFTP and JSON Web Service. The methods differ, but there are some shared commonalities described here.

A Document import consists of two parts:

  1. The File to import, eg. pdf, docx, png
  2. The meta data surrounding the File. This is comparable to a regular Company or Sale import in terms of structure

A Document is, in SuperOffice, displayed closely resembling an Appointment. The meta data is what defines things like the heading, description, company relations, more-page fields, and so on.
The File is the underlying contract, documentation, image, spreadsheet, or likewise.

You can find the full list of supported meta data fields here.

    sFTP

    To upload input data to Integration Cloud you need an sFTP application to transfer the files.

    You can use any sFTP application of your own choice, but this application is a very popular choice among our customers: https://winscp.net

    With an application like Winscp you can automate the process of uploading the input files to Integration Cloud.

    Username and password will be sent to you after the sign-up process from SuperOffice App Store.

    sFTP site

    Host: file01.siteshop.eu
    Port: 22

    The folder you can send files to looks like this and has 4 subfolders.

    When you transfer an input file it will seem to disappear from the folder shortly after.
    This is for safety reasons and to continue the process of importing it to SuperOffice CRM.

    File names

    Input files for Integration Cloud must follow a specific naming convention.
    The file name has to include:

    [Type of entity]_[Integration ID]_[Timestamp in milliseconds].[csv or .xml or .json]

    A correct file name for a Company .csv file would look like this:

    Comp_99PS33254_47400992.csv

    The type of entity refers to each SuperOffice entity and uses these abbreviations:

    CompCompany
    PersContact Person
    ProjProject
    DocuDocuments
    SaleSales
    AppoAppointments (activities)
    PmemProject members
    ProdProducts (for SuperOffice internal price lists)
    PLstPrice Lists (for SuperOffice internal price lists)
    RelaRelations

    CSV imports

    When you upload .CSV files with the correct filenames, fieldnames and format, Integration Cloud will automatically start the import process.

    The .CSV files must contain row headers in first row and also comply with these settings:

    File type.csv
    Field Delimiter; (semicolon)
    EncodingUTF-8
    Text Qualifiers (optional“”

    Important notes

    1. Input data cannot contain semicolons without also using text qualifiers as this is the field delimiter
    2. Line breaks inside fields will break the format and stop the import

    Please read the separate document for all available field names.

    Document with CSV

    Please read the Document section before continuing

    Upload the File or Files to the “documents” subfolder, and then upload the meta data csv file to the root folder. This csv file can contain one or more records, one for each Document File uploaded.

    XML imports

    By uploading .XML files with the correct filenames, fieldnames and format Integration Cloud will automatically start the import.

    XML format

    The .XML file must follow the format like following, and not contain further nested objects:

    <?xml version="1.0" encoding="utf-8"?>
    <Companies>
      <Company>
        <IntegrationID>17PS01010001</IntegrationID>
        <CompUserKey01>Comp123456</CompUserKey01>
        <Name>Siteshop ApS</Name>
        <CompUserText01>TEstText</CompUserText01>
        <CompUserDec01>15000.95</CompUserDec01>
        [...]
        <IntegrationIDCheck>17PS01010001</IntegrationIDCheck>
      </Company>
      <Company>
        <IntegrationID>17PS01010001</IntegrationID>
        <CompUserKey01>Comp123456</CompUserKey01>
        <Name>Siteshop ApS</Name>
        <CompUserText01>TEstText</CompUserText01>
        <CompUserDec01>15000.95</CompUserDec01>
        [...]
        <IntegrationIDCheck>17PS01010001</IntegrationIDCheck>
      </Company>
      [...]
    </Companies>

    Please read the separate document for all available field names.

    JSON file imports

    By uploading .JSON  files with the correct filenames, fieldnames and format Integration Cloud will automatically start the import.

    JSON file format

    The .XML file must follow the format like following, and not contain further nested objects:

    {
      "Company": 
      [
        {
          "IntegrationID": "17PS01010001",
          "CompUserKey01": "Comp123456",
          "Name": "Siteshop ApS",
          "CompUserText01": "TEstText",
          "CompUserDec01": "15000.95",
           [...]
          "IntegrationIDCheck": "17PS01010001"
        },
        {
          "IntegrationID": "17PS01010001",
          "CompUserKey01": "Comp123456",
          "Name": "Siteshop ApS",
          "CompUserText01": "TEstText",
          "CompUserDec01": "15000.95",s
           [...]
          "IntegrationIDCheck": "17PS01010001"
        }
      ]
    }

    Please read the separate document for all available field names.

    JSON web service imports

    Data can be sent to Integration Cloud through JSON web service imports.

    Web service URL

    Use this URL to send data to Integration Cloud:

    https://ws.siteshop.eu/SicImportREST/sicapi/v2/Import

    Request

    Request body example:

    { 
    "IntegrationId": "17PS01010001",
    "Data": "{\"Company\": [{\"IntegrationID\": \"17PS01010001\", \"Name\": \"Siteshop\"}]}", "Datatype": "Company",
    "Authenticator": "***" 
    } 
    • IntegrationID – Unique id for the customer’s specific integration
    • Data – JSON formatted string
    • Datatype – The type of data sent, you can see the full list in the Datatypes section
    • Authenticator – A key created by hashing the data, more on this in the Authenticator document.

    Note that both the body and the Data is of JSON format, and that the Data’s quotes (“) must be escaped.

    Example in Postman:

    There is also an example of a C# implementation in the section “Examples for C#” -> “POST Import”.

    Data

    Data must be sent in this structure, where you can have one or more objects inside of the array, and one or more properties inside each object. All objects must contain the same fields. Only one type of data can be sent in a single call.

    {”Datatype”: [{”Field1”: ”Value1”, ”Field2”: ”Value2”, ... },{”Field1”: ”Value1”, ”Field2”: ”Value2”, ...}, ...]} 

    • Datatype is one of the options from the Datatypes list.
    • FieldX is the name of a given field
    • ValueX is the value of a given field

    Note the JSON must contain all the fields marked as mandatory in the tables in the Datatype section.

    Response

    There are several responses the web service can give. The response is a single JSON object, that contains 2 properties: Code and Message. Where code is an integer for the given error, and message is the human readable description of what went wrong. These codes are returned as string and not as http status codes. The following message are possible:

    {“Code”: “200”, “Message”: “Import successful”}Everything went well
    {“Code”: “0”, “Message”: “The application is currently under maintenance”}Whenever the entire application or a specific customer integration is marked as under maintenance
    {“Code”: “1”, “Message”: “IntegrationId {IntegrationId} not found. Contact support”}If for some reason the customers IntegrationId is not set up, or if the customer mistakenly calls with the wrong IntegrationId
    {“Code”: “3”, “Message”: “The data format was not recognized as JSON”}If, for whatever reason, the program could not calculate the input type. This is mostly the case if the data sent has been cut short, or packets were dropped underway. Checking the sent message and trying again will often help.
    {“Code”: “100”, “Message”: “An unknown error occurred during import. Contact support”}If an unhandled error happens inside the code. If this happens, do contact us as that might mean there is a bug in the web service.
    {“Code”: “110”, “Message”: “Following arguments in importItem was null or empty: ‘IntegrationId’, ‘Data'”}Should an item in the request JSON be empty, this error is thrown. All items are necessary during all calls to the Import.
    ” (blank)If the authenticator is wrong, the response will be purely blank, no code or message at all. This is to heighten security against random calls.

    Example for C#

    All examples below are only guiding, any user of the system should further develop it themselves, to tailor to their exact needs.

    POST Import

    First create a class that is the ImportItem that we can population with data before sending it:

    class ImportItem
    {
        public string IntegrationId { get; set; }
        public string Data { get; set; }
        public string Datatype { get; set; }
        public string Authenticator { get; set; }
    } 
    Then serialize and send it: 
    using System;
    using System.Net.Http;
    using System.Text;
    using System.Threading.Tasks;
    using Newtonsoft.Json;
    [...] 
    public async Task StartImport()
    {
    Uri uri = new Uri("https://ws.siteshop.eu/SicImportREST/sicapi/v2/Import"); using (HttpClient client = new HttpClient())
    { 
            ImportItem importItem = new ImportItem()
            {
                IntegrationId = [IntegrataionId],
                Data = [JSON Object],
                Datatype = [Datatype],
                Authenticator = [authenticator]
    }; 
            //Serialize the object and create a StringContent,
            //that we can send to the web service
            string serializedImportItem = JsonConvert.SerializeObject(importItem);
            StringContent content = new StringContent(serializedImportItem, Encoding.UTF8,
    "application/json");
            //Send the POST message, and read the result from the WebService
            HttpResponseMessage httpResponse = await client.PostAsync(uri, content);
            string resultContent = await httpResponse.Content.ReadAsStringAsync();
        }
    } 

    Document with JSON

    Please read the Document section before continuing

    When sending a request to the web service, it is possible to attach a File to the request, so it can be imported to the CRM.
    This is done by creating a POST form-data request, and adding the File to that request. various examples can be seen below.

    Only one File can be uploaded at the time, and as such the meta data should only reference that File.

    The field “Name” must be the same as the Filename, ie. “dummy.pdf”.

    Postman

    cURL

    curl -F "File=@C:\...\dummy.pdf"
     -F "IntegrationId=17PS01010001"
     -F "Data={Document:…}"
     -F "Datatype=Document"
     -F "Authenticator=123"
     https://ws.siteshop.eu/sicapi/v2/Import

    C#

    Example is written using RestSharp version 112.1.0 and describes only the request.

    RestRequest restRequest = new("https://ws.siteshop.eu/sicapi/v2/Import", Method.Post);
    restRequest.AddFile("File", @"C:\...\dummy.pdf");
    restRequest.AddParameter("IntegrationId", integrationId);
    restRequest.AddParameter("Data", data);
    restRequest.AddParameter("Datatype", datatatype);
    restRequest.AddParameter("Authenticator", auth);
    
    RestClient client = new();
    var response = client.Execute(restRequest);
    Console.WriteLine(response.Content);

    JSON exports

    Integration Cloud can be used to pull data out of SuperOffice to be used in other applications. You must coordinate with Siteshop which datatypes and fields you need. Contact sales@siteshop.dk to coordinate this.

    How-to

    The API is written with REST in mind, and as such follows that as closely as possible. The calls are POST calls, and as such require a payload, defined by Siteshop.

    The payload is a JSON formatted text, that includes the following attributes:

    IntegrationIdAn ID provided by Siteshop
    SearchNameOnce it’s specified what the customer wants to be able to look up, a Search is created, and named. This is the name of that Search.
    SearchParameterIt’s possible to place parameters on the Search, using Siteshop’s syntax.
    AuthenticatorAn authenticator is needed to authorize the caller. This Authenticator depends on multiple pieces of data, such that for example an authenticator for “Search A“ will not be the same as for “Search B”. How to generate the authenticator is shown in the Authenticator document

    Search calls

    URL: https://ws.siteshop.eu/SicImportREST/sicapi/v2/Search

    A call to this URL will perform a Search, and then return that data in a JSON formatted answer. The easiest way to test that a connection can be made, is using an API-testing software; these examples are shown using Postman.

    Body

    {
    "IntegrationId": "YourIntegrationdId", 
    "SearchName": "YourSearchName", 
    "SearchParameter": "[YourParameter][=][5]", 
    "Authenticator": "123"
    } 

    Example of calling a Search using Postman

    Where this data, is only for example purposes

    Return data

    Siteshop Search parameter syntax

    The SearchParameter field is meant to specify the Search further, for instance all companies created after 2015.

    There is a special syntax for setting the parameter (sometimes referred to as criteria), it’s not very complicated, but not innately obvious.

    Let’s say we make a call with this body:

    {
    "IntegrationId": "YourIntegrationdId", 
    "SearchName": "YourSearchName", 
    "SearchParameter": "", 
    "Authenticator": "123" 
    } 

    And that this return data like:

    {
    "TestData": [ 
    {
    "CompUserKey01": "1234",
    "Name": "Siteshop Test Company", 
    "Department": "Lyngby", 
    "CreatedYear": "2000" 
    },
     { 
    "CompUserKey01": "2345",
    "Name": "Siteshop Test Company 2", 
    "Department": "Lyngby", 
    "CreatedYear": "2017" 
      }
     ] 
    } 

    Now let’s say that you only want companies created after 2015, then we can change the request like so:

    {
    "IntegrationId": "YourIntegrationdId", 
    "SearchName": "YourSearchName", 
    "SearchParameter": "[CreatedYear][>][2015]", 
    "Authenticator": "123" 
    } 

    This will then reflect in the result like so:

    {
    "TestData": [ 
      {	
    "CompUserKey01": "2345",
    "Name": "Siteshop Test Company 2", 
    "Department": "Lyngby", 
    "CreatedYear": "2017" 
      }
     ] 
    } 

    Our result is now smaller and more to the point.  

    To elaborate; the criteria follows this format:
    [FieldName][Operator][Value]

    Where the FieldName is the name of the field that can be limited on
    Where Operator can be one of: =, <>, >, >=, <, <= and works like in other languages.

    Where Value is the limit that can be set

    The operator contains a few more functions than mentioned, however they are beyond the scope of this document. Should you need more precise, or different, functions from the operator, please contact us so we can discuss.

    Authenticator (separate document)


    For security reasons the authenticator section will be sent to you by the Siteshop support team in a secure and separate document.

    SIC Agent

    If you have data stored in an SQL-database, you can have the SIC Agent installed on the SQL server and use it to query the data and automatically have it formatted to .CSV and uploaded to Integration Cloud.

    SIC Agent is a Windows Service that can be scheduled to run in certain intervals, and it is available in the Pro and Enterprise version of Integration Cloud.


    Installation and configuration

    Siteshop will install the SIC Agent by agreement with the customer. A remote connection to the relevant server is needed as well as SQL credentials and information about data.

    Available fields

    In this section you will find all available standard and more-page fields that you can use for the SuperOffice integration.

    • Please use the same upper and lower casing as we do in the lists
    • Always use “IntegrationID” as the first column and “IntegrationIDCheck” as the last in your input files
    • Remember to use the correct Prog-ID’s when importing to More-page fields

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    CodeText [49]
    NumberText [49]
    NameText [219] – (mandatory)
    OrgNrText [49]
    DepartmentText [219]
    DescriptionText [2047]Note free-text field
    AssociateNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    CategoryNameText [39]This is a SuperOffice list. If data is not present in the list already, it will be added automatically
    BusinessNameText [39]This is a SuperOffice list. If data is not present in the list already, it will be added automatically
    StreetAddress1Text [99]Can only be imported to if “Visual Address Format” supports the address format
    StreetAddress2Text [99]Can only be imported to if “Visual Address Format” supports the address format
    StreetAddress3Text [99]Can only be imported to if “Visual Address Format” supports the address format
    StreetCityText [39]Use either “StreetZipCity” or split up and use “StreetZipcode” and “StreetCity”. Also – field must be supported by “Visual Address Format”.
    StreetZipcodeText [39]Use either “StreetZipCity” or split up and use “StreetZipcode” and “StreetCity”. Also – field must be supported by “Visual Address Format”.
    StreetZipCityText [39]Use either “StreetZipCity” or split up and use “StreetZipcode” and “StreetCity”. Also – field must be supported by “Visual Address Format”.
    StreetCountyText [39]Can only be imported to if “Visual Address Format” supports the address format
    StreetStateText [39]Can only be imported to if “Visual Address Format” supports the address format
    PostalAddress1Text [99]Can only be imported to if “Visual Address Format” supports the address format
    PostalAddress2Text [99]Can only be imported to if “Visual Address Format” supports the address format
    PostalAddress3Text [99]Can only be imported to if “Visual Address Format” supports the address format
    PostalZipcodeText [39]Use either “PostalZipCity” or split up and use “PostalZipcode” and “PostalCity”. Also – field must be supported by “Visual Address Format”.
    PostalZipCityText [39]Use either “PostalZipCity” or split up and use “PostalZipcode” and “PostalCity”. Also – field must be supported by “Visual Address Format”.
    PostalCityText [39]Use either “PostalZipCity” or split up and use “PostalZipcode” and “PostalCity”. Also – field must be supported by “Visual Address Format”.
    PostalCountyText [39]Can only be imported to if “Visual Address Format” supports the address format. Also, field must be supported by “Visual Address Format”.
    PostalStateText [39]Can only be imported to if “Visual Address Format” supports the address format. Also, field must be supported by “Visual Address Format”.
    CountryNameText [39]Data must match the Country list. Use either “Prefix” or “English name”. Adjust either input or SuperOffice
    Phone1Text [39]Also available for 2 and 3
    Phone1DescriptionText [39]Also available for 2 and 3
    Fax1Text [39]Also available for 2 and 3
    Fax1DescriptionText [39]Also available for 2 and 3
    Url1Text [39]Also available for 2 and 3
    Url1DescriptionText [39]Also available for 2 and 3
    Email1Text [39]Also available for 2 and 3
    Email1DescriptionText [39]Also available for 2 and 3
    XstopCheck box (True/False)Data must be True or False
    NoMailingCheck box (True/False)Data must be True or False
    AddToSelectionText [39]
    RemoveFromSelectionText [39]
    AddInterestText [39]
    RemoveInterestText [39]

    More-page fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    CompUserKey01Text [39] – (mandatory)Siteshop:CompUserKey01The unique ID for each company. Must be “Indexed” and “Short Text [39]” in SuperOffice
    CompUserNum01NumberSiteshop:CompUserNum01
    CompUserNum02NumberSiteshop:CompUserNum02
    CompUserNum03NumberSiteshop:CompUserNum03
    CompUserNum04NumberSiteshop:CompUserNum04
    CompUserNum05NumberSiteshop:CompUserNum05
    CompUserNum06NumberSiteshop:CompUserNum06
    CompUserNum07NumberSiteshop:CompUserNum07
    CompUserNum08NumberSiteshop:CompUserNum08
    CompUserNum09NumberSiteshop:CompUserNum09
    CompUserNum10NumberSiteshop:CompUserNum10
    CompUserNum11NumberSiteshop:CompUserNum11
    CompUserNum12NumberSiteshop:CompUserNum12
    CompUserNum13NumberSiteshop:CompUserNum13
    CompUserNum14NumberSiteshop:CompUserNum14
    CompUserNum15NumberSiteshop:CompUserNum15
    CompUserNum16NumberSiteshop:CompUserNum16
    CompUserNum17NumberSiteshop:CompUserNum17
    CompUserNum18NumberSiteshop:CompUserNum18
    CompUserNum19NumberSiteshop:CompUserNum19
    CompUserNum20NumberSiteshop:CompUserNum20
    CompUserNum21NumberSiteshop:CompUserNum21
    CompUserNum22NumberSiteshop:CompUserNum22
    CompUserNum23NumberSiteshop:CompUserNum23
    CompUserNum24NumberSiteshop:CompUserNum24
    CompUserNum25NumberSiteshop:CompUserNum25
    CompUserNum26NumberSiteshop:CompUserNum26
    CompUserNum27NumberSiteshop:CompUserNum27
    CompUserNum28NumberSiteshop:CompUserNum28
    CompUserNum29NumberSiteshop:CompUserNum29
    CompUserNum30NumberSiteshop:CompUserNum30
    CompUserNum31NumberSiteshop:CompUserNum31
    CompUserNum32NumberSiteshop:CompUserNum32
    CompUserNum33NumberSiteshop:CompUserNum33
    CompUserNum34NumberSiteshop:CompUserNum34
    CompUserNum35NumberSiteshop:CompUserNum35
    CompUserNum36NumberSiteshop:CompUserNum36
    CompUserNum37NumberSiteshop:CompUserNum37
    CompUserNum38NumberSiteshop:CompUserNum38
    CompUserNum39NumberSiteshop:CompUserNum39
    CompUserNum40NumberSiteshop:CompUserNum40
    CompUserNum41NumberSiteshop:CompUserNum41
    CompUserNum42NumberSiteshop:CompUserNum42
    CompUserNum43NumberSiteshop:CompUserNum43
    CompUserNum44NumberSiteshop:CompUserNum44
    CompUserNum45NumberSiteshop:CompUserNum45
    CompUserNum46NumberSiteshop:CompUserNum46
    CompUserNum47NumberSiteshop:CompUserNum47
    CompUserNum48NumberSiteshop:CompUserNum48
    CompUserNum49NumberSiteshop:CompUserNum49
    CompUserNum50NumberSiteshop:CompUserNum50
    CompUserText01Text [39]Siteshop:CompUserText01
    CompUserText02Text [39]Siteshop:CompUserText02
    CompUserText03Text [39]Siteshop:CompUserText03
    CompUserText04Text [39]Siteshop:CompUserText04
    CompUserText05Text [39]Siteshop:CompUserText05
    CompUserText06Text [39]Siteshop:CompUserText06
    CompUserText07Text [39]Siteshop:CompUserText07
    CompUserText08Text [39]Siteshop:CompUserText08
    CompUserText09Text [39]Siteshop:CompUserText09
    CompUserText10Text [39]Siteshop:CompUserText10
    CompUserText11Text [39]Siteshop:CompUserText11
    CompUserText12Text [39]Siteshop:CompUserText12
    CompUserText13Text [39]Siteshop:CompUserText13
    CompUserText14Text [39]Siteshop:CompUserText14
    CompUserText15Text [39]Siteshop:CompUserText15
    CompUserText16Text [39]Siteshop:CompUserText16
    CompUserText17Text [39]Siteshop:CompUserText17
    CompUserText18Text [39]Siteshop:CompUserText18
    CompUserText19Text [39]Siteshop:CompUserText19
    CompUserText20Text [39]Siteshop:CompUserText20
    CompUserText21Text [39]Siteshop:CompUserText21
    CompUserText22Text [39]Siteshop:CompUserText22
    CompUserText23Text [39]Siteshop:CompUserText23
    CompUserText24Text [39]Siteshop:CompUserText24
    CompUserText25Text [39]Siteshop:CompUserText25
    CompUserText26Text [39]Siteshop:CompUserText26
    CompUserText27Text [39]Siteshop:CompUserText27
    CompUserText28Text [39]Siteshop:CompUserText28
    CompUserText29Text [39]Siteshop:CompUserText29
    CompUserText30Text [39]Siteshop:CompUserText30
    CompUserText31Text [39]Siteshop:CompUserText31
    CompUserText32Text [39]Siteshop:CompUserText32
    CompUserText33Text [39]Siteshop:CompUserText33
    CompUserText34Text [39]Siteshop:CompUserText34
    CompUserText35Text [39]Siteshop:CompUserText35
    CompUserText36Text [39]Siteshop:CompUserText36
    CompUserText37Text [39]Siteshop:CompUserText37
    CompUserText38Text [39]Siteshop:CompUserText38
    CompUserText39Text [39]Siteshop:CompUserText39
    CompUserText40Text [39]Siteshop:CompUserText40
    CompUserDec01DecimalSiteshop:CompUserDec01Use comma [,] for decimal
    CompUserDec02DecimalSiteshop:CompUserDec02Use comma [,] for decimal
    CompUserDec03DecimalSiteshop:CompUserDec03Use comma [,] for decimal
    CompUserDec04DecimalSiteshop:CompUserDec04Use comma [,] for decimal
    CompUserDec05DecimalSiteshop:CompUserDec05Use comma [,] for decimal
    CompUserDec06DecimalSiteshop:CompUserDec06Use comma [,] for decimal
    CompUserDec07DecimalSiteshop:CompUserDec07Use comma [,] for decimal
    CompUserDec08DecimalSiteshop:CompUserDec08Use comma [,] for decimal
    CompUserDec09DecimalSiteshop:CompUserDec09Use comma [,] for decimal
    CompUserDec10DecimalSiteshop:CompUserDec10Use comma [,] for decimal
    CompUserDate01DateTimeSiteshop:CompUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate02DateTimeSiteshop:CompUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate03DateTimeSiteshop:CompUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate04DateTimeSiteshop:CompUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate05DateTimeSiteshop:CompUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate06DateTimeSiteshop:CompUserDate06Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate07DateTimeSiteshop:CompUserDate07Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate08DateTimeSiteshop:CompUserDate08Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate09DateTimeSiteshop:CompUserDate09Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserDate10DateTimeSiteshop:CompUserDate10Date format must be: dd-MM-yyyy HH:mm:ss
    CompUserCheck01BooleanSiteshop:CompUserCheck01Data must be True or False
    CompUserCheck02BooleanSiteshop:CompUserCheck02Data must be True or False
    CompUserCheck03BooleanSiteshop:CompUserCheck03Data must be True or False
    CompUserCheck04BooleanSiteshop:CompUserCheck04Data must be True or False
    CompUserCheck05BooleanSiteshop:CompUserCheck05Data must be True or False
    CompUserCheck06BooleanSiteshop:CompUserCheck06Data must be True or False
    CompUserCheck07BooleanSiteshop:CompUserCheck07Data must be True or False
    CompUserCheck08BooleanSiteshop:CompUserCheck08Data must be True or False
    CompUserCheck09BooleanSiteshop:CompUserCheck09Data must be True or False
    CompUserCheck10BooleanSiteshop:CompUserCheck10Data must be True or False
    IntegrationIDCheckText [20] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    PersonNumber Text [39]
    FirstNameText [99] – (mandatory)
    MiddleName Text [99]
    LastName Text [99]
    FullName Text [99]Using this field Integration Cloud will decide how to split up the name in to First and Last
    MrMrs Text [39]This is a SuperOffice list. If data is not present in the list already, it will be added automatically
    BirthDate DateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    Description Text [2047]Note free-text field
    PositionName Text [39]This is a SuperOffice list. If data is not present in the list already, it will be added automatically
    Title Text [239]
    Salutation Text [39]
    Retired BooleanData must be True or False
    AssociateName Text [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullName Text [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    Address1 Text [99]
    Address2 Text [99]
    Address3 Text [99]
    Zipcode Text [39]
    City Text [39]
    ZipCity Text [39]
    County Text [39]
    State Text [39]
    CountryName Text [39]Data must match the Country list. Use either “Prefix” or “English name”. Adjust either input or SuperOffice
    MobilePhone1 Text [39]
    MobilePhone1Description Text [39]
    OfficePhone1 Text [39]
    OfficePhone1Description Text [39]
    PrivatePhone1 Text [39]
    PrivatePhone1Description Text [39]
    OtherPhone1 Text [39]
    OtherPhone1Description Text [39]
    Fax1 Text [39]
    Fax1Description Text [39]
    Url1 Text [39]Also available for 2
    Url1Description Text [39]Also available for 2
    Email1 Text [39]Also available for 2
    Email1Description Text [39]Also available for 2
    AddInterest Text [39]
    RemoveInterest Text [39]
    AddToProject Text [39]
    RemoveFromProject Text [39]
    AddToSelection Text [39]
    RemoveFromSelection Text [39]
    SetConsentPurposeText [39]
    SetConsentSourceText [39]
    SetConsentLegalBaseText [39]
    SetConsentCommentText [39]
    RemoveConsentPurposeText [39]
    AddEMarketingSubscriptionText [39]
    RemoveEMarketingSubscriptionText [39]

    More-page fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    PersUserKey01Text [39] – (mandatory)Siteshop:PersUserKey01The unique ID for each Contact (person). Must be “Indexed” and “Short Text (39)” in SuperOffice
    CompUserKey01Text [39] – (mandatory)Siteshop:CompUserKey01The unique ID that relates to which Company the Contact should be imported to
    PersUserNum01NumberSiteshop:PersUserNum01
    PersUserNum02NumberSiteshop:PersUserNum02
    PersUserNum03NumberSiteshop:PersUserNum03
    PersUserNum04NumberSiteshop:PersUserNum04
    PersUserNum05NumberSiteshop:PersUserNum05
    PersUserNum06NumberSiteshop:PersUserNum06
    PersUserNum07NumberSiteshop:PersUserNum07
    PersUserNum08NumberSiteshop:PersUserNum08
    PersUserNum09NumberSiteshop:PersUserNum09
    PersUserNum10NumberSiteshop:PersUserNum10
    PersUserNum11NumberSiteshop:PersUserNum11
    PersUserNum12NumberSiteshop:PersUserNum12
    PersUserNum13NumberSiteshop:PersUserNum13
    PersUserNum14NumberSiteshop:PersUserNum14
    PersUserNum15NumberSiteshop:PersUserNum15
    PersUserNum16NumberSiteshop:PersUserNum16
    PersUserNum17NumberSiteshop:PersUserNum17
    PersUserNum18NumberSiteshop:PersUserNum18
    PersUserNum19NumberSiteshop:PersUserNum19
    PersUserNum20NumberSiteshop:PersUserNum20
    PersUserText01Text [39]Siteshop:PersUserText01
    PersUserText02Text [39]Siteshop:PersUserText02
    PersUserText03Text [39]Siteshop:PersUserText03
    PersUserText04Text [39]Siteshop:PersUserText04
    PersUserText05Text [39]Siteshop:PersUserText05
    PersUserText06Text [39]Siteshop:PersUserText06
    PersUserText07Text [39]Siteshop:PersUserText07
    PersUserText08Text [39]Siteshop:PersUserText08
    PersUserText09Text [39]Siteshop:PersUserText09
    PersUserText10Text [39]Siteshop:PersUserText10
    PersUserText11Text [39]Siteshop:PersUserText11
    PersUserText12Text [39]Siteshop:PersUserText12
    PersUserText13Text [39]Siteshop:PersUserText13
    PersUserText14Text [39]Siteshop:PersUserText14
    PersUserText15Text [39]Siteshop:PersUserText15
    PersUserText16Text [39]Siteshop:PersUserText16
    PersUserText17Text [39]Siteshop:PersUserText17
    PersUserText18Text [39]Siteshop:PersUserText18
    PersUserText19Text [39]Siteshop:PersUserText19
    PersUserText20Text [39]Siteshop:PersUserText20
    PersUserDec01DecimalSiteshop:PersUserDec01Use comma [,] for decimal
    PersUserDec02DecimalSiteshop:PersUserDec02Use comma [,] for decimal
    PersUserDec03DecimalSiteshop:PersUserDec03Use comma [,] for decimal
    PersUserDec04DecimalSiteshop:PersUserDec04Use comma [,] for decimal
    PersUserDec05DecimalSiteshop:PersUserDec05Use comma [,] for decimal
    PersUserDate01DateTimeSiteshop:PersUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate02DateTimeSiteshop:PersUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate03DateTimeSiteshop:PersUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate04DateTimeSiteshop:PersUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate05DateTimeSiteshop:PersUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate06DateTimeSiteshop:PersUserDate06Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate07DateTimeSiteshop:PersUserDate07Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate08DateTimeSiteshop:PersUserDate08Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate09DateTimeSiteshop:PersUserDate09Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserDate10DateTimeSiteshop:PersUserDate10Date format must be: dd-MM-yyyy HH:mm:ss
    PersUserCheck01BooleanSiteshop:PersUserCheck01Data must be True or False
    PersUserCheck02BooleanSiteshop:PersUserCheck02Data must be True or False
    PersUserCheck03BooleanSiteshop:PersUserCheck03Data must be True or False
    PersUserCheck04BooleanSiteshop:PersUserCheck04Data must be True or False
    PersUserCheck05BooleanSiteshop:PersUserCheck05Data must be True or False
    PersUserCheck06BooleanSiteshop:PersUserCheck06Data must be True or False
    PersUserCheck07BooleanSiteshop:PersUserCheck07Data must be True or False
    PersUserCheck08BooleanSiteshop:PersUserCheck08Data must be True or False
    PersUserCheck09BooleanSiteshop:PersUserCheck09Data must be True or False
    PersUserCheck10BooleanSiteshop:PersUserCheck10Data must be True or False
    IntegrationIDCheckText [20] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    NumberText [49]
    HeadingText [219] – (mandatory)
    DescriptionText [2047]
    PostItText [2047]Note Free-text field
    StageNameText [39]This is a SuperOffice list so data must match the existing list items 
    CompetitorNameText [39]This is a SuperOffice list so data must match the existing list items 
    SourceNameText [39]This is a SuperOffice list so data must match the existing list items 
    SaleTypeNameText [39]This is a SuperOffice list so data must match the existing list items 
    SaleStatusText [39]Open, Sold or Lost
    AssociateNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    ReasonNameText [39]This is a SuperOffice list so data must match the existing list items 
    ReasonSoldNameText [39]This is a SuperOffice list so data must match the existing list items 
    ReasonStalledNameText [39]This is a SuperOffice list so data must match the existing list items 
    ReopenDateDateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    CreditedNameText [39]This is a SuperOffice list so data must match the existing list items 
    SaleDateDateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    AmountDecimalUse comma [,] for decimal.
    EarningDecimalUse comma [,] for decimal.
    EarningPercentDecimalUse comma [,] for decimal.
    Ensure percentages are represented as decimal numbers without percent sign. For example, 83,5% should be included as 83,5.
    ProbabilityNumberThe number displayed in % 
    CurrencyNameText [39]
    AddToSelectionText [39]
    RemoveFromSelectionText [39]

    More-page fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    SaleUserKey01Text [39] – (mandatory)Siteshop:SaleUserKey01The unique ID for each Contact (person). Must be “Indexed” and “Short Text (39)” in SuperOffice
    CompUserKey01Text [39]Siteshop:CompUserKey01The unique ID that relates to which Company the Sale should be imported to
    PersUserKey01Text [39]Siteshop:PersUserKey01The unique ID that relates to which Contact the Sale should be imported to
    ProjUserKey01Text [39]Siteshop:ProjUserKey01The unique ID that relates to which Project the Sale should be imported to
    SaleUserNum01NumberSiteshop:SaleUserNum01
    SaleUserNum02NumberSiteshop:SaleUserNum02
    SaleUserNum03NumberSiteshop:SaleUserNum03
    SaleUserNum04NumberSiteshop:SaleUserNum04
    SaleUserNum05NumberSiteshop:SaleUserNum05
    SaleUserNum06NumberSiteshop:SaleUserNum06
    SaleUserNum07NumberSiteshop:SaleUserNum07
    SaleUserNum08NumberSiteshop:SaleUserNum08
    SaleUserNum09NumberSiteshop:SaleUserNum09
    SaleUserNum10NumberSiteshop:SaleUserNum10
    SaleUserNum11NumberSiteshop:SaleUserNum11
    SaleUserNum12NumberSiteshop:SaleUserNum12
    SaleUserNum13NumberSiteshop:SaleUserNum13
    SaleUserNum14NumberSiteshop:SaleUserNum14
    SaleUserNum15NumberSiteshop:SaleUserNum15
    SaleUserNum16NumberSiteshop:SaleUserNum16
    SaleUserNum17NumberSiteshop:SaleUserNum17
    SaleUserNum18NumberSiteshop:SaleUserNum18
    SaleUserNum19NumberSiteshop:SaleUserNum19
    SaleUserNum20NumberSiteshop:SaleUserNum20
    SaleUserText01Text [39]Siteshop:SaleUserText01
    SaleUserText02Text [39]Siteshop:SaleUserText02
    SaleUserText03Text [39]Siteshop:SaleUserText03
    SaleUserText04Text [39]Siteshop:SaleUserText04
    SaleUserText05Text [39]Siteshop:SaleUserText05
    SaleUserText06Text [39]Siteshop:SaleUserText06
    SaleUserText07Text [39]Siteshop:SaleUserText07
    SaleUserText08Text [39]Siteshop:SaleUserText08
    SaleUserText09Text [39]Siteshop:SaleUserText09
    SaleUserText10Text [39]Siteshop:SaleUserText10
    SaleUserText11Text [39]Siteshop:SaleUserText11
    SaleUserText12Text [39]Siteshop:SaleUserText12
    SaleUserText13Text [39]Siteshop:SaleUserText13
    SaleUserText14Text [39]Siteshop:SaleUserText14
    SaleUserText15Text [39]Siteshop:SaleUserText15
    SaleUserText16Text [39]Siteshop:SaleUserText16
    SaleUserText17Text [39]Siteshop:SaleUserText17
    SaleUserText18Text [39]Siteshop:SaleUserText18
    SaleUserText19Text [39]Siteshop:SaleUserText19
    SaleUserText20Text [39]Siteshop:SaleUserText20
    SaleUserDec01DecimalSiteshop:SaleUserDec01Use comma [,] for decimal
    SaleUserDec02DecimalSiteshop:SaleUserDec02Use comma [,] for decimal
    SaleUserDec03DecimalSiteshop:SaleUserDec03Use comma [,] for decimal
    SaleUserDec04DecimalSiteshop:SaleUserDec04Use comma [,] for decimal
    SaleUserDec05DecimalSiteshop:SaleUserDec05Use comma [,] for decimal
    SaleUserDate01DateTimeSiteshop:SaleUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    SaleUserDate02DateTimeSiteshop:SaleUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    SaleUserDate03DateTimeSiteshop:SaleUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    SaleUserDate04DateTimeSiteshop:SaleUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    SaleUserDate05DateTimeSiteshop:SaleUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    SaleUserCheck01BooleanSiteshop:SaleUserCheck01Data must be True or False
    SaleUserCheck02BooleanSiteshop:SaleUserCheck02Data must be True or False
    SaleUserCheck03BooleanSiteshop:SaleUserCheck03Data must be True or False
    SaleUserCheck04BooleanSiteshop:SaleUserCheck04Data must be True or False
    SaleUserCheck05BooleanSiteshop:SaleUserCheck05Data must be True or False
    IntegrationIDCheckText [20] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    DescriptionText [2047] – (mandatory)
    StartDateDateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    EndDateDateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    HasAlarmBooleanData must be True or False
    IsAllDayEventBooleanData must be True or False
    IsFreeBooleanData must be True or False
    LocationText [39]
    RejectReasonText [39]
    TaskNameText [39]This is the Appointment Type. It is a SuperOffice list so data must match the existing list items 
    PriorityNameText [39]
    CompletedBooleanData must be True or False
    AssociateNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AddToSelectionNumber
    RemoveFromSelectionNumber

    More-page Fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    AppoUserKey01Text [39] – (mandatory)Siteshop:AppoUserKey01The unique ID for each Appointment. Must be “Indexed” and “Short Text (39)” in SuperOffice
    CompUserKey01Text [39]Siteshop:CompUserKey01The unique ID that relates to which Company the Appointment should be imported to
    PersUserKey01Text [39]Siteshop:PersUserKey01The unique ID that relates to which Contact the Appointment should be imported to
    ProjUserKey01Text [39]Siteshop:ProjUserKey01The unique ID that relates to which Project the Appointment should be imported to
    SaleUserKey01Text [39]Siteshop:SaleUserKey01The unique ID that relates to which Sale the Appointment should be imported to
    AppoUserNum01NumberSiteshop:AppoUserNum01
    AppoUserNum02NumberSiteshop:AppoUserNum02
    AppoUserNum03NumberSiteshop:AppoUserNum03
    AppoUserNum04NumberSiteshop:AppoUserNum04
    AppoUserNum05NumberSiteshop:AppoUserNum05
    AppoUserNum06NumberSiteshop:AppoUserNum06
    AppoUserNum07NumberSiteshop:AppoUserNum07
    AppoUserNum08NumberSiteshop:AppoUserNum08
    AppoUserNum09NumberSiteshop:AppoUserNum09
    AppoUserNum10NumberSiteshop:AppoUserNum10
    AppoUserNum11NumberSiteshop:AppoUserNum11
    AppoUserNum12NumberSiteshop:AppoUserNum12
    AppoUserNum13NumberSiteshop:AppoUserNum13
    AppoUserNum14NumberSiteshop:AppoUserNum14
    AppoUserNum15NumberSiteshop:AppoUserNum15
    AppoUserNum16NumberSiteshop:AppoUserNum16
    AppoUserNum17NumberSiteshop:AppoUserNum17
    AppoUserNum18NumberSiteshop:AppoUserNum18
    AppoUserNum19NumberSiteshop:AppoUserNum19
    AppoUserNum20NumberSiteshop:AppoUserNum20
    AppoUserText01Text [39]Siteshop:AppoUserText01
    AppoUserText02Text [39]Siteshop:AppoUserText02
    AppoUserText03Text [39]Siteshop:AppoUserText03
    AppoUserText04Text [39]Siteshop:AppoUserText04
    AppoUserText05Text [39]Siteshop:AppoUserText05
    AppoUserText06Text [39]Siteshop:AppoUserText06
    AppoUserText07Text [39]Siteshop:AppoUserText07
    AppoUserText08Text [39]Siteshop:AppoUserText08
    AppoUserText09Text [39]Siteshop:AppoUserText09
    AppoUserText10Text [39]Siteshop:AppoUserText10
    AppoUserText11Text [39]Siteshop:AppoUserText11
    AppoUserText12Text [39]Siteshop:AppoUserText12
    AppoUserText13Text [39]Siteshop:AppoUserText13
    AppoUserText14Text [39]Siteshop:AppoUserText14
    AppoUserText15Text [39]Siteshop:AppoUserText15
    AppoUserText16Text [39]Siteshop:AppoUserText16
    AppoUserText17Text [39]Siteshop:AppoUserText17
    AppoUserText18Text [39]Siteshop:AppoUserText18
    AppoUserText19Text [39]Siteshop:AppoUserText19
    AppoUserText20Text [39]Siteshop:AppoUserText20
    AppoUserDec01DecimalSiteshop:AppoUserDec01Use comma [,] for decimal
    AppoUserDec02DecimalSiteshop:AppoUserDec02Use comma [,] for decimal
    AppoUserDec03DecimalSiteshop:AppoUserDec03Use comma [,] for decimal
    AppoUserDec04DecimalSiteshop:AppoUserDec04Use comma [,] for decimal
    AppoUserDec05DecimalSiteshop:AppoUserDec05Use comma [,] for decimal
    AppoUserDate01DateTimeSiteshop:AppoUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    AppoUserDate02DateTimeSiteshop:AppoUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    AppoUserDate03DateTimeSiteshop:AppoUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    AppoUserDate04DateTimeSiteshop:AppoUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    AppoUserDate05DateTimeSiteshop:AppoUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    AppoUserCheck01BooleanSiteshop:AppoUserCheck01Data must be True or False
    AppoUserCheck02BooleanSiteshop:AppoUserCheck02Data must be True or False
    AppoUserCheck03BooleanSiteshop:AppoUserCheck03Data must be True or False
    AppoUserCheck04BooleanSiteshop:AppoUserCheck04Data must be True or False
    AppoUserCheck05BooleanSiteshop:AppoUserCheck05Data must be True or False
    IntegrationIDCheckText [20] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    ProjectNumberText [49]
    NameText [219] – (mandatory)
    DescriptionText [2047]
    EndDateDateTimeDate format must be: dd-MM-yyyy HH:mm:ss
    ProjectStatusNameText [39]This is a SuperOffice list so data must match the existing list items 
    ProjectTypeNameText [39]This is a SuperOffice list so data must match the existing list items 
    CompletedBooleanData must be True or False
    PostItText [2047]Note free-text field
    AssociateNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    Url1Text [39]Also available for 2,3,4 and 5
    Url1DescriptionText [39]Also available for 2,3,4 and 5
    AddToSelectionText [39]
    RemoveFromSelectionText [39]

    More-page fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    ProjUserKey01Text [39] – (mandatory)Siteshop:ProjUserKey01The unique ID for each Project. Must be “Indexed” and “Short Text (39)” in SuperOffice
    ProjUserNum01NumberSiteshop:ProjUserNum01
    ProjUserNum02NumberSiteshop:ProjUserNum02
    ProjUserNum03NumberSiteshop:ProjUserNum03
    ProjUserNum04NumberSiteshop:ProjUserNum04
    ProjUserNum05NumberSiteshop:ProjUserNum05
    ProjUserNum06NumberSiteshop:ProjUserNum06
    ProjUserNum07NumberSiteshop:ProjUserNum07
    ProjUserNum08NumberSiteshop:ProjUserNum08
    ProjUserNum09NumberSiteshop:ProjUserNum09
    ProjUserNum10NumberSiteshop:ProjUserNum10
    ProjUserNum11NumberSiteshop:ProjUserNum11
    ProjUserNum12NumberSiteshop:ProjUserNum12
    ProjUserNum13NumberSiteshop:ProjUserNum13
    ProjUserNum14NumberSiteshop:ProjUserNum14
    ProjUserNum15NumberSiteshop:ProjUserNum15
    ProjUserNum16NumberSiteshop:ProjUserNum16
    ProjUserNum17NumberSiteshop:ProjUserNum17
    ProjUserNum18NumberSiteshop:ProjUserNum18
    ProjUserNum19NumberSiteshop:ProjUserNum19
    ProjUserNum20NumberSiteshop:ProjUserNum20
    ProjUserText01Text [39]Siteshop:ProjUserText01
    ProjUserText02Text [39]Siteshop:ProjUserText02
    ProjUserText03Text [39]Siteshop:ProjUserText03
    ProjUserText04Text [39]Siteshop:ProjUserText04
    ProjUserText05Text [39]Siteshop:ProjUserText05
    ProjUserText06Text [39]Siteshop:ProjUserText06
    ProjUserText07Text [39]Siteshop:ProjUserText07
    ProjUserText08Text [39]Siteshop:ProjUserText08
    ProjUserText09Text [39]Siteshop:ProjUserText09
    ProjUserText10Text [39]Siteshop:ProjUserText10
    ProjUserText11Text [39]Siteshop:ProjUserText11
    ProjUserText12Text [39]Siteshop:ProjUserText12
    ProjUserText13Text [39]Siteshop:ProjUserText13
    ProjUserText14Text [39]Siteshop:ProjUserText14
    ProjUserText15Text [39]Siteshop:ProjUserText15
    ProjUserText16Text [39]Siteshop:ProjUserText16
    ProjUserText17Text [39]Siteshop:ProjUserText17
    ProjUserText18Text [39]Siteshop:ProjUserText18
    ProjUserText19Text [39]Siteshop:ProjUserText19
    ProjUserText20Text [39]Siteshop:ProjUserText20
    ProjUserDec01DecimalSiteshop:ProjUserDec01Use comma [,] for decimal
    ProjUserDec02DecimalSiteshop:ProjUserDec02Use comma [,] for decimal
    ProjUserDec03DecimalSiteshop:ProjUserDec03Use comma [,] for decimal
    ProjUserDec04DecimalSiteshop:ProjUserDec04Use comma [,] for decimal
    ProjUserDec05DecimalSiteshop:ProjUserDec05Use comma [,] for decimal
    ProjUserDate01DateTimeSiteshop:ProjUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    ProjUserDate02DateTimeSiteshop:ProjUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    ProjUserDate03DateTimeSiteshop:ProjUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    ProjUserDate04DateTimeSiteshop:ProjUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    ProjUserDate05DateTimeSiteshop:ProjUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    ProjUserCheck01BooleanSiteshop:ProjUserCheck01Data must be True or False
    ProjUserCheck02BooleanSiteshop:ProjUserCheck02Data must be True or False
    ProjUserCheck03BooleanSiteshop:ProjUserCheck03Data must be True or False
    ProjUserCheck04BooleanSiteshop:ProjUserCheck04Data must be True or False
    ProjUserCheck05BooleanSiteshop:ProjUserCheck05Data must be True or False
    IntegrationIDCheckText [39] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    PersUserKey01Text [39] – (mandatory)The unique ID that relates to which Contact the Project Member should be imported to
    ProjUserKey01Text [39] – (mandatory)The unique ID that relates to which Project the Project Member should be imported to
    ProjectMemberTypeNameText [39]This is a SuperOffice list so data must match the existing list items 
    CommentText [199]
    IntegrationIDCheckText [39] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity

    Standard Fields

    Input Field nameDatatypeRemarks
    IntegrationIDText [20] – (mandatory)Must be the very first field. Is not imported. Only used to check data integrity
    NameText [511] – (mandatory)Name (including file extension) of the File being send
    Example: dummy.pdf
    DocumentTemplateNameText [239] – (mandatory)Data must match an element of the list “Document – Template”
    DateDatetimeDate format must be: dd-MM-yyyy HH:mm:ss
    DescriptionText [2047]
    HeaderText [219] – (mandatory)
    AttentionText [49]
    OurRefText [49]
    YourRefText [49]
    ExternalRefText [49]
    AssociateNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    AssociateFullNameText [39]Data must match the list. Use either “AssociateName” or “AssociateFullName”. Using both is not possible
    CompletedBooleanData must be True or False
    AddToSelectionText [39]
    RemoveFromSelectionText [39]

    More-page fields

    Input Field nameDatatypeSuperOffice Prog-IDRemarks
    DocuUserKey01Text [39] – (mandatory)Siteshop:DocuUserKey01The unique ID for each Document. Must be “Indexed” and “Short Text (39)” in SuperOffice
    DocuUserNum01NumberSiteshop:DocuUserNum01
    DocuUserNum02NumberSiteshop:DocuUserNum02
    DocuUserNum03NumberSiteshop:DocuUserNum03
    DocuUserNum04NumberSiteshop:DocuUserNum04
    DocuUserNum05NumberSiteshop:DocuUserNum05
    DocuUserNum06NumberSiteshop:DocuUserNum06
    DocuUserNum07NumberSiteshop:DocuUserNum07
    DocuUserNum08NumberSiteshop:DocuUserNum08
    DocuUserNum09NumberSiteshop:DocuUserNum09
    DocuUserNum10NumberSiteshop:DocuUserNum10
    DocuUserNum11NumberSiteshop:DocuUserNum11
    DocuUserNum12NumberSiteshop:DocuUserNum12
    DocuUserNum13NumberSiteshop:DocuUserNum13
    DocuUserNum14NumberSiteshop:DocuUserNum14
    DocuUserNum15NumberSiteshop:DocuUserNum15
    DocuUserNum16NumberSiteshop:DocuUserNum16
    DocuUserNum17NumberSiteshop:DocuUserNum17
    DocuUserNum18NumberSiteshop:DocuUserNum18
    DocuUserNum19NumberSiteshop:DocuUserNum19
    DocuUserNum20NumberSiteshop:DocuUserNum20
    DocuUserText01Text [39]Siteshop:DocuUserText01
    DocuUserText02Text [39]Siteshop:DocuUserText02
    DocuUserText03Text [39]Siteshop:DocuUserText03
    DocuUserText04Text [39]Siteshop:DocuUserText04
    DocuUserText05Text [39]Siteshop:DocuUserText05
    DocuUserText06Text [39]Siteshop:DocuUserText06
    DocuUserText07Text [39]Siteshop:DocuUserText07
    DocuUserText08Text [39]Siteshop:DocuUserText08
    DocuUserText09Text [39]Siteshop:DocuUserText09
    DocuUserText10Text [39]Siteshop:DocuUserText10
    DocuUserText11Text [39]Siteshop:DocuUserText11
    DocuUserText12Text [39]Siteshop:DocuUserText12
    DocuUserText13Text [39]Siteshop:DocuUserText13
    DocuUserText14Text [39]Siteshop:DocuUserText14
    DocuUserText15Text [39]Siteshop:DocuUserText15
    DocuUserText16Text [39]Siteshop:DocuUserText16
    DocuUserText17Text [39]Siteshop:DocuUserText17
    DocuUserText18Text [39]Siteshop:DocuUserText18
    DocuUserText19Text [39]Siteshop:DocuUserText19
    DocuUserText20Text [39]Siteshop:DocuUserText20
    DocuUserDec01DecimalSiteshop:DocuUserDec01Use comma [,] for decimal
    DocuUserDec02DecimalSiteshop:DocuUserDec02Use comma [,] for decimal
    DocuUserDec03DecimalSiteshop:DocuUserDec03Use comma [,] for decimal
    DocuUserDec04DecimalSiteshop:DocuUserDec04Use comma [,] for decimal
    DocuUserDec05DecimalSiteshop:DocuUserDec05Use comma [,] for decimal
    DocuUserDate01DateTimeSiteshop:DocuUserDate01Date format must be: dd-MM-yyyy HH:mm:ss
    DocuUserDate02DateTimeSiteshop:DocuUserDate02Date format must be: dd-MM-yyyy HH:mm:ss
    DocuUserDate03DateTimeSiteshop:DocuUserDate03Date format must be: dd-MM-yyyy HH:mm:ss
    DocuUserDate04DateTimeSiteshop:DocuUserDate04Date format must be: dd-MM-yyyy HH:mm:ss
    DocuUserDate05DateTimeSiteshop:DocuUserDate05Date format must be: dd-MM-yyyy HH:mm:ss
    DocuUserCheck01BooleanSiteshop:DocuUserCheck01Data must be True or False
    DocuUserCheck02BooleanSiteshop:DocuUserCheck02Data must be True or False
    DocuUserCheck03BooleanSiteshop:DocuUserCheck03Data must be True or False
    DocuUserCheck04BooleanSiteshop:DocuUserCheck04Data must be True or False
    DocuUserCheck05BooleanSiteshop:DocuUserCheck05Data must be True or False
    IntegrationIDCheckText [39] – (mandatory)Must be the very last field. Is not imported to CRM, only used to check data integrity