Task for batch import and engaging profiles in the scenario
Description
Adding or updating multiple profiles and then sending them to the scenario. Returns a response with the task id without waiting for execution.
note
The request body is limited by default to 10mb, exception: files are 100mb.
It is not recommended to transmit more than 10,000 profiles per request.
URL
Method: POST
https://example.com/api/v1.1/workflows/import_and_start_batch_task
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 | |
custom_data | JSON object | "custom_data": { | No | Add 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. | |
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 |
Returned 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": "Herbert",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79862014852"
}
},
{
"data": {
"_fname": "Bert",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79862014853"
}
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<workflow_id>12</workflow_id>
<matching>email</matching>
<data>
<_fname>Herb</_fname>
<_lname>Limbert</_lname>
<email>example@example.com</email>
<phones>+79847076617</phones>
</data>
<data>
<_fname>Bert</_fname>
<_lname>Limbert</_lname>
<email>example@example.com</email>
<phones>+79817076617</phones>
</data>
</xml>
Request example – "matching":"custom"
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"workflow_id": 12,
"matching": "custom",
"field_name": "New_field_7",
"data": [
{
"data": {
"_fname": "Kristina",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79568150395",
"New_field_7": "00015"
}
},
{
"data": {
"_fname": "Christopher",
"_lname": "Lambert",
"email": "example@example.com",
"phones": "+79568150396",
"New_field_7": "00016"
}
}
]
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<workflow_id>12</workflow_id>
<matching>custom</matching>
<field_name>CRM_ID</field_name>
<data>
<_fname>Naomy</_fname>
<_lname>Depp</_lname>
<email>example@example.com</email>
<phones>+798144890880</phones>
<CRM_ID>7830</CRM_ID>
</data>
<data>
<_fname>Nataly</_fname>
<_lname>Depp</_lname>
<email>example@example.com</email>
<phones>+73755334351</phones>
<CRM_ID>0934</CRM_ID>
</data>
</xml>
Response example
- JSON
- XML
{
"error": 0,
"error_text": "Successful operation",
"task_id": "30421978-7f6d-4f39-913f-fb6cad8e2477"
}
<xml>
<error>0</error>
<error_text>Successful operation</error_text>
<task_id>675231ce-63b4-4bca-a153-10d87b938d26</task_id>
</xml>
Example of a response when a request restriction 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>
Checking the status of the task
URL
Method: POST
https://example.com/api/v1.1/tasks/status
Request parameters
Parameter | Type | Example | Required | Description |
---|---|---|---|---|
token | string | "abcdefghijklmnopqrstuvwxyz" | Yes | API token |
task_id | string | "task_b2f9fk6a-2479-4a63-b592-f15d4e3b69c5" | Yes | Task ID |
Request example
- JSON
- XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"task_id": "task_b2f9fk6a-2479-4a63-b592-f15d4e3b69c5"
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<task_id>task_b2f9fk6a-2479-4a63-b592-f15d4e3b69c5</task_id>
</xml>
Response example
- JSON
- XML
{
"data": {
"status": "completed",
"progress": 100,
"result": {
"error": 0,
"error_text": "",
"result": [
{
"profile_id": "61e947333f62fc26d384452c"
},
{
"profile_id": "61e947333f62fc26d384452e"
}
]
}
},
"error": 0,
"error_text": "Successful operation"
}
<xml>
<data>
<status>completed</status>
<progress>100</progress>
<result>
<error>0</error>
<error_text></error_text>
<result>
<profile_id>61e947333f62fc26d384452c</profile_id>
</result>
<result>
<profile_id>61e947333f62fc26d384452e</profile_id>
</result>
</result>
</data>
<error>0</error>
<error_text>Successful operation</error_text>
</xml>