Using Yammer REST API with the New Yammer
Published Sep 01 2020 10:34 AM 19.9K Views
Microsoft

Yammer is revolutionizing its platform, incorporating a deeper integration with Microsoft 365, a redesigned UX, and improved, streamlined services. In order to offer customers these new features, Yammer has changed the format of the IDs that we use for communities, users, threads, and topics. This change corresponds to a shift on our backend from a REST API structure to a GraphQL structure. The old Yammer IDs are numeric (i.e. 123456), while the new IDs are a base64 encoded JSON (i.e. eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxMjM0NTYifQ).

 

It's important that as we transition to the new Yammer, we maintain compatibility with our v1 API structure. Many of our customers depend on our v1 APIs for a myriad of business workflows and their end users rely on our v1 APIs to request specific actions from an admin, including posting announcements in specific communities or posting on behalf of executives (coming soon). Microsoft Power Automate also requires old Yammer IDs.

 

Our customers have informed us that their workflows break when they try to use new Yammer IDs in our v1 APIs. We have received feedback that some of our customers have developed scripts to base64 decode the new Yammer IDs themselves, while others have resorted to third-party services to attempt to extract the old Yammer ID before calling our v1 APIs.

 

We are making this change because we strive to offer the highest quality service to our customers, and believe the burden should not fall on our customers to convert between the old and new Yammer IDs. We aim to facilitate a seamless transition to the new Yammer platform.

 

In response to customer feedback, we’re very excited to announce that we’ve updated several popular v1 API endpoints to support the use of new Yammer IDs! Now, customers can use the old or the new Yammer ID and get the exact same response. See below for an example and a list of supported endpoints.

 

For instance, if you enter either the old numeric group ID (i.e. 47513632) or the corresponding new ID (i.e. eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiI0NzUxMzYzMiJ9), you receive the same JSON payload.

 

These URLs are interchangeable:
https://www.yammer.com/api/v1/users/in_group/47513632.json
https://www.yammer.com/api/v1/users/in_group/eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiI0NzUxMzYzMiJ9.json

 

 

 

Supported Endpoints

GET /groups/[:id]
PUT /groups/[:id]
DELETE /groups/[:id]
GET /groups/for_user/[:id]
GET /groups/[:id]/members
GET /users/[:id]
PUT /users/[:id]
DELETE /users/[:id]
GET /users/liked_message/[:message_id]
GET

/users/in_group/[:group_id]

GET

/messages/in_thread/[:thread_id]

GET /messages/in_group/[:group_id]

 

These endpoints are available today for a number of preview customers. You can find the Yammer APIs here.

 

Kindly contact us if you would like to join the preview group. We welcome your feedback. Please feel free to drop us a note here or email us at api@yammer.com.

13 Comments
Version history
Last update:
‎Sep 01 2020 10:56 AM
Updated by: