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
Parameter | Type | Example | Required | Description | |
---|---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Yes | API token | |
format | string | "json" | No | Data format (by default - "json") | |
workflow_id | Int | 1 | Yes | Workflow identifier | |
matching | String | "email" | Yes | Profile matching mode. By default – email. | |
profile_id | String | "5f19953a03e4227216278ba4" | "matching":"profile_id" | Profile identifier | |
String | "importStart9219@example.com" | "matching":"email" - from profile or subscriptions "matching":"email_profile" - only from profile | |||
phone | String | "+79001234567" | "matching":"phone" | Phone number | |
field_name | String | "CRM_ID" | "matching":"custom" | The name of the custom profile field for search. | |
field_value | Any | "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". | |
data | Object | { | No | Profile data, including subscriptions | |
skip_triggers | Bool | true | No | Skip triggers and workflows activated by import and update actions By default – false | |
skip_invalid_subscriptions | Bool | true | No | Skip invalid subscriptions By default – false | |
detect_geo | Bool | true | No | Detect geolocation by IP (it is detected by data from the fields _regip or _ip ) | |
content | Object | "content":{ | No | Additional 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 | |
attach | array of {name, flie_key, data, mimetype} | No | File to attach to an Email message (only for Email triggers) | ||
custom_request | JSON object |
| When no matching specified | Custom MongoDB database query |
Response parameters
Parameter | Type | Description |
---|---|---|
error_text | string | Error text |
error | int | Error code |
task_id | string | Task identifier |
Request example – "matching":"email"
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"workflow_id": 12,
"matching": "email",
"data": [
{
"data": {
"_fname": "Alisa",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79000000000"
}
},
{
"data": {
"_fname": "Alex",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79000000000"
}
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<workflow_id>10</workflow_id>
<matching>email</matching>
<data>
<_fname>John</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
</data>
<data>
<_fname>Bert</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
</data>
</xml>
Request example – "matching":"custom"
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"workflow_id": 12,
"matching": "custom",
"field_name": "CRM_ID",
"data": [
{
"data": {
"_fname": "Alina",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79006574081",
"CRM_ID": "00066"
}
},
{
"data": {
"_fname": "Victor",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79000005422",
"CRM_ID": "00076"
}
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<workflow_id>12</workflow_id>
<matching>custom</matching>
<field_name>New_field_7</field_name>
<data>
<_fname>Polina</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
<phones>+79006574082</phones>
<New_field_7 string = "true" >00067</New_field_7>
</data>
<data>
<_fname>Dariya</_fname>
<_lname>Lambert</_lname>
<email>example@example.com</email>
<phones>+79000005423</phones>
<New_field_7 string = "true">00077</New_field_7>
</data>
</xml>
Response example
- JSON
- XML
{
"error": 0,
"error_text": "Successful operation",
"result": [
{
"profile_id": "6613c4754a5d12bd6cc0915f"
},
{
"profile_id": "6613c4754a5d12bd6cc09163"
}
]
}
<xml>
<error>0</error>
<error_text>Successful operation</error_text>
<result>
<profile_id>6613c4bf4a5d12bd6cc09167</profile_id>
</result>
<result>
<profile_id>6613c4bf4a5d12bd6cc0916b</profile_id>
</result>
</xml>
Response example when a request limitation is triggered
- JSON
- XML
{
"error": 400,
"error_debug": "http: request body too large",
"error_text": "Invalid request"
}
<xml>
<error>400</error>
<error_debug>http: request body too large</error_debug>
<error_text>Invalid request</error_text>
</xml>