Adressprocessing

Address Processing Workflow

The batch process consists of the following steps:

Functions

Create

A batch serves as the container that defines the processing frame. A new batch must be created for each address run.

Request-Parameter

orderNr

Custom reference number that can be assigned for the unique identification of an order, e.g., for later inquiries or clarifications.

dataGroupCode

Unique identification of the Data Group.

→ Generated during the creation of the Data Group (/dataGroups/create). Must be referenced here.

userDescription

Name of the campaign or batch.

processId

System-assigned ID for the process.

→ Default value: 400

processingDate

Defines when the batch should be started (e.g., create the batch today, process over the weekend).

businessCase

Defines the process flow based on predefined presets.

→ Default value: 0

product

Selection of the desired product, e.g.:

  • 1 Enrich: Enrich existing data.

  • 2 Reference: Only analyze the data against available data sources, no data changes → Result: Analysis report from multisource and, if applicable, from Swiss Post.

  • 3 AddressUpdate: Update existing addresses.

notificationEmail

Email address for notifications. If no specific email address is provided, the default email address of the currently logged-in user will be used.

post
/AddressProcessing/Create
Authorizations
AuthorizationstringRequired

Please enter a valid token

Body
orderNrstring | nullableOptional
dataGroupCodestring | nullableOptional
userDescriptionstring | nullableOptional
processIdinteger · int32Optional
processingDatestring · date-timeOptional
businessCaseinteger · int32Optional
productinteger · enumOptionalPossible values:
notificationEmailstring | nullableOptional
Responses
200

OK

post
/AddressProcessing/Create
POST /v2/AddressProcessing/Create HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 180

{
  "orderNr": "text",
  "dataGroupCode": "text",
  "userDescription": "text",
  "processId": 1,
  "processingDate": "2025-11-19T15:29:46.348Z",
  "businessCase": 1,
  "product": 1,
  "notificationEmail": "text"
}
200

OK

{
  "batchId": 1,
  "batchUniqueId": "123e4567-e89b-12d3-a456-426614174000",
  "processGroup": 1,
  "insertBy": "text",
  "insertAt": "2025-11-19T15:29:46.348Z",
  "description": "text",
  "userDescription": "text",
  "status": "text",
  "startDate": "2025-11-19T15:29:46.348Z",
  "endDate": "2025-11-19T15:29:46.348Z",
  "processingDate": "2025-11-19T15:29:46.348Z",
  "duration": 1,
  "errorCount": 1,
  "warningCount": 1,
  "warningRejectCount": 1,
  "createTypeId": 1,
  "runSingle": true,
  "agent": "text",
  "datagroupId": 1,
  "orderNr": "text",
  "files": [
    {
      "batchId": 1,
      "fileUniqueId": "123e4567-e89b-12d3-a456-426614174000",
      "direction": "text",
      "fileName": "text",
      "processFileDetection": "text",
      "description": "text"
    }
  ],
  "steps": [
    {
      "stepId": 1,
      "status": "text",
      "sortOrder": 1,
      "startDate": "2025-11-19T15:29:46.348Z",
      "endDate": "2025-11-19T15:29:46.348Z",
      "duration": 1,
      "errorCount": 1,
      "warningCount": 1,
      "warningRejectCount": 1,
      "recordCount": 1,
      "description": "text",
      "modulUniqueId": "123e4567-e89b-12d3-a456-426614174000",
      "descriptionAdd": "text"
    }
  ]
}

FileUpload

Adds a file for processing.

post
/AddressProcessing/FileUpload
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
batchIdinteger · int32Optional
batchUidstring · uuidOptional
descriptionstringOptional
Body
filestring · binaryOptional
Responses
200

OK

No content

post
/AddressProcessing/FileUpload
POST /v2/AddressProcessing/FileUpload HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
200

OK

No content

AddRecords

This function can be used to upload new records individually or to supplement an existing upload with additional records.

put
/AddressProcessing/AddRecords
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
idinteger · int32Optional
uidstring · uuidOptional
Bodyobject[]
customerIdstring | nullableOptional
classificationstring | nullableOptional
dwhIdstring | nullableOptional
beacinteger · int32 | nullableOptional
egidstring | nullableOptional
edidstring | nullableOptional
postAddressIdstring | nullableOptional
firstnamestring | nullableOptional
companyNamestring | nullableOptional
namestring | nullableOptional
birthDatestring | nullableOptional
streetstring | nullableOptional
streetNostring | nullableOptional
streetAddstring | nullableOptional
careOfstring | nullableOptional
poBoxstring | nullableOptional
poZipstring | nullableOptional
poTownstring | nullableOptional
zipstring | nullableOptional
townstring | nullableOptional
mobileNostring | nullableOptional
phoneNostring | nullableOptional
emailstring | nullableOptional
uidstring | nullableOptional
chnrstring | nullableOptional
freetext1string | nullableOptional
freetext2string | nullableOptional
freetext3string | nullableOptional
freetext4string | nullableOptional
freetext5string | nullableOptional
Responses
200

OK

No content

put
/AddressProcessing/AddRecords
PUT /v2/AddressProcessing/AddRecords HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 509

[
  {
    "customerId": "text",
    "classification": "text",
    "dwhId": "text",
    "beac": 1,
    "egid": "text",
    "edid": "text",
    "postAddressId": "text",
    "firstname": "text",
    "companyName": "text",
    "name": "text",
    "birthDate": "text",
    "street": "text",
    "streetNo": "text",
    "streetAdd": "text",
    "careOf": "text",
    "poBox": "text",
    "poZip": "text",
    "poTown": "text",
    "zip": "text",
    "town": "text",
    "mobileNo": "text",
    "phoneNo": "text",
    "email": "text",
    "uid": "text",
    "chnr": "text",
    "freetext1": "text",
    "freetext2": "text",
    "freetext3": "text",
    "freetext4": "text",
    "freetext5": "text"
  }
]
200

OK

No content

Start

Starts the processing.

post
/AddressProcessing/Start
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
uidstring · uuidOptional
Responses
post
/AddressProcessing/Start
POST /v2/AddressProcessing/Start HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
202

Accepted

No content

Detail

Provides an overview of all available files and their processing steps. It also includes the unique identification number (fileUniqueId) for each file.

Batch Status

Status ID
Name
Description

0

Created

Created, not yet processed

1

Execute

Queued; processing starts once resources are available

2

Processing

Processing in progress

3

Marked for processing

Intermediate state between Execute and Processing

4

Done

Successfully completed

6

Error

An error occurred during processing

8

Skipped

Certain modules were skipped

get
/AddressProcessing/Detail
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
uidstring · uuidOptional
Responses
200

OK

get
/AddressProcessing/Detail
GET /v2/AddressProcessing/Detail HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "batchId": 1,
  "batchUniqueId": "123e4567-e89b-12d3-a456-426614174000",
  "processGroup": 1,
  "insertBy": "text",
  "insertAt": "2025-11-19T15:29:46.348Z",
  "description": "text",
  "userDescription": "text",
  "status": "text",
  "startDate": "2025-11-19T15:29:46.348Z",
  "endDate": "2025-11-19T15:29:46.348Z",
  "processingDate": "2025-11-19T15:29:46.348Z",
  "duration": 1,
  "errorCount": 1,
  "warningCount": 1,
  "warningRejectCount": 1,
  "createTypeId": 1,
  "runSingle": true,
  "agent": "text",
  "datagroupId": 1,
  "orderNr": "text",
  "files": [
    {
      "batchId": 1,
      "fileUniqueId": "123e4567-e89b-12d3-a456-426614174000",
      "direction": "text",
      "fileName": "text",
      "processFileDetection": "text",
      "description": "text"
    }
  ],
  "steps": [
    {
      "stepId": 1,
      "status": "text",
      "sortOrder": 1,
      "startDate": "2025-11-19T15:29:46.348Z",
      "endDate": "2025-11-19T15:29:46.348Z",
      "duration": 1,
      "errorCount": 1,
      "warningCount": 1,
      "warningRejectCount": 1,
      "recordCount": 1,
      "description": "text",
      "modulUniqueId": "123e4567-e89b-12d3-a456-426614174000",
      "descriptionAdd": "text"
    }
  ]
}

