Coder Social home page Coder Social logo

api rate limit about intercom-node HOT 12 CLOSED

intercom avatar intercom commented on July 4, 2024 1
api rate limit

from intercom-node.

Comments (12)

mderazon avatar mderazon commented on July 4, 2024 1

btw, if anyone reading this wonders, the only solution in Intercom right now to handle an update to lots of users is via the import / export csv feature in the dashboard, which can't be automated

from intercom-node.

dobesv avatar dobesv commented on July 4, 2024 1

Was the bulk API removed from this library? I see it mentioned in here and in some repo commits, but not in the docs any more.

from intercom-node.

bobjflong avatar bobjflong commented on July 4, 2024

Hey,

Rate limit information should be returned in the headers for every request: https://developers.intercom.io/docs/rate-limiting

bulk update users

Use the bulk api! 😄 This lets you update many users (max 50) in a single request, which is handled asynchronously

from intercom-node.

mderazon avatar mderazon commented on July 4, 2024

I agree with @tejasmanohar that if the lib is restricted by the same set of rules the api dictates then it's an app concern. I still think it's bad developer experience that we have to do all kind of throttling hacks to make an update to a non-trivial amount of users.

@bobjflong

Use the bulk api

the rate is 500 users / min and not requests / min, so bulk doesn't help at all. 10 consecutive bulk calls and I hit that limit

If you take Segment's node library for example, they have some queue logic baked in to throttle requests to their servers, this makes it a nicer developer experience so that you don't have to worry about stuff like that.

Maybe I'll just use Segment's package to send to Intercom :-)
I wonder how they handle the calls from their servers to Intercom's api and how they bypass the limit

from intercom-node.

bobjflong avatar bobjflong commented on July 4, 2024

the rate is 500 users / min and not requests / min, so bulk doesn't help at all. 10 consecutive bulk calls and I hit that limit

That definitely should not be the case, can you reproduce that?

from intercom-node.

mderazon avatar mderazon commented on July 4, 2024

@bobjflong looking at some old conversation I had with one of your reps, I see that I am wrong, it's req/min and not users/min.

So you could theoretically update 25K users / min even though I remember that when I tested it I hit the wall much sooner.

Anyway, 50 users / request is very low and in any realistic situation we'll have to build some kind of queue around it on the client.
It's not a big deal though, still think Segment's approach is nicer, but that's the fault of the api and not the client lib

from intercom-node.

bobjflong avatar bobjflong commented on July 4, 2024

It looks like Segment's batching is client side though. Should be possible to do something like this here, even using something like: https://www.npmjs.com/browse/keyword/throttle

from intercom-node.

mderazon avatar mderazon commented on July 4, 2024

Batching to Segment's servers is done client side, but I guess they have to do some batching on the server side as well before sending data to Intercom to not hit the limit. I don't think that side of the integration is open source

from intercom-node.

mderazon avatar mderazon commented on July 4, 2024

Or maybe it is, coincidentally written in Node
https://github.com/segmentio/integration-intercom

from intercom-node.

Rolice avatar Rolice commented on July 4, 2024

As far as I remember the limit was of 100 and now is reduced. I was not aware of this. Is it possible to post API change-log somewhere? The rate limit seems to be changed as well. Old delay I have used is not actual anymore...

from intercom-node.

rileylark avatar rileylark commented on July 4, 2024

It seems like the limit is users per second, not requests per second, and the bulk API was removed from the official docs altogether.

from intercom-node.

AlmogCohen avatar AlmogCohen commented on July 4, 2024

The bulk update is indeed missing greatly from this package...I'd rather not handle and write rate limiting code...

from intercom-node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.