symphony.bdk.core.service.message.message_service.MessageService#
- class symphony.bdk.core.service.message.message_service.MessageService(messages_api: symphony.bdk.core.service.message.multi_attachments_messages_api.MultiAttachmentsMessagesApi, message_api: symphony.bdk.gen.pod_api.message_api.MessageApi, message_suppression_api: symphony.bdk.gen.pod_api.message_suppression_api.MessageSuppressionApi, streams_api: symphony.bdk.gen.pod_api.streams_api.StreamsApi, pod_api: symphony.bdk.gen.pod_api.pod_api.PodApi, attachment_api: symphony.bdk.gen.agent_api.attachments_api.AttachmentsApi, default_api: symphony.bdk.gen.pod_api.default_api.DefaultApi, auth_session: symphony.bdk.core.auth.auth_session.AuthSession, retry_config: symphony.bdk.core.config.model.bdk_retry_config.BdkRetryConfig)#
Bases:
symphony.bdk.core.service.message.message_service.OboMessageService
Service class for managing messages.
- __init__(messages_api: symphony.bdk.core.service.message.multi_attachments_messages_api.MultiAttachmentsMessagesApi, message_api: symphony.bdk.gen.pod_api.message_api.MessageApi, message_suppression_api: symphony.bdk.gen.pod_api.message_suppression_api.MessageSuppressionApi, streams_api: symphony.bdk.gen.pod_api.streams_api.StreamsApi, pod_api: symphony.bdk.gen.pod_api.pod_api.PodApi, attachment_api: symphony.bdk.gen.agent_api.attachments_api.AttachmentsApi, default_api: symphony.bdk.gen.pod_api.default_api.DefaultApi, auth_session: symphony.bdk.core.auth.auth_session.AuthSession, retry_config: symphony.bdk.core.config.model.bdk_retry_config.BdkRetryConfig)#
Methods
__init__
(messages_api, message_api, ...)blast_message
(stream_ids, message[, data, ...])Send a message to multiple existing streams.
get_attachment
(stream_id, message_id, ...)Downloads the attachment body by the stream ID, message ID and attachment ID.
Retrieves a list of supported file extensions for attachments.
get_message
(message_id)Retrieves the details of a message given its message ID.
get_message_relationships
(message_id)Gets the message metadata relationship.
get_message_status
(message_id)Get the status of a particular message, i.e the list of users who the message was sent to, delivered to and the list of users who read the message.
import_messages
(messages)Imports a list of messages to Symphony.
list_attachments
(stream_id[, since, to, ...])List attachments in a particular stream.
list_message_receipts
(message_id)Fetches receipts details from a specific message.
list_messages
(stream_id[, since, skip, limit])Get messages from an existing stream.
search_all_messages
(query[, sort_dir, ...])Searches for messages in the context of a specified user, given an argument-based query.
search_messages
(query[, sort_dir, skip, limit])Searches for messages in the context of a specified user, given an argument-based query and pagination attributes (skip and limit parameters).
send_message
(stream_id, message[, data, ...])Send a message to an existing stream.
suppress_message
(message_id)Suppresses a message, preventing its contents from being displayed to users.
update_message
(stream_id, message_id, message)Update an existing message.
- async blast_message(stream_ids: List[str], message: Union[str, symphony.bdk.core.service.message.model.Message], data=None, version: str = '', attachment: Optional[List[Union[IO, Tuple[IO, IO]]]] = None) symphony.bdk.gen.agent_model.v4_message_blast_response.V4MessageBlastResponse #
Send a message to multiple existing streams. See: Blast Message
- Parameters
stream_ids – The list of stream IDs to send the message to
message – a
Message
instance or a string containing the MessageML content to be sent. If it is aMessage
instance, other parameters will be ignored. If it is a string,<messageML>
tags can be omitted.data – an object (e.g. dict) that will be serialized into JSON using
json.dumps
.version – Optional message version in the format “major.minor”. If empty, defaults to the latest supported version.
attachment – One or more files (opened in binary or text mode) to be sent along with the message. Elements of the list can be attachment files or tuples of
(attachment, preview)
. If one attachment has a preview, then all attachments must have a preview. The limit is set to 30Mb total size; also, it is recommended not to exceed 25 files.
- Returns
- async get_attachment(stream_id: str, message_id: str, attachment_id: str) str #
Downloads the attachment body by the stream ID, message ID and attachment ID. See: Attachment
- Parameters
stream_id – The stream ID where to look for the attachment.
message_id – The ID of the message containing the attachment.
attachment_id – The ID of the attachment
- Returns
a byte array of attachment encoded in base 64.
- get_attachment_types() List[str] #
Retrieves a list of supported file extensions for attachments. See: Attachment Types
- Returns
a list of String containing all allowed file extensions for attachments.
- get_message(message_id: str) symphony.bdk.gen.agent_model.v4_message.V4Message #
Retrieves the details of a message given its message ID. See: Get Message
- Parameters
message_id – MessageId the ID of the message to be retrieved.
- Returns
a V4Message containing the message’s details.
- get_message_relationships(message_id: str) symphony.bdk.gen.pod_model.message_metadata_response.MessageMetadataResponse #
Gets the message metadata relationship. This API allows users to track the relationship between a message and all the forwards and replies of that message. See: Message Metadata
- Parameters
message_id – the ID of the message to get relationships from.
- Returns
a MessageMetadataResponse object holding information about the current message relationships (parent, replies, forwards and form replies).
- async get_message_status(message_id: str) symphony.bdk.gen.pod_model.message_status.MessageStatus #
Get the status of a particular message, i.e the list of users who the message was sent to, delivered to and the list of users who read the message. See: Message Status
- Parameters
message_id – MessageId the ID of the message to be checked
- Returns
Status of the given message
- import_messages(messages: List[symphony.bdk.gen.agent_model.v4_imported_message.V4ImportedMessage]) [<class 'symphony.bdk.gen.agent_model.v4_import_response.V4ImportResponse'>] #
Imports a list of messages to Symphony. See: Import Message
- Parameters
messages – List of messages to import.
- Returns
The list of imported messages
- list_attachments(stream_id: str, since: int = None, to: int = None, limit: int = 50, sort_dir: str = 'ASC') List[symphony.bdk.gen.pod_model.stream_attachment_item.StreamAttachmentItem] #
List attachments in a particular stream. See: List Attachments
- Parameters
stream_id – The stream ID where to look for the attachments
since – Timestamp of the first required attachment.
to – Timestamp of the last required attachment.
limit – Maximum number of attachments to return. This optional value defaults to 50 and should be between 0 and 100.
sort_dir – Attachment date sort direction : ASC or DESC. Default: ASC.
- Returns
the list of attachments in the stream.
- list_message_receipts(message_id: str) symphony.bdk.gen.pod_model.message_receipt_detail_response.MessageReceiptDetailResponse #
Fetches receipts details from a specific message. See: List Message Receipts
- Parameters
message_id – MessageId the ID of the message to get receipt details from.
:return:a MessageReceiptDetailResponse object holding all receipt information.
- list_messages(stream_id: str, since: int = 0, skip: int = 0, limit: int = 50) [<class 'symphony.bdk.gen.agent_model.v4_message.V4Message'>] #
Get messages from an existing stream. Additionally returns any attachments associated with the message. See: Messages
- Parameters
stream_id – The stream where to look for messages
since – Timestamp of the earliest possible date of the first message returned.
skip – Number of messages to skip. Default: 0
limit – Maximum number of messages to return. Default: 50
- Returns
the list of matching messages in the stream.
- async search_all_messages(query: symphony.bdk.gen.agent_model.message_search_query.MessageSearchQuery, sort_dir: str = 'desc', chunk_size: int = 50, max_number: Optional[int] = None) AsyncGenerator[symphony.bdk.gen.agent_model.v4_message.V4Message, None] #
Searches for messages in the context of a specified user, given an argument-based query. See: Message Search (using POST)
- Parameters
query – The search query arguments
sort_dir – Sorting direction for response. Possible values are desc (default) and asc.
chunk_size – the maximum number of elements to retrieve in one underlying HTTP call
max_number – the total maximum number of elements to retrieve
- Returns
an asynchronous generator of matching messages
- search_messages(query: symphony.bdk.gen.agent_model.message_search_query.MessageSearchQuery, sort_dir: str = 'desc', skip: int = 0, limit: int = 50) List[symphony.bdk.gen.agent_model.v4_message.V4Message] #
Searches for messages in the context of a specified user, given an argument-based query and pagination attributes (skip and limit parameters). See: Message Search (using POST)
- Parameters
query – The search query arguments
sort_dir – Sorting direction for response. Possible values are desc (default) and asc.
skip – Number of messages to skip. Default: 0
limit – Maximum number of messages to return. Default: 50
- Returns
The list of matching messages in the stream
- async send_message(stream_id: str, message: Union[str, symphony.bdk.core.service.message.model.Message], data=None, version: str = '', attachment: Optional[List[Union[IO, Tuple[IO, IO]]]] = None) symphony.bdk.gen.agent_model.v4_message.V4Message #
Send a message to an existing stream. See: Create Message
- Parameters
stream_id – The ID of the stream to send the message to.
message – a
Message
instance or a string containing the MessageML content to be sent. If it is aMessage
instance, other parameters will be ignored. If it is a string,<messageML>
tags can be omitted.data – an object (e.g. dict) that will be serialized into JSON using
json.dumps
.version – Optional message version in the format “major.minor”. If empty, defaults to the latest supported version.
attachment – One or more files (opened in binary or text mode) to be sent along with the message. Elements of the list can be attachment files or tuples of
(attachment, preview)
. If one attachment has a preview, then all attachments must have a preview. The limit is set to 30Mb total size; also, it is recommended not to exceed 25 files.
- Returns
a V4Message object containing the details of the sent message.
- suppress_message(message_id: str) symphony.bdk.gen.pod_model.message_suppression_response.MessageSuppressionResponse #
Suppresses a message, preventing its contents from being displayed to users. See: Suppress Message
- Parameters
message_id – Message ID of the message to be suppressed.
- Returns
a MessageSuppressionResponse instance containing information about the message suppression.
- update_message(stream_id: str, message_id: str, message: Union[str, symphony.bdk.core.service.message.model.Message], data=None, version: str = '', silent=True) symphony.bdk.gen.agent_model.v4_message.V4Message #
Update an existing message. The existing message must be a valid social message, that has not been deleted. See: Update Message
- Parameters
stream_id – The ID of the stream where the message is being updated.
message_id – The ID of the message that is being updated.
message – a
Message
instance or a string containing the MessageML content to be sent. If it is aMessage
instance, other parameters will be ignored. If it is a string,<messageML>
tags can be omitted.data – an object (e.g. dict) that will be serialized into JSON using
json.dumps
.silent – a bool flag that will determine if the updated message is going to be marked as read (when true, which is default value) or unread (when false).
version – Optional message version in the format “major.minor”. If empty, defaults to the latest supported version.
- Returns
a V4Message object containing the details of the updated message.