Works in POSTman; Bubble just times out

Hi.

I’m making a POST and have it working in POSTman, but when I “initialize” the API for the first time in Bubble, the Bubble Connector times out and generates this error.

What does this mean?

The POST works in Postman:

The Bubble POST looks like this:

Why might Bubble be throwing the error above?

Made a test environment for it. Still getting the error.

I think the issue is that this API is expecting the parameters as arrays, which we don’t support yet.

2 Likes

ohhh, thanks. Helpful. Yeah, I’m returning a test response now which is an array; the real data I want to pass back to Bubble is definitely a JSON array. Anyone have a workaround? This is on the dev roadmap?

I’m not sure the issue is what is returned, but what is sent with the request.

Hi Emmanuel,

Point of clarification… Does the Bubble Connector support receiving an array? Ie. If I were to instead make a GET request for an array from the other endpoint to the Bubble endpoint, might that work today?

The current structure:
Bubble POST array to the external endpoint, then external endpoint returns an array to Bubble.

If this isn’t supported, might this structure be supported today instead?
External endpoint makes a GET request to Bubble endpoint for an array. The external endpoint then returns an array to the Bubble endpoint.

Yes, it does receive an array, but can’t handle inside lists.

  1. Are arrays supported in a POST call in the API Connector? If so, how do you format the array?

  2. What’s the difference between the API Connector (Old) and the “new” API Connector?

  3. How do I initialize the POST call from a button? I’m not seeing the option in the workflow.

You’ll want to use the “new” API connector. It has some updates that make it both more powerful and also a bit easier to use (but still not easy).

I’m not the best person to advise you on how to format the POST, but here’s some of the basics. Arrays are supported. You’ll set up the POST in the API connector with static (i.e., not dynamic data). Then you’ll confirm that works and establish a connection (using a button at the bottom called “initiate” or “connect” or something else worded like that I believe). Once the connection is established, then you can use workflows within the API section to overwrite the static values with dynamic ones.

I wish I could explain it better but it’s been a while since I used the APIs and forget much of the details. In my experience, this is by far the most difficult and confusing part of Bubble. There’s a fair amount of answers on the forum so definitely read through those. And, if that doesn’t work, you may be able to find someone who knows this stuff well to create an example if the Forum App since a lot of people would benefit from being able to see a working example.

Thanks @sridharan.s. If you have any insight on how to format the array, that would be helpful. When I was testing it out, it seemed like it was always returning a string. And in this case my db needs to receive an array for that particular column.
Perhaps @emmanuel can shed more light on my questions above?

Trying similar use case, anybody have any luck? I’m trying to POST Bubble data to an external API as a JSON array. Is the workaround suggested by @sridharan.s to set up a GET call in the new API connector and query my Bubble database, then use a workflow to take the JSON response from Bubble and use a POST call to pass the JSON to the external endpoint?

I’ve seen a couple posts from @emmanuel saying “arrays are not supported…”, don’t want to bang head against wall if this is simply the wrong approach given current limitations…

Depending on which API, this might work:

API call Data type Text, POST, header: Content-Type=application/json
Then in the body, build up the list as JSON text, for example:
[“list”,“of”,“texts”]

I think there was also an API that was not working on the Bubble end due to where the server was located, so local API call worked on Postman but the Bubble server was blocked by the provider. Just in case nothing else works !