Skip to content

YammerClient

Attributes

TRIGGER_OPERATIONS module-attribute

TRIGGER_OPERATIONS: Dict[str, Dict[str, Any]] = {'OnNewMessagesFollowingV2': {'operation_id': 'OnNewMessagesFollowingV2', 'path': '/{connectionId}/v2/trigger/messages/following.json', 'method': 'get', 'required_parameters': [], 'callback_payload_type': 'MessageList'}, 'OnNewMessagesInGroupV2': {'operation_id': 'OnNewMessagesInGroupV2', 'path': '/{connectionId}/v2/trigger/in_group/{group_id}.json', 'method': 'get', 'required_parameters': ['group_id'], 'callback_payload_type': 'MessageList'}}

Classes

Network dataclass

Network(*, id: Optional[str] = None, name: Optional[str] = None, permalink: Optional[str] = None)

Response for Get my networks

Attributes

id class-attribute instance-attribute
id: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique identifier of the network.

name class-attribute instance-attribute
name: Optional[str] = dataclass_field(default=None, kw_only=True)

Summary of the network.

permalink: Optional[str] = dataclass_field(default=None, kw_only=True)

Web link to the network page.

YammerEntity dataclass

YammerEntity(*, type_: Optional[str] = None, id: Optional[int] = None, full_name: Optional[str] = None)

Response for Get groups

Attributes

type_ class-attribute instance-attribute
type_: Optional[str] = dataclass_field(default=None, kw_only=True, metadata={'wire_name': 'type'})

Details of the Viva Engage entity.

id class-attribute instance-attribute
id: Optional[int] = dataclass_field(default=None, kw_only=True)

Unique identifier of the group.

full_name class-attribute instance-attribute
full_name: Optional[str] = dataclass_field(default=None, kw_only=True)

Name of the Viva Engage entity.

User dataclass

User(*, name: Optional[str] = None, job_title: Optional[str] = None, location: Optional[str] = None, full_name: Optional[str] = None, first_name: Optional[str] = None, last_name: Optional[str] = None, web_url: Optional[str] = None, email: Optional[str] = None, birth_date: Optional[str] = None, mugshot_url: Optional[str] = None)

Response for Get user details

Attributes

name class-attribute instance-attribute
name: Optional[str] = dataclass_field(default=None, kw_only=True)

Username.

job_title class-attribute instance-attribute
job_title: Optional[str] = dataclass_field(default=None, kw_only=True)

User job title.

location class-attribute instance-attribute
location: Optional[str] = dataclass_field(default=None, kw_only=True)

User location.

full_name class-attribute instance-attribute
full_name: Optional[str] = dataclass_field(default=None, kw_only=True)

User full name.

first_name class-attribute instance-attribute
first_name: Optional[str] = dataclass_field(default=None, kw_only=True)

User first name.

last_name class-attribute instance-attribute
last_name: Optional[str] = dataclass_field(default=None, kw_only=True)

User last name.

web_url class-attribute instance-attribute
web_url: Optional[str] = dataclass_field(default=None, kw_only=True)

User profile url.

email class-attribute instance-attribute
email: Optional[str] = dataclass_field(default=None, kw_only=True)

User email.

birth_date class-attribute instance-attribute
birth_date: Optional[str] = dataclass_field(default=None, kw_only=True)

User birth date.

mugshot_url class-attribute instance-attribute
mugshot_url: Optional[str] = dataclass_field(default=None, kw_only=True)

User photo url.

PageableMessageList dataclass

PageableMessageList(*, value: Optional[List[Message | Mapping[str, Any]]] = None, next_link: Optional[str] = None)

Response for Get all messages

Attributes

next_link: Optional[str] = dataclass_field(default=None, kw_only=True, metadata={'wire_name': 'nextLink'})

The URL to retrieve the next page.

MessageList dataclass

MessageList(*, messages: Optional[List[Message | Mapping[str, Any]]] = None)

Response for When there is a new message in my followed feed

Attributes

messages class-attribute instance-attribute
messages: Optional[List[Message | Mapping[str, Any]]] = dataclass_field(default=None, kw_only=True)

messages

Message dataclass