FileDownload

Downloads the results of an AdressProcessing batch as a file.

The output is provided in TSV format (tab-separated values).

The parameter compressed controls whether the file is delivered compressed (.txt.gz) (false) or uncompressed (.txt) (true).

get
/AddressProcessing/FileDownload
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
uidstring · uuidOptional
decompressbooleanOptional
Responses
200

OK

No content

get
/AddressProcessing/FileDownload
GET /v2/AddressProcessing/FileDownload HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

No content

GetRecords

Retrieves the results of an AdressProcessing batch directly as JSON.

This endpoint is useful if the data should be processed directly within the system without downloading a file.

get
/AddressProcessing/GetRecords
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
uidstring · uuidOptional
Responses
200

OK

No content

get
/AddressProcessing/GetRecords
GET /v2/AddressProcessing/GetRecords HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

No content

Optional Steps (for Advanced Use Cases)

AddDatagroup

Adds a data group.

Les données sont organisées en Data Groups. Celles-ci permettent, si nécessaire, de séparer logiquement les enregistrements. Vous pouvez ainsi traiter et analyser séparément, par exemple, les clients existants, les nouveaux clients ou les campagnes.

Dans de nombreux cas, une seule Data Group suffit : les données y sont simplement chargées et mises à jour en continu.

Remarque : Dès qu’une Data Group est lancée, les données existantes dans ce groupe sont remplacées.

put
/AddressProcessing/AddDatagroup
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
descriptionstringOptional
Responses
200

OK

put
/AddressProcessing/AddDatagroup
PUT /v2/AddressProcessing/AddDatagroup HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

{
  "datagroupId": 1,
  "description": "text",
  "code": "text"
}

GetDataGroups

Lists the available data groups.

get
/AddressProcessing/GetDatagroups
Authorizations
AuthorizationstringRequired

Please enter a valid token

Responses
200

OK

get
/AddressProcessing/GetDatagroups
GET /v2/AddressProcessing/GetDatagroups HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

OK

[
  {
    "datagroupId": 1,
    "description": "text",
    "code": "text"
  }
]

SetBatchSettings

Sets batch settings.

Request-Parameter

property-name

Setting values

  • InputMapping Defines which data mapping will be applied to data processing.

  • RangeBack For address changes to be considered (e.g., moves from the last 12 months). → Default value: 36 months.

  • WebhookUrl For automation after the batch completion (currently only as a GET request with query string parameters). Can be used for further process automation to trigger actions for the customer after the batch completion (e.g., updating reports in PowerBI).

  • webhookmethod Defines the HTTP method to be used for the call (e.g., POST or PUT).

  • webhookheader Optional – defines the HTTP headers as a stringified JSON object, e.g. for passing authentication tokens.

  • webhookbody Optional – defines the HTTP body as a stringified JSON object, e.g. for transmitting custom data or payloads.

post
/AddressProcessing/SetBatchSettings
Authorizations
AuthorizationstringRequired

Please enter a valid token

Query parameters
uidstring · uuidOptional
Body
Other propertiesstringOptional
Responses
200

OK

No content

post
/AddressProcessing/SetBatchSettings
POST /v2/AddressProcessing/SetBatchSettings HTTP/1.1
Host: api.multisource.ch
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "ANY_ADDITIONAL_PROPERTY": "text"
}
200

OK

No content

Last updated