Skip to content

Commit c962c4e

Browse files
committed
Added ReadMe
1 parent 6a8c8a9 commit c962c4e

File tree

1 file changed

+122
-2
lines changed

1 file changed

+122
-2
lines changed

README.md

Lines changed: 122 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,122 @@
1-
# api-usage-examples
2-
Examples of how to manage rules in a workspace through APIs. Documentation - https://developers.requestly.io/api/overview/
1+
# Requestly API Usage Examples
2+
Examples of how to manage rules in a workspace through APIs.
3+
4+
## References
5+
- Documentation - https://developers.requestly.io/api/overview/
6+
- Playground - https://readme.requestly.io
7+
8+
## Code Usage
9+
10+
### Dependency
11+
12+
```bash
13+
npm install api --save
14+
```
15+
16+
```js
17+
const sdk = require('api')('@requestly/v1.0#2dp5to2dlm1spg1x');
18+
sdk.auth(process.env.TEAT1_WORKSPACE_API_KEY);
19+
```
20+
21+
**You can get the API Key by contacting us**
22+
23+
### Fetch All Rules
24+
25+
```js
26+
async function fetchAllRules() {
27+
console.log('Fetching all rules...');
28+
let allRules = null;
29+
30+
try {
31+
const apiResponse = await sdk.getRules();
32+
allRules = apiResponse.data;
33+
console.log('Number of rules 👉👉👉👉', allRules.data.length);
34+
} catch(e) {
35+
console.error(e);
36+
}
37+
38+
return allRules;
39+
}
40+
```
41+
42+
### Create a Rule
43+
```js
44+
async function createNewRedirectRule(ruleName, ruleDesc, requestURL, destinationURL) {
45+
try {
46+
const postRulesAPIRresponse = await sdk.postRules({
47+
objectType: 'rule',
48+
ruleType: 'Redirect',
49+
status: 'Active',
50+
name: ruleName,
51+
description: ruleDesc,
52+
pairs: [
53+
{
54+
source: {
55+
key: 'Url',
56+
operator: 'Equals',
57+
value: requestURL
58+
},
59+
destination: destinationURL,
60+
destinationType: 'url'
61+
}
62+
]
63+
});
64+
65+
if (postRulesAPIRresponse.data.success) {
66+
console.log('👉 Rule created successfully!!');
67+
}
68+
69+
return postRulesAPIRresponse.data;
70+
} catch (e) {
71+
console.error(e);
72+
}
73+
}
74+
```
75+
76+
### Update a Rule
77+
78+
```js
79+
async function updateRedirectRule(ruleId, ruleName, ruleDesc, requestURL, destinationURL) {
80+
console.log(`👉 Updating a rule with Id=${ruleId} And name=${ruleName}`);
81+
82+
try {
83+
const updateRulesAPIResponse = await sdk.putRulesRuleid({
84+
objectType: 'rule',
85+
ruleType: 'Redirect',
86+
status: 'Active',
87+
name: ruleName,
88+
description: ruleDesc,
89+
pairs: [
90+
{
91+
source: {
92+
key: 'Url',
93+
operator: 'Equals',
94+
value: requestURL
95+
},
96+
destination: destinationURL,
97+
destinationType: 'url'
98+
}
99+
]
100+
}, {ruleId: ruleId})
101+
102+
if (updateRulesAPIResponse.data.success) {
103+
console.log('👉 Rule updated successfully!!', updateRulesAPIResponse.data.data);
104+
}
105+
106+
return updateRulesAPIResponse.data;
107+
} catch (e) {
108+
console.error(e);
109+
}
110+
}
111+
```
112+
113+
### Delete a Rule
114+
```js
115+
async function deleteRule(ruleId) {
116+
try {
117+
deleteRuleAPIResponse = sdk.deleteRulesRuleid({ ruleId });
118+
} catch (e) {
119+
console.error(e);
120+
}
121+
}
122+
```

0 commit comments

Comments
 (0)