Message(*, id: Optional[int] = None, content_excerpt: Optional[str] = None, sender_id: Optional[int] = None, replied_to_id: Optional[int] = None, created_at: Optional[str] = None, network_id: Optional[int] = None, message_type: Optional[str] = None, sender_type: Optional[str] = None, url: Optional[str] = None, web_url: Optional[str] = None, group_id: Optional[int] = None, body: Optional[MessageBody | Mapping[str, Any]] = None, thread_id: Optional[int] = None, direct_message: Optional[bool] = None, client_type: Optional[str] = None, client_url: Optional[str] = None, language: Optional[str] = None, notified_user_ids: Optional[List[int]] = None, privacy: Optional[str] = None, liked_by: Optional[LikedBy | Mapping[str, Any]] = None, system_message: Optional[bool] = None)

Definition: Message

Attributes

id class-attribute instance-attribute
id: Optional[int] = dataclass_field(default=None, kw_only=True)

ID associated with the post.

content_excerpt class-attribute instance-attribute
content_excerpt: Optional[str] = dataclass_field(default=None, kw_only=True)

Text Content of the post.

sender_id class-attribute instance-attribute
sender_id: Optional[int] = dataclass_field(default=None, kw_only=True)

Unique ID of user who posted the message.

replied_to_id class-attribute instance-attribute
replied_to_id: Optional[int] = dataclass_field(default=None, kw_only=True)

ID of the message to which this message is a reply.

created_at class-attribute instance-attribute
created_at: Optional[str] = dataclass_field(default=None, kw_only=True)

Time at which the message was created.

network_id class-attribute instance-attribute
network_id: Optional[int] = dataclass_field(default=None, kw_only=True)

Id of the network message is associated with.

message_type class-attribute instance-attribute
message_type: Optional[str] = dataclass_field(default=None, kw_only=True)

Description of the message type.

sender_type class-attribute instance-attribute
sender_type: Optional[str] = dataclass_field(default=None, kw_only=True)

Description of the type of sender.

url class-attribute instance-attribute
url: Optional[str] = dataclass_field(default=None, kw_only=True)

API url of the post.

web_url class-attribute instance-attribute
web_url: Optional[str] = dataclass_field(default=None, kw_only=True)

Web url of the post.

group_id class-attribute instance-attribute
group_id: Optional[int] = dataclass_field(default=None, kw_only=True)

Unique ID of group who posted the message.

thread_id class-attribute instance-attribute
thread_id: Optional[int] = dataclass_field(default=None, kw_only=True)

Unique ID of thread.

direct_message class-attribute instance-attribute
direct_message: Optional[bool] = dataclass_field(default=None, kw_only=True)

Flag to specify if the post is a a direct message.

client_type class-attribute instance-attribute
client_type: Optional[str] = dataclass_field(default=None, kw_only=True)

Type of the client.

client_url class-attribute instance-attribute
client_url: Optional[str] = dataclass_field(default=None, kw_only=True)

Web link of the client.

language class-attribute instance-attribute
language: Optional[str] = dataclass_field(default=None, kw_only=True)

Language used in the message.

notified_user_ids class-attribute instance-attribute
notified_user_ids: Optional[List[int]] = dataclass_field(default=None, kw_only=True)

Details of users notified.

privacy class-attribute instance-attribute
privacy: Optional[str] = dataclass_field(default=None, kw_only=True)

Details of the privacy associated with the message.

system_message class-attribute instance-attribute
system_message: Optional[bool] = dataclass_field(default=None, kw_only=True)

Flag to specify if the post is a system generated message or not.

Topic dataclass

Topic(*, id: Optional[int] = None, name: Optional[str] = None)

Definition: Topic

Attributes

id class-attribute instance-attribute
id: Optional[int] = dataclass_field(default=None, kw_only=True)

Unique identifier of the topic.

name class-attribute instance-attribute
name: Optional[str] = dataclass_field(default=None, kw_only=True)

Name of the topic.

PostOperationRequest dataclass

PostOperationRequest(group_id: int, body: str, *, replied_to_id: Optional[int] = None, direct_to_id: Optional[int] = None, broadcast: Optional[bool] = None, title: Optional[str] = None)

Definition: PostOperationRequest

Attributes

group_id instance-attribute
group_id: int

The group to post a message to (0 = All Company/Network).

body instance-attribute
body: str

Your message to be posted into your network.

replied_to_id class-attribute instance-attribute
replied_to_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The message ID this message is in reply to.

direct_to_id class-attribute instance-attribute
direct_to_id: Optional[int] = dataclass_field(default=None, kw_only=True)

If set, a private message will be sent directly to the user with the indicated ID.

broadcast class-attribute instance-attribute
broadcast: Optional[bool] = dataclass_field(default=None, kw_only=True)

Post message as an announcement to all users in a group.

