Description
Imports or updates a customer profile.
Can delete custom fields, add or delete tags, increase or decrease field values. See update functions for reference.
To launch a trigger campaign right after the import you can use Import+trigger request.
Request URL
Method: POST
Add or update a profile:
https://example.com/api/v1.1/profiles/import
Update only:
https://example.com/api/v1.1/profiles/update
Request parameters
- For JSON body use the following header: Content-Type: application/json.
- For XML body use the following header: Content-Type: application/xml.
Parameter | Type | Example | Required | Description |
---|---|---|---|---|
token | string | "abcdefghijklmnqrstuvwxyz" | Yes | API тtoken |
db_id | int | 1 | Yes | Database ID |
matching | string | "email" "email_profile" "email_sub" "phone" "phone_sub" "profile_id" "push_sub" "custom" "custom_sub" "email_phone" "email_phone_sub" | No, if matched by email | Profile matching mode By default — email For each type of matching, certain fields must be passed in the request body. Learn more about these fields here. |
skip_triggers | bool | true | No | Skip trigger events. By default – false |
skip_invalid_subscriptions | bool | true | No | Skip invalid subscriptions By default – false |
detect_geo | bool | true | No | Detect location by _regip or _ip from data object |
add_to_segments | array | [ 1, 2 ] | No | Add a profile to a segment |
remove_from_segments | array | [ 1, 2 ] | No | Remove a profile from a segment |
data | JSON object | { "_fname": "John", "_lname": "Doe" } | Yes | including resource subscription data ( |
Subscriptions array
The subscriptions
array stores data about the profile's subscriptions to resources. One object is one subscription.
Parameter | Type | Example | Description |
---|---|---|---|
resource_id | int | 1 | Resource ID |
status | string | "subscribed" | It is recommended to pass the parameter in the request only in cases where it is necessary to update the subscription status. |
Email channel | |||
channel | string | "email" | Channel type |
string | "john@example.com" | ||
SMS channel | |||
channel | string | "sms" | Channel type |
phone | string | "+79000000000" | Phone number |
Push channel | |||
channel | string | "push" | Channel type |
provider | string | "Firefox" | Provider type |
subscription_id | string | "abcdefghijklmnqrstuvwxyz" | Subscription ID |
JSON request example
{ "token": "91f1dfa81c264a938b475677c60ce967", "db_id": 1, "matching": "email", "email": "example@example.com", "detect_geo": true, "data": { "_fname": "Olly", "_lname": "Lambert", "email": "example@example.com", "phones": ["+79000000000"], "subscriptions": [ { "channel": "email", "email": "example@example.com", "resource_id": 1 }, { "channel": "phone", "phone": "+79000000000", "resource_id": 1 } ], "_bdate": "1990-02-22T21:00:00Z", "_sex": 0, "_regdate": "2019-03-14T22:00:00Z", "_regip": "94.231.119.122", "_ip": "94.231.119.122", "_tz": "Europe/Moscow", "_postal_code": "390000", "_os": "Windows 10", "_browser": "Firefox", "_vendor": "form_#31", "custom_field": "custom_value" } }
JSON response example
{ "error": 0, "error_text": "Successful operation", "profile_id": "abcdefghijklmnqrstuvwxyz" }
XML request example
<xml> <token>e923e55afc3e4e07bd64afb2227f8a5c</token> <db_id>8</db_id> <matching>email</matching> <detect_geo>true</detect_geo> <format>xml</format> <skip_triggers>false</skip_triggers> <data> <email>example@example.org</email> <_fname>Leonid</_fname> <_lname>Spartov</_lname> <_bdate>1990-02-22T21:00:00Z</_bdate> <_sex>M</_sex> <_regip>94.231.119.122</_regip> <custom_string>value</custom_string> <custom_integer>42</custom_integer> <custom_date>1990-02-22T21:00:00Z</custom_date> <cutom_tags>tag1, tag2</cutom_tags> <custom_boolean>true</custom_boolean> <custom_enum>2</custom_enum> <custom_ip>94.231.119.122</custom_ip> <subscriptions> <subscription> <resource_id>3</resource_id> <channel>email</channel> <email>example@example.org</email> </subscription> <subscription> <resource_id>3</resource_id> <channel>sms</channel> <phone>71234567890</phone> </subscription> <subscription> <resource_id>3</resource_id> <channel>push</channel> <subscription_id>ONEOF77THESE11DAYS11dd1</subscription_id> <provider>Chrome</provider> </subscription> </subscriptions> </data> </xml>
XML response example
<result> <error>0</error> <error_text>Successful operation</error_text> <profile_id>c1are24fu213lwith21that2axe9<profile_id> </result>
Response parameters
Parameter | Type | Description |
---|---|---|
error | int | Error code |
error_text | string | Error text |
profile_id | string | Profile ID |