Sponsored Access API
What is Sponsored Access?
Symphony Sponsored Access allows Symphony partners to enable the users of their applications to collaborate on Symphony Messaging, by adding those companies and users to the Symphony network.
Users can leverage the Symphony Messaging Embedded Mode in order to chat from within the partner application.
Partners can use the Sponsored Access APIs to create accounts on Symphony Messaging for their application users, if they do not already belong to the Symphony network.
If a user’s company is not yet available on Symphony Messaging, a dedicated Symphony Messaging tenant can be created for that company before onboarding its users.
Prerequisites
Before they can use Sponsored Access APIs to add client companies, as well as add or disable users, partners must register with Symphony. Following registration, partners receive credentials to authenticate to these APIs.
If they want to offer a seamless login experience to Symphony Messaging, partners need to provide Symphony with their Identity Provider details. The recommended authentication method is SAML, although other authentication methods are also available (additional charges apply).
If you would like to register as a Symphony partner, create new users and embed Symphony Messaging within your application, please contact us.
Domains
In order to target the different APIs described below, the user should use the correct domain, depending on their environment:
Authentication
To be able to call this API, you first need to get an access token.
To get your client_id
and your client_secret
, please contact Symphony.
In the response, you should get:
You can now use the access_token
to make authorized calls to the API. You should pass it as a Bearer token in the Authorization header.
Create company
A Sponsored Access partner can use this endpoint to sponsor a new company in Symphony.
As input, the partner must provide:
A name: The company name that will be visible in the user’s profile in the Directory and can be used during user search.
A vanityName: This will be used to construct the tenant publicUrl under which the user Symphony Messaging session will be launched. For example, if the vanity name is “coke”, the URL will be https://coke.on.symphony.com.
emailDomains: The list of email domains used by the users in that company. Only users with email addresses belonging to those domains can be added later on. To update the domain list, please contact your Symphony representative.
REST call to create a company:
Response you should get:
Success
If successful, a dedicated Symphony Messaging tenant will be created for that company and will become accessible under the tenant publicUrl derived from the vanityName field.
If a user leverages the Symphony Messaging channels (Web, Desktop, Mobile), they will need to log in by accessing the tenant publicURL directly in the browser, desktop or mobile application.
If a user leverages Embedded Mode, the partner needs to load Embedded Mode using that tenant publicUrl.
Failure
Company creation will fail in the following cases:
There is already a company in the Directory with users having email addresses with domains belonging to the provided list of email domains.
There is already a company in the Directory with the same company name.
There is already a company in the Directory with the same vanityName.
If the conflicting company has been onboarded by the same partner and the list of email domains is different, an error will be thrown. In that case, the partner needs to amend the list of email domains for the company before adding users.
In case of failures, to verify whether the users of that company already have a Symphony Messaging account or not, you can call the following endpoint: https://loginservice.symphony.com/webcontroller/podLoginInformation?emailAddress={%email%}&fs=advanced
*where {%email%} needs to be replaced by the user’s email address.
If users do not have an account, you are encouraged to reach out to onboarding@symphony.com or to your Symphony representative so they can help you onboard the users.
Create users
A Sponsored Access partner can use this endpoint to provision new users in Symphony Messaging under an existing sponsored company.
As input, the partner must provide:
A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.
An array of user information (in the body of the request). It is recommended to provide a maximum of information in order to facilitate user search in the Directory.
REST call to create users:
Response you should get:
Update user status
A Sponsored Access partner can use this endpoint to disable or re-enable a user.
As input, the partner must provide:
A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.
A userId (as a query parameter of the request): The userId can be obtained by calling the Get company users API.
A user active status indicator (in the body of request).
Once disabled, the user is no longer associated with the partner, and can no longer log in to Symphony. The user’s chats, however, are kept in order to meet any compliance requirements.
REST call to disable a user:
Search companies
A Sponsored Access partner can use this endpoint to retrieve the list of companies it has sponsored.
Response you should get:
Retrieve company
A Sponsored Access partner can use this endpoint to retrieve a sponsored company’s information.
As input, the partner must provide:
A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.
Response you should get:
Update company
A Sponsored Access partner can use this endpoint to add new email domains to an existing company.
Success
In response you should get code HTTP 200.
Failure
When there already is a company in the Directory with users who have email addresses with domains belonging to the provided list of email domains.
Retrieve company users
A Sponsored Access partner can use this endpoint to retrieve the list of users of a company it has sponsored.
As input, the partner must provide:
A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.
The users are returned in paging mode. If the company has large number of users, multiple API calls need to be made to retrieve the full list of users. To retrieve the users on different pages, the partner must provide:
A currentPage (as a query parameter of the request): This is the page number. To see the total number of pages, partners can make a REST call such as the one below.
A pageSize (as a query parameter of the request): To specify how many users to be displayed on the page.
REST call to retrieve the list of users:
In response, you should get the paging information (total number of users, current page and page size), and a list of users as below:
Retrieve user
A Sponsored Access partner can use this endpoint to retrieve the detail of a single user of a company it has sponsored.
As input, the partner must provide:
A companyId (as a query parameter of the request): The companyId can be obtained by calling the Retrieve companies API.
A userId (as a query parameter of the request): The userId can be obtained by calling the Get company users API.
In response you should get:
Last updated
Was this helpful?