DataUpload

BulkCSVUpload

Upload CSV files (may be gzipped). They MUST contain headers: either in first row (by default) OR in headers querystring field. If the file contains a timestamp field you want us to use see timestamp_field querystring parameter for how we extract it.

Note Domain this api is on a different domain https://bulk.lytics.io because the api.lytics.io domain is limited to 10MB file uploads.

# the "user_regdata" is the STREAM (ie Type) of data, if there
# is multiple different types of data (userdata, emaildata, events)
# they would have different streams.

# user data
export LIODATAKEY="YOURKEY"
curl -s -H "Authorization: $LIOKEY" \
  -H 'Content-type: application/csv' \
  --data-binary @users.csv \
  "https://bulk.lytics.io/collect/bulk/user_regdata?timestamp_field=register_date" \
 | jq '.'


# only do a dry-run to see if it is formatted correctly
curl -s "https://bulk.lytics.io/collect/bulk/user_regdata?access_token=$LIODATAKEY&timestamp_field=register_date&dryrun=true" \
    --data-binary @users.csv -H 'Content-type: application/csv' | jq '.'

# append fields to each row
#  where   append = urlencode({"source":"crm"})
#  often used when file-name contains information

curl -s "https://bulk.lytics.io/collect/bulk/user_regdata?append=%7B%22source%22%3A%22crm%22%7D&access_token=$LIODATAKEY" \
    --data-binary @users.csv -H 'Content-type: application/csv' | jq '.'


# full example uploading gzipped file

echo 'user_id,email,reg_date,item_count
7456,email@email.com,"2012-10-17T17:29:39.738Z",82
1234,email2@email.com,"2012-12-11T19:53:31.547Z",82' > users.csv

gzip users.csv

curl -s "https://bulk.lytics.io/collect/bulk/user_regdata?access_token=$LIODATAKEY&timestamp_field=reg_date&dryrun=true&filename=users.csv" \
    --data-binary @users.csv.gz \
    -H 'Content-type: application/csv' | jq '.'
post/collect/bulk/{stream}

Request

  • Base URL
    https://api.lytics.io
  • URL
    https://api.lytics.io/collect/bulk/{stream}
  • Auth
    API key in header Authorization

Path parameters

streamstring required

The DataType aka Table of type of data being uploaded. See Data, Streams in web admin.

Query parameters

account_idstring

Your Lytics account ID.

access_tokenstring

The Lytics DATA API key. Not the management key. Or use Authorization Header.

dryrunboolean
timestamp_fieldstring

The name of the column or field in file that contains event timestamp.

headersstring

CSV only, Comma delimited list of header columns for csv (if not first row)

delimiterstring

CSV only, if not the default comma, either t=tab, or | may be accepted

appendstring

CSV only, JSON encoded object of additional name-value pairs to append to each record.

droperrorsboolean
filenamestring

Just for record-keeping in our event - stream.

Response

OK

statusnumber
messagestring

Example response

{
  "status": 200,
  "message": "success",
  "data": {
    "message_count": 2,
    "rejected_count": 0,
    "content-type": "application/json",
    "droperrors": false,
    "dryrun": false,
    "timestamp_field": "event_created",
    "filename": "myfile.csv"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.