Start process via rest api with file variable

how is it possible to start a process from rest api, passing it a file? I am working with camel, and I use the routes written on xml
I need to add a variable of type File in the body
my code:

<routes xmlns="http://camel.apache.org/schema/spring">
    <route id="StartProcessCamunda">
        <from uri="file:/input?move=processed/${date:now:dd-MM-yyyy}/${file:name}"/>  
            
        <setHeader name="Content-Type">
            <constant>application/json</constant>
        </setHeader>

        <setBody>
            <simple>
            {
                "variables": {
                    "FileName": {
                        "value": "${headers.CamelFileName}",
                        "type": "String"
                    },
                    "FilePath": {
                        "value": "${headers.CamelFilePath}",
                        "type": "String"
                    },
                    "FilepProcessPath": {
                        "value": "${headers.CamelFileParent}/processed/${date:now:dd-MM-yyyy}",
                        "type": "String"
                    },
                    "FileExt": {
                        "value": "${file:ext}",
                        "type": "String"
                    }
                }
            }
            </simple>
        </setBody>

        <to uri="http://192.168.1.200:8085/engine-rest/process-definition/key/Calcolatrice_TEST/start"/> 

       
    </route>
    
   
</routes>

Hi @AmonAzhelart,

the example invoice application uploads a file from the start form: camunda-bpm-platform/examples/invoice at master · camunda/camunda-bpm-platform · GitHub

You can try it out with the Tomcat distro or start this spring boot application: camunda-bpm-examples/spring-boot-starter/example-invoice at master · camunda/camunda-bpm-examples · GitHub.

Inspect the web console of your browser to see the requests.

Hope this helps, Ingo

hi @Ingo_Richtsmeier
I’m sorry but I wasn’t looking for this.
What I was looking for was a syntax to insert inside the body request in order to load a file together with the other variables that I have already defined.
thanks for help.

Hi @AmonAzhelart,

I quickly started my invoice example and got this from my web console:

{
  "variables": {
    "invoiceDocument": {
      "value": "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NCAwIDU5MiAwIDY3OCAwIDAgNzExIDM0MiAwIDAgMCAwIDcxMSA2ODcgMCAwIDAgNTk1IDAgMCA2NTEgXQogICAgL1RvVW5pY29kZSA5IDAgUgo+PgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKICAgL0tpZHMgWyA2IDAgUiBdCiAgIC9Db3VudCAxCj4+CmVuZG9iagoxMiAwIG9iago8PCAvQ3JlYXRvciAoY2Fpcm8gMS4xMy4xIChodHRwOi8vY2Fpcm9ncmFwaGljcy5vcmcpKQogICAvUHJvZHVjZXIgKGNhaXJvIDEuMTMuMSAoaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnKSkKPj4KZW5kb2JqCjEzIDAgb2JqCjw8IC9UeXBlIC9DYXRhbG9nCiAgIC9QYWdlcyAxIDAgUgo+PgplbmRvYmoKeHJlZgowIDE0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwNTQ5MyAwMDAwMCBuIAowMDAwMDAwMjEyIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMDE5MSAwMDAwMCBuIAowMDAwMDA1MDc3IDAwMDAwIG4gCjAwMDAwMDAzMjEgMDAwMDAgbiAKMDAwMDAwMDU0OSAwMDAwMCBuIAowMDAwMDA0Mzk0IDAwMDAwIG4gCjAwMDAwMDQ0MTcgMDAwMDAgbiAKMDAwMDAwNDc3OCAwMDAwMCBuIAowMDAwMDA0ODAxIDAwMDAwIG4gCjAwMDAwMDU1NTggMDAwMDAgbiAKMDAwMDAwNTY4NiAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDE0CiAgIC9Sb290IDEzIDAgUgogICAvSW5mbyAxMiAwIFIKPj4Kc3RhcnR4cmVmCjU3MzkKJSVFT0YK",
      "type": "File",
      "valueInfo": {
        "filename": "invoice.pdf",
        "mimeType": "application/pdf"
      }
    },
    "creditor": {
      "value": "Hallo Inc.",
      "type": "String"
    },
    "amount": {
      "value": 30,
      "type": "Double"
    },
    "invoiceNumber": {
      "value": "83763t3gr-ndhet3",
      "type": "String"
    },
    "invoiceCategory": {
      "value": "Travel Expenses",
      "type": "String"
    }
  }
}

The request was POST http://localhost:8081/camunda/api/engine/engine/default/process-definition/invoice:2:180bbf2a-617a-11ec-8c35-3ce1a1c19785/submit-form

Hope this helps, Ingo

hi @Ingo_Richtsmeier
Thanks so much. through your answer I was able to solve my problem