Bulk export (BEX)

Prerequisite

  • Organization is enabled for Bulk Event Export (BEX).
  • Organization Admin user can login to Acoustic Campaign and get an access token.
  • Organization Admin user has logged into FTP once and the folder for the user exists.

📘

Note:

This is currently unavailable in Swagger.

Creating Job Definition using Advanced Rest Client

In Methods: GET, POST, PUT and DELETE Options can be selected.

Post URL: http://<host:port_no>/rest/bulkeventexport/jobdefinition
GET URL: http://<host:port_no>/rest/bulkeventexport/jobdefinition/
PUT URL: http://<host:port_no>/rest/bulkeventexport/jobdefinition/

📘

Note:

PUT has the same format as POST, except the id needs to be included in the JSON body as well. The job definition for the listId needs to exist.

DELETE URL: http://host:port_no/rest/bulkeventexport/jobdefinition/

Authorization: Bearer
Valid Header name: content-type
Header value: application/json

Parameters

Attribute

Description

contactSourceId [required]

ContactSourceId is list_Id for which job definition is created. Accepts Id for database only.


ftpUserId [required]


Primary email (login) of the Org admin user. ftpUserId is used to access user's ftp account location to export event file.


exportFileName [optional]


This is used, if user wishes to specifically include some term. The specified term will be Appended with channel, timestamp and frequency # added by Acoustic Campaign. If not specified, Default 'Recipient Event Bulk Export_'


exportFileFormat [optional]


This is the format of the file that would be exported. Default is CSV. Other formats supported are PSV, TSV.


jobFrequency [required]


This is the periodic interval in hours in which the rotation job will be run and all tmp files will be rotated and exported to expected file format. Valid Job frequency is 1,2,3,4,6,8,12,24


type [required]


This specifies channel type.(Supported channel type is only Email)


mailingType [optional]


These are type of mailing (Supported mailing types are SendExperience,Programs,AMG,AutoResponder,ABTest)


columnName [optional]


Up to 5 custom database column names can be requested from the contactSource for which job definition is created.


columnOrder [required]


If columnName provided: This is the order of database columns in which they will be exported.


eventType [optional]


Event Types that need to be exported (Supported event types are emailClick, emailSend;, emailSuppressed, emailOpen, emailBounce and emailOptOut). left blank, default is all of the events mentioned here. User can specify events, if not all are required.

Example of POST JSON to create a job

{
  "channels": [
    {
      "eventTypes": [
        {
          "eventType": "emailSend"
        },
        {
          "eventType": "emailOpen"
        },
        {
          "eventType": "emailClick"
        },
        {
          "eventType": "emailOptOut"
        },
        {
          "eventType": "emailSuppressed"
        },
        {
          "eventType": "emailBounce"
        }
      ],
      "columnNames": [
        {
          "columnName": "column1",
          "columnOrder": 0
        },
        {
          "columnName": "column2",
          "columnOrder": 1
        }
      ],
      "mailingTypes": [
        {
          "mailingType": "SendExperience"
        },
        {
          "mailingType": "Programs"
        },
        {
          "mailingType": "AutoResponder"
        },
        {
          "mailingType": "AMG"
        },
        {
          "mailingType": "ABTest"
        }
      ],
      "exportFileName": "Test_Email",
      "exportFileFormat": "CSV",
      "jobFrequency": 1,
      "type": "Email"
    }
  ],
  "contactSourceId": "423251",
  "ftpUserId": "[email protected]"
}

Response: JobId
Outcome: File stored in the ftp folder of the requesting Org Admin user.

Headers in the Exported FTP File

Email
RECIPIENT_ID
ENCODED_RECIPIENT_ID
contactId
code
messageId
userAgent
messageName
mailingTemplateId
subjectLine
docType
reportId
sendType
bounceType
urlDescription
clickUrl
optOutDetails
messageGroupId
programId
timestamp
originatedFrom
eventId
externalSystemName
externalSystemReferenceId
trackingCode

📘

Note:

Not all columns will be populated for every event, only if the data is available in the event and applicable to that event.