A Channel Connector can send a file message to Hybrid Chat. There are two ways to upload a file:
-
Specify the fileStream object to be uploaded
-
Specify the fileURL
To send a file using filesStream Object
-
Call
Upload a file
API with the fileStream object. Upon success you'll get the
filenamefrom the server. -
Create a Download File Stream URL and specify the
filenamefrom step# 1 as a query param. -
Create a Media message and specify
mediaUrlcontaining the URL created in step# 2.
Request Query Params
|
Property |
Type |
Desc. |
|---|---|---|
|
conversationId REQUIRED |
String |
Unique id of the file. |
|
file required |
FileStream Object |
The file stream object of the file that should be uploaded on Hybrid Chat. |
Response
|
Status |
Description |
Response |
|---|---|---|
|
Success |
Code 200 for success loading of file on server. |
Message - String - Required - "File uploaded successfully." etag - String - Required - HTTP response header is an identifier for a specific version of a resource and used for tracking purposes. name - String - Optional - this is the unique file name. type - String - Optional - type and extension of the file e.g. image/png size - Numeric - Required - size of the uploaded file. |
|
Internal Server Error |
Code 500 when a server error occurs. |
Message: "An error occurred while uploading file." |
|
Bad Request |
Code 404 when there is a problem uploading file. |
Message: "An error occurred while uploading file." |
To send a file using File URL
-
Call
Upload a file from URL
API and specify
sourceUrl(the media URL to upload). -
Create a Download File Stream URL and specify the
filenamefrom step# 1 as a query param. -
Create a Media message and specify
mediaUrlcontaining the URL created in step# 2.
Request parameters
|
Property |
Desc. |
|---|---|
|
conversationId - String - Optional |
ID for tagging media. |
|
sourceUrl - URL - Required |
get file from the given URL |
|
channel - String - Required |
The channel where conversation is in progress. |
|
fileName - String - Optional |
to be specified by user. Appended with conversationId in response. If no name is specified, file name is extracted from the URL. |
|
oauth - Object - Optional |
When OAuth is required to download the file from the specified URL mentioned in |
|
APIKey360 - String - Required for 360 DialogFlow Connector |
The connector API Key for authorization to 360 connector. Required only for 360Dialog connector for WhatsApp |
|
mime_type - String - Optional |
type and extension of the file e.g. image/png |
Response
|
Status |
Description |
Response body |
|---|---|---|
|
Success |
Code 200 |
Message - String - Required - "File uploaded successfully." etag - String - Required - HTTP response header is an identifier for a specific version of a resource and used for tracking purposes. name - String - Optional - name can be specified by the user. It is saved with conversation ID appended to it e.g. 11111_filename.ext type - String - Optional - type and extension of the file e.g. image/png size - Numeric - Required - size of the uploaded file. |
|
Internal Server Error |
Code 500 |
Message: "An error occurred while uploading file." |
|
Bad Request |
Code 404 |
Message: "An error occurred while uploading file." |
-
Maximum file size is 5Mb. The size is configurable and can be changed based on the business need.
-
There is no restriction of file type/extension in HyrbidChat. It is also configurable based on the business requirements.
-
Uploaded files can be stored indefinitely on server if required. Time limit for file storage on server is dependent upon the space requirements for the business deploying the HyrbidChat solution.
-
For downloading media, only filename needs to be specified. Example is available on Expertflow Public Workspace.