azure.communication.chat package¶
-
class
azure.communication.chat.
ChatClient
(endpoint: str, credential: CommunicationTokenCredential, **kwargs: Any)[source]¶ A client to interact with the AzureCommunicationService Chat gateway.
This client provides operations to create chat thread, delete chat thread, get chat thread by id, list chat threads, create chat thread client.
- Parameters
endpoint (str) – The endpoint of the Azure Communication resource.
credential (CommunicationTokenCredential) – The credentials with which to authenticate.
Example:
from azure.communication.chat import ChatClient from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options))
-
create_chat_thread
(topic: str, **kwargs: Any) → CreateChatThreadResult[source]¶ Creates a chat thread.
- Parameters
topic (str) – Required. The thread topic.
- Keyword Arguments
thread_participants (list[ChatThreadParticipant]) – Optional. Participants to be added to the thread.
repeatability_request_id (str) – Optional. If specified, the client directs that the request is repeatable; that is, that the client can make the request multiple times with the same Repeatability-Request-ID and get back an appropriate response without the server executing the request multiple times. The value of the Repeatability-Request-ID is an opaque string representing a client-generated, globally unique for all time, identifier for the request. If not specified, a new unique id would be generated.
- Returns
CreateChatThreadResult
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from datetime import datetime from azure.communication.identity import CommunicationUserIdentifier from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions from azure.communication.chat import( ChatClient, ChatThreadParticipant ) refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options)) topic = "test topic" participants = [ChatThreadParticipant( user=self.user, display_name='name', share_history_time=datetime.utcnow() )] # creates a new chat_thread everytime create_chat_thread_result = chat_client.create_chat_thread(topic, thread_participants=participants) # creates a new chat_thread if not exists repeatability_request_id = 'b66d6031-fdcc-41df-8306-e524c9f226b8' # unique identifier create_chat_thread_result_w_repeatability_id = chat_client.create_chat_thread( topic, thread_participants=participants, repeatability_request_id=repeatability_request_id )
-
delete_chat_thread
(thread_id: str, **kwargs: Any) → None[source]¶ Deletes a thread.
- Parameters
thread_id (str) – Required. Thread id to delete.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatClient from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options)) chat_client.delete_chat_thread(self._thread_id)
-
get_chat_thread
(thread_id: str, **kwargs: Any) → ChatThread[source]¶ Gets a chat thread.
- Parameters
thread_id (str) – Required. Thread id to get.
- Returns
ChatThread
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatClient from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options)) chat_thread = chat_client.get_chat_thread(self._thread_id)
-
get_chat_thread_client
(thread_id: str, **kwargs: Any) → ChatThreadClient[source]¶ Get ChatThreadClient by providing a thread_id.
- Parameters
thread_id (str) – Required. The thread id.
- Returns
ChatThreadClient
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatClient from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options)) chat_thread_client = chat_client.get_chat_thread_client(self._thread_id)
-
list_chat_threads
(**kwargs) → ItemPaged[ChatThreadInfo][source]¶ Gets the list of chat threads of a user.
- Keyword Arguments
- Returns
An iterator like instance of ChatThreadInfo
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatClient from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions from datetime import datetime, timedelta import pytz refresh_options = CommunicationTokenRefreshOptions(self.token) chat_client = ChatClient(self.endpoint, CommunicationTokenCredential(refresh_options)) start_time = datetime.utcnow() - timedelta(days=2) start_time = start_time.replace(tzinfo=pytz.utc) chat_thread_infos = chat_client.list_chat_threads(results_per_page=5, start_time=start_time) print("list_threads succeeded with results_per_page is 5, and were created since 2 days ago.") for chat_thread_info_page in chat_thread_infos.by_page(): for chat_thread_info in chat_thread_info_page: print("thread id:", chat_thread_info.id)
-
class
azure.communication.chat.
ChatThreadClient
(endpoint: str, credential: CommunicationTokenCredential, thread_id: str, **kwargs: Any)[source]¶ A client to interact with the AzureCommunicationService Chat gateway. Instances of this class is normally created by ChatClient.create_chat_thread()
This client provides operations to add participant to chat thread, remove participant from chat thread, send message, delete message, update message, send typing notifications, send and list read receipt
- Variables
- Parameters
Example:
from datetime import datetime from azure.communication.identity import CommunicationUserIdentifier from azure.communication.identity._shared.user_credential import CommunicationTokenCredential from azure.communication.chat._shared.user_token_refresh_options import CommunicationTokenRefreshOptions from azure.communication.chat import ( ChatClient, ChatThreadParticipant ) # retrieve `token` using CommunicationIdentityClient.get_token method # set `endpoint` to ACS service endpoint # create `user` using CommunicationIdentityClient.create_user method for new users; # else for existing users set `user` = CommunicationUserIdentifier(some_user_id) refresh_options = CommunicationTokenRefreshOptions(token) chat_client = ChatClient(endpoint, CommunicationTokenCredential(refresh_options)) topic = "test topic" participants = [ChatThreadParticipant( user=user, display_name='name', share_history_time=datetime.utcnow() )] create_chat_thread_result = chat_client.create_chat_thread(topic, thread_participants=participants) chat_thread_client = chat_client.get_chat_thread_client(create_chat_thread_result.chat_thread.id)
-
add_participant
(thread_participant: ChatThreadParticipant, **kwargs: Any) → None[source]¶ Adds single thread participant to a thread. If participant already exist, no change occurs.
If participant is added successfully, a tuple of (None, None) is expected. Failure to add participant to thread returns tuple of (chat_thread_participant, communication_error).
- Parameters
thread_participant (ChatThreadParticipant) – Required. Single thread participant to be added to the thread.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError, RuntimeError
Example:
from azure.communication.chat import ChatThreadParticipant from datetime import datetime def decide_to_retry(error): """ Custom logic to decide whether to retry to add or not """ return True # set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # create `user` using CommunicationIdentityClient.create_user method for new users; # else for existing users set `user` = CommunicationUserIdentifier(some_user_id) new_chat_thread_participant = ChatThreadParticipant( user=user, display_name='name', share_history_time=datetime.utcnow()) # check if participant has been added successfully try: chat_thread_client.add_participant(new_chat_thread_participant) except RuntimeError as e: if e is not None and decide_to_retry(error=e): chat_thread_client.add_participant(new_chat_thread_participant)
-
add_participants
(thread_participants: list[ChatThreadParticipant], **kwargs: Any) → list[ChatThreadParticipant, CommunicationError][source]¶ Adds thread participants to a thread. If participants already exist, no change occurs.
If all participants are added successfully, then an empty list is returned; otherwise, a list of tuple(chat_thread_participant, communincation_error) is returned, of failed participants and its respective error
- Parameters
thread_participants (list[ChatThreadParticipant]) – Required. Thread participants to be added to the thread.
- Returns
List[Tuple(ChatThreadParticipant, CommunicationError)]
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError, RuntimeError
Example:
from azure.communication.chat import ChatThreadParticipant from datetime import datetime def decide_to_retry(error): """ Custom logic to decide whether to retry to add or not """ return True # set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # create `user` using CommunicationIdentityClient.create_user method for new users; # else for existing users set `user` = CommunicationUserIdentifier(some_user_id) new_participant = ChatThreadParticipant( user=user, display_name='name', share_history_time=datetime.utcnow()) # create list containing one or more participants thread_participants = [new_participant] result = chat_thread_client.add_participants(thread_participants) # list of participants which were unsuccessful to be added to chat thread retry = [p for p, e in result if decide_to_retry(e)] if len(retry) > 0: chat_thread_client.add_participants(retry)
-
delete_message
(message_id: str, **kwargs: Any) → None[source]¶ Deletes a message.
- Parameters
message_id (str) – Required. The message id.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # set `message_id` to an existing message id chat_thread_client.delete_message(message_id)
-
get_message
(message_id: str, **kwargs: Any) → ChatMessage[source]¶ Gets a message by id.
- Parameters
message_id (str) – Required. The message id.
- Returns
ChatMessage
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # set `message_id` to an existing message id chat_message = chat_thread_client.get_message(message_id) print("Message received: ChatMessage: content=", chat_message.content.message, ", id=", chat_message.id)
-
list_messages
(**kwargs: Any) → ItemPaged[ChatMessage][source]¶ Gets a list of messages from a thread.
- Keyword Arguments
The timestamp should be in RFC3339 format:
yyyy-MM-ddTHH:mm:ssZ
. :return: An iterator like instance of ChatMessage :rtype: ~azure.core.paging.ItemPaged[~azure.communication.chat.ChatMessage] :raises: ~azure.core.exceptions.HttpResponseError, ValueErrorExample:
from datetime import datetime, timedelta # set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) start_time = datetime.utcnow() - timedelta(days=1) chat_messages = chat_thread_client.list_messages(results_per_page=1, start_time=start_time) print("list_messages succeeded with results_per_page is 1, and start time is yesterday UTC") for chat_message_page in chat_messages.by_page(): for chat_message in chat_message_page: print("ChatMessage: message=", chat_message.content.message)
-
list_participants
(**kwargs: Any) → ItemPaged[ChatThreadParticipant][source]¶ Gets the participants of a thread.
- Keyword Arguments
- Returns
An iterator like instance of ChatThreadParticipant
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) chat_thread_participants = chat_thread_client.list_participants() for chat_thread_participant_page in chat_thread_participants.by_page(): for chat_thread_participant in chat_thread_participant_page: print("ChatThreadParticipant: ", chat_thread_participant)
-
list_read_receipts
(**kwargs: Any) → ItemPaged[ChatMessageReadReceipt][source]¶ Gets read receipts for a thread.
- Keyword Arguments
- Returns
An iterator like instance of ChatMessageReadReceipt
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) read_receipts = chat_thread_client.list_read_receipts() for read_receipt_page in read_receipts.by_page(): for read_receipt in read_receipt_page: print(read_receipt)
-
remove_participant
(user: CommunicationUserIdentifier, **kwargs: Any) → None[source]¶ Remove a participant from a thread.
- Parameters
user (CommunicationUserIdentifier) – Required. User identity of the thread participant to remove from the thread.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatThreadParticipant from azure.communication.identity import CommunicationUserIdentifier from datetime import datetime # create 2 new users using CommunicationIdentityClient.create_user method user1 = identity_client.create_user() user2 = identity_client.create_user() # set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # add user1 and user2 to chat thread participant1 = ChatThreadParticipant( user=user1, display_name='Fred Flinstone', share_history_time=datetime.utcnow()) participant2 = ChatThreadParticipant( user=user2, display_name='Wilma Flinstone', share_history_time=datetime.utcnow()) thread_participants = [participant1, participant2] chat_thread_client.add_participants(thread_participants) # Option 1 : Iterate through all participants, find and delete Fred Flinstone chat_thread_participants = chat_thread_client.list_participants() for chat_thread_participant_page in chat_thread_participants.by_page(): for chat_thread_participant in chat_thread_participant_page: print("ChatThreadParticipant: ", chat_thread_participant) if chat_thread_participant.user.identifier == user1.identifier: print("Found Fred!") chat_thread_client.remove_participant(chat_thread_participant.user) print("Fred has been removed from the thread...") break # Option 2: Directly remove Wilma Flinstone unique_identifier = user2.identifier # in real scenario the identifier would need to be retrieved from elsewhere chat_thread_client.remove_participant(CommunicationUserIdentifier(unique_identifier)) print("Wilma has been removed from the thread...")
-
send_message
(content: str, **kwargs: Any) → str[source]¶ Sends a message to a thread.
- Parameters
content (str) – Required. Chat message content.
chat_message_type – The chat message type. Possible values include: “text”, “html”.
Default: ChatMessageType.TEXT :type chat_message_type: str or ~azure.communication.chat.models.ChatMessageType :keyword str sender_display_name: The display name of the message sender. This property is used to
populate sender name for push notifications.
- Returns
str
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
from azure.communication.chat import ChatMessageType # set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # Scenario 1: Send message without specifying chat_message_type send_message_result_id = chat_thread_client.send_message( "Hello! My name is Fred Flinstone", sender_display_name="Fred Flinstone") # Scenario 2: Send message specifying chat_message_type send_message_result_w_type_id = chat_thread_client.send_message( "Hello! My name is Wilma Flinstone", sender_display_name="Wilma Flinstone", chat_message_type=ChatMessageType.TEXT) # equivalent to setting chat_message_type='text' # Verify message content print("First Message:", chat_thread_client.get_message(send_message_result_id).content.message) print("Second Message:", chat_thread_client.get_message(send_message_result_w_type_id).content.message)
-
send_read_receipt
(message_id: str, **kwargs: Any) → None[source]¶ Posts a read receipt event to a thread, on behalf of a user.
- Parameters
message_id (str) – Required. Id of the latest message read by current user.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # set `message_id` to an existing message id chat_thread_client.send_read_receipt(message_id)
-
send_typing_notification
(**kwargs: Any) → None[source]¶ Posts a typing event to a thread, on behalf of a user.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) chat_thread_client.send_typing_notification()
-
update_message
(message_id: str, content: Optional[str] = None, **kwargs: Any) → None[source]¶ Updates a message.
- Parameters
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) # set `message_id` to an existing message id previous_content = chat_thread_client.get_message(message_id).content.message content = "updated content" chat_thread_client.update_message(message_id, content=content) current_content = chat_thread_client.get_message(message_id).content.message print("Chat Message Updated: Previous value: ", previous_content, ", Current value: ", current_content)
-
update_topic
(topic: Optional[str] = None, **kwargs: Any) → None[source]¶ Updates a thread’s properties.
- Parameters
topic (str) – Thread topic. If topic is not specified, the update will succeeded but chat thread properties will not be changed.
- Returns
None
- Return type
- Raises
~azure.core.exceptions.HttpResponseError, ValueError
Example:
# set `thread_id` to an existing thread id chat_thread = chat_client.get_chat_thread(thread_id=thread_id) previous_topic = chat_thread.topic chat_thread_client = chat_client.get_chat_thread_client(thread_id=thread_id) topic = "updated thread topic" chat_thread_client.update_topic(topic=topic) chat_thread = chat_client.get_chat_thread(thread_id=thread_id) updated_topic = chat_thread.topic print("Chat Thread Topic Update: Previous value: ", previous_topic, ", Current value: ", updated_topic)
-
class
azure.communication.chat.
ChatMessage
(**kwargs: Any)[source]¶ Chat message.
Variables are only populated by the server, and will be ignored when sending a request.
- Variables
id (str) – The id of the chat message. This id is server generated.
type – Type of the chat message. Possible values include: “text”, “html”, “topicUpdated”, “participantAdded”, “participantRemoved”.
sequence_id – Sequence of the chat message in the conversation.
version (str) – Version of the chat message.
content – Content of the chat message.
sender_display_name – The display name of the chat message sender. This property is used to populate sender name for push notifications.
created_on – The timestamp when the chat message arrived at the server. The timestamp is in RFC3339 format:
yyyy-MM-ddTHH:mm:ssZ
.sender_communication_identifier – The chat message sender.
deleted_on – The timestamp when the chat message was deleted. The timestamp is in RFC3339 format:
yyyy-MM-ddTHH:mm:ssZ
.edited_on – The last timestamp (if applicable) when the message was edited. The timestamp is in RFC3339 format:
yyyy-MM-ddTHH:mm:ssZ
.
-
class
azure.communication.chat.
ChatMessageContent
(**kwargs: Any)[source]¶ Content of a chat message.
- Variables
message – Chat message content for messages of types text or html.
topic – Chat message content for messages of type topicUpdated.
participants – Chat message content for messages of types participantAdded or participantRemoved.
initiator_communication_identifier – Chat message content for messages of types participantAdded or participantRemoved.
-
class
azure.communication.chat.
ChatMessageReadReceipt
(**kwargs: Any)[source]¶ A chat message read receipt indicates the time a chat message was read by a recipient.
Variables are only populated by the server, and will be ignored when sending a request.
-
class
azure.communication.chat.
SendChatMessageResult
(*, id: str, **kwargs)[source]¶ Result of the send message operation.
All required parameters must be populated in order to send to Azure.
- Parameters
id (str) – Required. A server-generated message id.
-
as_dict
(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)¶ Return a dict that can be JSONify using json.dump.
Advanced usage might optionaly use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains ‘type’ with the msrest type and ‘key’ with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
- Parameters
key_transformer (function) – A key transformer function.
- Returns
A dict JSON compatible object
- Return type
-
classmethod
deserialize
(data, content_type=None)¶ Parse a str using the RestAPI syntax and return a model.
-
classmethod
enable_additional_properties_sending
()¶
-
classmethod
from_dict
(data, key_extractors=None, content_type=None)¶ Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
-
classmethod
is_xml_model
()¶
-
serialize
(keep_readonly=False, **kwargs)¶ Return the JSON that would be sent to azure from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
-
class
azure.communication.chat.
ChatThread
(**kwargs: Any)[source]¶ ChatThread.
Variables are only populated by the server, and will be ignored when sending a request.
-
class
azure.communication.chat.
ChatThreadInfo
(*, id: str, topic: str, deleted_on: Optional[datetime.datetime] = None, **kwargs)[source]¶ Summary information of a chat thread.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- Parameters
- Variables
last_message_received_on (datetime) – The timestamp when the last message arrived at the server. The timestamp is in RFC3339 format:
yyyy-MM-ddTHH:mm:ssZ
.
-
as_dict
(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)¶ Return a dict that can be JSONify using json.dump.
Advanced usage might optionaly use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains ‘type’ with the msrest type and ‘key’ with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
- Parameters
key_transformer (function) – A key transformer function.
- Returns
A dict JSON compatible object
- Return type
-
classmethod
deserialize
(data, content_type=None)¶ Parse a str using the RestAPI syntax and return a model.
-
classmethod
enable_additional_properties_sending
()¶
-
classmethod
from_dict
(data, key_extractors=None, content_type=None)¶ Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
-
classmethod
is_xml_model
()¶
-
serialize
(keep_readonly=False, **kwargs)¶ Return the JSON that would be sent to azure from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
-
class
azure.communication.chat.
ChatThreadParticipant
(**kwargs: Any)[source]¶ A participant of the chat thread.
All required parameters must be populated in order to send to Azure.
- Variables
user – Required. The CommunicationUserIdentifier.
display_name – Display name for the chat thread participant.
share_history_time – Time from which the chat history is shared with the participant. The timestamp is in ISO8601 format:
yyyy-MM-ddTHH:mm:ssZ
.
-
class
azure.communication.chat.
ChatMessageType
[source]¶ The chat message type.
-
HTML
= 'html'¶
-
PARTICIPANT_ADDED
= 'participantAdded'¶
-
PARTICIPANT_REMOVED
= 'participantRemoved'¶
-
TEXT
= 'text'¶
-
TOPIC_UPDATED
= 'topicUpdated'¶
-
-
class
azure.communication.chat.
CreateChatThreadResult
(**kwargs: Any)[source]¶ Result of the create chat thread operation.
- Variables
chat_thread – Chat thread.
errors – Errors encountered during the creation of the chat thread.
-
class
azure.communication.chat.
CommunicationError
(*, code: str, message: str, **kwargs)[source]¶ The Communication Services error.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
- Parameters
- Variables
-
as_dict
(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)¶ Return a dict that can be JSONify using json.dump.
Advanced usage might optionaly use a callback as parameter:
Key is the attribute name used in Python. Attr_desc is a dict of metadata. Currently contains ‘type’ with the msrest type and ‘key’ with the RestAPI encoded key. Value is the current value in this object.
The string returned will be used to serialize the key. If the return type is a list, this is considered hierarchical result dict.
See the three examples in this file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
If you want XML serialization, you can pass the kwargs is_xml=True.
- Parameters
key_transformer (function) – A key transformer function.
- Returns
A dict JSON compatible object
- Return type
-
classmethod
deserialize
(data, content_type=None)¶ Parse a str using the RestAPI syntax and return a model.
-
classmethod
enable_additional_properties_sending
()¶
-
classmethod
from_dict
(data, key_extractors=None, content_type=None)¶ Parse a dict using given key extractor return a model.
By default consider key extractors (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor and last_rest_key_case_insensitive_extractor)
-
classmethod
is_xml_model
()¶
-
serialize
(keep_readonly=False, **kwargs)¶ Return the JSON that would be sent to azure from this model.
This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
If you want XML serialization, you can pass the kwargs is_xml=True.
Subpackages¶
Submodules¶
azure.communication.chat.communication_identifier_serializer module¶
-
class
azure.communication.chat.communication_identifier_serializer.
CommunicationUserIdentifierSerializer
[source]¶ -
-
classmethod
deserialize
(identifierModel)[source]¶ Deserialize the CommunicationIdentifierModel into Communication Identifier :param identifierModel: CommunicationIdentifierModel :type identifierModel: CommunicationIdentifierModel :return: Union[CommunicationUserIdentifier, CommunicationPhoneNumberIdentifier] :rtype: Union[CommunicationUserIdentifier, CommunicationPhoneNumberIdentifier] :rasies: ValueError
-
classmethod
serialize
(communicationIdentifier)[source]¶ Serialize the Communication identifier into CommunicationIdentifierModel :param identifier: Identifier object :type identifier: Union[CommunicationUserIdentifier,
PhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, UnknownIdentifier]
- Returns
CommunicationIdentifierModel
- Return type
CommunicationIdentifierModel
:raises Union[TypeError, ValueError]
-
classmethod