Illegal base64 character 3a error when calling Team Chat messages that contain a custom emoji reaction

API Endpoint(s) and/or Zoom API Events (s)

  • It seems to affect any API where the response would contain Team Chat message details, specifically tested on;
    Zoom Team Chat API:
    get /chat/users/{userId}/messages/{messageId}
    get /chat/users/{userId}/messages
    get /im/users/{userId}/chat/messages

Description
We are experimenting with the Team Chat API’s to see if we can build an integration to help our IT Help Desk team with requests that come in from chat. While testing the Team Chat API’s when making a request to return message data, if the time range or response includes a message that uses a Custom Emoji, it returns the error;

{
“code”: -1,
“message”: “Illegal base64 character 3a”
}

Emojis that exist in the system are fine and return the format described in the spec reference, with the UTF value.

Our understanding of the error indicates its something with the colon “:” symbol, and since that is used with emoji’s it seemed like the custom emojis are being parsed differently maybe?

Error?

{
“code”: -1,
“message”: “Illegal base64 character 3a”
}

It always returns the same error, and when you remove the custom emoji from the chat, it works on that same message

How To Reproduce
A quick example is to use the IM api so you can send yourself a message. Also works with a test account though.

Steps to reproduce the behavior:

  1. With the user you are testing with, send a Team Chat message, any message containing anything, then add a custom emoji reaction
  2. Call the api: GET https://api.zoom.us/v2/im/users/{userId}/chat/messages?chat_user={your user email}&date={date}&page_size=30
  3. Should return the error
  4. Remove the custom emoji from the message then resend the request
  5. Message should show

Auth method is OAUTH2 with a Bearer token, all tests were done with Postman using the community Getting Started API’s that we forked. We did test it with a Powershell CURL as well with the same result.

Let me know if I can clarify on anything, thank you for any help we can get on if we are doing something wrong or if this is an issue in the system.