Rest
-
-
Save yogibaba/c971f50eee3890db1f4f2961eb46829e to your computer and use it in GitHub Desktop.
Rest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"id": "2f95e587.302f6a", | |
"type": "change", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"rules": [ | |
{ | |
"t": "delete", | |
"p": "headers", | |
"pt": "msg" | |
}, | |
{ | |
"t": "set", | |
"p": "headers", | |
"pt": "msg", | |
"to": "{\t \"Accept\": \"application/json\",\t \"Content-Type\": \"application/json\",\t \"Authorization\": $flowContext('mailroute-api-key')\t}", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 420, | |
"y": 4200, | |
"wires": [ | |
[ | |
"e403fab4.7cd128" | |
] | |
] | |
}, | |
{ | |
"id": "3ddbbae4.830b56", | |
"type": "inject", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"topic": "", | |
"payload": "", | |
"payloadType": "date", | |
"repeat": "", | |
"crontab": "", | |
"once": false, | |
"x": 140, | |
"y": 4160, | |
"wires": [ | |
[ | |
"e7385cba.f3325" | |
] | |
] | |
}, | |
{ | |
"id": "e403fab4.7cd128", | |
"type": "http request", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"method": "GET", | |
"ret": "txt", | |
"url": "", | |
"tls": "", | |
"x": 570, | |
"y": 4180, | |
"wires": [ | |
[ | |
"7ec73a54.23a274" | |
] | |
] | |
}, | |
{ | |
"id": "7ec73a54.23a274", | |
"type": "json", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"pretty": false, | |
"x": 649.0000343322754, | |
"y": 4155.000413894653, | |
"wires": [ | |
[ | |
"db8b73b7.5f5f4" | |
] | |
] | |
}, | |
{ | |
"id": "788ab243.258bbc", | |
"type": "switch", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"property": "payload.meta.next", | |
"propertyType": "msg", | |
"rules": [ | |
{ | |
"t": "null" | |
}, | |
{ | |
"t": "else" | |
} | |
], | |
"checkall": "false", | |
"outputs": 2, | |
"x": 910, | |
"y": 4180, | |
"wires": [ | |
[ | |
"9d358f5c.6e362" | |
], | |
[ | |
"dbc80fbf.2d03b" | |
] | |
] | |
}, | |
{ | |
"id": "dccc8e77.6f654", | |
"type": "debug", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"active": true, | |
"console": "false", | |
"complete": "false", | |
"x": 1250, | |
"y": 4100, | |
"wires": [] | |
}, | |
{ | |
"id": "dbc80fbf.2d03b", | |
"type": "change", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "url", | |
"pt": "msg", | |
"to": "$replace(url, /(limit=)(.+)(&offset=)(.+)/, \"$1\" & $string(payload.meta.limit) & \"$3\" & $string(payload.meta.offset + payload.meta.limit))", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 1050, | |
"y": 4200, | |
"wires": [ | |
[ | |
"6faae389.342f5c" | |
] | |
] | |
}, | |
{ | |
"id": "e7385cba.f3325", | |
"type": "change", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Set url, reset wblist", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "url", | |
"pt": "msg", | |
"to": "\"https://admin.mailroute.net/api/v1/\" & $flowContext('mailroute-api-path') & \"?limit=20&offset=0\"", | |
"tot": "jsonata" | |
}, | |
{ | |
"t": "delete", | |
"p": "wbrules", | |
"pt": "flow" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 250, | |
"y": 4180, | |
"wires": [ | |
[ | |
"2f95e587.302f6a" | |
] | |
] | |
}, | |
{ | |
"id": "6faae389.342f5c", | |
"type": "switch", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Offset > total?", | |
"property": "payload.meta.offset", | |
"propertyType": "msg", | |
"rules": [ | |
{ | |
"t": "lte", | |
"v": "payload.meta.total_count", | |
"vt": "msg" | |
}, | |
{ | |
"t": "else" | |
} | |
], | |
"checkall": "false", | |
"outputs": 2, | |
"x": 1280, | |
"y": 4240, | |
"wires": [ | |
[ | |
"436c23a4.e12ffc" | |
], | |
[] | |
] | |
}, | |
{ | |
"id": "db8b73b7.5f5f4", | |
"type": "function", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Merge", | |
"func": "var wbrules = flow.get('wbrules') || []\n\nwbrules = wbrules.concat(msg.payload.objects)\n//Array.prototype.push.apply(wbrules, msg.payload.objects)\n\nflow.set('wbrules', wbrules)\n\nreturn msg;", | |
"outputs": 1, | |
"noerr": 0, | |
"x": 770, | |
"y": 4180, | |
"wires": [ | |
[ | |
"788ab243.258bbc" | |
] | |
] | |
}, | |
{ | |
"id": "9d358f5c.6e362", | |
"type": "change", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"rules": [ | |
{ | |
"t": "set", | |
"p": "payload", | |
"pt": "msg", | |
"to": "wbrules", | |
"tot": "flow" | |
}, | |
{ | |
"t": "set", | |
"p": "filename", | |
"pt": "msg", | |
"to": "$globalContext('user-home-folder') & \"/Downloads/wblist.csv\"", | |
"tot": "jsonata" | |
} | |
], | |
"action": "", | |
"property": "", | |
"from": "", | |
"to": "", | |
"reg": false, | |
"x": 1060, | |
"y": 4160, | |
"wires": [ | |
[ | |
"dccc8e77.6f654", | |
"90630247.fbb5a" | |
] | |
] | |
}, | |
{ | |
"id": "b4d88961.3abf88", | |
"type": "comment", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Mailroute Query API - Loop through all whitelist entries for an account", | |
"info": "Mailroute is a cloud service that pre-filters\nemail traffic. It has a number of settings including\na whitelist that allows you to force allow or \nblock for email from a specific domain or email\naddress.\n\nThis flow is an example of the API and an example\nof looping through an API that returns a limited\nset of records.\n\nThe flow returns an array of objects detailing\nall of the entries in the white-/black-list.\n\nIt also writes to a CSV file.\n\n## Flow Inputs\n\nNOTE that a separate flow is used to set three flow \nvariables containing information that you would not\nwant public. You will need to set these yourself:\n\n- (flow) mailroute-api-key - \n The API key required for authorisation.\n Obtain from the Mailroute Settings\n\n Format is:\n `ApiKey <apiUser>:<apiKey>`\n \n- (flow) mailroute-api-path - \n The sub-path that you want to use within\n the API end-points.\n See the [Mailroute API Documentation](https://support.mailroute.net/hc/en-us/sections/205312008-API)\n for details.\n\n To get the global whitelist entries:\n `wblist/`\n \n To get the whitelist entries for a specific mail user:\n `email_account/<userEmailAddress>/wblist/`\n\n- (global) user-home-folder - \n Set to either the HOME or HOMEPATH environment\n variable (dependent on command shell running\n Node-RED)\n\n## Output Data Format\n\nOutput data from the API is JSON. But it is limited\nto 20 records at a time. This flow loops through\nto get all records and returns an array.\n\n- *email*: Domain or email address to block/allow.\n- *wb*: B = Block, A = Allow", | |
"x": 310, | |
"y": 4120, | |
"wires": [] | |
}, | |
{ | |
"id": "d1b158de.0f8958", | |
"type": "file", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"filename": "", | |
"appendNewline": true, | |
"createDir": false, | |
"overwriteFile": "true", | |
"x": 1310, | |
"y": 4140, | |
"wires": [] | |
}, | |
{ | |
"id": "90630247.fbb5a", | |
"type": "csv", | |
"z": "6a32c4d1.8c37e4", | |
"name": "", | |
"sep": ",", | |
"hdrin": "", | |
"hdrout": true, | |
"multi": "one", | |
"ret": "\\n", | |
"temp": "domain,email,email_account,id,mail_addr,resource_url,wb", | |
"x": 1250, | |
"y": 4180, | |
"wires": [ | |
[ | |
"d1b158de.0f8958" | |
] | |
] | |
}, | |
{ | |
"id": "436c23a4.e12ffc", | |
"type": "link out", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Loop-Out", | |
"links": [ | |
"8fd170c.c8a909" | |
], | |
"x": 1433.079969406128, | |
"y": 4278.531560897827, | |
"wires": [] | |
}, | |
{ | |
"id": "8fd170c.c8a909", | |
"type": "link in", | |
"z": "6a32c4d1.8c37e4", | |
"name": "Loop-In", | |
"links": [ | |
"436c23a4.e12ffc" | |
], | |
"x": 296.076397895813, | |
"y": 4228.302665710449, | |
"wires": [ | |
[ | |
"2f95e587.302f6a" | |
] | |
] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment