I am dealing with a scenario I have never come across before.

I need to connect to a client REST server to retrieve xml or zip data to process in workflow.

My question is, is this the same as using the HTTP Server Input plugin?

The client is saying the POST response from their REST to PlanetPress is multipart and will look like this:


From Client REST to PlanetPress

POST http://urlplanetpress/api/Invoices/InvoicesToProcess HTTP/1.1
Content-Type: multipart/form-data; boundary=067eccdb-a94c-4c20-8ab1-f95c55b21284
Host: localhost:60552
Content-Length: 2188
Expect: 100-continue
Connection: Keep-Alive

Content-Type: application/json
Content-Disposition: form-data

"Action": "Multiple Invoices"
//Possible actions are:
// Single Invoice ==> 1 xml file produces 1 PDF //containing a single invoice
//Multiple Invoices ==> 1 huge XML produces 1 PDF //containing multiple invoices

Content-Type: application/zip
Content-Disposition: form-data; name="file"; filename="XYZ_012345.xml.zip"


So I am to
1- retrieve the file filename="XYZ_012345.xml.zip"
2- decompress the zip file and use the xml in it to produce a PDF invoice

I know how to tackle point 2- but I am unclear about what plugin to use to retrieve the zip file.

Can someone please help me understand what needs to be done concretely in Workflow to receive data fom the client REST API?

The content-disposition is marked as form-data, does that mean the client is sending the data and the zip file from a web form, even though the backend is a REST call? If so, is there any way they can set an action in their form which points to the action I can use in the HTTP Server Input in order for the workflow to receive the data?

Please advise, I have been at this for 3 weeks without any real pprogress.

I promise to buy a beer to whoever points me in the right direction.

Many Thanks,