https://github.com/requestly/api-usage-examples
Examples of how to manage rules in a workspace through APIs. Documentation - https://developers.requestly.io/api/overview/
https://github.com/requestly/api-usage-examples
Last synced: 11 months ago
JSON representation
Examples of how to manage rules in a workspace through APIs. Documentation - https://developers.requestly.io/api/overview/
- Host: GitHub
- URL: https://github.com/requestly/api-usage-examples
- Owner: requestly
- Created: 2023-09-04T04:57:54.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-18T12:59:20.000Z (12 months ago)
- Last Synced: 2025-02-18T13:41:58.225Z (12 months ago)
- Language: JavaScript
- Size: 109 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Requestly API Usage Examples
Examples of how to manage rules in a workspace through APIs.
## References
- Documentation - https://docs.requestly.com/public-apis/overview
- Playground - https://requestly.readme.io/
## Code Usage
### Dependency
```bash
npm install api --save
```
```js
const sdk = require('api')('@requestly/v1.0#2dp5to2dlm1spg1x');
sdk.auth(process.env.TEAT1_WORKSPACE_API_KEY);
```
**You can get the API Key by contacting us**
### Fetch All Rules
```js
async function fetchAllRules() {
console.log('Fetching all rules...');
let allRules = null;
try {
const apiResponse = await sdk.getRules();
allRules = apiResponse.data;
console.log('Number of rules 👉👉👉👉', allRules.data.length);
} catch(e) {
console.error(e);
}
return allRules;
}
```
### Create a Rule
```js
async function createNewRedirectRule(ruleName, ruleDesc, requestURL, destinationURL) {
try {
const postRulesAPIRresponse = await sdk.postRules({
objectType: 'rule',
ruleType: 'Redirect',
status: 'Active',
name: ruleName,
description: ruleDesc,
pairs: [
{
source: {
key: 'Url',
operator: 'Equals',
value: requestURL
},
destination: destinationURL,
destinationType: 'url'
}
]
});
if (postRulesAPIRresponse.data.success) {
console.log('👉 Rule created successfully!!');
}
return postRulesAPIRresponse.data;
} catch (e) {
console.error(e);
}
}
```
### Update a Rule
```js
async function updateRedirectRule(ruleId, ruleName, ruleDesc, requestURL, destinationURL) {
console.log(`👉 Updating a rule with Id=${ruleId} And name=${ruleName}`);
try {
const updateRulesAPIResponse = await sdk.putRulesRuleid({
objectType: 'rule',
ruleType: 'Redirect',
status: 'Active',
name: ruleName,
description: ruleDesc,
pairs: [
{
source: {
key: 'Url',
operator: 'Equals',
value: requestURL
},
destination: destinationURL,
destinationType: 'url'
}
]
}, {ruleId: ruleId})
if (updateRulesAPIResponse.data.success) {
console.log('👉 Rule updated successfully!!', updateRulesAPIResponse.data.data);
}
return updateRulesAPIResponse.data;
} catch (e) {
console.error(e);
}
}
```
### Delete a Rule
```js
async function deleteRule(ruleId) {
try {
deleteRuleAPIResponse = sdk.deleteRulesRuleid({ ruleId });
} catch (e) {
console.error(e);
}
}
```