Upcoming API changes - May 15 2018

  • 6 April 2018
  • 7 replies
  • 20 views

Bonjour Unbounce API Developers,

We are about to make some changes to our API, as part of our efforts to make Unbounce compliant with the upcoming GDPR regulation. These changes will happen on May 15, 2018, and should only affect a limited number of our API users.

1. Retire the 0.3 version of our API

We made the announcement this would happen back in March 2017. More than a year later, it’s time for us to finally pull the plug on this older version. We believe this will affect less than a handful of people. For them, now is the time to use the current 0.4 version of our API. Here are some pointers to help with the transition.

2. Retire the Sub-Account leads endpoint ( /sub_accounts/{sub_account_id}/leads )

Up until today, our API offered allowed to fetch leads from two separate endpoints. Going forward, we are consolidating this functionality under /pages/{page_id}/leads

Workarounds:
To achieve the same result and fetch your leads for a Client (also called sub-account), you could adapt your API calls to:

Without the API, you can still download leads for a Client with the “Download Your Leads CSV” right from your Client overview page.

3. Lead ids format will change to a uuid
For example:

  • Previously "id" : "1031937993"
  • Now "id" : "d7fa4e57-753d-4811-abc8-ad2f0dc742e1"

We have still more than a month before those changes, and we can assist for any questions these might raise for you. Please don’t hesitate to ask them down here, so that they benefit the API developer community as a whole!

Thank you everyone,
Arnaud

Attn: @Unbounce-API-Devs @API-Devs


7 replies

Hello again,

The changes we announced the last time have been deployed earlier today, as scheduled.
If this had any impact for you, or have any questions, please post them in this thread so that we can try to assist you best using our API.

Thank you!

Hi there, is there no other way to get all leads at once per account? Removing this endpoint heavily impacts the ability to get those leads. It is okay if the user only has one or 2 pages, but what about users that have hundreds of pages? If we want to poll for new leads, is the only way to do this really to sequence hundreds of calls to Unbounce API?

Hello Dirk, thank you for your feedback!
You’re right, at the moment, cycling through pages in an account to fetch leads for each is the only way we support to fetch Lead for a whole account at a time from our API.

That said, it doesn’t mean this won’t evolve, as we want to implement things that are useful to most of our API users.

I’d love to know more about your specific use case, would you care to share, for example:

  • How often do you fetch leads for your account from the Unbounce API?
  • Are there cases where you set up an automatic delivery of your Leads with one of our Integrations, or do you prefer polling Leads from the API most of the time?
  • Do you ever use the in-app CSV download feature?

Thank you for any insight you could share with us!

Hi Arnaud, thanks for replying so quickly!

To give you an explanation (and I’ll answer your questions below) - we are an email marketing service provider and we have a number of customers that collect their leads through Unbounce. Most of these customers have sequences of emails that will be sent out automatically when a new lead signs up through Unbounce.

This means that we need to poll Unbounce relatively frequently on behalf of our Unbounce clients to extract all the new leads that came through every 5 minutes or so, so that an immediate email can be sent out to the lead (for instance some like to send a “welcome” type of email).

With the subaccounts/leads endpoint we were able to get all the leads per subaccount with a single call and handle our logic this way. Now we must obtain those leads by cycling through each page for each client.

The issue is that a lot of our clients have a large number of pages anywhere from 40 to 250+
This means we must make that number of calls to Unbounce in an iterative way - it makes this type of integration incredibly slow and basically infeasable. We found that each call will take 1-3 seconds, so for thousands of pages it would take longer than an hour to complete which means the immediate emails will be delayed.

Is there any way currently to integrate with Unbounce (perhaps in a different way) to be able to replicate the previously available behaviour? I would have thought a number of other api users will face similar issues.

To summarise:

  • We fetch leads every 5-10 minutes and we aren’t fetching leads from our account. Rather, our users who are also on Unbounce link their account to us so that we can poll for new leads on their behalf.
  • We prefer polling for new Leads through the API endpoint
  • Exporting a CSV won’t work as it’s a manual step and defeats the purpose of autoresponder email sequences

Thank you!

Hey @dirk123,

I’m one of the devs on Arnaud’s team and we’re responsible for most things Leads-related. Based on your use case, we don’t currently have an alternative endpoint that will do what you need - you’ll have to iterate through each page on each client, as you described. You might be able to speed things up a little if you make some of the calls in parallel (keep in mind there is a rate limit on our API, tho’).

If you’re willing to consider a non-polling approach - you could flip it around and create web hooks on the pages and push data out to your own service. I know of one other API user that’s doing that. It’s not currently documented in the public API docs, but I have a write-up on how to do it here:

I know this might not be the ideal solution for you (at the very least, you’d have to write some more code), but wanted to throw it out there just in case.


Btw, one more thing I wanted to call out - we made a small change to the /pages/{id}/leads endpoint - we added links in the metatdata section that you can use to paginate your way through the list of leads - e.g. you’ll see something like this:

 "metadata": {
    "count": 1000,
     "documentation": "",
     "location": "https://api.unbounce.com/pages/<some-page-id>/leads",
     "next": "https://api.unbounce.com/pages/<some-page-id>/leads?sort_order=asc&offset=1000&limit=1000"
}

You released a new API just before GDPR is enforced, but there is still no possibility to delete leads! Why? Yes I have seen https://unbounce.com/online-marketing/gdpr-compliant-landing-pages/ where you say that contacting your support is the way to have a lead deleted, but in my view that’s not sufficient.

Hello Henry,
Thank you for your comment. We do offer a way to delete leads that is compliant with the GDPR. At this point in time, you’ll need to reach out to our Support team. We working on ways to streamline this type of workflow in the future, we’ll keep you posted on our progress.
Thank you!

Reply