Servicio web estándar API de DocuWare Platform

Prev Next

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ío

    Name (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ío

    Name (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.

Versiones compatibles: DocuWare Cloud + 7.14 + 7.13 + 7.12 + 7.11 + 7.10