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.OboMessageServiceService 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
Messageinstance or a string containing the MessageML content to be sent. If it is aMessageinstance, 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
Messageinstance or a string containing the MessageML content to be sent. If it is aMessageinstance, 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
Messageinstance or a string containing the MessageML content to be sent. If it is aMessageinstance, 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.