active_workflow icon indicating copy to clipboard operation
active_workflow copied to clipboard

Send array in Post Agent

Open asommer70 opened this issue 3 years ago • 7 comments

Hey all,

I was wondering how I can send a JSON array using a Post Agent? I can send a JSON object just fine, but an API I'm working with only accepts an array.

Thanks!

asommer70 avatar Aug 12 '22 16:08 asommer70

Hi @asommer70 - could you please give an example of what you are trying to send that does not work?

Thank you

raspberry-lef avatar Nov 14 '22 19:11 raspberry-lef

Sure, it's something like:

["customerId": "2033412", "email": "[email protected]"]

I'm getting data from another API parsing the fields I need then sending that to a separate API using a Post Agent, but sending a JSON array doesn't work.

asommer70 avatar Nov 15 '22 01:11 asommer70

I am sorry in advance if I am missing anything obvious, but a JSON array is an ordered collection of values, separated by ','. For example, ["2033412", "[email protected]"].

For key-value pairs, a JSON object would be needed, using braces '{', '}'. For example, {"customerId": "2033412", "email": "[email protected]"}.

raspberry-lef avatar Nov 15 '22 16:11 raspberry-lef

You're totally right this is more of what I meant:

[{"customerId": "2033412", "email": "[email protected]"}, {"customerId": "2322", "email": "[email protected]"}]

An array of key-value pairs.

asommer70 avatar Nov 15 '22 16:11 asommer70

@asommer70 I see, thank you.

Could you please share the error message that you get? (With any sensitive/personal/business information redacted please.)

raspberry-lef avatar Nov 15 '22 16:11 raspberry-lef

This is what I get from the service I'm posting the non-array to:

[ { "itemId": "100118", "zoneId": "Primary Zone", "retail1": "125", "body": "{\"code\":3,\"message\":\"The requested service is not valid.\"}", "headers": { "Content-Type": "application/json;charset=ISO-8859-1", "Content-Length": "58", "Date": "Fri, 18 Nov 2022 16:37:50 GMT" }, "status": 404 } ]

It has a generic error "The requested service is not valid." for anything it doesn't like. In this case it's due to a JSON object being sent to the server instead of an array.

asommer70 avatar Nov 18 '22 16:11 asommer70

Thank you for providing this example. This won't work as it is right now, because the Post agent doesn't support sending top-level JSON arrays. It could be done, but it is not in our plans at the moment. I will leave this issue open for future reference and perhaps @vidas has to add or ask something.

raspberry-lef avatar Jan 14 '23 17:01 raspberry-lef