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×tamp_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×tamp_field=reg_date&dryrun=true&filename=users.csv" \
--data-binary @users.csv.gz \
-H 'Content-type: application/csv' | jq '.'
Request
- Base URLhttps://api.lytics.io
- URLhttps://api.lytics.io/collect/bulk/{stream}
- AuthAPI key in header Authorization
Path parameters
The DataType aka Table of type of data being uploaded. See Data, Streams in web admin.
Query parameters
Your Lytics account ID.
The Lytics DATA API key. Not the management key. Or use Authorization Header.
The name of the column or field in file that contains event timestamp.
CSV only, Comma delimited list of header columns for csv (if not first row)
CSV only, if not the default comma, either t=tab, or | may be accepted
CSV only, JSON encoded object of additional name-value pairs to append to each record.
Just for record-keeping in our event - stream.
Response
OK
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.