Obtener JSON creación solicitud

Devuelve un JSON con la estructura, para el proceso con código processCode, del objeto a enviar en el método de Crear solicitud.

TIPO: GET

URL: https://HOST_MODELA/public/external/process/{codeProcess}/getexternalrequestjson

Debemos enviar un parámetro en la URL:

  • processCode: Código del proceso del que queremos obtener los datos. Se obtendrá la información de la versión publicada del proceso, en caso de no existir ninguna el método devolverá un error

Para su uso necesitamos un token del tipo Creación petición.

Ejemplo de una llamada, donde {REPLACE_INSTANCE_GENERATED_TOKEN} debe ser el valor del token:

curl --location 'https://demo.getmodela.com/public/external/process/{codeProcess}/getexternalrequestjson' \
--header 'token: {REPLACE_INSTANCE_GENERATED_TOKEN}' 
--header 'Company-Id: {REPLACE_COMPANY_ID}'

Ejemplo de JSON de respuesta:

{
   "success": true,
   "errorCode": null,
   "errorMessage": null,
   "result":    {
      "processCode": "Test",
      "objectIdOwner": "User Object_Id who created the request. Must exist in Modela",
      "companyCode": "Company Code",
      "subject": "Subject",
      "summary": "Summary",
      "additionalComments": "Additional comments",
      "additionalInfoAttachments": [      {
         "fileName": "File name with extension",
         "content": "Contents of the attached file in base64",
         "mimeType": "File mime type",
         "description": "File description"
      }],
      "formField":       [
                  {
            "idInternal": "n1",
            "value": [{"value": "Number value with . as decimal separator"}]
         },
                  {
            "idInternal": "t1",
            "value": [{"value": "Text value"}]
         },
                  {
            "idInternal": "d1",
            "value": [{"value": "Date value with yyyy-MM-dd format"}]
         },
                  {
            "idInternal": "c1",
            "value": [{"value": "Selection option code"}]
         },
                  {
            "idInternal": "r1",
            "value": [{"value": "Selection option code"}]
         },
                  {
            "idInternal": "ch1",
            "value": [{"value": "Selection option code separated by ,"}]
         },
                  {
            "idInternal": "at1",
            "value": [            {
               "fileName": "File name with extension",
               "content": "Contents of the attached file in base64",
               "mimeType": "File mime type",
               "description": "File description"
            }]
         },
                  {
            "idInternal": "n2",
            "value": [{"value": "Number value with . as decimal separator. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "t2",
            "value": [{"value": "Text value. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "d2",
            "value": [{"value": "Date value with yyyy-MM-dd format. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "c2",
            "value": [{"value": "Selection option code. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "ch2",
            "value": [{"value": "Selection option code separated by ,. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "us1",
            "value": [{"value": "User Object_Id. Must exist in Modela"}]
         },
                  {
            "idInternal": "us1m",
            "value": [{"value": "User Object_Id separated by ,. Must exist in Modela"}]
         },
                  {
            "idInternal": "el1",
            "value": [{"value": "code of the selected option. If you assemble a hierarchy, the different codes must be separated by /"}]
         },
                  {
            "idInternal": "us2",
            "value": [{"value": "User Object_Id. Must exist in Modela. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "us2m",
            "value": [{"value": "User Object_Id separated by ,. Must exist in Modela. Field of a table, must contain an array of values in the order of the rows"}]
         },
                  {
            "idInternal": "ExternalList9664",
            "value": [{"value": "code of the selected option. If you assemble a hierarchy, the different codes must be separated by /. Field of a table, must contain an array of values in the order of the rows"}]
         }
      ],
      "action": "Acion to be executed. If empty, the request is created in Draft status."
   }
}

Las propiedades de este JSON son:

  • ProcessCode: Código del proceso para el que queremos crear la solicitud.
  • ObjectIdOwner: Object ID del usuario que creará la solicitud. Debe ser de un usuario obtenido en la petición Obtener los usuarios de BDD
  • CompanyCode: Código de la Sociedad para la que queremos crear la solicitud. Debe ser un código del listado obtenido en la petición Obtener las sociedades
  • Subject: Asunto de la solicitud
  • Summary: Resumen de la solicitud
  • AdditionalComments: Comentarios adicionales de la solicitud. Este campo es opcional
  • Action: Acción que queremos ejecutar en la solicitud cuando se crea. Debe ser un valor de los obtenidos en la petición Obtener las acciones que ejecutar de un proceso para la última versión publicada. Cuando no enviamos este parámetro, la solicitud se crea en estado Borrador.
  • AdditionalInfoAttachments: Array de datos con los adjuntos de la información general:
    • FileName: Nombre del fichero con extensión
    • Content: Contenido del fichero en base64
    • MimeType: Mimetype del fichero
    • Description: Descripción del fichero
  • FormField: Listado de campos existentes en el formulario del proceso. Para cada campo tenemos la siguiente información:
    • IdInternal: Id Interno del campo en el formulario
    • Value: Listado de valores para el campo. Si el campo no pertenece a una tabla este listado sólo contendrá un registro, en caso de pertenecer a una tabla debe contener tantos registros como filas queramos en la tabla y en el orden deseado (el primer valor será el de la primera fila). Esta propiedad se compone de:
      • Value: Valor que damos al campo, en este JSON esta propiedad es siempre texto, pero hay que tener en cuenta lo siguiente según el tipo de campo:
        • Número: Si lleva decimales el separador es el .
        • Fecha: El formato debe ser YYYY-MM-DD
        • Texto: Texto normal
        • Combo y Radio button: Debemos poner el código del valor que queremos seleccionar. Este valor se obtiene de la llamada al método de Obtener las opciones de selección de un campo del formulario (check box, radio button, combo)
        • Check box: Igual que Combo y Radio Button, pero si queremos marcar más de una opción los códigos deben ir separados por ,
        • Lista de usuarios: Debemos indicar el ObjectId (o varios separados por ,) de los usuarios que obtenemos en la llamada al método Obtener los usuarios de Azure
        • Listados personalizados: Debemos indicar el código (si es una selección jerárquica cada código debe estar separado por /) de los valores de la lista personalizada que deseemos. Estos valores lo podemos obtener llamando al método Obtener los listados personalizados
        • Adjuntos: Misma información que los adjuntos de datos generales “AdditionalInfoAttachments”
        • Link a proceso/solicitud: Debemos indicar el código de la solicitud con la que queremos asociar la que se cree/actualice con la petición a la API

Los posibles errores que nos devuelve este método pueden ser:

PROCESS_NOT_FOUND: No existe ningún proceso para el código recibido.

NOT_VERSION_PUBLISH: No existe versión pública para el código proceso que hemos enviado.

Was this article helpful?

Related Articles

¿Necesitas ayuda?

Contacta con nosotros.
Contacta con soporte