Skip to main content

Batch import and engage profiles in a scenario

Description

The request allows you to import multiple profiles and immediately send them to a scenario. It is a batch version of the request Import and engage profile in scenario.

note

The request body is limited by default to 10MB, exception: files – 100MB
It is not recommended to transfer more than 10,000 profiles in one request.

URL

Method: POST

https://example.com/api/v1.1/workflows/import_and_start_batch

Request parameters

ParameterTypeExampleRequiredDescription
tokenstring"abcdefghijklmnqrstuvwxyz"YesAPI token
formatstring"json"NoData format (by default - "json")
workflow_idInt1YesWorkflow identifier
matchingString"email"YesProfile matching mode.
By default – email.
profile_idString"5f19953a03e4227216278ba4""matching":"profile_id"Profile identifier
emailString"importStart9219@example.com""matching":"email" - from profile or subscriptions

"matching":"email_profile" - only from profile
Email
phoneString"+79001234567""matching":"phone"Phone number
field_nameString"CRM_ID""matching":"custom"The name of the custom profile field for search.
field_valueAny"12345""matching":"custom"The value of the custom profile field for search.

Search by combination of tags is available. Values are recorded as a string: "tag-1, tag-2".
dataObject
{
   "_fname": "John",
   "_lname": "Doe"
}
NoProfile data, including subscriptions
skip_triggersBooltrueNoSkip triggers and workflows activated by import and update actions
By default – false
skip_invalid_subscriptionsBooltrueNoSkip invalid subscriptions
By default – false
detect_geoBooltrueNoDetect geolocation by IP (it is detected by data from the fields _regip or _ip)
contentObject
"content":{
   "one": "My email = importStart9219@example.com",
   "two": "Timestamp: 1595512477",
   "three": "Three"
}
NoAdditional data to be used in the message template as {apicontent.fieldname} variable. The variable can be used in the "API call" and "API content filter" nodes
custom_dataJSON object
"custom_data": {
   "field": "value",
}
NoAdd some data to be used in Action hooks. The parameter can be passed either at the root of the request or separately in each data object.
attacharray of {name, flie_key, data, mimetype}
NoFile to attach to an Email message (only for Email triggers)
custom_requestJSON object
If there is no "matching" propertyMongoDB query on profile fields

Response parameters

ParameterTypeDescription
error_textstringError text
errorintError code
resultarrayList of identifiers of imported profiles

Request example – "matching":"email"

{
"token": "abcdefghijklmnqrstuvwxyz",
"workflow_id": 2,
"matching": "email",
"data": [
{
"data": {
"_fname": "Herbert",
"_lname": "Lambert",
"email": "profile5@example.com",
"phones": "+790000000000"
}
},
{
"data": {
"_fname": "Bert",
"_lname": "Lambert",
"email": "profile8@example.com",
"phones": "+790000000000"
}
}
]
}

Request example – "matching":"custom"

{
"token": "abcdefghijklmnqrstuvwxyz",
"workflow_id": 233,
"matching": "custom",
"field_name": "New_field_1",
"data": [
{
"data": {
"_fname": "NUMBER15",
"_lname": "Lambert",
"email": "profile015@example.com",
"phones": "+790000000015",
"New_field_1": "00015"
}
},
{
"data": {
"_fname": "NUMBER16",
"_lname": "Lambert",
"email": "profile016@example.com",
"phones": "+790000000016",
"New_field_1": "00016"
}
}
]
}

Response example

{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"profile_id": "65c4fcaf2847a60f44c98e0e"
},
{
"profile_id": "65c4fcb02847a60f44c98e12"
}
]
}

Response example when a request limitation is triggered

{
"error": 400,
"error_debug": "http: request body too large",
"error_text": "Invalid request"
}