Incomplete channel data

Hi! I’m using some widgets in my chat app and the appearance of those widgets change over time according to some backend resource states. The current appearance or style of those widgets is stored into the channel data by the backend (using the API) property and then read by the clients who are mobile (using the respective SDK) and web (using the API).

Problem I have is that after update the channel data by the backend side using the API, it’s sometimes returned the updated data into the API/SDK response and sometimes it doesn’t; however, every time I look at the channel info in the Sendbird’s dashboard, information is shown correctly. Let’s see an example to understand better:

Asume the initial data is something like this (please don’t pay attention to single or double quotes, it’s just for the example):

{
...
    'data': '{"initial_information": "Some initial content"}'  
...
}

Then I update the data and now in the Sendbird’s dashboard it’s shown like this:

{
...
    'data': '{"initial_information": "Some initial content", "first_widget": {"style": "something"}}'  
...
}

But for some reason when I list the channel info property first_widget does not appear. Rare still, if I add a new property, in Sendbird’s dashboard it will look something like this:

{
...
    'data': '{"initial_information": "Some initial content", "first_widget": {"style": "something"}, "second_widget": {"style": "something"}}'  
...
}

And in that last case, when I list the channel data the response might contain all the information except the first_widget property (that is, it returns even the third update but the second update is not returned), but every time I look at the Sendbird’s dashboard data is complete.

Hope you guys can help me with this.

Hi @IvanTrivino ,

It seems that the PUT request has an incorrect payload response intermittently, is that right?
If possible, could you provide the exact endpoint for updating the channel and incorrect response?

I don’t think the problem is the PUT request, because as I mentioned above information is correctly updated in Sendbird and if I access to the dashboard I can see all information is as expected, the problem is with GET requests. I tried some additional tests and found something even stranger; if I perform the request as follows GET https://<app_id>.sendbird.com/v3/group_channels/<channel_url> I get incomplete information, but if I perform the request as GET https://<app_id>.sendbird.com/v3/group_channels/?channel_urls=<channel_url> it returns all the information correctly. We might think those two endpoints are different ways to access the same resource but it looks like they do something different because both return different channel data.

@IvanTrivino , Would you mind DMing me your app Id & channel URL? I will investigate it more.

1 Like