Hi everyone,
How do you manage bulk uploading of contacts via the API?
I need to upload 100.000 contacts and I'm not sure how best to do it. Although most other Zendesk APIs I've used do provide an endpoint for that, for some reason the Sell API does not provide an endpoint to upload multiple contacts. Not sure why, support were not able to provide an explanation.
Support suggested 2 solutions - either using the single contact upload endpoint, or manually uploading CSV files. Using the single contact endpoint and making a single call per contact isn't viable for 100.000 contacts as that way the request rate limit is reached fairly quickly. Using CSVs did do the job but was tedious work, files took a lot of hours to be imported, and ultimately it was a one-timer and not an automated solution - what happens in case a new custom field is added for example, how would you sync all users again in that case without requiring manual work?
Thanks a lot in advance.
HeyO Christos,
The two methods mentioned earlier are currently the best methods of which I'm aware to import a large number of contacts.
Here are those two paths again just for reference:
CSV File Import - This is limited to 3k contacts per CSV file, so you'd be looking at ~34 files to import ~100k users. While I realize this method is a bit cumbersome, it doesn't require any coding/scripting logic.
API Importing - It appears that the Sell Contacts API doesn't offer a bulk-import via the API. Nonetheless, it should be possible to write a script which loops over a CSV file, calling the individual create contact endpoint (or upsert if those contacts may already exist). Per this Sell API rate-limits page it should be possible to make 36,000 requests per hour, meaning that 100 users could be created in under 3 hours assuming no other API calls are needed during that time.
Hopefully this helps to address your needs for getting these users imported.
Dwight B. | Customer Advocate