title class-attribute instance-attribute
title: Optional[str] = dataclass_field(default=None, kw_only=True)

Title of the message to be posted.

MessageBody dataclass

MessageBody(*, parsed: Optional[str] = None, plain: Optional[str] = None, rich: Optional[str] = None)

Definition: MessageBody

Attributes

parsed class-attribute instance-attribute
parsed: Optional[str] = dataclass_field(default=None, kw_only=True)

Parsed text format.

plain class-attribute instance-attribute
plain: Optional[str] = dataclass_field(default=None, kw_only=True)

Plain text format.

rich class-attribute instance-attribute
rich: Optional[str] = dataclass_field(default=None, kw_only=True)

Rich text format.

LikedBy dataclass

LikedBy(*, count: Optional[int] = None, names: Optional[List[Dict[str, Any]]] = None)

Definition: LikedBy

Attributes

count class-attribute instance-attribute
count: Optional[int] = dataclass_field(default=None, kw_only=True)

Number of distinct likes.

names class-attribute instance-attribute
names: Optional[List[Dict[str, Any]]] = dataclass_field(default=None, kw_only=True)

List of people who liked the post.

YammerClient

YammerClient(connection_runtime_url: str, credential: AsyncTokenCredential | AzureKeyCredential, *, max_retry_attempts: int = 3, timeout: float = 30.0, use_exponential_backoff: bool = True, initial_retry_delay_seconds: float = 0.5, maximum_retry_delay_seconds: float = 120.0, retry_jitter_factor: float = 0.1, retry_unsafe_http_methods: bool = False, transport: Optional[AsyncHttpTransport] = None, **kwargs: Any)

Bases: ConnectorClientBase

Typed client for yammer connector.

Initialize a YammerClient.

Parameters:

Name Type Description Default
connection_runtime_url str

The connection runtime URL from Azure Portal.

required
credential AsyncTokenCredential | AzureKeyCredential

Caller-owned Azure Core credential.

required
max_retry_attempts int

The maximum number of request attempts.

3
timeout float

The network timeout in seconds for each request. The value configures Azure Core retry and transport deadlines. Nonpositive values disable SDK and transport deadlines.

30.0
use_exponential_backoff bool

Whether retries use exponential backoff.

True
initial_retry_delay_seconds float

The initial retry delay in seconds.

0.5
maximum_retry_delay_seconds float

The maximum retry delay in seconds.

120.0
retry_jitter_factor float

The jitter fraction applied to retry delays.

0.1
retry_unsafe_http_methods bool

Whether unsafe HTTP methods may be retried.

False
transport Optional[AsyncHttpTransport]

Optional Azure Core async HTTP transport closed by the client through its asynchronous lifecycle.

None
**kwargs Any

Optional Azure Core pipeline policy settings.

{}

Methods:

