User ID downcased in `user.presence_status_updated`

The user.presence_status_updated payload.object.id field is the “User ID of the user whose presence status was updated” per the documentation. It seems that this field is always downcased.

For example, in a meeting.started webhook:

{
    "event": "meeting.started",
    "payload": {
        "account_id": "rNsp1ezDTG6z9B2nXyHSsw",
        "object": {
            "duration": 1,
            "start_time": "2021-02-01T22:39:21Z",
            "timezone": "",
            "topic": "XXX",
            "id": "XXXXX",
            "type": 1,
            "uuid": "Lv/FNM+CTrOPoTpflCNWRg==",
            "host_id": "eGAHtja4QHqdRL5zwCbJrg"
        }
    },
    "event_ts": 1612219161157
}

you can see the host_id field contains uppercase characters.

However, in a user.presence_status_updated payload:

{
    "event": "user.presence_status_updated",
    "payload": {
        "account_id": "rNsp1ezDTG6z9B2nXyHSsw",
        "object": {
            "date_time": "2021-02-01T22:41:29Z",
            "email": "XXX",
            "id": "egahtja4qhqdrl5zwcbjrg",
            "presence_status": "Available"
        }
    },
    "event_ts": 1612219289765
}

As you can see, the ids match except for case.

  1. Is this a bug that we could expect to be resolved?
  2. Can we safely treat user ids as case insensitive or is user.presence_status_updated effectively unusable until resolved?

Hey @ryan,

Good catch! I don’t think this is expected so I reached out to our engineering team to see if this can be resolved. In the meantime, as you mentioned, you can lowercase the values when performing equality checks. (ZOOM-243501)

Thanks,
Max

Thanks for the update. So just to confirm, zoom user IDs are case insensitive?

Hey @ryan,

The API is not case sensitive. For instance, you can call the Get a User API with a lowercase user id. So I expect that the rest of the system has the same behavior but this is part of what our engineering team will confirm for us.

Thanks,
Max

Hey @ryan,

As an update, our team got back to me and informed me that this is a known issue slated to be fixed in a future release.

In the meantime, it’s safe to use/store the IDs in lower case.

Thanks,
Max

Hi @MaxM

I’m going to post a new thread about below, but I saw this thread, so I just replied here.
As you can see below, it seems the User API is case-sensitive since I can’t get User Information if I use the lower case user id. Could you kindly again if it is really the case now?

Thanks and regards,

Description
The user id on user.presence_status_updated Webhook Event seems wrong.

Error
N/A

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth and Webhook

Which Endpoint/s?
https://api.zoom.us/v2/users/{userId}

How To Reproduce (If applicable)
Pre-condition: Should have an installed app that can receive Webhook event
Steps to reproduce the behavior:

  1. Login to zoom account

Screenshots (If applicable)
N/A

Additional context
I received below user.presence_status_updated event:
{
“payload”: {
“account_id”: “2omUw_NjQBSqHpH8pCl4HQ”
“object”: {
“presence_status”: “Available”
“date_time: 2021-01-25T07:29:41Z”
“id”: “u595x15qrxuxwchn1upzhw”
“email”: “my@example.com
}
}
conv_timestamp: 2021-01-25T07:29:41Z
event_ts: 1611559781868
event: user.presence_status_updated
}

Then I used the payload.object.id, to get that User information via Users API. But I wasn’t able to get the user information. But if I use user id “U595x15qRXuxwcHN1uPZHw” instead of “u595x15qrxuxwchn1upzhw”, I was able to get the user information from the Users API. It seems that the User API is case-sensitive. Is it possible to update the payload.object.id of the user.presence_status_updated event to correct one?

Thanks,

Hey @rcasimina,

Thank you for reaching out to the Zoom Developer Forum. I tested this again with a JWT app and a different user but I saw the same behavior. I was able to use the List Users API to get a user’s Id. Then lowercased the UUID and used it for the Get a User API.

Again, I saw that this worked without an issue. It’s possible you’re encountering an edge case we’ll need to address.

Are you able to share the response that you’re getting when making a call to the Get a User API with a lowercase Id?

Thanks,
Max

Hi @MaxM ,

Thank for the reply.
I’ve checked this issue again and I was able to get the User information even if the user id is in lower case. I don’t know what is the cause but since it is working as design, you may close this thread.

Thanks and regards,
Rodel

Thanks for letting us know, @rcasimina! :slight_smile: