File Attachment Interaction

Sends an AttachmentInteraction interaction event from the client side to Salesforce when an end user sends a file.

This API applies to the following products:

  • Bring Your Own Channel for Contact Center as a Service
  • Bring Your Own Channel for Messaging

This API is available in version 61.0 and later.

When a file attachment is sent, a “Success” response means the Salesforce system has received and acknowledged the request and will begin uploading the file. During this time, the Service Console displays the message, “Uploading file…”. To track the upload status and get the latest results, subscribe to the MessageUpdated outbound event.

The request accepts non-ASCII or binary files and supports the most common image, audio, and video file types.

- "mimeType": "image/jpeg"
- "mimeType": "image/gif"
- "mimeType": "image/bmp"
- "mimeType": "image/png"
- "mimeType": "application/pdf"
- "mimeType": "video/3gpp2"
- "mimeType": "audio/3gpp2"
- "mimeType": "video/3gpp"
- "mimeType": "audio/3gpp"
- "mimeType": "video/mpeg"
- "mimeType": "audio/mpeg"
- "mimeType": "video/mp4"
- "mimeType": "audio/mp4"

Files can only be sent one at a time, and the maximum size of each file is 25 MB. The storage limit is the maximum size that your storage container allows.

URI

v1/interactions

HTTP Method

POST

Headers

Authorization (User-Level Authentication)

Format: Bearer <Salesforce Access Token>
String. Standard header. Used to authenticate the user, where <Salesforce Access Token> is the Salesforce access token used as the bearer token to make requests to the Interaction Service APIs. Required.

Content-Type

Format: multipart/form-data
String. Standard header. Format of the request payload. Required for any request that includes a body.

OrgId

Format: <Salesforce Org ID>
String. Custom header. The Salesforce org. <Salesforce Org ID> is the 15-character Org ID of the Salesforce org. Required.

RequestId

Format: <UUID>
String. Custom header. Universally Unique Identifier (<UUID>) that references and tracks this request. Required.

AuthorizationContext

Format: <AuthorizationContext>
String. Custom header. Additional information for the request authorization used to authenticate and validate requests against the connected app scopes.

  • For Bring Your Own Channel for CCaaS, set <AuthorizationContext> to the developer name of the ConversationChannelDefinition record. For example, Partner1_ChannelDefinition1. Required.
  • For Bring Your Own Channel for Messaging, set <AuthorizationContext> to the developer name of the ConversationChannelDefinition record. For example, Partner1_ChannelDefinition1. Required.

Sample Header

-H $'Authorization: Bearer 00DSG000009SWby!...LN8XxeRIxGe' \
-H "content-type: multipart/form-data" \
-H "OrgId: 00DSG000009SWby" \
-H "AuthorizationContext: Partner1_ChannelDefinition1" \
-H "RequestId: a1b23c45-c06a-4784-c96c-cb95d3321bda" \

Parameters

Property Name Type Description Required
to string The channel address identifier. This is the globally unique ID for the conversation channel (MessagingChannel.ChannelAddressIdentifier). Yes
from string The end user client identifier. This value comes from the partner system and can be up to 240 characters long. Yes
interactions array A list of interactions that are initiated by a messaging or voice rep or end user. Yes
interactions.timestamp boolean The date and time when the interaction was received by the Salesforce server. Yes
interactions.interactionType string The type of interaction. Possible values include: <br>- EntryInteraction to represent the type of interaction, such as an inbound message, a message sent failure, or a typing start or stop indicator. <br>- AttachmentInteraction to represent a file attachment that comes within the inbound messaging request. Yes
interactions.id string The unique ID for the interaction. Yes
interactions.attachmentIndex integer The zero-based index value of the file in the list of attachments for the interaction. Only one file per interaction is allowed, so set this value to 0 (zero). Yes
interactions.contentLength integer The size of the file data measured in bytes. Specify the correct file size to ensure the file attachment uploads properly. Yes
interactions.text string The text, if any, that's sent with the file. No

Example

{
  "to": "a12bc345-1303-44c2-866c-f30d546b58de",
  "from": "end-user-0001",
  "interactions": [{
    "timestamp": 1615454544,
    "interactionType": "AttachmentInteraction",
    "id": "8432240c-81c7-492c-baf4-2e4cf0995610",
    "attachmentIndex": 0,
    "contentLength": 10000,
    "text": "This is the picture."
  }]
}

See Also