How to remove downlink_url from HTTP integration

I am relaying my device data to my custom URL. Further, I will be posting that data on the Fiware platform. Now the issue is I see
"downlink_url": "https://integrations.thethingsnetwork.org/ttn-us-west/api/v2/down/a21uc11n1/test?key=ttn-account-v2.XALxGCl0GJDYwa9EMrFjC-7Ih0Y72ZYztUOoGVfahKs" and because of = symbol before the key in that URL Fiware does not allow them to be posted. Because this is forbidden in Fiware.

Is there any way if I can remove downlink_url from my device data. @arjanvanb can you please help me.

Thanks,
Mahendra

You cannot delete/suppress it from within TTN. So, if Fiware does not allow you to do it, you need an intermediate server to change the JSON payload.

However, I think it’s weird that Fiware rejects this. For future readers, and to be sure you interpreted things correctly: where is that documented, or what error do you get?

Also, this makes me think that Fiware would be storing many more things than you’d need (like: all details from the JSON message). So, rather than deleting this one specific property you might better translate the full JSON to a much smaller message. That would still need an intermediate server though; Make TagoIO use timestamp from application payload instead of metadata might get you started. If you really want to delete specific properties, then in that Pipedream example use something like:

delete(body.downlink_url);
delete(body.payload_fields.event);
delete(body.payload_fields['temperature']);
delete(body['payload_fields']['battery']);
delete(body['metadata']);
...
const options = {
  url: targetUrl,
  ...
  data: body
};

Above, dot notation and bracket notation are interchangeable. But the latter might be required for property names that contain special characters; see Property Accessors.

Hi @arjanvanb,

I also figured out that we need some intermediate middle ware that would translate the JSON payload the way we want it and it works.

Thanks for the detailed information.