with Easyship and IMAP?
Emit new event when a new shipping label is created
Emit new event when a tracking status is updated
Emit new event when a warehouse state is updated
The Easyship API unlocks the potential for seamless shipping processes, by integrating a multitude of courier services into your workflow. With this API, you can automate the retrieval of shipping rates, create shipments, manage orders, and track packages in transit. This streamlines the logistics side of e-commerce, ensuring that businesses can focus on what they do best – sell products – while the shipping details are handled efficiently in the background.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
easyship: {
type: "app",
app: "easyship",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://public-api.easyship.com/2024-09/account`,
headers: {
Authorization: `Bearer ${this.easyship.$auth.api_token}`,
},
})
},
})
Using Pipedream's IMAP API, developers can automate interactions with their email inbox, enabling serverless workflows that perform actions based on incoming emails. This could include parsing email contents, triggering events upon receiving emails from specific senders, attaching labels, and much more. By leveraging IMAP, Pipedream can act as a bridge between your email and other services, streamlining processes that would otherwise require manual intervention.
import { once } from "events";
import imaps from "imap-simple";
import cycle from "cycle";
export default defineComponent({
props: {
imap: {
type: "app",
app: "imap",
}
},
async run({steps, $}) {
const { host, port, email, password } = this.imap.$auth;
const connection = await imaps.connect({
imap: {
host,
port,
user: email,
password,
tls: true,
tlsOptions: { servername: host },
authTimeout: 3000
},
});
const boxes = await connection.getBoxes();
// Filter out circular references to parents
const filteredBoxes = cycle.decycle(boxes);
$.export("results", filteredBoxes);
connection.end();
await once(connection.imap, "end");
},
})