/
7.7.3 Import any external Delivery Data

7.7.3 Import any external Delivery Data

This article describes a asynchronous interface to import data using CSV files into Salesforce/Advendio. Additionally you have the option to enter 4.13 Manual Delivery Data.

Configuration in Salesforce

For each field you need to import create records under

Setup - Develop - Custom Metadata Types

  • Data Import Mapping (ADvendio__DataImportMapping__mdt) 

 to define your individual mapping. By clicking manage you can add new records. These have the following fields:

Name

Api Name

Function

Comment

Name

Api Name

Function

Comment

Feature

ADvendio__Feature__c

Selects the interface function/feature

To import pls enter „GenericDataPushImport“

Source

ADvendio__Source__c

Name of data source out of your CSV file header

If not in imported csv this field gets ignored

Target

ADvendio__Target__c

API name to the field in which the

data gets written into



Target Object

ADvendio__TargetObject__c

Object to be filled

You can set up multiple import mappings for more than one object, but one CSV will always fill only one object at a time.

Required

ADvendio__Required__c

If checked the import verified that the csv header contains this field otherwise an error is reported and the upload is cancelled.



Unique Key

ADvendio__UniqueKey__c

Marks this field as a unique key

If checked the import can be handled by a Salesforce UPSERT instead of an import.

Comment

ADvendio__Comment__c

Comment, no function for the interface.



Label

MasterLabel

Salesforce default - not used



Data Import Mapping Name

DeveloperName

Salesforce default - not used



Send a request

Please view example code at: 7.7.3.1 Sample Code for Data Importer

Submit a  "multipart/mixed" https post request to https://exchange.advendio.com:8080/AdServerGateway_YOURADVENDIOVERSION/startJob.

So for example for the current release it will be:

https://exchange.advendio.com:8080/AdServerGateway_2.156/startJob.

First part of Request

XML which includes the Job Configuration:

Name

Type

Comment

Name

Type

Comment

endpoint

String (URL)

salesforce login - end point or session end point

password

String

Salesforce password (not necessary for if you use session)

username

String

Salesforce user name (not necessary for if you use session)

token

String

Salesforce login token (not necessary for if you use session)

sessionId

String

Salesforce SessionId (not necessary for if you use password, username and token)

orgId

String

Salesforce Organisation ID

dataType

String

here only CSV allowed

operation

String

"GenericDataPushImport"

objectName

String

Pls use the „Data Import Mapping“ Target Object you like to import data into.

fmail

String (; separierte email)

Email address for error messages, if empty Email of field smail is used.

smail

String (; separierte email)

Email address for success messages.

After process has finished a Link to the result page will be sent.

Second Part Request

Second part of the request is the CSV which includes all data to be imported. Header and their respective columns which are not mapped will be ignored.

Answer

You will receive an immediate answer in XML (default) or JSON if that type was requested. The answer JobStatus will have the following data:

Name

Type

Comment

Name

Type

Comment

jobId

Integer

ID

status

Integer

0 = queued, 1 = in progress, 2 = completed, 3 = failed

message

String

Description

progress

Float

0 - 1 showing the progress

start

DateTime

start time of job

end

DateTime

end time of job

request

String

Used JobConfiguration

orgId

String

Salesforce Org (JobConfiguration)

operation

String

refer to JobConfiguration



Monitor Progress

Request

To monitor the status and progress of your request you can send an „application/xml“ or „application/json“ https post request to https://altona.advendio.com:8080/AdServerGateway_2.73/getJobStatus.

The JobIdentifier needs the following data:

Name

Type

Comment

Name

Type

Comment

jobId

Integer

refer to JobStatus

orgId

String

refer to JobConfiguration and JobStatus

Answer

The answer is an updated JobStatus. (please refer to the above description under Answer)



Fetch Results

To pull the results even if the job has not finished you can send an „application/xml“ or „application/json“ https post request to https://altona.advendio.com:8080/AdServerGateway_2.73/getJobResults.

Please refer to JobIdentifier above.

The JobResults answer looks like this:

Name

Type

Comment

Name

Type

Comment

status

JobStatus

refer to JobStatus

results

List<JobResult>

refer to JobResult


which contains of JobResult:

Name

Typ

Kommentar

Name

Typ

Kommentar

data

Object

Data of the typ dataType

dataType

String

Typ of data (e.g. GenericDataPushImportLineResult, ForceBulkJobInfoResult)

created

DateTime

created date



with Type GenericDataPushImportLineResult:

Name

Typ

Kommentar

Name

Typ

Kommentar

lineNr

Integer

Position in CSV File including header

success

Boolean

false if error (successful lines will not be recorded)

message

String

Error message or other information for that line



and with Type ForceBulkJobInfoResult:

Name

Typ

Kommentar

Name

Typ

Kommentar

id

String

refer: Setup - Jobs - Bulk Data Load Jobs - Job ID



Related content