La API para iniciar procesos Json de formulario permite iniciar un proceso de workflow de formularios. Esta API usa el método POST para iniciar un proceso de workflow. Los datos de formulario iniciales deben enviarse en formato JSON. Debe ser un formulario de JSON válido, ya que no se realiza ninguna validación de datos ni se ejecutan reglas de campo al guardar los datos de formulario.
Información general de la API
A continuación, se ofrece información general sobre la API para iniciar procesos Json de formulario:
-
Admite la función de Plantilla de nombre. La plantilla de nombre debe configurarse con el control de Nombre de formulario. La propiedad del control de Nombre del formulario Ejecutar en debe establecerse en Finalizar. Al llamar a la API de acceso digital, el campo de formulario asignado a la propiedad Nombre de campo del control Nombre de formulario debe estar vacío.
-
El usuario de Evolve especificado como remitente del formulario debe tener el rol Originador en la solución para la que se debe iniciar el proceso de formulario nuevo.
-
Opcionalmente, se puede especificar el participante del proceso o el usuario de fase en la solicitud de API.
-
Un proceso de workflow de formularios iniciado desde la API se etiquetará como documento de API y, si se vuelve a enviar manualmente, el documento de proceso cancelado se seguirá considerando como documento de API. Esta información se tendrá en cuenta para la facturación de las licencias.
-
Al copiar un documento de formulario, se crea un documento nuevo en el sistema. El documento copiado de un documento de API e iniciado o enviado manualmente desde la interfaz de usuario web se considerará como un documento que no es de API (por ejemplo, un documento enviado de forma manual).
Cuerpo de solicitud y respuesta
Para iniciar un proceso de formularios a través de la API con campos de formulario en formato JSON, la estructura de solicitud y respuesta será la siguiente:
Contrato de datos de solicitud:
Nombre | Tipo | Restricción | Descripción |
---|---|---|---|
Formfields | cadena | - |
|
ParticipantsInfoArray | Jarray de { «SwimlaneName»: «abc», «UserName»: «xyz» } | - |
Debe ser el nombre de la fase, que debe resolverse con los usuarios indicados.
Si este parámetro se deja en blanco o no se proporcionan detalles específicos de las fases, la aplicación resolverá estas fases según el comportamiento definido en el proceso de workflow. Para la fase de tipo Persona en el proceso de workflow de formularios, el valor del usuario de fase no puede reemplazarse cuando se inicia el formulario a través de la API. |
Comentarios | cadena | - | Comentarios sobre el nodo Inicio. |
AppName | cadena | Obligatorio | Nombre de aplicación de la «solución de formularios». |
LibName | cadena | Obligatorio | Nombre de biblioteca de la «solución de formularios». |
TemplateName | cadena | Obligatorio | Nombre de la «solución de formularios». |
UserName | cadena | Obligatorio | Nombre del usuario que se establecerá como originador del proceso. El usuario debe tener el rol Originador en la solución para la que se debe iniciar el proceso de formulario nuevo. |
Ejemplos de valores de la propiedad FormFields:
Ejemplo 1: El formulario de Composer tiene dos campos, «Product_Name» y «Product_Description», de modo que el valor de la propiedad «FormFields» debe ser el siguiente:
Formfields
{"my:myFields": {"my:Product_Name": "","my:Product_Description": ""}}
Ejemplo 2: El formulario de Composer tiene tres campos (campos del encabezado de formulario) y una tabla con tres campos (tres columnas). También se pueden pasar a la API valores limitados de los campos, por ejemplo, es posible pasar el valor de dos campos de encabezado y los valores de tabla de dos campos de tabla.
Formfields
{ "my:myFields":{ "my:Product_Name":"test3", "my:Product_Description":"test2", "my:Repeating_Table_9":{ "my:Repeating_Content":[ {"my:TableColumn1":"val1","my:TableColumn2":"100"}, {"my:TableColumn1":"val2","my:TableColumn2":"200"} ]}}}
Contrato de datos de respuesta
Nombre | Tipo | Restricción | Descripción |
---|---|---|---|
processId | Guid | - | Id. de devolución del proceso. |
FormItemId | Guid | - |
Id. de devolución del documento de formulario. |
Ejemplo de solicitud y respuesta
El siguiente ejemplo muestra el uso de la API:
Ruta: http://Precisely.EvolveUrl/svr/api/v1/Processextn/StartFormJsonProcess
Carga útil de solicitud
{ "AppName":"My APP", "LibName": "Form Process Ext", "TemplateName": "API Product Example", "UserName": "mydomain\\user1", "Comments": "Process from API2", "Formfields": { "my:myFields": { "my:Product_Name": "Evolve", "my:Product_Description": "Evolve Product Description" } }, "ParticipantsInfoArray": [ { "SwimLaneName": "PersonSwimlane", "UsersName": "mydomain\\user1" }, { "SwimLaneName": "TeamSwimlane", "UsersName": "mydomain\\user1,mydomain\\user2" } ] }
Carga útil de respuesta
{ "ProcessId": "ea03a42e-7eca-4b5d-af8f-d8e778d75e84", "FormItemId": "fc1f36dd-3302-4217-b052-f0d6246aa0e3" }