-
Notifications
You must be signed in to change notification settings - Fork 5.5k
updated version #13874
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
updated version #13874
Changes from all commits
3fe868c
505be9a
3e9ccdc
128988d
5fc49cb
c6a6ca7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# Overview | ||
|
||
The Remote-Retriever API is tailored for automating the retrieval of contact information, enhancing your CRM data, or developing lead generation tools. By integrating it with Pipedream, you can efficiently extract valuable data and automate workflows for marketing, sales, or customer support. Pipedream’s serverless platform allows you to connect Retriever with numerous other apps, triggering actions based on new data, or updating systems instantly. | ||
The Remote-Retrieval API is tailored for automating the retrieval of contact information, enhancing your CRM data, or developing lead generation tools. By integrating it with Pipedream, you can efficiently extract valuable data and automate workflows for marketing, sales, or customer support. Pipedream’s serverless platform allows you to connect Retrieval with numerous other apps, triggering actions based on new data, or updating systems instantly. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import app from "../../remote_retrieval.app.mjs"; | ||
|
||
export default { | ||
key: "remote_retrieval-get-all-orders", | ||
name: "Get All Order", | ||
description: "Retrieve a list of all orders.[See the documentation](https://www.remoteretrieval.com/api-documentation/#pending-orders)", | ||
type: "action", | ||
version: "0.1.0", | ||
props: { | ||
app, | ||
}, | ||
methods: { | ||
}, | ||
async run({ $: step }) { | ||
const response = await this.app.allOrders({ | ||
step, | ||
}); | ||
|
||
step.export("$summary", `Successfully retrieved ${response.results.length} order(s).`); | ||
|
||
return response; | ||
}, | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
import app from "../../remote_retrieval.app.mjs"; | ||
|
||
export default { | ||
key: "remote_retrieval-create-device-order", | ||
name: "Create Device Order", | ||
description: "Creates a device return order. [See the documentation](https://www.remoteretrieval.com/api-documentation/#create-order)", | ||
type: "action", | ||
version: "0.1.0", | ||
props: { | ||
app, | ||
|
||
employeeInfoEmail: { | ||
type: "string", | ||
label: "Employee Info Email", | ||
description: "Used in email communications with the employee." | ||
Check failure on line 15 in components/remote_retrieval/actions/create-device-order/create-device-order.mjs
|
||
}, | ||
employeeInfoName: { | ||
type: "string", | ||
label: "Employee Info Name", | ||
description: "Employee full name to print on the shipping label." | ||
}, | ||
employeeInfoAdd_1: { | ||
type: "string", | ||
label: "Employee Info Address Line 1", | ||
description: "The first line of the employee address" | ||
}, | ||
employeeInfoAdd_2: { | ||
type: "string", | ||
label: "Employee Info Address Line 2", | ||
description: "The second line is optional for employee address", | ||
optional: true , | ||
}, | ||
employeeInfoCity: { | ||
type: "string", | ||
label: "Employee Info City", | ||
description: "City of employee", | ||
}, | ||
employeeInfoState: { | ||
type: "string", | ||
label: "Employee Info State", | ||
description: "State of employee", | ||
}, | ||
employeeInfoZip: { | ||
type: "string", | ||
label: "Employee Info Zip", | ||
description: "Zip code of employee", | ||
}, | ||
employeeInfoPhone: { | ||
type: "string", | ||
label: "Employee Info Phone", | ||
description: "Phone of employee", | ||
}, | ||
employeeInfoCountry: { | ||
type: "string", | ||
label: "Employee Info Country", | ||
description: "This service is only for USA", | ||
options: ["US"], | ||
default: "US", | ||
}, | ||
|
||
companyInfoPerson: { | ||
type: "string", | ||
label: "Company Info Person Name", | ||
description: "Receipient Name" | ||
}, | ||
companyInfoCompanyName: { | ||
type: "string", | ||
label: "Company Info Company Name", | ||
description: "Company Name" | ||
}, | ||
companyInfoAdd_1: { | ||
type: "string", | ||
label: "Company Info Address Line 1", | ||
description: "The first line of the company address" | ||
}, | ||
companyInfoAdd_2: { | ||
type: "string", | ||
label: "Company Info Address Line 2", | ||
description: "The second line is optional for company address", | ||
}, | ||
companyInfoCity: { | ||
type: "string", | ||
label: "Company Info City", | ||
description: "Company city", | ||
}, | ||
companyInfoState: { | ||
type: "string", | ||
label: "Company Info State", | ||
description: "Company State(Example: TX,AL,NJ)", | ||
}, | ||
companyInfoZip: { | ||
type: "string", | ||
label: "Company Info Zip", | ||
description: "Company Zip", | ||
}, | ||
companyInfoPhone: { | ||
type: "string", | ||
label: "Company Info Phone", | ||
description: "Company Phone", | ||
}, | ||
companyInfoEmail: { | ||
type: "string", | ||
label: "Company Info Email", | ||
description: "Company Email", | ||
}, | ||
typeOfEquipment: { | ||
type: "string", | ||
label: "Type of Equipment", | ||
description: "You can choose 'Laptop' or 'Monitor'", | ||
options: ['Laptop','Monitor'], | ||
default: "Laptop" | ||
}, | ||
orderType: { | ||
type: "string", | ||
label: "Order Type", | ||
description: "You can choose 'Return to Company' or 'Sell this Equipment'", | ||
options: ['Return to Company','Sell this Equipment'], | ||
default: "Return to Company" | ||
}, | ||
}, | ||
|
||
methods: { | ||
createDeviceReturn(args = {}) { | ||
return this.app.post({ | ||
path: "/create-order/", | ||
...args, | ||
}); | ||
}, | ||
}, | ||
|
||
|
||
async run({ $: step }) { | ||
const { | ||
createDeviceReturn, | ||
employeeInfoEmail, | ||
employeeInfoName, | ||
employeeInfoAdd_1, | ||
employeeInfoAdd_2, | ||
employeeInfoCity, | ||
employeeInfoState, | ||
employeeInfoZip, | ||
employeeInfoPhone, | ||
companyInfoPerson, | ||
companyInfoCompanyName, | ||
companyInfoAdd_1, | ||
companyInfoAdd_2, | ||
companyInfoCity, | ||
companyInfoState, | ||
companyInfoZip, | ||
companyInfoPhone, | ||
companyInfoEmail, | ||
typeOfEquipment, | ||
orderType | ||
|
||
} = this; | ||
|
||
const response = await createDeviceReturn({ | ||
step, | ||
data: { | ||
type_of_equipment: typeOfEquipment, | ||
order_type: orderType, | ||
employee_info: { | ||
email: employeeInfoEmail, | ||
name: employeeInfoName, | ||
address_line_1: employeeInfoAdd_1, | ||
address_line_2: employeeInfoAdd_2, | ||
address_city: employeeInfoCity, | ||
address_state: employeeInfoState, | ||
address_zip: employeeInfoZip, | ||
phone: employeeInfoPhone, | ||
}, | ||
company_info: { | ||
return_person_name: companyInfoPerson, | ||
return_company_name: companyInfoCompanyName, | ||
return_address_line_1: companyInfoAdd_1, | ||
return_address_line_2: companyInfoAdd_2, | ||
return_address_city: companyInfoCity, | ||
return_address_state: companyInfoState, | ||
return_address_zip: companyInfoZip, | ||
email: companyInfoEmail, | ||
phone: companyInfoPhone, | ||
}, | ||
}, | ||
}); | ||
|
||
step.export("$summary", `Successfully created device return order with ID \`${response.order}\``); | ||
|
||
return response; | ||
}, | ||
|
||
|
||
|
||
}; |
This file was deleted.
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -6,6 +6,16 @@ async function streamIterator(stream) { | |||||||||||||||||||||||||||||||||||||||
return resources; | ||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
function getParamFromUrl(url, key = "cursor") { | ||||||||||||||||||||||||||||||||||||||||
if (!url) { | ||||||||||||||||||||||||||||||||||||||||
return null; | ||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||
const parsedUrl = new URL(url); | ||||||||||||||||||||||||||||||||||||||||
return parsedUrl.searchParams.get(key); | ||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||
Comment on lines
+10
to
+16
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Enhance error handling in The Consider adding a try-catch block around the function getParamFromUrl(url, key = "cursor") {
if (!url) {
return null;
}
+ try {
const parsedUrl = new URL(url);
return parsedUrl.searchParams.get(key);
+ } catch (error) {
+ console.error("Invalid URL provided:", url);
+ return null;
+ }
} Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
export default { | ||||||||||||||||||||||||||||||||||||||||
streamIterator, | ||||||||||||||||||||||||||||||||||||||||
getParamFromUrl, | ||||||||||||||||||||||||||||||||||||||||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well-structured properties with clear documentation.
The properties are well-defined with appropriate types, labels, and descriptions. The use of default values and options enhances user experience and input validation.
Suggestion for improvement:
Ensure consistency in marking optional fields. For example,
employeeInfoAdd_2
andcompanyInfoAdd_2
are marked as optional, but it's not clear if other fields likecompanyInfoEmail
are optional or required.