list_networks
list_networks(*, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get my networks

Gets all the networks that the user belongs to.

Returns a single-page Azure Core async collection.

Swagger operation ID: GetNetworks.

Parameters:

Name Type Description Default
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_groups
list_groups(*, network_id: Optional[str] = None, mine: Optional[int] = None, show_all_company_group: Optional[int] = None, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get groups

Gets all groups. If mine = 1, get only groups to which the user belongs

Returns a single-page Azure Core async collection.

Swagger operation ID: GetGroups.

Parameters:

Name Type Description Default
network_id Optional[str]

Network ID.

None
mine Optional[int]

Used for getting groups which user is part of.

None
show_all_company_group Optional[int]

Used for showing All Company Group.

None
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

get_user_details_by_id async
get_user_details_by_id(user_id: int, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Get user details

This operation returns user profile details.

Swagger operation ID: GetUserDetailsById.

Parameters:

Name Type Description Default
user_id int

Unique identifier of the user.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.

like_message async
like_message(message_id: str, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> None

Like message

This operation is used to like the specified message.

Swagger operation ID: LikeMessage.

Parameters:

Name Type Description Default
message_id str

Unique id of the message.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Name Type Description
None None

The operation completes without a response body.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_all_messages
list_all_messages(*, network_id: Optional[str] = None, older_than: Optional[int] = None, newer_than: Optional[int] = None, threaded: Optional[str] = None, limit: Optional[int] = None, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get all messages

This operation returns all public messages in the logged in user's Viva Engage network. Corresponds to "All" conversations in the Viva Engage web interface.

Returns an Azure Core async pager that follows the connector continuation URL.

Swagger operation ID: GetAllMessagesV3.

Parameters:

Name Type Description Default
network_id Optional[str]

Network ID.

None
older_than Optional[int]

Returns messages older than the message ID specified as a numeric string. This is useful for paginating messages. For example, if you're currently viewing 20 messages and the oldest is number 2912, you could append "?older_than=2912″ to your request to get the 20 messages prior to those you're seeing.

None
newer_than Optional[int]

Returns messages newer than the message ID specified as a numeric string. This should be used when polling for new messages. If you're looking at messages, and the most recent message returned is 3516, you can make a request with the parameter "?newer_than=3516″ to ensure that you do not get duplicate copies of messages already on your page.

None
threaded Optional[str]

Threaded=true will only return the thread starter (first message) for each thread. This parameter is intended for apps which need to display message threads collapsed. threaded=extended will return the thread starter messages and the two most recent messages all ordered by activity, as they are viewed in the default view on the Viva Engage web interface.

None
limit Optional[int]

Return only the specified number of messages.

None
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_messages_following
list_messages_following(*, network_id: Optional[str] = None, older_than: Optional[int] = None, newer_than: Optional[int] = None, threaded: Optional[str] = None, limit: Optional[int] = None, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get the messages from my Following feed

This operation returns the messages from Following feed which is conversations involving people, groups and topics that the user is following.

Returns an Azure Core async pager that follows the connector continuation URL.

Swagger operation ID: GetMessagesFollowingV3.

Parameters:

Name Type Description Default
network_id Optional[str]

Unique identifier of the network.

None
older_than Optional[int]

Returns messages older than the message ID specified as a numeric string. This is useful for paginating messages. For example, if you're currently viewing 20 messages and the oldest is number 2912, you could append "?older_than=2912″ to your request to get the 20 messages prior to those you're seeing.

None
newer_than Optional[int]

Returns messages newer than the message ID specified as a numeric string. This should be used when polling for new messages. If you're looking at messages, and the most recent message returned is 3516, you can make a request with the parameter "?newer_than=3516″ to ensure that you do not get duplicate copies of messages already on your page.

None
threaded Optional[str]

Threaded=true will only return the thread starter (first message) for each thread. This parameter is intended for apps which need to display message threads collapsed. threaded=extended will return the thread starter messages and the two most recent messages all ordered by activity, as they are viewed in the default view on the Viva Engage web interface.

None
limit Optional[int]

Return only the specified number of messages.

None
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_messages_in_group
list_messages_in_group(group_id: int, *, network_id: Optional[str] = None, older_than: Optional[int] = None, newer_than: Optional[int] = None, threaded: Optional[str] = None, limit: Optional[int] = None, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get messages in a group

This operation returns the messages posted in a group.

Returns an Azure Core async pager that follows the connector continuation URL.

Swagger operation ID: GetMessagesInGroupV3.

Parameters:

Name Type Description Default
group_id int

Unique identifier of the group.

required
network_id Optional[str]

Unique identifier of the network.

None
older_than Optional[int]

Returns messages in threads where the thread's latest message is older than the specified message ID. Any thread with a most recent message ID that is newer than or equal to the specified ID will not have any of its messages returned by this query.

None
newer_than Optional[int]

Returns messages in threads where the thread's latest message is newer than the specified message ID. Any thread with a most recent message ID that is older than or equal to the specified ID will not have any of its messages returned by this query.

None
threaded Optional[str]

Threaded=true will only return the thread starter (first message) for each thread. This parameter is intended for apps which need to display message threads collapsed. threaded=extended will return the thread starter messages and the two most recent messages all ordered by activity, as they are viewed in the default view on the Viva Engage web interface.

None
limit Optional[int]

Return only the specified number of messages.

None
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_messages_in_thread
list_messages_in_thread(thread_id: int, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Get messages in a thread

This operation returns the messages posted in a thread.

Returns an Azure Core async pager that follows the connector continuation URL.

Swagger operation ID: GetMessagesInThreadV3.

Parameters:

Name Type Description Default
thread_id int

Unique identifier of the thread.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

post_message async
post_message(input: PostOperationRequest | Mapping[str, Any], *, network_id: Optional[str] = None, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Post message

This operation is used to post a Message to a Group or All Company Feed. If group ID is provided, message will be posted to the specified group else it will be posted in All Company Feed.

Swagger operation ID: PostMessageV2.

Parameters:

Name Type Description Default
input PostOperationRequest | Mapping[str, Any]

The request body. Mapping keys use serialized Swagger wire names.

required
network_id Optional[str]

Unique id of the network.

None
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.