Skip to content
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

update after review #13966

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
2 changes: 1 addition & 1 deletion components/remote_retrieval/README.md
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.
22 changes: 22 additions & 0 deletions components/remote_retrieval/actions/all-orders/all-orders.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
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.0.1",
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,196 @@
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.0.1",
props: {
app,

employeeInfoEmail: {
type: "string",
label: "Employee Info Email",
description: "Used in email communications with the employee.",
},
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 this.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.

This file was deleted.

9 changes: 9 additions & 0 deletions components/remote_retrieval/common/utils.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ 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);
}

export default {
streamIterator,
getParamFromUrl,
};
5 changes: 4 additions & 1 deletion components/remote_retrieval/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pipedream/remote_retrieval",
"version": "0.1.0",
"version": "0.2.0",
"description": "Pipedream Remote Retrieval Components",
"main": "remote_retrieval.app.mjs",
"keywords": [
Expand All @@ -14,5 +14,8 @@
},
"dependencies": {
"@pipedream/platform": "^3.0.0"
},
"devDependencies": {
"eslint": "^9.12.0"
}
}
Loading
Loading