Acceda a sus archivadores y a los documentos que contienen a través del servicio web predeterminado integrado, DocuWare Platform API.
La lista siguiente muestra los endpoints disponibles para el servicio web REST predeterminado «DocuWare Platform API».
Información: Algunos endpoints pueden ejecutar varias operaciones
Por ejemplo, el endpoint «documentAnnotations» permite colocar un sello en una posición libre o fija, o bien añadir una anotación de texto. La ruta/endpoint es la misma para estas tres funciones: «documentAnnotations». La diferencia reside en el cuerpo HTTP. No obstante, DocuWare solo puede rellenar automáticamente un cuerpo HTTP. En el ejemplo de «documentAnnotations», el cuerpo HTTP de la función «Colocar un sello en una posición definida automáticamente» se rellena de forma predeterminada. Si desea utilizar una función diferente con «documentAnnotations», deberá reemplazar y ajustar manualmente el cuerpo HTTP. Las plantillas correspondientes se encuentran al final de la list of endpoints.
La etiqueta «Default» en la list of endpoints indica qué cuerpo HTTP se rellena automáticamente de forma predeterminada.
Consulte este resumen para conocer las operaciones que comparten la misma ruta/endpoint:
documentAnnotations
POST /FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}
Colocar un sello en una posición definida automáticamente - default
Colocar un sello en una posición fija
Añadir una anotación de texto en una posición fija
processDocumentAction
PUT /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation
Fusionar capas - default
Anexar un documento
userRoles
PUT /Organization/UserRoles?UserId={UserId}
Añadir un usuario a un rol - default
Eliminar un usuario de un rol
userGroups
PUT /Organization/UserGroups?UserId={UserId}
Añadir un usuario a un grupo - default
Eliminar un usuario de un rol
Para pasar el ID/GUID de un usuario, basta con escribir el nombre de usuario en una variable global de tipo «User» y pasar la variable en la solicitud HTTP. El sistema proporcionará automáticamente el GUID correspondiente.
Lista de endpoints
Obtener el número total de documentos en un archivador o una bandeja de documentos
Descripción: DialogId (opcional): identificador del diálogo de búsqueda utilizado.
FieldName (opcional): nombre del campo cuyos valores se agrupan y cuentan.Predeterminado: sí
Operación: countResult
Comando: POST
Ruta:
/DocuWare/Platform/FileCabinets/ {TrayId/FileCabinetId}/Query/CountExpression?dialogId={DialogId}&fieldName= {FieldName}
Buscar por diálogo
Descripción: DialogId (opcional): identificador del diálogo de búsqueda utilizado.
Predeterminado: sí
Operación: dialogExpression
Comando: POST
Ruta:
/DocuWare/Platform/FileCabinets/ {TrayId/FileCabinetId}/Query/CountExpression?dialogId={DialogId}&fieldName= {FieldName}Cuerpo HTTP (ejemplo):
{ "Condition":[ {"DBName":"COMPANY", "Value":["Peter's Engineering"]},{"DBName":"CONTACT", "Value":["EMPTY()"]},{"DBName":"DocuWareFulltext", "Value":["Solar Panels"]}], "Operation":"And"}
Crear una nueva entrada de base de datos en una bandeja de documentos o un archivador
Predeterminado: sí
Operación: documents
Comando: POST
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Documents
Cuerpo HTTP (ejemplo):
{ "Fields": [ { "FieldName": "COMPANY", "Item": "Peter's Engineering" }, { "FieldName": "CONTACT", "Item": "Peter Sanders" }, { "FieldName": "DOCUMENT_DATE", "Item": "2020-01-01" }, { "FieldName": "COST_CENTER", "Item": { "$type": "DocumentIndexFieldKeywords", "Keyword": [ "A", "B", "C" ] } } ] }
Obtener información de un documento
Predeterminado: sí
Operación: document
Comando: GET
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}
Eliminar un documento
Predeterminado: sí
Operación: documentDelete
Comando: DELETE
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}
Eliminar una sección de un documento
Descripción: Si se elimina la única sección de un documento, este se convertirá automáticamente en una entrada de base de datos.
Predeterminado: sí
Operación: sectionDelete
Comando: DELETE
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Sections/{SectionId}
Colocar un sello en una posición definida automáticamente
Descripción: Colocar un sello en la mejor posición.
Predeterminado: sí
Operación: documentAnnotations
Comando: POST
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation
Cuerpo HTTP (ejemplo):
{ "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "StampPlacement", "StampId": "73d54f34-1b80-4b43-81ec-f0d31176d990", "Layer": 1, "Field": [ { "Name": "<#1>", "TypedValue": { "Item": "*Test007*" }, "Value": "Jenkins" }, { "Name": "<#2>", "TypedValue": { "Item": "*Test007*" }, "Value": "Approved" } ], "Password": null } ] } } ] }
Colocar un sello en una posición fija
Operación: documentAnnotations
Comando: POST
Ruta: FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation
Cuerpo HTTP (ejemplo):
{ "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "StampPlacement", "Location": { "X": "100", "Y": "100" }, "StampId": "6ab67774-074d-4d93-99c5-5bc46262b84c", "Layer": 1, "Field": [ { "Name": "<#1>", "TypedValue": { "Item": "September" }, "Value": "Sep." } ], "Password": null } ] } } ] }
Añadir una anotación de texto
Operación: documentAnnotations
Comando: POST
Ruta: FileCabinets/{TrayId/FileCabinetId}/Documents/{DocId}/Annotation
Cuerpo HTTP (ejemplo):
{ "Annotations": [ { "PageNumber": 0, "SectionNumber": 0, "AnnotationsPlacement": { "Items": [ { "$type": "Annotation", "Layer": [ { "Id": "1", "Items": [ { "$type": "TextEntry", "Font": { "FontName": "Lucida Console", "Bold": true, "Italic": true, "Underlined": false, "StrikeThrough": false, "FontSize": 200, "Spacing": 0 }, "Value": "Test annotation", "Location": { "Left": 100, "Top": 100, "Width": 1500, "Height": 500 }, "Color": "Black", "Rotation": 0, "Transparent": false, "StrokeWidth": 50 } ] } ] } ] } } ] }
Transferir un documento
Descripción: Transferir un documento de un archivador o una bandeja de documentos de origen al archivador o la bandeja de documentos especificados.
El tipo de contenido debe establecerse como application/vnd.docuware.platform.documentstransferinfo+json
Predeterminado: sí
Operación: transfer
Comando: POST
Ruta: /FileCabinets/ {TrayId/FileCabinetId} /Task/Transfer
Cuerpo HTTP (ejemplo):
{ "SourceFileCabinetId": "ae156510-ffa8-48b1-a3ec-baec3180669c", "Documents": [ { "Id": 123456, "Fields": null } ], "KeepSource": true, "FillIntellix": false,"UseDefaultDialog": true}
Reemplazar el archivo de un documento
Descripción: Reemplazar el archivo de un documento con el documento del flujo de trabajo.
Predeterminado: sí
Operación: sectionData
Comando: POST
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Sections/{SectionId}/Data
Anexar un nuevo archivo
Descripción: Anexar el documento actual a otro documento en un archivador o una bandeja de documentos.
El documento se puede anexar en su formato original o como PDF sin anotaciones ni sellos.
Si el destino es una entrada de base de datos, se convertirá automáticamente en un documento.
Predeterminado: sí
Operación: sections
Comando: POST
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Sections?DocId={DocId}
Separar un documento
Descripción: Automatizar la separación de archivos. Por ejemplo, cuando se almacenan documentos unidos con clip en el archivador, se pueden transferir a la bandeja de documentos, separar allí y volver a almacenar en el archivador.
En la ruta de la solicitud, especifique el GUID de la bandeja.
En los parámetros de consulta de la solicitud, añada el ID del documento.
Predeterminado: sí
Operación: unclipDocument
Comando: POST
Ruta: /FileCabinets/{TrayId/FileCabinetId}/Operations/ContentDivide?docId={docId}
Fusionar capas
Descripción: Fusionar las capas de anotaciones con el documento. Se creará un nuevo PDF que reemplazará al anterior.
Predeterminado: sí
Operación: processDocumentAction
Comando: PUT
Ruta:
/FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}Cuerpo HTTP (ejemplo):
{ "DocumentAction": "MergeAnnotations","DocumentActionParameters":{"$type":"MergeAnnotationsParameters","SectionNumber":0}}
Anexar un documento
Descripción: DialogId (opcional): identificador del diálogo de búsqueda utilizado. FieldName (opcional): nombre del campo cuyos valores se agrupan y cuentan.
Operación: processDocumentAction
Comando: PUT
Ruta:
/FileCabinets/{TrayId/FileCabinetId}/Operations/ProcessDocumentAction?docId={DocId}Cuerpo HTTP (ejemplo):
{ "DocumentAction": "Append", "DocumentActionParameters": { "$type": "AppendActionParameters", "RemoveSourceDocuments": false, "DocumentsInFront": [ ], "DocumentsAtBack": [ { "SourceCabinetId": "ae156510-ffa8-48b1-a3ec-baec3180669c", "Documents": [ 123456 ] } ] } }
Crear un usuario
Descripción: El tipo de contenido debe establecerse como application/vnd.docuware.platform.createorganizationuser+json
Predeterminado: sí
Operación: createUser
Comando: POST
Ruta: /Organization/UserInfo
Cuerpo HTTP (ejemplo):
{ "EMail": "firstname.lastname@domain.com", "Name": "MyUserName", "DBName": "MYUSERNA", "Password": "eLK%4s*Z", "NetworkID": "Domain\\MyUserName" }
Modificar las propiedades de un usuario
Predeterminado: sí
Operación: modifyUser
Comando: PATCH
Ruta: /Organization/UserInfo
Obtener todos los usuarios de la organización
Predeterminado: sí
Operación: users
Comando: GET
Ruta: /Organization/Users?Active={true|false}&Name={UserName}
Obtener todos los usuarios de un grupo
Descripción: GroupID (obligatorio): identificador del grupo.
Predeterminado: sí
Operación: usersByGroup
Comando: GET
Ruta: /Organization/GroupUsers?groupId={GroupId}
Obtener todos los usuarios de un rol
Descripción: RoleID (obligatorio): identificador del grupo.
IncludeGroupUsers (opcional): booleano; valor predeterminado: «false»Predeterminado: sí
Operación: usersByRole
Comando: GET
Ruta:
/Organization/UserRoles?UserId={UserId}&Active={true|false}&Name={RoleName}&Type={Standard|Default|Administrator}
Obtener información de un usuario
Descripción: Obtener las propiedades de un usuario específico, como su estado activo o su estado de ausencia.
UserID (obligatorio):
Identificador del usuario.
Predeterminado: sí
Operación: userById
Comando: GET
Ruta: /Organization/UserByID?userId={UserId}
Obtener todos los roles de un usuario
Descripción:
UserID (obligatorio): identificador del usuario.Active (opcional): booleano; valor predeterminado: vacío
Name (opcional): nombre del rol
Type (opcional): {Standard|Default|Administrator}
Predeterminado: sí
Operación: userRoles
Comando: GET
Ruta: /Organization/UserRoles?UserId={UserId}
Añadir un usuario a un rol
Descripción: UserID (obligatorio): identificador del usuario.
Predeterminado: sí
Operación: userRoles
Comando: PUT
Ruta: Organization/UserRoles?UserId={UserId}
Cuerpo HTTP (ejemplo):
{ "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Add" }
Eliminar un usuario de un rol
Descripción: UserID (obligatorio): identificador del usuario.
Operación: userRoles
Comando: PUT
Ruta: Organization/UserRoles?UserId={UserId}
Cuerpo HTTP (ejemplo):
{ "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Remove" }
Obtener todos los grupos de un usuario
Descripción:
UserID (obligatorio): identificador del usuario.Active (opcional): booleano; valor predeterminado: vacío
Name (opcional): nombre del grupo
Predeterminado: sí
Operación: userGroups
Comando: GET
Ruta: /Organization/UserGroups?UserId={UserId}
Añadir un usuario a un grupo
Descripción: UserID (obligatorio): identificador del usuario.
Predeterminado: sí
Operación: userGroups
Comando: PUT
Ruta: /Organization/UserGroups?UserId={UserId}
Cuerpo HTTP (ejemplo):
{ "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Add" }
Eliminar un usuario de un grupo
Descripción: UserID (obligatorio): identificador del usuario.
Predeterminado: sí
Operación: userGroups
Comando: PUT
Ruta: /Organization/UserGroups?UserId={UserId}
Cuerpo HTTP (ejemplo):
{ "Ids": [ "2d89fc45-a3c4-49c6-971b-ebc696a67d78" ], "OperationType": "Remove" }
Obtener todos los roles de la organización
Descripción:
Active (opcional): booleano; valor predeterminado: vacíoName (opcional): nombre del rol
Type (opcional): {Standard|Default|Administrator}
Operación: roles
Comando: GET
Ruta: /Organization/Roles? Active={true|false}&Name={RoleName}&Type={Standard|Default|Administrator}
Obtener información de un rol
Descripción:
Obtener la información de un rol, como su estado activo.RoleID (obligatorio): identificador del rol.
Predeterminado: sí
Operación: role
Comando: GET
Ruta: /Organization/Role?roleId={RoleId}
Obtener todos los grupos de la organización
Descripción:
Active (opcional): booleano; valor predeterminado: vacíoName (opcional): nombre del grupo
Predeterminado: sí
Operación: groups
Comando: GET
Ruta: /Organization/Groups?&Active={true|false}&Name={GroupName}
Obtener información de un grupo
Descripción:
Obtener la información de un grupo, como su estado activo.GroupID (obligatorio): identificador del grupo.
Predeterminado: sí
Operación: group
Comando: GET
Ruta: /Organization/Group?groupId={GroupId}
Crear un nuevo grupo
Descripción: Automatizar la creación de grupos de DocuWare. Por ejemplo, cuando se almacenan nuevos archivos de proyecto, se puede crear un grupo con el nombre del proyecto y asignar un perfil de valor de índice a dicho grupo.
Propiedades obligatorias:id
name
active
Predeterminado: sí
Operación: createGroup
Comando: POST
Ruta: /Organization/Groups
Cuerpo HTTP (ejemplo):
{ "Ids": [ "group-1234" ], "name": "Accounting Team", "Active": "true" }
Ejemplo de uso para colocar un sello con el endpoint «documentAnnotations»
Una vez que una factura ha sido procesada en el software de contabilidad, desea colocar automáticamente un sello «Pagado» en la factura en DocuWare.
Para ello, cree un trabajo de Autoindex que cambie la entrada de índice de la factura a «pagado». El cambio de la entrada de índice de la factura activa un flujo de trabajo, cuya actividad de servicio web coloca automáticamente el sello «Pagado» en el documento de la factura.
Tenga en cuenta que el sello «Pagado» debe estar configurado y asignado al usuario especificado para que el flujo de trabajo ejecute las actividades automáticas.