Cannot get field '@odata.etag' on a Response Map after inserting record via API (Business Central)

Hello everyone,

I'm inserting a record in Business Central using a POST method, and as a result, Business Central returns the record that was created. Inside the response, I need to keep 3 fields for the next steps of my flow.

The screenshot below shows my _json response with a lot of fields including "id", "lineNumber" and "@odata.etag".

On the mapping rules, I am mapping the 3 of them.

On the output you can see that Id and LineNumber is being fetched correctly. However, for some reason, the @odata.etag is not being fetched. I don't know if Celigo is getting a little lost given that the name of the parameter has an @ sign, or maybe it's the (.) period sign that is throwing it off, but I'm not sure how to proceed.

I've also tried mapping _json["@odata.etag"] , which would be another valid JavaScript notation to get the value of an object attribute, but it also didn't work.

How can I fetch the contents of @odata.etag in this context?

Any help is appreciated, thanks in advance.

_json["@odata.etag"]

would be the way to do it. I see you tried that and it didn't work, I'd suspect a bug possibly.

Apparently the correct way is to not use double quotes to enclose the field name:

_json[@odata.etag]

did the trick

One day I'll remember that mapper syntax is NOT JavaScript syntax! :)

Glad you figured it out.