PowerPlatformConnectors/certified-connectors/MeetingRoomMap/apiDefinition.swagger.json

1270 строки
40 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "MeetingRoomMap",
"version": "1.0",
"description": "Search and display images for locations.\nUse admin site https://www.meetingroommap.net to upload images/floorplans and map rooms, people and other locations to these images.\nUse this connector to search and display the mapped locations. Operations exists for each of the location types: Meeting rooms, people and custom locations.",
"contact": {
"name": "MeetingRoomMap Support",
"url": "https://www.meetingroommap.net/home/support",
"email": "tns@tnsholding.dk"
}
},
"host": "api.meetingroommap.net",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [],
"paths": {
"/api/CustomLocations/GetCustomLocations": {
"post": {
"tags": [
"CustomLocation"
],
"operationId": "GetCustomLocations",
"consumes": [
"application/json",
"text/plain"
],
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/GetCustomLocationsByCategoriesQuery"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Bad Request"
},
"403": {
"description": "Forbidden"
}
},
"summary": "Get all custom locations",
"description": "Get all custom locations",
"x-ms-visibility": "important"
}
},
"/api/CustomLocations/GetCustomLocationsByImageName": {
"post": {
"tags": [
"CustomLocation"
],
"operationId": "GetCustomLocationsByImageName",
"consumes": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"schema": {
"$ref": "#/definitions/GetCustomLocationListByImageNameQuery"
}
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"customLocationCollection": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name"
},
"category": {
"type": "string",
"description": "category"
},
"type": {
"type": "string",
"description": "type"
},
"location": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "image"
},
"relativeLocation": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "x"
},
"y": {
"type": "integer",
"format": "int32",
"description": "y"
}
},
"description": "relativeLocation"
}
},
"description": "location"
},
"id": {
"type": "string",
"description": "id"
},
"tenantId": {
"type": "string",
"description": "tenantId"
}
}
},
"description": "customLocationCollection"
},
"mapImage": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
}
},
"description": "mapImage"
}
}
}
},
"400": {
"description": "Bad Request"
},
"403": {
"description": "Forbidden"
}
},
"summary": "Get locations by image",
"description": "Get all custom locations for a given image",
"x-ms-visibility": "important"
}
},
"/api/CustomLocations/categories": {
"get": {
"tags": [
"CustomLocation"
],
"operationId": "GetCategories",
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"type": "string",
"title": "CategoryNames",
"x-ms-visibility": "important"
}
}
},
"400": {
"description": "Bad Request"
},
"403": {
"description": "Forbidden"
}
},
"summary": "GetCategories",
"description": "Get custom categories",
"x-ms-visibility": "important"
}
},
"/api/CustomLocations/{LocationId}": {
"get": {
"tags": [
"CustomLocation"
],
"operationId": "LocationDetails",
"parameters": [
{
"in": "path",
"name": "LocationId",
"required": true,
"type": "string",
"description": "Location identifier",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique string identifying the location"
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Bad Request"
},
"403": {
"description": "Forbidden"
}
},
"summary": "Get location by id",
"description": "Get location details including image url by the location id"
}
},
"/api/CustomLocations/findbyname/{LocationName}": {
"get": {
"tags": [
"CustomLocation"
],
"operationId": "SearchLocations",
"parameters": [
{
"in": "path",
"name": "LocationName",
"required": true,
"type": "string",
"description": "Search string for location",
"x-ms-url-encoding": "single",
"x-ms-summary": "Provide part of name for location(s) to search for"
},
{
"in": "query",
"name": "Category",
"type": "string",
"description": "Optional category filter",
"x-ms-summary": "Provide a category name to only return locations filtered by this category"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name"
},
"category": {
"type": "string",
"description": "category"
},
"type": {
"type": "string",
"description": "type"
},
"location": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "image"
},
"relativeLocation": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "x"
},
"y": {
"type": "integer",
"format": "int32",
"description": "y"
}
},
"description": "relativeLocation"
}
},
"description": "location"
},
"id": {
"type": "string",
"description": "id"
},
"tenantId": {
"type": "string",
"description": "tenantId"
}
}
}
}
}
},
"summary": "Search location by name",
"description": "Search custom locations by name"
}
},
"/api/CustomLocations/createimage/{LocationId}": {
"get": {
"tags": [
"CustomLocation"
],
"operationId": "GetCustomLocationImage",
"parameters": [
{
"in": "path",
"name": "LocationId",
"required": true,
"type": "string",
"description": "Unique identifier for location",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique string identifier for a location"
},
{
"in": "query",
"name": "Large",
"type": "boolean",
"description": "Large image returned",
"x-ms-summary": "If set to true a large version of the image (width 900px) will be returned"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "string",
"format": "binary",
"x-ms-media-kind": "image"
},
"headers": {
"content-type:": {
"description": "content-type:",
"type": "string"
}
}
}
},
"summary": "Get image for location",
"description": "Get image for specific custom location",
"x-ms-visibility": "important"
}
},
"/api/MapImage/thumbnails": {
"get": {
"responses": {
"200": {
"description": "default",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"title": {
"type": "string",
"description": "title"
},
"tenantId": {
"type": "string",
"description": "tenantId"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
}
}
},
"headers": {
"Content-type": {
"description": "Content-type",
"type": "string"
}
}
}
},
"summary": "Get all images",
"description": "Get list of all floorplans/images",
"operationId": "Images",
"x-ms-visibility": "important"
}
},
"/api/MapImage/create/{RoomName}": {
"get": {
"tags": [
"MapImage"
],
"operationId": "GetMeetingRoomImage",
"parameters": [
{
"in": "path",
"name": "RoomName",
"required": true,
"type": "string",
"description": "The name of the room to get image for",
"x-ms-url-encoding": "single",
"x-ms-summary": "The exact name of the room to return the image for"
},
{
"in": "query",
"name": "Large",
"type": "boolean",
"x-ms-summary": "If set to true a large version of the image (width 900px) will be returned",
"description": "Large image."
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "string",
"format": "binary",
"x-ms-media-kind": "image"
},
"headers": {
"content-type:": {
"description": "content-type:",
"type": "string"
}
}
}
},
"summary": "Get image for meeting room",
"description": "Get image for a specific meeting room",
"x-ms-visibility": "important"
}
},
"/api/MapImage/meetings/{MeetingCount}/roomdetails": {
"get": {
"tags": [
"MapImage"
],
"operationId": "NextMeetings",
"parameters": [
{
"in": "path",
"name": "MeetingCount",
"required": true,
"type": "integer",
"format": "int32",
"default": 3,
"description": "Count of meetings",
"x-ms-url-encoding": "single",
"x-ms-summary": "The number of future meetings to return"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get next meetings",
"description": "Get the next meetings for the current user"
}
},
"/api/MapImage/roomdetails_v2/{RoomName}": {
"get": {
"tags": [
"MapImage"
],
"operationId": "GetMeetingRoomDetails",
"parameters": [
{
"in": "path",
"name": "RoomName",
"required": true,
"type": "string",
"x-ms-url-encoding": "single",
"x-ms-summary": "The exact name of the room to return details information about",
"description": "The room name to get details for"
}
],
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get meetingroom details",
"description": "Get meetingroom details"
}
},
"/api/officelocations": {
"get": {
"tags": [
"OfficeLocation"
],
"operationId": "GetOfficeLocations",
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get all office locations",
"description": "Get all office locations"
}
},
"/api/officelocations/searchCoworkers/{PersonSearch}": {
"get": {
"tags": [
"OfficeLocation"
],
"operationId": "SearchCoworkers",
"parameters": [
{
"in": "path",
"name": "PersonSearch",
"required": true,
"type": "string",
"description": "Search string",
"x-ms-url-encoding": "single",
"x-ms-summary": "The string to use for searching users. Searches in user's email and name"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "name"
},
"email": {
"type": "string",
"description": "email"
},
"officeLocation": {
"type": "string",
"description": "officeLocation"
},
"businessPhones": {
"type": "string",
"description": "businessPhones"
},
"mobilePhone": {
"type": "string",
"description": "mobilePhone"
}
}
}
}
}
},
"summary": "Search coworker",
"description": "Search coworker by name/email"
}
},
"/api/officelocations/bymapimage/{ImageName}": {
"get": {
"tags": [
"OfficeLocation"
],
"operationId": "GetOfficeLocationsByImage",
"parameters": [
{
"in": "path",
"name": "ImageName",
"required": true,
"type": "string",
"description": "The image identifier",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique image identifier to use for getting mapped office locations"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"tenantId": {
"type": "string",
"description": "tenantId"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "image"
},
"attachedOfficeLocations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"personsInOfficeLocation": {
"type": "string",
"description": "personsInOfficeLocation"
},
"type": {
"type": "string",
"description": "type"
},
"name": {
"type": "string",
"description": "name"
},
"location": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "image"
},
"relativeLocation": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "x"
},
"y": {
"type": "integer",
"format": "int32",
"description": "y"
}
},
"description": "relativeLocation"
}
},
"description": "location"
},
"id": {
"type": "string",
"description": "id"
},
"tenantId": {
"type": "string",
"description": "tenantId"
}
}
},
"description": "attachedOfficeLocations"
}
}
}
}
},
"summary": "Get office locations on image",
"description": "Get all office locations mapped to a specific image",
"x-ms-visibility": "important"
}
},
"/api/officelocations/mapimagewithpersoninfo/{OfficeLocationName}": {
"get": {
"tags": [
"OfficeLocation"
],
"operationId": "GetRoomWithPersonsDetails",
"parameters": [
{
"in": "path",
"name": "OfficeLocationName",
"required": true,
"type": "string",
"description": "The office location name",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique office location name to look up image and people by"
},
{
"in": "query",
"name": "InludeUserInfo",
"type": "boolean",
"default": true,
"description": "Flag to indicate if user info should be included",
"x-ms-summary": "If true, then list of users with this office location will be returned as well"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"officeLocationMap": {
"type": "object",
"properties": {
"n": {
"type": "string",
"description": "n"
},
"in": {
"type": "string",
"description": "in"
},
"iu": {
"type": "string",
"description": "iu"
},
"tu": {
"type": "string",
"description": "tu"
},
"it": {
"type": "string",
"description": "it"
},
"p": {
"type": "array",
"items": {
"type": "object",
"properties": {
"d": {
"type": "string",
"description": "d"
},
"m": {
"type": "string",
"description": "m"
},
"businessPhone": {
"type": "string",
"description": "businessPhone"
},
"mobilePhone": {
"type": "string",
"description": "mobilePhone"
}
}
},
"description": "p"
},
"l": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "x"
},
"y": {
"type": "integer",
"format": "int32",
"description": "y"
}
},
"description": "l"
}
},
"description": "officeLocationMap"
},
"mapImage": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "id"
},
"title": {
"type": "string",
"description": "title"
},
"ownerId": {
"type": "string",
"description": "ownerId"
},
"tenantId": {
"type": "string",
"description": "tenantId"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "mapImage"
}
}
}
}
},
"summary": "Get office location details",
"description": "Get office location details including list of people for that office location"
}
},
"/api/officelocationimage/create/{OfficeLocationName}": {
"get": {
"tags": [
"OfficeLocationImage"
],
"operationId": "GetOfficeLocationImage",
"parameters": [
{
"in": "path",
"name": "OfficeLocationName",
"required": true,
"type": "string",
"description": "Office location identifier",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique name of the office location to get image for"
},
{
"in": "query",
"name": "Large",
"type": "boolean",
"x-ms-summary": "If set to true a large version of the image (width 900px) will be returned",
"description": "Image size."
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "string",
"format": "binary",
"x-ms-media-kind": "image"
},
"headers": {
"content-type:": {
"description": "content-type:",
"type": "string"
}
}
}
},
"summary": "Get image of office location",
"description": "Get image of specific office location",
"x-ms-visibility": "important"
}
},
"/api/rooms": {
"get": {
"tags": [
"Rooms"
],
"operationId": "GetRooms",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/AADMeetingRoomCollection"
}
}
},
"summary": "Get all rooms",
"description": "Get all rooms (defined in Azure AD as meeting rooms)"
}
},
"/api/rooms/findbyname/{name}": {
"get": {
"tags": [
"Rooms"
],
"operationId": "SearchMeetingRooms",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "name",
"required": true,
"type": "string",
"description": "Search string.",
"x-ms-url-encoding": "single",
"x-ms-summary": "The search string to use to look up meeting rooms by name"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/AADMeetingRoomCollection"
}
}
},
"description": "Get rooms by name search (from Azure AD meeting rooms)",
"summary": "Search for meeting room",
"x-ms-visibility": "important"
}
},
"/api/rooms/lists": {
"get": {
"tags": [
"Rooms"
],
"operationId": "RoomLists",
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/AADMeetingRoomCollection"
}
}
},
"summary": "Get meeting rooms lists",
"description": "Get meeting rooms lists as defined in Azure AD"
}
},
"/api/rooms/{meetingRoomListAddress}": {
"get": {
"tags": [
"Rooms"
],
"operationId": "RoomsByListAddress",
"produces": [
"application/json"
],
"parameters": [
{
"in": "path",
"name": "meetingRoomListAddress",
"required": true,
"type": "string",
"description": "Name of list",
"x-ms-url-encoding": "single",
"x-ms-summary": "Name of room list as defined in Azure AD room lists"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/AADMeetingRoomCollection"
}
}
},
"summary": "Get meeting rooms by list",
"description": "Get all meeting rooms from specific list name"
}
},
"/api/rooms/GetRoomsByImageName/{ImageName}": {
"get": {
"tags": [
"Rooms"
],
"operationId": "GetRoomsByImageName",
"parameters": [
{
"in": "path",
"name": "ImageName",
"required": true,
"type": "string",
"description": "The unique image name",
"x-ms-url-encoding": "single",
"x-ms-summary": "The unique image name to get mapped meeting rooms by"
}
],
"responses": {
"200": {
"description": "default",
"schema": {
"type": "object",
"properties": {
"meetingRoomCollection": {
"type": "object",
"properties": {
"rooms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "address"
},
"type": {
"type": "string",
"description": "type"
},
"name": {
"type": "string",
"description": "name"
},
"location": {
"type": "object",
"properties": {
"image": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
}
},
"description": "image"
},
"relativeLocation": {
"type": "object",
"properties": {
"x": {
"type": "integer",
"format": "int32",
"description": "x"
},
"y": {
"type": "integer",
"format": "int32",
"description": "y"
}
},
"description": "relativeLocation"
}
},
"description": "location"
},
"id": {
"type": "string",
"description": "id"
},
"tenantId": {
"type": "string",
"description": "tenantId"
}
}
},
"description": "rooms"
}
},
"description": "meetingRoomCollection"
},
"mapImage": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "imageName"
},
"title": {
"type": "string",
"description": "title"
},
"thumbnailUrl": {
"type": "string",
"description": "thumbnailUrl"
},
"originalUrl": {
"type": "string",
"description": "originalUrl"
}
},
"description": "mapImage"
}
}
}
}
},
"summary": "Get all meeting rooms by image",
"description": "Get all meeting rooms mapped to a specific image",
"x-ms-visibility": "important"
}
}
},
"definitions": {
"GetCustomLocationsByCategoriesQuery": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"GetCustomLocationListByImageNameQuery": {
"type": "object",
"properties": {
"imageName": {
"type": "string",
"description": "The unique image name",
"title": "Image name",
"default": "The unique image name to return mapped locations by"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"description": "Optional list of categories",
"title": "Categorories",
"default": "Optional list of categories to filter locations by"
}
}
},
"required": [
"imageName"
]
},
"AADMeetingRoom": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
}
},
"AADMeetingRoomCollection": {
"type": "object",
"properties": {
"rooms": {
"type": "array",
"items": {
"$ref": "#/definitions/AADMeetingRoom"
}
}
}
},
"UserDetailsDTO": {
"type": "object",
"properties": {
"tenantId": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
},
"parameters": {},
"responses": {},
"securityDefinitions": {
"oauth2_auth": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
"tokenUrl": "https://login.windows.net/common/oauth2/authorize",
"scopes": {}
}
},
"security": [
{
"oauth2_auth": []
}
],
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://www.meetingroommap.net"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://www.meetingroommap.net/home/privacy"
},
{
"propertyName": "Categories",
"propertyValue": "Collaboration;Human Resources"
}
]
}