Contact Center - no API for downloading MMS files via the API

My application is receiving the following webhook events:

contact_center.engagement_customer_sent_file

contact_center.engagement_user_sent_file

The example webhook payload in the docs looks something like:

{
  "event": "contact_center.engagement_customer_sent_file",
  "event_ts": 1627906944384,
  "payload": {
    "account_id": "D8cJuqWVQ623CI4Q8yQK0Q",
    "object": {
      "engagement_id": "u154t5-ASlK83fZb1YWqgw",
      "engagement_direction": "outbound",
      "channel": "messaging",
      "channel_source": "sms",
      "date_time_ms": "2022-02-15T09:27:15.987Z",
      "flow_id": "ZWWC0A840C726C2CE3ACF01041CB8CFD8B9",
      "flow_name": "messaging test flow",
      "cc_queue_id": "xqJE_cgERLyAJHYYL5LLeg",
      "queue_name": "queue_661c6e4b-89fc-4b0d-9978-c7394725462",
      "consumer_number": "1045",
      "user_id": "IGTRVt3gQ2i-WjoUIjeZxw",
      "user_display_name": "jchill",
      "flow_number": "1026",
      "consumer_id": "szCyubr_aQhieHNWYbAGMYg",
      "consumer_display_name": "abc",
      "files": [
        {
          "file_id": "Chh7WtzyTaa-PIvsSpfwmA",
          "file_name": "BEF8E336-DFBC-4A88-B553-06556B6692F6.png",
          "file_size": 1796,
          "file_type": "Image"
        }
      ]
    }
  }
}

As you can see, the files have id and name fields, but no URL with which to download them. It’s bad enough that this file information doesn’t appear within either the engagement logs or the SMS logs, but even the webhook specifically for receiving files has no way to access them. This seems like a pretty significant oversight.

When I manually click around engagement logs in the browser, I can see the files are downloaded from urls of the following format:
https:/file.zoom.us/file/<file_id>?jwt={jwt}
But even if I use the file_id from the webhook above, it rejects the JWT my app receives from https:/zoom.us/oauth/token

1 Like

Hi @SteveDonnelly
Thanks for reaching out to us! I will take a closer look at this and tag the right person to help us here

1 Like

hi @SteveDonnelly,

This is expected behavior, as you’ve noted with the example payload. To make sure I understand correctly, you’re looking for a programmatic way to download a sent file from the API returned object only?

That’s right. I would like to be able to download these files (MMS attachments) from contact center via the API.

Context: customers often text in pictures to the main company number, and I would like copy those images to their customer records in salesforce, and then tag whoever their assigned representative is.

1 Like

Hello!

I’m trying to do the same. (In my case, the engagements are via web chat).

Is there a way to accomplish this?

Thank you in advance.

1 Like

Hi @jhonatan.u2 @SteveDonnelly ,

I brought to the engineering team as a feature request for future release. At this time, though, a download URL is not available in the mentioned endpoints.

Best,

Rehema

1 Like