Puntos finales de contenido (2022/06)
Este endpoint le permite administrar archivos de Content (y etiquetas de contenido) en la red.
URL base para estos endpoints: https://api.bsn.cloud/2022/06/REST/Content
_________________________________________________________________________
GET /
Devuelve una lista de archivos de Content en una red.
Token de Scope requerido
bsn.api.main.content.retrieve
______________________________________________________________
Parámetros de Query String
- filtro string opcional: Una expresiónexpression para filtrar resultados de búsqueda.
- ordenar string opcional: Una expresión para ordenar los resultados de búsqueda. La expresión de ordenación especifica la entrada utilizada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (consulte esta páginathis page para obtener más información). El valor predeterminado es null.
- marcador string opcional: Un valor que especifica qué página recuperar. Este valor es útil si la entrada isTruncated en el cuerpo de respuesta de la llamada GET anterior indica que el número de archivos de Content supera el pageSize. Este parámetro solo es necesario si necesita más elementos en la lista paginada que el pageSize (100).
- pageSize int opcional: El número máximo de archivos de Content que pueden incluirse en el cuerpo de respuesta. De forma predeterminada, esto es el tamaño máximo de página permitido (100).
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- marcador se establece en el valor de propiedad [PagedList].[NextMarker] de la respuesta anterior de la API de BSN.Cloud.
- pageSize se establece en 1
- filtro se establece en [TipoDeMedio] ES 'Imagen' Y ([NombreDeArchivo] ES '.jpg' O [NombreDeArchivo] ES '.jpeg') Y [FechaDeCarga] ESTÁ EN EL RANGO '2020-07-01' Y '2020-08-01'
- ordenar se establece en [LastModifiedDate] DESC
GET /2022/06/REST/Content/?marker=MjAyMC0wNy0yN1QxNjoxNjo0Ny44MTdaLDY0Njg2NA%3D%3D&pageSize=1&sort=%5BLastModifiedDate%5D%20DESC&filter=%5BMediaType%5D%20IS%20%27Image%27%20AND%20%28%5BFileName%5D%20IS%20%27*.jpg%27%20OR%20%5BFileName%5D%20IS%20%27*.jpeg%27%29%20AND%20%5BUploadDate%5D%20IS%20IN%20THE%20RANGE%20%272020-07-01%27%20AND%20%272020-08-01%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de respuesta exitosa
200: Devuelve una lista paginadapaged list de entidades de ContenidoContent (tipo de datos genérico) en una red. Esto devolverá no más de 100 entidades junto con la información necesaria para devolver cualquier otra página restante.
Ejemplo
{
"items": [
{
"id": 123456,
"fileName": "ZoomBG.jpeg",
"physicalPath": "https://bsncloud.s3.amazonaws.com/bsts/7abaa3f28f5f824d4f0bbd5eec295f13",
"virtualPath": "\\Users\\Night\\",
"thumbPath": "https://bsncloud.s3.amazonaws.com/bsts/e6f6eea4387fcae58b40be611c8c3017",
"mediaType": "Image",
"fileSize": 6534,
"fileHash": "SHA1:79060249FC80G02990175BB4BDE4275E6F05F612",
"uploadDate": "2020-07-27T16:16:47.817Z",
"lastModifiedDate": "2020-07-27T16:16:47.817Z",
"fileLastModifiedDate": "2020-07-16T17:34:20.41Z",
"probeData": "",
"metadata": {
"widthPx": 275,
"heightPx": 183,
"colorSpace": "sRGB",
"colorDepthBit": 8,
"imageFormat": "Jpeg"
},
"dynamicPlaylists": [
{
"id": 123,
"name": "My Dynamic Playlist"
}
],
"liveMediaFeeds": [
{
"id": 124,
"name": "My Live Media Feed"
}
],
"taggedPlaylists": [
{
"id": 125,
"name": "My Tagged Playlist"
}
],
"presentations": [
{
"id": 126,
"name": "My Presentation",
"type": "Presentation",
"link": null
}
],
"tags": {
"string::[Content].<Location>": "Sea Coast",
"dateTime::[Content].<TimeTaken>": "2023-10-10T19:06:00.000Z"
},
"permissions": [
{
"entityId": 123456,
"operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 101026
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "2023-10-11T22:07:33.507Z"
},
{
"entityId": 123456,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 10498
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T22:07:33.473Z"
}
]
}
],
"totalItemCount": 23,
"matchingItemCount": 2,
"pageSize": 1,
"nextMarker": "Wm9vbUJHMy5qcGVnLDY0Njg2NA==",
"prevMarker": "Wm9vbUJHMy5qcGVnLDY0Njg267nb",
"isTruncated": true,
"sortExpression": "[LastModifiedDate] DESC",
"filterExpression": "[FileName] CONTAINS '*.jpeg'"
}Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud está mal formada y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método
406: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
DELETE /
Elimina archivos de Content, especificados por un filtro, de una red. Esto le permite eliminar simultáneamente uno o más archivos de contenido del tipo Auxiliar, Hoja de estilos, Fuente, Texto, Imagen, Vídeo, y/o Audio mediaType. Las carpetas (rutas virtuales) no pueden eliminarse usando este método.
Token de alcance requerido
bsn.api.main.content.delete
______________________________________________________________
Parámetro de cadena de consulta
- filtro string obligatorio: Una expresiónexpresión para filtrar resultados de búsqueda
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- filtro se establece en [VirtualPath] IS '\\Shared\\Presentaciones\\Archivo\\*' AND [UploadDate] IS BEFORE '2020-01-01'
DELETE /2022/06/REST/Content/?filter=%5BVirtualPath%5D%20IS%20%27%5C%5CShared%5C%5CPresentations%5C%5CArchive%5C%5C*%27%20AND%20%5BUploadDate%5D%20IS%20BEFORE%20%272020-01-01%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de la respuesta correcta
200: Devuelve el número de archivos de Content afectados como un valor entero.
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método
406: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
GET /Root/{*virtualPath}/
Recupera una lista de archivos de Content en la carpeta del directorio virtual especificado. Este recurso se asigna a la carpeta virtual en la biblioteca de Content; en consecuencia, la ruta virtual es una ruta completa o parcial a una carpeta o archivo de Content de destino.
Token de alcance requerido
bsn.api.main.content.retrieve
______________________________________________________________
Segmento
- virtualPath string: La ubicación del archivo de Content en el directorio virtual de BSN.Cloud
______________________________________________________________
Parámetros de cadena de consulta
- ordenar string optional: Una expresión para ordenar los resultados de búsqueda. La expresión de ordenación especifica la entrada utilizada para ordenar y el orden de clasificación ascendente/descendente (ASC/DESC) (por ejemplo, "[Content].[FileName] ASC").
- marcador string optional: Un valor que especifica qué página recuperar. Este valor es útil si la entrada isTruncated en el cuerpo de respuesta de la llamada GET anterior indica que el número de archivos de Content supera el valor de pageSize.
- pageSize int optional: El número máximo de archivos de Content que pueden incluirse en el cuerpo de respuesta
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- virtualPath se establece en Users/[email protected]/
GET /2022/06/REST/Content/Root/Users/[email protected]/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de respuesta exitosa
200: Devuelve una lista paginadapaged list de entidades ContenidoContent y Carpeta de contenidoContent Folder en una red. Esto devolverá no más de 100 entidades junto con la información necesaria para devolver cualquier otra página restante.
Ejemplo
{
"items": [
{
"id": 123456,
"name": "My Images",
"virtualPath": "\\Users\\[email protected]\\",
"thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder.png",
"mediaType": "Folder",
"creationDate": "2020-07-09T19:09:05.103Z",
"lastModifiedDate": "2020-07-09T19:09:05.103Z",
"hasSubFolders": false,
"hasFiles": false,
"permissions": []
},
{
"id": 1234567,
"name": "My Incoming",
"virtualPath": "\\Users\\[email protected]\\",
"thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder_incoming.png",
"mediaType": "Folder",
"creationDate": "2020-07-09T19:09:05.067Z",
"lastModifiedDate": "2020-07-09T19:09:05.067Z",
"hasSubFolders": false,
"hasFiles": false,
"permissions": []
},
{
"id": 12345678,
"name": "My Videos",
"virtualPath": "\\Users\\[email protected]\\",
"thumbPath": "https://bsncloud.s3.amazonaws.com:443/public/icons/100x100/icon_folder.png",
"mediaType": "Folder",
"creationDate": "2020-07-09T19:09:05.143Z",
"lastModifiedDate": "2020-07-09T19:09:05.143Z",
"hasSubFolders": false,
"hasFiles": false,
"permissions": []
}
],
"totalItemCount": 3,
"matchingItemCount": 3,
"pageSize": 100,
"nextMarker": "LDYwMjg0Nw==",
"prevMarker": "LDYwMjg089nh",
"isTruncated": false,
"sortExpression": "[Content].[FileName] ASC",
"filterExpression": "[Type] IN ('Image', 'Video', 'Audio', 'Folder') AND [VirtualPath] = \\Users\\[email protected]\\"
}Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
POST /Root/{*virtualPath}/
Crea una carpeta de Content en la carpeta de directorio virtual especificada y devuelve el enlace URL a la ubicación de la carpeta. Este recurso se asigna a la carpeta virtual en la biblioteca de Content; en consecuencia, la ruta virtual es una ruta completa o parcial a una carpeta o archivo de contenido de destino.
Token de alcance requerido
bsn.api.main.content.create
______________________________________________________________
Segmento
- virtualPath string opcional: La ubicación de Content en el directorio virtual BSN.Cloud
______________________________________________________________
Cuerpo de la solicitud
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- virtualPath se establece en /Users/[email protected]/
POST /2022/06/REST/Content/Root/Users/[email protected]/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 95Este es el cuerpo de la solicitud de ejemplo:
{
"id": 0,
"name": "Testing",
"virtualPath": "\\Users\\[email protected]\\",
"thumbPath": "",
"mediaType": "Folder",
"creationDate": "0001-01-01T00:00:00",
"lastModifiedDate": "0001-01-01T00:00:00",
"hasSubFolders": false,
"hasFiles": false,
"permissions": []
}______________________________________________________________
Cuerpo de la respuesta exitosa
201: Devuelve el nuevo recurso creado y referenciado por el Uri (proporcionado por el campo de encabezado Location) en la respuesta. La respuesta incluye la Entidad de carpeta de contenido.
Ejemplo
{
"id": 123456,
"name": "Testing",
"virtualPath": "\\Users\\[email protected]\\",
"thumbPath": "",
"mediaType": "Folder",
"creationDate": "2023-06-07T19:00:08.156Z",
"lastModifiedDate": "2023-06-07T19:00:08.156Z",
"hasSubFolders": false,
"hasFiles": false,
"permissions": []
} Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")
415: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")
5XX: Cualquier código 500 es un error interno del servidor
GET /Count/
Recupera el número de archivos de Content en la red que coinciden con los criterios de filtro especificados. Si no se incluye ningún filtro, esta llamada devuelve el número total de archivos de Content en la red.
Token de alcance requerido
bsn.api.main.content.retrieve
______________________________________________________________
Parámetro de la cadena de consulta
- filtro string opcional: Una expresiónexpression para filtrar resultados de búsqueda.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- filtro se establece en [FileName] CONTIENE '*.jpeg'
GET /2022/06/REST/Content/Count/?filter=%5BFileName%5D%20CONTAINS%20%27*.jpeg%27 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de la respuesta exitosa
200: El recuento de archivos de Content se devuelve como un valor entero.
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
406: El servidor no puede devolver la representación de datos que solicitó (como se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
GET /{id}/
Recupera el archivo Content especificado
Token de Scope requerido
bsn.api.main.content.retrieve
______________________________________________________________
Segmento
- id int: Un identificador único para el Content. Este valor es generado por el servidor cuando se carga el archivo Content.
______________________________________________________________
Parámetros de cadena de consulta
Estos parámetros solo deben utilizarse al solicitar una imagen (dependen del tipo de representación):
- anchoMáximo uShort opcional: El ancho máximo del contenido (esto debe ser igual a 100).
- altura máxima uShort opcional: La altura máxima del contenido (esto debe ser igual a 100).
______________________________________________________________
Ejemplos de solicitud
Este ejemplo de solicitud devuelve metadatos JSON. Los parámetros y encabezados se establecen de la siguiente manera (dado que el encabezado especifica application/json, los parámetros anchoMáximo y altura máxima no son necesarios):
- id se establece en 123456
- El valor opcional del encabezado If-Modified-Since es igual al valor del encabezado Última modificación recuperado de la respuesta GET /id.
GET /2022/06/REST/Content/123456/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Modified-Since: Fri, 08 Dec 2023 16:34:43 GMT
Accept-Encoding: gzip,deflate
Accept: application/json, application/vnd.bsn.error+jsonEste ejemplo de solicitud devuelve un archivo de imagen. Los parámetros y encabezados se establecen de la siguiente manera:
- id se establece en 123456
- anchoMáximo se establece en 100
- altura máxima se establece en 100
GET /2022/06/REST/Content/123456/?maxWidth=100&maxHeight=100 HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept-Encoding: gzip,deflate
Accept: image/png, image/jpeg, image/gif______________________________________________________________
Respuesta exitosa con cuerpo
200: Devuelve ya sea la Entidad de contenidoContent Entity o el archivo asociado con el contenido solicitado, dependiendo de lo que se especifique en la solicitud.
Ejemplo
Este es un ejemplo de una respuesta de nivel 200:
{
"id": 123456,
"fileName": "ZoomBG.jpeg",
"physicalPath": "https://bsncloud.s3.amazonaws.com/bsts/7abaa3f28f5f824d4f0bbd5eec295f13",
"virtualPath": "\\Users\\Night\\",
"thumbPath": "https://bsncloud.s3.amazonaws.com/bsts/e6f6eea4387fcae58b40be611c8c3017",
"mediaType": "Image",
"fileSize": 6534,
"fileHash": "SHA1:79060849FC80F02990175BB4BDE4375E6F05F622",
"uploadDate": "2020-07-27T16:16:47.817Z",
"lastModifiedDate": "2023-12-08T16:34:44.093Z",
"fileLastModifiedDate": "2020-07-27T16:16:47.817Z",
"probeData": "",
"metadata": {
"widthPx": 275,
"heightPx": 183,
"colorSpace": "sRGB",
"colorDepthBit": 8,
"imageFormat": "Jpeg"
},
"dynamicPlaylists": [
{
"id": 123,
"name": "My Dynamic Playlist"
}
],
"liveMediaFeeds": [
{
"id": 124,
"name": "My Live Media Feed"
}
],
"taggedPlaylists": [
{
"id": 125,
"name": "My Tagged Playlist"
}
],
"presentations": [
{
"id": 126,
"name": "My Presentation",
"type": "Presentation",
"link": null
}
],
"tags": {
"string::[Content].<Location>": "Sea Coast",
"dateTime::[Content].<TimeTaken>": "2023-10-10T19:06:00.000Z"
},
"permissions": [
{
"entityId": 123456,
"operationUID": "db3a6287-8d03-51b4-6528-704fac1ab8c9",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 101026
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "2023-10-11T22:07:33.507Z"
},
{
"entityId": 123456,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 10498
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-10-11T22:07:33.473Z"
}
]
}Respuesta correcta
304: El recurso no se modificó desde la hora especificada en el encabezado “If-Modified-Since”
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud está mal formada y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
PUT /{id}/
Actualice los archivos de Contenido especificados.
Token de Scope requerido
bsn.api.main.content.update
______________________________________________________________
Segmento
- id int: Un identificador único para el Contenido. Este valor es generado por el servidor cuando se carga el archivo de contenido.
______________________________________________________________
Cuerpo de la solicitud
- La Entidad de contenidoContent Entity
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id es 123456
- El valor opcional del encabezado If-Unmodified-Since es igual al valor del encabezado Última modificación recuperado de la respuesta GET /id.
PUT /2022/06/REST/Content/123456/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
If-Unmodified-Since: Wed, 20 Dec 2023 21:32:34 GMT
Content-Type: application/json
Content-Length: 861Este es el cuerpo de solicitud de ejemplo:
{
"id": 0,
"fileName": "Display.jpeg",
"physicalPath": null,
"virtualPath": "\\Users\\Night\\",
"thumbPath": null,
"mediaType": "Image",
"fileSize": 0,
"fileHash": null,
"uploadDate": "0001-01-01T00:00:00",
"lastModifiedDate": "0001-01-01T00:00:00",
"fileLastModifiedDate": "0001-01-01T00:00:00",
"probeData": null,
"metadata": null,
"dynamicPlaylists": null,
"liveMediaFeeds": null,
"taggedPlaylists": null,
"presentations": null,
"tags": {},
"permissions": []
}______________________________________________________________
Respuesta correcta
204: El archivo de contenido especificado ha sido actualizado en la red
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado
406: El servidor no puede devolver la representación de datos que usted solicitó (según se especifica en el encabezado "Accept")
412: Error de condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)
415: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")
5XX: Cualquier código 500 es un error interno del servidor
PATCH /{id}/
Aplica una secuencia de cambios a una entidad Content específica especificada por id. Consulte RFC 6902.
Token de alcance requerido
bsn.api.main.content.regular.update
______________________________________________________________
Segmento
- id int: Un identificador único para el Content. Este valor es generado por el servidor cuando se carga el archivo Content.
______________________________________________________________
Cuerpo de la solicitud
Estas propiedades son entradas en una matriz. Cada entrada debe tener estas tres propiedades:
- op string: El tipo de operación; en este caso siempre es "replace"
- ruta string: Una ruta Uri que hace referencia a la ubicación dentro del documento de destino donde se realizará la actualización
- valor object: Los valores de reemplazo para los parámetros que deben actualizarse. Esto puede ser una matriz.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id es 12345
PATCH /2022/06/REST/Content/12345/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json-patch+json
Content-Length: 1068Este es el cuerpo de la solicitud de ejemplo:
[
{
"op": "replace",
"path": "/virtualPath/",
"value": "\\Shared\\Incoming\\"
},
{
"op": "replace",
"path": "/tags/",
"value": {
"String::[Content].<String>": "HelloWorld",
"Boolean::[Content].<Boolean>": true,
"Number::[Content].<Number>": 42,
"DateTime::[Content].<DateTime>": "2024-01-12T22:00:00.123Z",
"NumericArray::[Content].<NumericArray>": "1, 2, 3",
"StringArray::[Content].<StringArray>": "\"A\", \"B\", \"C\""
}
},
{
"op": "replace",
"path": "/permissions/",
"value": [
{
"entityId": 12345,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"name": "My Custom Role",
"isCustom": true,
"type": "Role",
"id": 54321
},
"isFixed": false,
"isInherited": false,
"isAllowed": true,
"creationDate": "0001-01-01T00:00:00"
}
]
}
]Respuesta exitosa
204: Los parámetros se reemplazaron correctamente.
Respuesta de error
400: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
412: Falló la condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)
415: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")
5XX: Cualquier código 500 es un error interno del servidor
DELETE /{id}/
Este método le permite eliminar archivos que son del tipo Auxiliar, Hoja de estilos, Fuente, Texto, Imagen, Vídeo, y/o Audio mediaType, así como carpetas vacías y no vacías que contienen archivos que actualmente no se utilizan.
Token de alcance requerido
bsn.api.main.content.delete
______________________________________________________________
Segmento
- id int: Un identificador único para el Content que se eliminará.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 123456
- El valor opcional del encabezado If-Unmodified-Since es igual al valor del encabezado Última modificación recuperado de la respuesta GET /id.
DELETE /2022/06/REST/Content/123456/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
If-Unmodified-Since: Wed, 20 Dec 2023 21:32:34 GMT
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Respuesta exitosa
204: El archivo Content especificado ha sido eliminado
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay varias representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tienen un formato incorrecto y, por lo tanto, no son válidos, o se rechazan de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque sea válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")
412: Falló la condición previa (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)
5XX: Cualquier código 500 es un error interno del servidor
GET /{id}/Tags/
Devuelve etiquetas asociadas con el archivo Content especificado
Token de ámbito requerido
bsn.api.main.content.retrieve
______________________________________________________________
Segmento
- id int: Un identificador único para el archivo Content. Este valor es generado por el servidor cuando se carga el archivo Content.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 123456
GET /2022/06/REST/Content/123456/Tags/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de la respuesta exitosa
200: Devuelve una lista de propiedades y sus valores.
Ejemplo
{
"string::[Content].<Anon>": "image",
"number::[Content].<BillingRate>": "30"
}Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay varias representaciones solicitadas)
400: La solicitud tiene un formato incorrecto y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque sea válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
POST /{id}/Tags/
Agrega una o más etiquetas al archivo Content especificado. Los siguientes son valores válidos definidos por el sistema para las etiquetas de Content: "FileName", "FileSize", "ContentType", y "UploadDate".
Token de alcance requerido
bsn.api.main.content.update
______________________________________________________________
Segmento
- id int: Un identificador único para el Content. Este valor es generado por el servidor cuando se carga el archivo de contenido.
______________________________________________________________
Cuerpo de la solicitud
- etiquetas DynamicObject: Una colección de pares clave-valor donde la clave es el nombre de la etiqueta y el valor es el valor de la etiqueta. Consulte la entrada Etiquetas en Entidad del reproductor para obtener más información.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 123456
- Se agrega una etiqueta para establecer la tarifa de facturación en 30
POST 2022/06/REST/Content/123456/Tags/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 34Este es el cuerpo de la solicitud de ejemplo:
{
"[Content].<BillingRate>": 30
}______________________________________________________________
Respuesta exitosa
204: Se ha agregado correctamente una nueva etiqueta al archivo Content especificado
Respuesta de error
400: Ya se definió una etiqueta con la clave especificada, la solicitud está mal formada y, por lo tanto, no es válida, o existe un conflicto
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
415: El servidor no puede aceptar la representación de datos que usted envió (según se especifica en el encabezado "Content-Type")
5XX: Cualquier código 500 es un error interno del servidor
DELETE /{id}/Tags/
Elimina una o más etiquetas del archivo Content especificado
Token de alcance requerido
bsn.api.main.content.update
______________________________________________________________
Segmento
- id int: Un identificador único para el Content. Este valor es generado por el servidor cuando se carga el archivo Content.
______________________________________________________________
Cuerpo de la solicitud
- lista List<string>: Una lista de pares clave/valor que especifican las etiquetas que se eliminarán del archivo Content
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 123456
- La etiqueta "string::[Content].<Anon>" será eliminada
DELETE /2022/06/REST/Content/123456/Tags/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 28Este es el cuerpo de solicitud de ejemplo:
[
"string::[Content].<Anon>"
]______________________________________________________________
Respuesta correcta
204: Las etiquetas especificadas se han eliminado del archivo Content especificado
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque es válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")
412: La condición previa falló (el recurso cambió desde el momento especificado en el valor del encabezado “If-Unmodified-Since”)
5XX: Cualquier código 500 es un error interno del servidor
GET /Operations/
Devuelve los permisos operativos otorgados a los roles para operaciones de negocio específicas
Token de Scope requerido
bsn.api.main.operations.retrieve
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se configuran de la siguiente manera:
GET /2022/06/REST/Content/Operations/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Origin: http://localhost/______________________________________________________________
Cuerpo de respuesta correcta
200: Devuelve la Entidad de operaciones de negocioBusiness Operations Entity
Ejemplo
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud está mal formada y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
406: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
GET /{id}/Permissions/
Devuelve permisos de objeto para el archivo de Content especificado
Token de alcance requerido
bsn.api.main.content.retrieve
______________________________________________________________
Segmento
- id int: Un identificador único para el Content especificado. Este valor es generado por el servidor cuando se carga el archivo de Content.
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 1234567
GET /2022/06/REST/Content/1234567/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate______________________________________________________________
Cuerpo de la respuesta exitosa
200: Devuelve una matriz de entidades PermisoPermission
Ejemplo
[
{
"entityId": 1234567,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 101026
},
"isFixed": true,
"isInherited": false,
"isAllowed": true,
"creationDate": "2023-09-08T17:15:36.013Z"
}
]Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud está mal formada y, por lo tanto, no es válida
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que solicitó (según se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor
POST /{id}/Permissions/
Agrega permisos al archivo de Content especificado
Token de alcance requerido
bsn.api.main.content.update
______________________________________________________________
Segmento
- id int: Un identificador único para el Content. Este valor es generado por el servidor cuando se carga el archivo de Content.
______________________________________________________________
Cuerpo de la solicitud
- Una matriz de PermisoPermission entidades
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 12345
POST /2022/06/REST/Content/12345/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 313Este es el cuerpo de solicitud de ejemplo:
[
{
"entityId": 12345,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 101026
},
"isFixed": true,
"isInherited": false,
"isAllowed": true,
"creationDate": "0001-01-01T00:00:00"
},
{
"entityId": 12345,
"operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 10498
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "0001-01-01T00:00:00"
}
]______________________________________________________________
Respuesta satisfactoria
204: Los permisos se agregaron correctamente al Content especificado
Respuesta de error
400: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
415: El servidor no puede aceptar la representación de datos que usted envió (como se especifica en el encabezado "Content-Type")
5XX: Cualquier código 500 es un error interno del servidor
DELETE /{id}/Permissions/
Elimina permisos del archivo de Content especificado
Token de Scope requerido
bsn.api.main.content.update
______________________________________________________________
Segmento
- id int: Un identificador único para el archivo de Content. Este valor es generado por el servidor cuando se carga el archivo de Content.
______________________________________________________________
Cuerpo de la solicitud
- Una matriz de PermisoPermission entidades
______________________________________________________________
Ejemplo de solicitud
Los parámetros y encabezados de la solicitud de ejemplo se establecen de la siguiente manera:
- id se establece en 12345
DELETE /2022/06/REST/Content/12345/Permissions/ HTTP/1.1
Host: api.bsn.cloud
Connection: Keep-Alive
Authorization: Bearer {{UserAccessToken}}}
Accept: application/json, application/vnd.bsn.error+json
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 313Este es el cuerpo de solicitud de ejemplo:
[
{
"entityId": 12345,
"operationUID": "39e69897-8d9a-f634-95cf-7419a3e93c23",
"principal": {
"login": "[email protected]",
"type": "User",
"id": 101026
},
"isFixed": true,
"isInherited": false,
"isAllowed": true,
"creationDate": "0001-01-01T00:00:00"
},
{
"entityId": 12345,
"operationUID": "ff7314eb-8094-42c7-8d86-9741d29ce7f1",
"principal": {
"name": "Custom",
"isCustom": true,
"type": "Role",
"id": 10498
},
"isFixed": false,
"isInherited": false,
"isAllowed": false,
"creationDate": "0001-01-01T00:00:00"
}
]______________________________________________________________
Respuesta correcta
204: Los permisos especificados se han eliminado del archivo Content especificado
Respuesta de error
300: La representación solicitada no pudo devolverse porque es ambigua (hay múltiples representaciones solicitadas)
400: La solicitud o el cuerpo de la solicitud tiene un formato incorrecto y, por lo tanto, no es válido, o se rechaza de acuerdo con las reglas de negocio
401: El token de acceso no es válido o no se especificó
403: El token de acceso proporcionado, aunque válido, no proporciona acceso a este método
404: El servidor no puede encontrar el recurso solicitado (la ruta no existe)
406: El servidor no puede devolver la representación de datos que usted solicitó (como se especifica en el encabezado "Accept")
5XX: Cualquier código 500 es un error interno del servidor