how do I update multiple records in a single JSON REST call

how do I update multiple records in a single JSON REST call

I have set up a webservice that can take record at a time and it works great.
I would like to extend this to allow me to upload multiple records in a single call.
I see an entity type on the webservice definition that is a list. I tried that option which required me to pick the entity type. When I tried to send it multiple records I get a "400 Bad Request" error. I don't know if the JSON string that holds the array of entities has to be a particular value. I used "<entity name> List".
I have validated the JSON is valid.

Do I understand correctly that the webservice is external, and not under your control? What way are you interfacing it? It seems you are handcrafting the JSON yourself? What platform version are you on?

Hi Kilian,
I am working on Outsystems 9. I have built a service on Outsystems that captures data from external platforms (native mobile apps). To publish a web service that accepts a single entity that updates the DB on Outsystems app was trivial. Using the logic tab and adding a action to handle the incoming POST and PUT requests. I am now attempting to create multiple entities/records in a single call to Outsystems from the iOS app to optimize the networking overhead. That is where I have fallen down. Instead of a single JSON object of '{"attribute1": "value1", "attribute2": "value2"}', I would like to send '{"<entity name> List" : [{"attribute1": "value1", "attribute2": "value2"}, {"attribute1": "value3", "attribute2": "value4"}]}' rather than make 2 separte REST calls. I'm new to Outsystems but I can't find the documentation on how to process the multiple entities in the JSON to add multiple records in my Outsystems DB. I'm sure it is something in my action dialog that I'm doing wrong. I set the entity type to be a List of <entity name> and the input parameter changed to "current record" rather than just "record" so I thought I was on the right track, but I get a HTTP 400 Bad Record error when sending the second JSON in the body of the REST call. Hope that gives you enough to go on.

If you expose a REST service, you can log what comes in and what is sent back. This may help in checking what is wrong. To do so, go to Service Center. Select the eSpace that exposes the REST service, then click the Integrations tab. You'll see a section "Expose REST APIs". Click the Name of the service. You'll get a detail page, that has a "Logging Level" setting. Set the level to "Full". Service Center will warn you that this has impact on performance, but in this stage we don't care :).

Next, call the REST service from your phone app. In Service Center, select Monitoring (on the top), then Integrations. You'll see, besides System SOAP stuff, REST (expose). At the end of the line, click Detail. This will bring you to a detail page, that shows ("HTTP Trace") the HTTP request, the header, body of the request, and the HTTP result. From this you can probably figure out wat is wrong. If not, call back to us :).