Constant Contact wants to help you succeed! We’re celebrating our professional service programs on the Constant Contact Community this month and you have a chance to try one of the services for free! Learn more.
We are trying to Import Contacts Using JSON, and set custom fields as stated in documentation:
|cf:custom_field_name||optional, Max. Length:255||This header column name is the name of an existing custom field prefixed with cf:. For example, enter cf:first_name if you have a custom field named “first_name”. As long as you use the cf: prefix, you can import custom fields that use the same name as the contact properties. You can add up to 25 different custom field headings for each contact.|
Problem is that not all custom fields are set. We are not exceeding limit of 25 fields per contact. We have two fields, both of them are "string" type, first is set, and second is not. There is noting special about field names (td_longevity, td_velocity), and both values are sent as strings. Activity summary shows no error.
If we try to update single Contact, both custom fields are set correctly.
Is there some non-documented restriction in field names when using bulk api? What could be the problem causing td_velocity not to be saved?
When using Import Contacts Using JSON it seems that system is updating wrong property. cf:td_velocity value is written into street_addresses.street_address.city.
Thank you for reaching out to Constant Contact's API Support.
Using cf: is basically a shortcut/alias for custom fields. It only works if the custom field has already been created so that the cf: command has a name it can reference. You can create the custom fields separately from creating the contact by using the custom field endpoints. Once you have all of your custom fields created then you should be able to reference them using the cf: during a bulk import.
Thanks for your answer.
Fields are created separately and we are able to set them by updating contact directly.
When we try to insert contacts using JSON bulk activity, fields are mapped into wrong properties (not omitted). cf:td_velocity (field with td_velocity name of type string exists) value is being set as a city (in address). This doesn't sound you like a possible bug in JSON bulk activity?
If you are seeing this data not going into the custom field and instead going into the street address, I would say that may be a possible bug. I'd like to research this a bit further in detail. Would you be willing to email us at webservices(at)constantcontact.com with an example of the body of your request, as well as the Constant Contact username that you are making the call to?
Tier II API Support Engineer