Inleiding
De Workspace 365 API maakt gebruik van een REST-achtige interface, wat betekent dat u in plaats van acties/methoden aan te roepen, de actie die u op een resource wilt uitvoeren definieert via de HTTP-METHODE (d.w.z. GET, POST, PUT & DELETE) en JSON gebruikt als dataprotocol.
In dit artikel bespreken we de verschillende soorten beschikbare Workspace API's en hoe je deze kunt gebruiken. Eerst moet er een API-sleutel worden aangemaakt. In plaats van één API-sleutel voor één functionaliteit (bijv. integraties of activiteiten), kun je meerdere sleutels aanmaken. Met deze functie kun je activiteiten van verschillende partijen ontvangen - een unieke sleutel voor elke partij. Dit draagt bij aan de veiligheid.
Vereisten
Een omgevingsbeheerder kan de API configureren op de API-instellingenpagina. Om de API te kunnen gebruiken, moeten de volgende voorwaarden worden vervuld:
Zorg ervoor dat de API-instelling is geconfigureerd en ingeschakeld in de instellingen.
Authenticatie
Elk verzoek aan de API moet worden geauthentiseerd met de token die gegenereerd is op de API-instellingenpagina. Elke omgeving vereist zijn eigen token.
Gebruik voor authenticatie de standaard HTTP Authorization-header met het "Workspace365" authenticatieschema en token als referenties:
Authorization: Workspace365 {token}
Bijv. Authorization:
Workspace365 00000000-0000-0000-0000-000000000000
Het wordt sterk aanbevolen om de API niet te gebruiken via niet-https-kanalen.
Authenticatie responscodes
De API reageert met de volgende HTTP-statuscodes in geval van authenticatiefouten:
Code | Beschrijving |
200 | Reactie OK |
400 | Validatieprobleem, controleer het gegevensformaat van de foutrespons |
401, 403 | Authenticatieprobleem. Een van de volgende situaties is van toepassing:
De Authorization-header ontbreektHet authenticatieschema is onjuistHet token is ongeldig voor de omgevingDe API is niet geconfigureerd voor de omgeving of de omgeving is inactief |
500 | Interne serverfout. Dit kan worden veroorzaakt door het doorgeven van een onjuist gegevensobject |
Foutreacties
Wanneer een actie niet kan worden uitgevoerd vanwege onjuiste invoergegevens, zal de respons een HTTP-statuscode 400 bevatten met een JSON-object met de eigenschappen "globalError" en "fieldErrors".
De eigenschap "globalError" wordt ingesteld op een niet-nul object in geval van een validatiefout die niet is gekoppeld aan een specifiek veld. Dit is een JSON-object met een eigenschap "message" die een mogelijk menselijk leesbare foutbeschrijving bevat.
De eigenschap "fieldErrors" wordt ingesteld als sommige veldwaarden de validatie niet hebben doorstaan. Voor elk veld dat faalt, zal er een eigenschap zijn met dezelfde naam als in de invoer, die een JSON-object bevat met een eigenschap "message" die een mogelijk menselijk leesbare foutbeschrijving bevat.
Menselijk leesbare berichten kunnen worden gegeven in een van de talen die door Workspace 365 worden ondersteund, als het verzoek een overeenkomstige Accept-Language-header bevat.
API-sleutel
Om een nieuwe API-sleutel aan te maken:
Ga naar de beheerdersinstellingenpagina van Workspace.
Ga naar Integraties.
Selecteer API-instellingen.
Vink het selectievakje Inschakelen aan.
Vul een naam in (bijv. "API-sleutel voor Yammer-integratie").
Selecteer de reikwijdte van de sleutel.
Klik op Opslaan om de sleutel te genereren.
Kopieer de sleutel.
Wanneer je dit dialoogvenster sluit, kun je de sleutel niet meer uit Workspace ophalen. Zorg er dus voor dat je deze sleutel ergens veilig opslaat.
API-sleutel is gecompromitteerd of vergeten (API-sleutel opnieuw genereren)
Wanneer de API-sleutel wordt gegenereerd, wordt deze niet langer opgeslagen in de Workspace. Als de API-sleutel is gecompromitteerd of vergeten, kunt u de sleutel opnieuw genereren. Het bewerken van de bestaande sleutels geeft u alleen de optie om de naam te wijzigen, de reikwijdte van de sleutel te wijzigen of deze tijdelijk uit te schakelen.
Bij het opnieuw genereren van de sleutel werkt de oude sleutel niet meer. U krijgt het onderstaande dialoogvenster te zien.
APIs
Activiteiten Feed
Endpoints
POST
/{EnvironmentName}/api/activities
Maakt een nieuwe activiteit aan voor een gegeven gebruiker.
Naam | Gelegen in | Beschrijving | Vereist | Schema |
Omgevingsnaam | Path | Naam van de omgeving | Ja | string |
Activiteit | Body | Activiteit om te creëren | Ja | Activity |
Reactie
Code | Beschrijving | Schema |
200 | The Activity is created | { id: integer The id of the activity which is created user: { id: integer The id of the user upn: string The upn of the activity which is createdNote: Either id or upn should be specified (not both) } } |
400 | Array of Validation Results | ApiErrorResponse |
401, 403 | Authentication issue |
|
500 | Internal server error |
|
Voorbeeldverzoek
POST https://workspace365instance.url/{EnvironmentName}/api/activities HTTP/1.1 Accept: application/json Content-Length: 228 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Workspace365 00000000-0000-0000-0000-000000000000 { "User": { "Upn": "[email protected]" }, "Icon": { "Name": "Phone" }, "Title": "Test activity", "Url": "https://workspace365instance.url",
"Tag": "Proposals", "Color": { "Kind": "1", "Value": "#00ff00"
},
"Actions": [
{
"Kind": "1",
"Title": "Accept proposal",
"Url": "https://workspace365instance.url/proposal/accept" }
]
}
Voorbeeldreactie
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 66{ "id": 916, "user": { "id": 1, "upn": "[email protected]" } }
POST
/{EnvironmentName}/api/activities-batch
Creëert een nieuwe activiteit voor een bepaalde groep gebruikers
Naam | Gelegen in | Beschrijving | Vereist | Schema |
Omgevingsnaam | Path | Naam van de omgeving | Ja | string |
Activiteit | Body | Activiteit om te creëren | Ja | Batch Activity |
Reactie
Code | Beschrijving | Schema |
200 | The Activity is created | [{ id: integer The id of the activity which is created user: { id: integer The id of the user upn: string The upn of the activity which is created } } , … ] |
400 | Array of Validation Results | ApiErrorResponse |
401, 403 | Authentication issue |
|
500 | Internal server error |
|
Voorbeeld verzoek
POST https://workspace365instance.url/{EnvironmentName}/api/activities-batch HTTP/1.1 Accept: application/json Content-Length: 258 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Workspace365 00000000-0000-0000-0000-000000000000{ "Scope": {
"Kind": 0 }, "Data": { "Title": "test", "Url": "https://workspace365instance.url",
"Tag": "Proposals", "Icon": { "Name": "Phone" }, "Color": { "Kind": 1, "Value": "#00ff00" },
"Actions": [
{
"Kind": 1
"Title": "Accept Proposal",
"Url": "https://workspace365instance.url/proposal/accept" }
] }
}
Voorbeeld reactie
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 628[ { "id": 962, "user": { "id": 1, "upn": "[email protected]" } }, … ]
Schema's
GEEN
Activiteitenschema
{
"User": UserLookup,
"Icon": Icon,
"Title": "Test activity",
"Url": "https://workspace365instance.url",
"Tag": "Proposals",
"Color": Color,
"Actions": [
Action
]
}
Property | Type | Optional/Required | Description |
User | UserLookup | Required | Specifies the user for the activity. |
Icon | Icon | Optional | Specifies the icon which is displayed in the activity. The default icon is displayed when no icon is specified. |
Title | String | Required | The title which is displayed in the activity feed. |
Url | String | Optional | A url to a page which shows more details about this activity. If a url is specified the activity feed shows ‘View details’. |
Tag | String | Optional | A way to indicate what group the activity belongs to. If one is specified, the activity is grouped with other activities with the same tag. If none is specified, the activity will put in the "Other" group. |
Color | Color Object | Optional | The default color is used when not specified. |
Actions | Array of Action | Optional | Specifies a list of actions. The maximum number of actions is 2. |
NONE
User schema
{ "User": { "id": 1, "upn": "[email protected]" } }
Property | Type | Optional/Required | Description |
id | Integer | Optional | Specifies the id of the user. Note: id or upn should be specified. |
upn | String | Optional | Specifies the upn of the user. Note: id or upn should be specified. |
NONE
Icon schema
{ "Name": "my icon" }
Property | Type | Optional/Required | Description |
Name | String | Optional | Specifies the name of the icon. The default icon is displayed when no name is specified. |
NONE
Color schema
{ "Kind": "1", "Value": "#00ff00" }
Property | Type | Optional/Required | Description |
Kind | Int | Required | Options are 1 (custom), 2 (primary), 3 (header). |
Value | String | Required when Kind is 1 | The Value property specifies a html color. The field is required when the Kind is 1. |
NONE
Action schema
{ "Kind": 1, "Title": "Accept proposal", "Url": “https://workspace365instance.url/propasal/accept" }
Property | Type | Optional/Required | Description |
Kind | Int | Required | This property determines which icon is shown next to the action title.
Options are: 1 (check), 2 (cancel), 3 (add), 4 (open), 5 (edit), 6 (manage), 7 (delete), 8 (forward), 9 (backward). |
Title | String | Required | Specifies the title of the action. Maximum length is 32 characters. |
Url | String | Required | The url the user is redirected to when invoking the action. |
NONE
Batch Activity schema
{
"Scope": Scope,
"Data": ActivityWithoutUser
}
Property | Type | Optional/Required | Description |
Scope | Scope | Required | Specifies the scope of users. |
Data | ActivityWithoutUser | Required | Specifies the upn of the user. Note: id Specifies activity data. |
NONE
Scope schema
{
"Kind": 0,
"Users": [
UserLookup
],
"Groups": [
GroupLookup
]
}
Property | Type | Optional/Required | Description |
Kind | Int | Required | Specifies the scope kind. Possible values: 0 (all users), 1 (users), 2 (groups). |
Users | Array of UserLookup | Required when Kind is 1 | his property is required when the scope kind is set to 1. The array should contain at least one user. |
Groups | Array of GroupLookup | Required when Kind is 2 | This property is required when the scope kind is set to 2. The array should contain at least one group. |
NONE
UserLookup schema
{
"id": 1,
"upn": "[email protected]"
}
Property | Type | Optional/Required | Description |
Id | Int | Required when upn is not specified | Specifies the user by Id. The Id or the upn should be specified. If both are specified, the Id is used. |
Upn | String | Required when Id is not specified | Specifies the user by upn. The Id or the upn should be specified. If both are specified, the Id is used. |
NONE
GroupLookup schema
{
"id": 1,
"name": "test-group"
}
Property | Type | Optional/Required | Description |
Id | Int | Required when Name is not specified | Specifies the group by Id. The Id or the Name should be specified. If both are specified, the Id is used. |
Name | String | Required when Id is not specified | Specifies the group by Name. The Id or the Name should be specified. If both are specified, the Id is used. |
NONE
ActivityWithoutUser schema
{
"Icon": Icon,
"Title": "Test activity",
"Url": "https://workspace365instance.url",
"Color": Color,
"Actions": [
Action
]
}
Property | Type | Optional/Required | Description |
Icon | Icon | Optional | Specifies the icon which is displayed in the activity. The default icon is displayed when no icon is specified. |
Title | String | Required | The title which is displayed in the activity feed. |
Url | String | Optional | A url to a page which shows more details about this activity. If a url is specified, the activity feed shows ‘View details’. |
Tag | String | Optional | A way to indicate what group the activity belongs to. If one is specified, the activity is grouped with other activities with the same tag. If none is specified, the activity will put in the "Other" group. |
Color | Color | Optional | The default color is used when not specified. |
Actions | Array of Action | Optional | Specifies a list of actions. The maximum number of actions is 2. |
Beschikbare gebruikersapps
GET
/{EnvironmentName}/api/users/{upn}/apps
Gets all the available apps for the given user upn
Name | Located in | Description | Required | Schema |
Environment name | Path | Name of the environment | Yes | string |
UPN | Path | User upn | Yes | string |
Code | Description | Schema |
200 | The available apps are returned | [{ appId: integer The app id type: integer The app type icon: { name: string The name of the icon } appName: string The name of the app url: string The URL of the app NOTE: The URL can be null color: { kind: integer The type of color used value: string The hex value for the color. NOTE: This field is present only when the color kind is custom.(Kind=1) } } , … ] |
401, 403 | Authentication failure |
|
404 | Validation issue | ApiErrorResponse |
500 | Internal server error |
|
Voorbeeld verzoek
GET https://workspace365instance.url/example/api/users/[email protected]/apps
Authorization: Workspace365 00000000-0000-0000-0000-000000000000
Voorbeeld reactie
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 66[ { "appId": 34, "type": 21, "icon": { "name": "Computer Desktop" }, "appName": "TestClientlessRDP", "url": "https://workspace365instance.url/example/AppLink/Go/00000000-0000-0000-0000-000000000000", "color": { "kind": 1, "value": "#ff0000" } }]
Mapping
NONE
App Kind Mapping
App Kind Integer Value | Color Kind Integer Value |
0 | Shortcut |
1 | |
2 | Document |
15 | Citrix App |
20 | Azure App |
35 | Local App |
36 | Windows Virtual desktop |
NONE
Color Kind Mapping
Color Kind Integer Value | Color Kind Integer Value |
1 | Custom |
2 | Primary |
3 | Header |
Mededelingen
Endpoint
POST
/{EnvironmentName}/api/announcements
Creates new Announcement
Name | Located in | Description | Required | Schema |
Environment name | Path | Name of the environment | Yes | string |
Announcement | Body | Announcement to create | Yes | Announcement |
Authenticatieresponscodes
De API reageert met de volgende HTTP-statuscodes in geval van authenticatiefouten:
Antwoorden
Code | Description | Schema |
200 | The announcement is created | { |
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication failure |
|
500 | Internal server error |
|
Foutreactie
Wanneer een actie niet kan worden uitgevoerd vanwege onjuiste invoergegevens, zal de respons een HTTP-statuscode 400 bevatten met een JSON-object met de eigenschappen "globalError" en "fieldErrors".
De eigenschap "globalError" wordt ingesteld op een niet-null object in geval van een validatiefout die niet verbonden is met een specifiek veld. Het is een JSON-object met een eigenschap "message" met mogelijk een menselijk leesbare foutbeschrijving.
De eigenschap "fieldErrors" wordt ingesteld als sommige veldwaarden de validatie niet hebben doorstaan. Voor elk van deze velden is er een eigenschap met dezelfde naam als in de invoer, met een JSON-object met een "message" eigenschap met mogelijk een menselijk leesbare foutbeschrijving.
Menselijk leesbare berichten kunnen worden gegeven in een van de ondersteunde talen door Workspace 365 als het verzoek een overeenkomstige Accept-Language header bevat.
Voorbeeld verzoek
POST https://workspace365instance.url/example/api/announcements HTTP/1.1
Accept: application/json
Content-Length: 9082
Content-Type: application/json
Host: workspace365instance.url
Authorization: Workspace365 00000000-0000-0000-0000-000000000000
{
"Title": "My announcement",
"Description": "This is my <b>announcement</b>",
"Media":
{
"MediaKind": 1,
"Image":
{
"Filename": "Minions.jpg",
"Uri": "data:image/jpeg;base64,/--base 64 image data here --"
}
},
"Category":
{
"Id": 2
},
"ShowPopupDirectlyToUser": true,
"AllowComments": true,
"StartTime": "2021-04-15T00:00Z",
"EndTime": "2021-04-18T00:00Z"
}
Voorbeeld reactie
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 66{ "id": 916}
Schemas
NONE
Announcement schema
{
"Title": "My announcement",
"Description": "This is my announcement",
"Media": Media,
"Category": Category,
"ShowPopupDirectlyToUser": true,
"AllowComments": true,
"StartTime": "2021-04-15T00:00Z",
"EndTime": "2021-04-18T00:00Z"
}
Property | Type | Optional/Required | Description |
Title | String | Required | Specifies the title of the announcement. |
Description | String | Optional | Specifies the description of the announcement. |
Media | Media | Optional | Specifies the media to be added to the announcement. |
Category | Category | Required | Specifies the category of the announcement. |
ShowPopupDirectlyToUser | Boolean | Optional | Specifies whether to show the announcement as a popup. The default value is false. |
AllowComments | Boolean | Optional | Specifies whether comments are enabled for the announcement. The default value is true. |
StartTime | DateTimeOffset | Optional | Specifies the start date and time for the announcement. |
EndTime | DateTimeOffset | Optional | Specifies the end date and time for the announcement. |
NONE
Media schema
{
"MediaKind": 1,
"Image": Image
}
OR{
"MediaKind": 2,
"VideoEmbedCode": "<iframe width=\"424\" height=\"238\" src=\"https://www.youtube.com/embed/1uDQQVnrDqI\" title=\"YouTube video player\"
frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"
allowfullscreen></iframe>"
}
Property | Type | Optional/Required | Description |
MediaKind | Integer | Optional | Specifies the type of media to be attached. Can be 0 (none), 1 (image) or 2 (video). |
Image | Image | Required when MediaKind=1 | Specifies the details of the image to be added. To be provided only if MediaKind = 1. |
VideoEmbedCode | String | Required when MediaKind=2 | Specifies the embed code of the video to be added. To be provided only if MediaKind = 2. |
NONE
Image schema
{
"Filename": "Minions.jpg",
"Uri": "data:image/jpeg;base64,/--base 64 image data here --"
}
Property | Type | Optional/Required | Description |
Filename | String | Required | Specifies the name of the image. |
Uri | String | Required | Specifies the base 64 URI of the image. |
NONE
Category schema
{
"Id": 1,
"Name": “Company"
}
Property | Type | Optional/Required | Description |
Id | Integer | Optional* | Specifies the id of the category. |
Name | String | Optional* | Specifies the name of the category. |
* Only one of the options should be passed. If none are passed, then the announcement is added to “Uncategorized” by default.
App-pictogrammen
Dit endpoint voor afbeeldingen is een uitbreiding op de API voor beschikbare gebruikersapps (beschikbaar vanaf V3.30).
Eindpunten
GET
/{EnvironmentName}/api/appicons/{Source}
Haalt een lijst op van alle globale app-pictogrammen
Name | Located in | Description | Required | Schema |
Environment name | Path | Name of the environment | Yes | string |
Source | Path | Source of the icon. Possible values are global or environment | Yes | String |
Code | Description | Schema |
200 | The available icons are returned | [{ |
400 | The requested app icon is not found, check error response data format | ApiErrorResponse |
401, 403 | Authentication failure |
|
500 | Internal server error |
|
Voorbeeld verzoek
GET https://workspace365instance.url/example/api/appicons/global
Authorization: Workspace365 00000000-0000-0000-0000-000000000000
Voorbeeld reactie
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 171[ { "id": 1, "kind":0, "name":"Box" }, { "id": 36, "kind":2, "name":"Computer Desktop" }]
GET
/{EnvironmentName}/api/appicons/{Source}/{Id}
Gets information about a specific app icon
Name | Located in | Description | Required | Schema |
Environment name | Path | Name of the environment | Yes | string |
Source | Path | Source of the icon. Possible values are global or environment | Yes | String |
Id | path | Id app icon | Yes | Integer |
Code | Description | Schema |
200 | The app icon info is returned | { |
400 | The requested app icon is not found, check error response data format | ApiErrorResponse |
401, 403 | Authentication failure |
|
500 | Internal server error |
|
Voorbeeld verzoek
GET https://workspace365instance.url/example/api/appicons/global/36
Authorization: Workspace365 00000000-0000-0000-0000-000000000000
Voorbeeld reactie
HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 69{ "id": 36, "kind":2, "name":"Computer Desktop"}
GET
/{EnvironmentName}/api/appicons/{Source}/{Id}/content
Gets the content of a specific app icon
Name | Located in | Description | Required | Schema |
Environment name | Path | Name of the environment | Yes | string |
Source | Path | Source of the icon. Possible values are global or environment | Yes | String |
Id | path | Id app icon | Yes | Integer |
Code | Description | Schema |
200 | The available icons are returned | The content of the response contains the app icon data |
400 | The requested app icon is not found, check error response data format | ApiErrorResponse |
401, 403 | Authentication failure |
|
500 | Internal server error |
|
Voorbeeld verzoek
GET https://workspace365instance.url/example/api/appicons/global/36/content
Authorization: Workspace365 00000000-0000-0000-0000-000000000000
Voorbeeld reactie
HTTP/1.1 200 OKContent-Type: image/svg+xmlContent-Length: 211<svg fill="#fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 76 76"> <path d="M6 57.126h64v6.742H6zm18.628-7.03h26.744v4.306H24.628zM10.444 15.99v30.588h55.112V15.99zm-4.026-3.858H69.58v37.666H6.418z"/></svg>
Icon kind
NONE
Icon kind
Icon Kind Integer Value | Meaning |
0 | Png image |
1 | Svg image |
2 | Svg image |
Integratie referenties
Endpoints
POST
/{EnvironmentName}/IntegrationCredentialsApi/User/{Upn}/
Creëert nieuwe integratiereferenties voor de opgegeven gebruiker
Name | Located in | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Upn | Path | User principal name of the user to create the Integration credentials for | Yes | string |
Integration credentials | Body | Integration credentials to create | Yes | { username: string (email) Username of the Integration credentials password: string Password of the Integration credentials } |
Reacties
Code | Description | Schema |
200 | The Integration credentials were created | { id: integer The id of the Integration credentials which were created } |
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
404 | The user was not found |
|
Voorbeeld verzoek
POST https://workspace365instance.url/{EnvironmentName}/IntegrationCredentialsApi/User/[email protected]/ HTTP/1.1 Accept: application/json Content-Length: 68 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Workspace365 4613e4c6-aa59-45d0-88c9-c99feddf3959 { "username": "[email protected]", "password": "qwerty" }
Voorbeeld reactie
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 8 {"id":8}
PUT
/{EnvironmentName}/IntegrationCredentialsApi/{Id}/
Updates the credentialset
Parameters
Name | Located in | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Id | Path | Id of the Integration credentials to update | Yes | integer |
Integration credentials | Body | New properties of the Integration credentials | Yes | { username: string (email) Username of the Integration credentials password: string Password of the Integration credentials} |
Reacties
Code | Description | Schema |
200 | The Integration credentials were updated |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
404 | The Integration credentials were not found |
|
Voorbeeld verzoek
PUT https://workspace365instance.url/{EnvironmentName}/IntegrationCredentialsApi/8/ HTTP/1.1 Accept: application/json Content-Length: 68 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Workspace365 4613e4c6-aa59-45d0-88c9-c99feddf3959 { "username": "[email protected]", "password": "qwerty_updated" }
Voorbeeld reactie
HTTP/1.1 200 OK Content-Length: 0
ActiveDirectorySync
Eindpunten
PUT
/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectId}/
Maakt een nieuwe gebruiker aan
Name | Located in | Description | Schema |
EnvironmentName | Path | Name of the Environment | string |
ObjectId | Path | ObjectId of the user | Guid |
User Info | Body | User Info to create | { |
Reacties
Code | Description | Schema |
200 | The user is created |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og== {
"FirstName": "Sarah",
"LastName": "de Vries",
"UserPrincipalName": "[email protected]",
"Email": "[email protected]",
"SecondaryEmail": "[email protected]",
"IsAdmin": "false",
"IsActive": "true",
"JobTitle": "",
"MobilePhone": ""
}
Voorbeeld reactie
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
DELETE
/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectId}/
Verwijdert de opgegeven gebruiker
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
ObjectId | Path | ObjectId of the user | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The user is deleted |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
PUT
/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectId}/
Creëert een nieuwe groep
Name | Located in | Description | Schema |
EnvironmentName | Path | Name of the Environment | string |
ObjectId | Path | ObjectId of the group | Guid |
Group info | Body | Group info to create | { |
Reacties
Code | Description | Schema |
200 | The group is created |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/9acasd74-0599-45ac-b0fe-a0aa0b9a00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
{
"Name": "Finance",
"Description": "Everyone from Finance"
}
Voorbeeld reactie
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
DELETE
/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectId}/
Verwijderd de opgeven groep
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
ObjectId | Path | ObjectId of the group | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The group is deleted |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
PUT
/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectID}/Users/{ObjectID}
Plaats de gebruiker in de opgegeven groep
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Group ObjectId | Path | ObjectId of the group | Yes | Guid |
User ObjectId | Path | ObjectId of the user | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The membership is created |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
DELETE
/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectID}/Users/{ObjectID}
Delete user in the given group
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Group ObjectId | Path | ObjectId of the group | Yes | Guid |
User ObjectId | Path | ObjectId of the user | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The membership is deleted |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
PUT
/{EnvironmentName}/ActiveDirectorySyncAPI/{ObjectID}/Groups/{ObjectID}
Plaats de groep in de opgegeven groep
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Target Group ObjectId | Path | ObjectId of the target group | Yes | Guid |
Group ObjectId | Path | ObjectId of the group | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The membership is created |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
DELETE
/{EnvironmentName}/ActiveDirectorySyncAPI/{ObjectID}/Groups/{ObjectID}
Verwijder de groep in de opgegeven groep
Name | Located | Description | Required | Schema |
EnvironmentName | Path | Name of the Environment | Yes | string |
Target Group ObjectId | Path | ObjectId of the target group | Yes | Guid |
Group ObjectId | Path | ObjectId of the group | Yes | Guid |
Reacties
Code | Description | Schema |
200 | The membership is deleted |
|
400 | Validation issue | ApiErrorResponse |
401, 403 | Authentication issue |
|
Voorbeeld verzoek
DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Voorbeeld reactie
HTTP/1.1 200 OK
PUT
/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture
Upload de profielfoto van de gebruiker.
Opmerking: De profielfoto van de gebruiker is nog niet getest/gedocumenteerd.
Multipartformulier
PUT https://{WorkspaceUrl}/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture
DELETE
/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture
Verwijder de profielfoto van de gebruiker.
Opmerking: De profielfoto van de gebruiker is nog niet getest/gedocumenteerd.
Multipartformulier
DELETE https://{WorkspaceUrl}/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture
Authenticatie
Elk verzoek naar de API moet worden geauthenticeerd met de token die is gegenereerd op de Active Directory instellingenpagina. Elke omgeving vereist zijn eigen token.
Voor authenticatie gebruik de standaard HTTP Authorization header met "Basic" authenticatieschema en de token base64 gecodeerd als referenties:
Authorization: Basic base64({token}:)
Bijvoorbeeld:
Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
Zorg ervoor dat je de Sync API-authenticatietoken gebruikt en deze codeert naar Base64-formaat, bijvoorbeeld hier. Houd er rekening mee dat je de token moet encoderen inclusief de dubbele punt : Bijvoorbeeld:
Token: 4613e4c6-aa59-45d0-88c9-c99feddf3959
Tekst om te encoderen: 4613e4c6-aa59-45d0-88c9-c99feddf3959:
Resultaat: NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==